クライアントは、ソフトウェア要件を満たすためのウェブベースのリッチインターネットアプリケーションを構築したいと考えています。基本的には、Webベースのケースツールであり、ステークホルダーからの要件を取得するための特定のプロセスに従います。私はプロジェクトマネージャーであり、まだプロジェクトの初期段階にあります。ソフトウェアプロジェクトで正式な方法を使用する必要がありますか?
私はクライアントと開発者の両方のためのツールの要件を明確にするのに正式な方法を使用することを考えてきました。正式な方法とは、何らかの形のモデリングを意味し、おそらく数学的なものを意味します。私が読んで検討しているものには、Z(http://en.wikipedia.org/wiki/Z_notation)、状態マシン、UML 2.0(おそらくOCLなどの拡張子を含む)、Petri nets、契約や前後の条件などのコーディングレベルのものがあります。私が考慮すべき他に何かありますか?
開発者は経験豊富ですが、使用される形式に応じて、数学を習得する必要があります。
私はこのプロジェクトで正式な方法を使用するのは価値があるかどうかを判断しようとしています。私は「それは依存している」ことを知っていますので、私にとって最も有益な答えは「はい/いいえ」であり、支持する議論です。
このプロジェクトに参加していたら正式な方法を使用しますか?
私は正式な方法を研究していませんが、私はそれらが一般に生命に不可欠なシステムで利用されていることを理解しています。もし失敗が死や企業全体の崩壊を招く恐れのあるものを構築していないのであれば、正式な方法の使用は過度のものかもしれません。 –
コミュニケーションも大きな関心事です。たとえあなたが構築しているものが「生命に危険な」ものではないとしても、システムの一部の周りのコミュニケーションを形式化することは依然として役に立つかもしれません。 – Michael
@ThomasOwens Intelは、有名なFDIVバグの後に正式な検証を使用し始めました。最初のCPUエラーではありませんでしたが、1994年に$ 400mで簡単に再現可能で定量化されました。 –