これまでの問題は、「仕様書のバグ」が連続していたので、別のテーマにする予定でしたが、「将棋の名人位挑戦規定のバグ」に恥ずかしいたバグがあったことから、もう1回、「仕様書のバグ」を取り上げます。
図書館で書籍を借りると、本の背表紙にある分類番号に気が付く方は多いでしょう。日本の大部分の図書館で使われている分類法が「日本十進分類法」です。
書籍を大分類として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.
豊富なホワイトペーパーの中から、製品・サービス導入の検討に役立つ技術情報や導入事例などを簡単に入手できます。