検索
連載
組み込みエンジニアの現場力養成ドリル(4):

図書館「蔵書分類」のバグ (2/2)

今回は図書館でおなじみ「本の分類」を取り上げます。情報処理系の本は007(情報学、情報科学)に547(通信工学・電気通信)、548(情報工学)とバラバラに分類されていますが、この分類を「仕様書」と考え、その問題解決に取り組んでみましょう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

図書分類法のバグ

 これまでの問題は、「仕様書のバグ」が連続していたので、別のテーマにする予定でしたが、「将棋の名人位挑戦規定のバグ」に恥ずかしいたバグがあったことから、もう1回、「仕様書のバグ」を取り上げます。

photo

問題編(制限時間30分)

 図書館で書籍を借りると、本の背表紙にある分類番号に気が付く方は多いでしょう。日本の大部分の図書館で使われている分類法が「日本十進分類法」です。

 書籍を大分類として10の分野に分け、さらに中分類、小分類も同様に分けて、数字を振っています。コンピュータやソフトウェアの情報処理系の本は、「新参者の学問」であるため、007(情報学、情報科学)に336(経営管理)、418(計算法)、547(通信工学・電気通信)、548(情報工学)とあちこちにばらまかれていて、図書館の書架を行ったり来たりして不便な思いをしたエンジニアが多いと思います。

 それはそれとして、10の大分類と、コンピュータ系が関係する400台(自然科学)、500台(技術)、600台(産業)の中分類を以下に挙げました。この分類(データ構造?)のバグを見つけてください。「バグ」というより、「少しヘンだな」程度ですが、ソフトウェアの仕様書として考えると不自然に思えるところがありますので、見つけて指摘してください。

日本十進分類法による分類(第10版準拠、一部略)
大分類
000 総記
100 哲学
200 歴史
300 社会科学
400 自然科学
500 技術・工学
600 産業
700 芸術・美術
800 言語
900 文学
中分類(「000 総記」「100 哲学・宗教」「200 歴史・地理」「300 社会科学」は省略)
400 自然科学
410 数学
420 物理学
430 化学
440 天文学・宇宙科学
450 地球科学・地学
460 生物科学・一般生物学
470 植物学
480 動物学
490 医学
500 技術・工学
510 建設工学・土木工事
520 建築学
530 機械工学
540 電気工学
550 海洋工学・船舶工学
560 金属工学・鉱山工学
570 化学工業
580 製造工業
590 家政学・生活科学
600 産業
610 農業
620 園芸
630 蚕糸業
640 畜産業
650 林業
660 水産業
670 商業
680 運輸・交通
690 通信事業
*「700 芸術」「800 言語」「900 文学」は省略

 繰り返しますが「図書館学的な正しさ」ではなく、「ソフトウェアエンジニアリング的な不自然さ」を探してもらう問題なので、問題自体、図書館学に詳しい方にとってはやや違和感を覚えるかもしれません。「日本十進分類法を元にプログラムを作成する、組み込みエンジニアの気持ち」になって考えてみてください。

解答編

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る