開米のドキュメント図解術駆け込み寺,第3回です。

 前回は「静的構造」の話でしたが,今回は,「階層構造」というテーマを扱いましょう。これは理屈としては別に難しいものではありません。具体的なものと抽象的なものを意識して,適切なところに適切な表現を使いましょう,というだけの話です。

 ごくごく簡単な例からいきましょう。

世界にはいろいろな犬がいます。たとえば柴犬やチワワは有名な犬種です。

という例文からは例えば図1のような階層構造を見て取ることができます。

図1●階層構造の表現
図1●階層構造の表現
抽象性のレベルによって階層構造を見きわめ,それがハッキリ分かるように図解すべき。

 当たり前すぎて「そんなことはわざわざ図にしなくても分かるじゃないか」と思われそうですが,問題が少し複雑になると,これがなかなか難しくなってくるものです。次はこの例文を考えてみましょう。

AT&T社のベル研究所が初めてUNIXを開発したのは1969年である。
その後,UNIXに似た仕様を持つOSが数多く作られた。
UNIX系OSは大きく分けて有償の商用UNIXと,愛好者がオープンソース式で開発しているフリーなUNIXがある。
商用UNIXとしてはSolaris,AIX,HP-UXなどがあり,大手コンピュータメーカー製コンピュータに搭載されて大規模システムで採用されることが多い。
一方,フリーなUNIXは個人がパソコンなどで使うことが多かったが,近年は商用システムに採用される例も増えてきた。代表的なものにLinuxやFreeBSDなどがある。
現在,「UNIX」という商標はThe Open Groupが管理している。

 「少し複雑になると」と言いつつ,一気に複雑になったような例文ですが,少し落ち着いて読めば図2のような階層構造を読み取るのは,それほど難しくはありませんね。

図2●同名多義語には特に要注意
図2●同名多義語には特に要注意
「UNIX」が最上位階層に来る解釈は正しいのか?

 とはいえ,問題がないわけではありません。図2の構造は「うん,こんな感じだよね」と言える程度には正しいのですが,最上位に「UNIX」を置いた解釈が100%1点の曇りもなく正しい,とまで言えるかというと,少々問題があるわけです。

■「厳密な意味」を考える習慣を持とう

 厳密に考えると,例文では「UNIX」という名前が3つの意味で使われています。

その1:AT&Tベル研が開発したオリジナルのUNIX
その2:UNIX系OS
その3:UNIXという商標

 図2の最上位の「UNIX」はこのうち「その2:UNIX系OS」を意味しています。しかし「UNIX」の4文字だけではそれが分かりません。3つの意味のうちどれなのかを明示するためには,やはり省略せずに

UNIX系OS

と書くべきです。

 ところが,このように「言葉の意味を厳密に考える」ことを多くの人がしていません。

 それは無理もない話ではあります。実際には,ここまで厳密に考えなければいけないシチュエーションはそれほど多くはありません。通常の会話やメールでの打ち合わせや連絡をするようなシーンでは,だいたい前後の文脈でどの意味かが分かることが多いし,もし分からなかったとしても,誤解していたら早めに気がついて訂正できるものです。ただし,人間同士が緊密にコミュニケーションを取っているような場合には,ですが。

 普段と違う相手と普段と違うコミュニケーションを取るような場合にはこれが問題になることがあるため,「用語の統一」がシステム開発における重要な課題であることは,かねてから知られています。

 そのためには,前述のように「言葉の意味を厳密に考え」なければいけません。そうでないと,「その場では統一できたけれど,後で考えると誤解を招く名前をつけてしまい,誰もそれに気がつかなかった」というような事態を起こすからです。

 しかし現実にはこれがなかなか難しいのです。