UML.OCL->use(better, VDM++) # Stairway to Formal Method World《10》クラス定義: 型(2)map★
------------ 序 ------------
この連載では、UML/OCL に飽き足らず、ソフトウェアテストに頼ることなく、信頼性のあるシステム開発、高品質のソフトウェア開発を目指す「プロ」グラマーのために、VDM++ による形式手法への扉を開きます。"The IFAD VDM++ Language" を読み解きながら、形式手法を頼りに、Python によるオブジェクト指向プログラミングへの適用を図ります。
◆ Ruby/Python などが普及して、より本格的なオブジェクト指向の支援機能が得られるにつれ、図らずも UML/OCL の脆弱さを露呈する結果となりました。Java/C# などを対象とするだけなら、ある程度の満足は得られますが、より広範な問題解決が必要とされる場面では、不満が募ります。◆ まず、それを使って記述されたモデルの正当性を検証するため(必要十分条件を満たしているか)の、確立した方法論を持たないこと。そのため、モデルを構築
する作業をいつ止めていいのかを判断できず、XUnit に象徴されるような、ソフトウェアテストに頼らざるを得ません。◆
また、分析設計段階で作成された様々なモデル図から、実現段階へとシームレスに移行するための統合開発環境も十分に整備されているとは言えません。仮にそのモデルの正当性が検証されても、その成果はそのままコーディングに反映されずに、品質の維持には必ずしも貢献できません。手作業
によるハードコーディングを余儀なくされるとしたら、これらのモデル図は、プログラムに添えられたコメントと同じであり、それ以上でもそれ以下でもありま
せん。◆
さらに…
ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(PDF)をダウンロードしてご覧ください。
⇒【準備中】
【目次】関連記事
〔Python/VDM++ 入門〕UML.OCL->use(better) # Stairway to Formal Method World
【注意】例題は "VDM++ Lecture Notes Solutions to Exercises (C) 1999 by IFAD" をもとに、Python で実現したものです。記事の内容(引用した箇所を除く)に不備があれば、すべての責任は「タマゴ倶楽部」にあります。
【査読中】
テスト仕様も、それをプログラムとして実現するなら、他のソフトウェアと同様に、形式手法を適用すべき対象となります。
------------ 本文 ------------
| 固定リンク | コメント (0) | トラックバック (0)

