4. 個別事例分析結果
4.11 オランダ花市場
客レビューを効果的に実施することができた。
4.11.3 開発プロセス概要
本プロジェクトは既存システムへの拡張だが、拡張部分は既存システムとネットワーク越 しに接続されるものであり、また、いわゆる e-commerce としての要求は既存システムに はないものであったことから、拡張部分も新規開発と同様に要求定義から仕様記述を経て 実装、テストが行われた。
要求はオークション主催者とのインタビューで獲得され、UML のユースケース、コラボ レーション図、クラス図としてまとめられ、それに対応する形で VDM++仕様が記述され
た。UML と VDM++仕様は相互に繰り返し改良が行われていった。また、既存システムお
よびそのインタフェース仕様はそれまで既存システムの維持管理をしていた技術者チーム が持っており、その仕様をベースに拡張部分のインタフェースに関する VDM++仕様が定 義された。
VDM++で記述された仕様は、オークション主催者の技術者チームにより C++で実装され
た。テストは既存システムの動作を模擬するシミュレータによって行われた。テストにお いて新規開発部分だけでなく、既存システム側のインタフェース仕様の更新漏れが発見さ れた。
開発プロセスをデータフローダイアグラムとして記述したものを下図に示す。
図4-16: 開発プロセス概要[HS11]
4.11.4 記述と支援ツール
このプロジェクトで形式手法に関連して用いられた主な言語と主なツールを以下に挙げる。
表4-18: 形式手法に関して利用された言語と主なツール
UML VDM++
ファイル形式 Rational Rose LaTeX
構文/型検査 Rational Roseによる
作図
VDMTools
静的検証(証明等) -
動的検証(テスト等) - VDMTools
自動生成 - VDMToolsとRational Roseの連携機能
4.11.5 厳密な仕様記述の効果
(1) 顧客のコミットメント
UML および VDM++で記述された仕様を繰り返し改善しレビューを行うことで、オーク
ション運営側からの十分なコミットメントを受けることができた。
(2) 十分なテスト
VDM++による厳密な仕様とそこからくるテストケースにより、良質なテストが可能になっ た。その結果、既存システムのインタフェース仕様と実際の動作に違いがあることも発見 された。
4.11.6 厳密な仕様記述を適用するための工夫と効果
(1) 形式手法のツールと他のツールの連携
UMLツールであるRational Roseと形式手法のツールであるVDMToolsを連携させること で、UML による要求獲得と VDM++による仕様記述を連携させることができ、繰り返し改 善による仕様記述の質の向上と顧客レビューを通しての顧客のコミットメントにつながっ た。
4.11.7 顧客とのコミュニケーション
原始要求を提供するオークション主催者とは UML を使ったコミュニケーションが行われ た。UML と VDM が相互に派生し合い、繰り返し改良を行った結果をオークション主催者 がレビューすることで、オークション主催者側のコミットメントが得られた。
4.11.8 開発者間のコミュニケーション
下流工程を遂行したオークション主催者の技術者チームは、UML と VDM 両方の記述を参 照し、C++による実装を行った。UML の各図を理解する上で、ツール連携を通して VDM++の記述を参照できることが非常に役に立った。
4.11.9 教育
オークション主催者の技術者チームは VDM++についてクラスルーム形式による教育を受 けずに、実作業を通してVDM専門家である技術コンサルタントからVDM++を学んだ。