形式化技術在軟體工程中有效的提高了開發的效率、改進了軟體開發的質量、減少了開發費用。形式化的技術容易在軟體的規約上取得一致性,它屬於一種非常有效的交流方式。
(一)非形式化的缺點
用自然語言書寫的系統規格說明書,可能存在矛盾、二義性、含糊性、不完整性及抽象層次混亂等問題。
矛盾是指一組相互衝突的陳述。
1二義性是指讀者可以用不同方式理解的陳述。
2含糊性
3不完整性
4抽象層次混亂是指在非常抽象的陳述中混進了一些關於細節的低層次陳述。
為了克服非形式化方法的缺點,人們把數學引入軟體開發過程,創造了基於數學的形式化方法。
(二)形式化方法的優點
1數學能夠簡潔準確地描述物理現象、物件或動作的結果,因此是理想的建模工具。
2數學以在不同的軟體工程活動之間平滑地過渡。
3數學提供了高層確認的手段。
(三)應用形式化方法的準則
1應該建立詳盡的文件。
2不應該放棄質量標準。
3不應該盲目依賴形式化方法。
4應該測試、測試再測試。
5應該重用。
軟體工程形式化方法
軟體工程形式化方法 軟體形式化方法最早可追溯到20世紀50年代後期對於程式語言編譯技術的研究,即j.backus提出bnf描述algol60語言的語法,出現了各 種語法分析程式自動生成器以及語法制導的編譯方法,使得編譯系統的開發從 手工藝製作方式 發展成具有牢固理論基礎的系統方法。形式化方法的研究高...
軟體工程 什麼是形式化方法
軟體工程課程作業 什麼是形式化方法?形式化方法英文的名稱是formal methods。在邏輯科學中是指分析 研究思維形式結構的方法。它把各種具有不同內容的思維形式 主要是命題和推理 加以比較,找出其中各個部分相互聯結的方式,如命題中包含概念彼此間的聯結,推理中則是各個命題之間的聯結,抽取出它們共同...
軟體工程系列 軟體開發形式化說明技術
形式化方法就是基於數學的技術描述系統的性質,消除自然語言書寫的系統規格說明書的 矛盾 二義性 含糊性 不完整性 及抽象層次混亂性。有窮狀態機 有窮狀態機包括下述的5個部分 狀態集j 輸入集k 由當前狀態和當前輸入確定下個狀態 次態 的轉換函式t 初始態s 和終態集f。轉換規則為 當前狀態 選單 事件...