プログラムの仕様を巡る異論・反論

2003/8/23

左から、平鍋健児氏(永和システムマネジメント)、小井土亨氏(オーエスケイ)

 オブジェクト指向 2003 シンポジウム(主催:情報処理学会 ソフトウェア工学研究会)最終日で行われたセッションの中で、最も刺激的だったのは「形式仕様記述言語としてのプログラム言語-XPを例にして」と題するパネル・ディスカッションだった。
 
 XPの立場では、ユーザーからシステムの要求を吸収する段階でストーリーカードを使用する。作成したユーザー仕様をタスクに分解、ユニット・テストの作成が開発仕様と位置付けられており、さまざまなテスト済みのタスクを統合することで、完成品ができあがる。つまり、「XPにおける仕様とは、『動くテスト』のことであり、『ユーザーとの会話(コミュニケーション)のこと』であるとパネリストの1人である平鍋健児氏(永和システムマネジメント)は言う。大雑把なとらえ方をすれば、XPによる開発の流れでは、プログラムの仕様を厳密に記述することはなく、ユーザーが望む『機能』をその都度、的確に作成していくことで結果的にきちんと動くプログラムを作成する、ことを目指しているようにみえる。

 一方、プログラムの仕様を記述するうえで「形式的手法」を採用することが有効だとの立場がある。そもそも、飯田周作氏(専修大学)は仕様について「(仕様とは)コミュニケーション・ツールである」と定義している。つまり、ユーザーと開発者の間で適切なコミュニケーションを行うための媒体である。その媒体を記述するうえで、有効だとする1つの立場が形式的手法だ。形式的手法とは、ソフトウェア工学に集合論や論理学といった数学に基づいた形式的仕様記述(Formal specification)を組み込み、形式的検証(Formal verification)を繰り返すことにより、ソフトウェアの信頼性を向上させる手法である。意味を定義している体系が数学的証明を行うに足りる厳密性を保持しており、さらに、その文法が仕様を記述したものに適していることが求められる。

 今回のパネル・ディスカッションは、仕様の作成をかなり柔軟に行うXPのような開発プロセスの立場と厳密な形式記述言語を用いて仕様を定める立場に分かれ、それぞれの立場で有効性を議論する、という体裁を取っていたのだが、そもそも結論が出る議論ではないことは始める前から明らか。参加者からは活発な意見が飛び交ったが、議論は本来のテーマを離れ、「XPにおける仕様の解釈」から「コミュニケーションの方法論」「プログラマの真の心得」に関する話題まで幅広く展開していった。

(編集局 谷古宇浩司)

[関連リンク]
社団法人 情報処理学会 ソフトウェア工学研究会

[関連記事]
ポストオブジェクト指向技術の行方 (@ITNews)
UML2.0は開発手法を反映した存在へと進化する (@ITNews)
みんなで踊ろうMVCダンス (@ITNews)
データアクセスに特化した、J2EEデザインパターンの適用例 (@ITNews)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)