形式化說明技術
按照形式化的程度,軟體使用方法:
1.非形式化方法:自然語言描述
2.半形式化方法:資料流圖或實體-聯絡圖
3.形式化方法:基於數學技術描述
所謂形式化方法,是描述系統性質的基於數學的技術,也
就是說,如果一種方法有堅實的數學基礎,那麼它就是
形式化的。
非形式化方法的缺點
自然語言書寫的系統規格說明書可能存在:
1)矛盾:一組相互衝突的陳述;
2)二義性:讀者可以用不同的方式理解的陳述;
如:「操作員標識由操作員姓名和密碼組成,密碼由6位數字構成,當操作員登陸系統時它被儲存在註冊檔案中。」
3)含糊性:籠統的陳述;
4)不完整性(系統規格說明中最常遇到問題之一);
5)抽象層次混亂(非常抽象的陳述中混進了一些細節的低層陳述)。
形式化方法的優點
將數學引入軟體開發過程,創造了基於數學的形式化方法。
(1)數學是理想的建模工具,適合於表示系統狀態和描述系統需求;
(2)用數學表達的需求可在不同開發階段平滑過渡。
功能規格說明
系統設計
程式**
均可以用數學表達
(3)提供了高層確認的手段
使用數學方法證明,設計符合規格說明,程式**正確地實現了設計結果
應用形式化方法的準則
形式化方法的引入存在不同的看法
應用形式化的準則:
(1)選擇合適的形式化方法;
(2)需要形式化,但不能過分形式化,不能放棄傳統的需求表達方法;
目前的形式化不適合描述系統的各個方面
(3)應該估算成本。(需要前期培訓)
(4)應該有形式化方法顧問隨時提供諮詢
(5)應該建立詳盡的文件(使用自然語言注釋形式化)
(6)不應盲目依賴形式化
(7)應該測試、測試再測試
有窮狀態機法(fsm)
概念 利用有窮狀態機可以準確地描述乙個系統,因此它是表達規格說明的一種形式化方法。
乙個有窮狀態機包括5部分:
1)狀態集j:
2)輸入集k:
3)轉換函式t,如表4.1
4)初始狀態s:保險箱鎖定
5)終態集f:
更形式化的術語:
乙個有窮狀態機可表示乙個為5元組(j,k,t,s,f)
計算機系統中每個選單驅動的使用者介面都是乙個有窮狀態機的實現。
狀態轉換形式:
當前狀態【選單】+事件【所選擇的項】=>下個狀態
加入謂詞集p,把系統擴充套件成乙個6元組後:
當前狀態【選單】+事件【所選擇的項】+謂詞=>下個狀態
評價 有窮狀態機描述規格說明:
當前狀態+事件+謂詞=>下個狀態
優點:易於書寫、驗證、轉變成設計或程式**。
有窮狀態機方法優缺點:
有窮狀態機方法比資料流圖技術更精確,一樣易於理解。但不能處理定時需求。
軟體工程 軟體工程概述
一.軟體 定義 計算機系統中的程式及其文件 程式 計算任務的處理物件和處理規則的描述 文件 為了便於了解程式所需的闡明性資料 特點 軟體的種類 按功能劃分 系統軟體 支援軟體 應用軟體 二.軟體工程的起源和概念 早期電腦程式 現在人們認為 在資訊產業中,微電子是基礎,計算機和網路是載體,軟體是核心 ...
軟體工程筆記七 詳細設計
如果乙個程式 塊僅僅通過順序結構 選擇結構和迴圈結構進行連線,且每個 塊只有乙個入口和乙個出口,則這個程式是結構化的。理論上只用三種基本控制結構就可以實現任何單入口單出口程式。程式流程圖又稱為程式框圖,是用來描述過程設計的方法。但越來越多的人不再使用程式流程圖。缺點 1 不是逐步求精的工具,它誘導程...
軟體工程 軟體工程的概述
軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考 驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,它涉及到程式語言 資料庫 軟體 開發工具 系統平台 標準 設計模式等方面。先從軟體工程的第一章開始說起 軟體工程的概述,這一章是...