このコラムはブロガーの個人的なメモであり、主な目的は、断片的な時間を利用してソフトエンジニアリングの知識ポイントを暗記することです、ここに宣言します!
記事ディレクトリ
1. ソフトウェアエンジニアリング手法の 3 つのカテゴリは何ですか? そして例を挙げてください
6. 正式な仕様手法はどのような状況で使用する必要がありますか?
1. ソフトウェアエンジニアリング手法の 3 つのカテゴリは何ですか? そして例を挙げてください
- 非公式化: 要件仕様を自然言語で記述する
- 準形式化: データフロー図または ER 図によるモデリング
- 形式化: 有限状態マシンを使用して仕様を表現する
2. 形式的手法の定義?
いわゆる形式的手法は、システムの性質を記述するための数学に基づく手法です。つまり、手法にしっかりとした数学的基礎がある場合、その手法は形式的です。
3. 非公式な方法の欠点は何ですか?
- 自然言語で書かれたシステム仕様 (おそらく矛盾する記述が含まれる)
- 非公式な方法ではあいまいさとあいまいさが生じる可能性がある
- 非公式なアプローチではシステム仕様が不完全になる可能性があります
- 自然言語で書かれた命令は抽象化のレベルと混同され、読者がシステムの全体的な機能構造を理解することが困難になります。
4. 形式的手法の利点は何ですか?
- 物理現象、物体、または動作の結果を簡潔かつ正確に記述する ことができ、理想的なモデリング ツールです。
- 異なるソフトウェアエンジニアリング活動間をスムーズに移行できる
- 形式的手法は、数学的に証明できる高レベルの確認手段を提供します。
5. 形式的な手法を適用するためのガイドライン?
- 適切な表現を選択する必要があります
- フォーマルである必要がありますが、フォーマルすぎないように注意してください
- 従来の開発手法を放棄すべきではありません
- 十分に文書化する必要がある
- 品質基準を放棄してはなりません
6. 正式な仕様手法はどのような状況で使用する必要がありますか?
非公式な方法で記述する場合、矛盾、あいまいさ、あいまいさ、不完全さ、抽象度の混乱などの問題が存在する場合、形式的な記述技術が必要となります。
章の最後にまとめ
数学ベースの形式的仕様技術は、ソフトウェア業界では広く使用されていません。しかし、形式的ではない方法と比較すると、形式的な仕様を検討したり、検証したり (たとえば、仕様を満たす正しいプログラムを示すことができ、 2 つの仕様が同等であることを示すことができ、仕様内の特定の形式の不完全性と矛盾を自動的に検出できます。さらに、正式な仕様は曖昧さを取り除き、ソフトウェア開発者がソフトウェア エンジニアリング プロセスの初期段階でより厳密な方法を使用することを奨励し、それによってエラーが減少します。
もちろん、形式的な手法には欠点もあります。ほとんどの形式的な仕様は主にシステムの機能とデータに焦点を当てていますが、問題のタイミング、制御、および動作の要件を表現するのはより困難です。さらに、正式な手法は、非形式的な手法よりも習得が難しく、トレーニング段階で多大な投資が必要なだけでなく、一部のソフトウェア エンジニアにとっては「カルチャー ショック」を意味します。代表的な形式化手法としては、有限状態マシン、ペトリネット、Z 言語の3 つがあります。フォーマルな手法とアンダーフォーマルな手法を有機的に組み合わせ、互いに学び合うことで、より良い結果が得られるはずです。
次の章:ソフトウェア エンジニアリング — 第 5 章 全体的な設計の知識ポイント
繰り返し、地に足を着いて、決して忘れることなく、響き渡るでしょう!