« 生命表というもの | トップページ | 結局”スクリプト言語”って »

2008年5月 3日 (土)

プログラム仕様書の"あいまいさ"

工学分野の図面は図形による言葉で書かれており、その文法と構文法は実際に使うなかで学ばれる。そこには伝授を受けた者にしか理解できない慣用的表現(イディオム)もある。 ...

図面は正確であいまいなところのないもののように見えるけども、その厳密さの背後には、多くの公式に則らない選択や言葉では表せない判断、直観の働き、そしてあらゆるものの作動の仕方についての仮定が隠されている。設計者と製作者の双方を結びつける、アイデアを人工物に変える過程は、複雑で微妙なものであり、どんな場合でも、科学よりは芸術に近いといえるのではないだろうか。

E・S・ファーガソン 著, 藤原良樹 砂田久吉 訳, 『技術屋(エンジニア)の心眼』, 平凡社, 1995, p.16-p.171

プログラム仕様書というものは、必然的に”あいまいさ”を含むものであるわけでして、”あいまいさ”をなくすことはできないでしょうね。

”あいまいさ”のないプログラム仕様書というのは、プログラム・コードそのものとなってしまうでしょう。そうしますと、そもそもプログラム仕様書を書く意義も失われてしまいますよね。プログラム仕様書に”あいまいさ”があるがために、人間がプログラム仕様書を読んで、解釈を行い、機械可読な形とする工程が存在するわけでして。

プログラム仕様書から”あいまいさ”を排除する、というのは、正しい方向の努力ではありません。”あいまいさ”を許容範囲内に収める、というのが正しい努力であるといえるでしょう。

しかし、”あいまいさ”のレベルというのは、形式的に定義を与えることはできそうにないですね。ソフトウエア開発に携わる人々の間で、暗黙知として、業界の常識として、共有するような方法しかないでしょう。未だにこうしたものが業界内に存在していないのは、要素技術が大きく変わっているからですかねえ。表面的には大きく変わっているように見えますが、本質的には、あまり変わっていないとも思えるのですけど。

例のプログラム・コード”そのもの”の仕様書の話ですが。

確かに、プログラム・コードと完全に同じであるのなら、作る意味は全くないでしょう。私は、そうした仕様書を納品物として求められた経験はありますけど、コーディング工程に先立つ設計工程で作ったことはないです。納品物に必要な場合は、プログラム・コードからツールで自動生成していました。これは、誰も読まない類の、形だけの資料でして、当然レビューなんかしません。

そうした資料を、設計工程で作るようにしているところがあるとしますと。なんとなく、そうなるにいたった経緯は想像がつきます。とんでもなく劣悪なプログラムが業者から納品されたことがあって、それで大変な目にあったことがあるんじゃないですかね。そのときの、業者の言い訳に、”仕様書があいまいだから”というのが含まれていたであろうことは、想像にかたくないです。私も経験ありですが、真に遺憾ながら、そうしたことが往々にして起こる業界ではあります。


1.

技術屋(エンジニア)の心眼 Book 技術屋(エンジニア)の心眼

著者:E.S. ファーガソン
販売元:平凡社
Amazon.co.jpで詳細を確認する

|

« 生命表というもの | トップページ | 結局”スクリプト言語”って »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/80472/20723785

この記事へのトラックバック一覧です: プログラム仕様書の"あいまいさ":

« 生命表というもの | トップページ | 結局”スクリプト言語”って »