【軟體工程】三、軟體開發方法學——結構化分析方法
首先回顧一下軟體開發方法學在整個軟體開發過程中的位置:
結構化方法
一種系統化的軟體開發方法,包括:
- 結構化分析方法——需求
- 結構化設計方法——設計
- 結構化程式設計方法——coding
一、 結構化分析方法
目的是為了給出問題的模型。
1.1基本術語
一個抽象層是由一組確定的術語定義的,為支援需求分析中有關要使用的那些資訊的表達,結構化分析方法給出了以下五個術語/符號:
1.2 模型表達工具
(a)資料流圖(DFD圖)——表達系統功能模型的工具
是一種描述資料變換的圖形工具,它包含的元素可以是資料流、資料儲存、加工、資料來源和資料潭等。
(b)資料字典——定義資料流和資料儲存
用於定義資料流和資料儲存的結構,並給出構成所給出的資料流和資料儲存的各資料項的基本資料型別。
引入:一些邏輯操作符——用於定義資料結構
(c)判定表或判定樹等——定義加工小說明
描述加工“做什麼”,即加工邏輯,也包括其它一些與加工有關的資訊,如執行條件、優先順序、執行頻率、出錯處理等。
如判定表,判定樹,結構化自然語言。
1.3結構化分析過程
①建立系統的功能模型
使用的工具為資料流圖DFD
首先:建立系統環境圖(頂層資料流圖),確定系統邊界。
繼之:自頂向下,逐步求精,建立系統的層次資料流圖。
②建立資料字典
使用的工具為結構符:+、I、{}等
定義資料流定義資料儲存
定義資料項
③給出加工小說明:集中描述一個加工“做什麼”,即加工邏輯,也包括其它一些與加工有關的資訊,如執行條件、優先順序、執行頻率、出錯處理等。
1.4 案例
建立一個簡化的商業自動化系統,其中:
營業員通過該系統記錄每日銷售的商品(商品名,商品編號,單價,數量,銷售時間);
收款員通過該系統記錄收到的現金數額以及購物餘額;
商店經理每日統計銷售額,並在必要時檢視某種商品的銷售情況(商品名,商品編碼,金額)。
①建立系統的功能模型首先:建立系統環境圖,確定系統邊界
其中:
1資料流為:銷售的商品,日銷售額等3個輸入流,3個輸出流
資料來源為:營業員,經理,收款員
資料潭為:經理,收款員
2加工名為:要建立的系統名字立的系統名字
繼之:自頂向下,逐層分解
A、按人或部門的功能要求,將加工“打碎”(將“父圖”的每一加工按其功能分解為若干子加工),形成:
B、“分派”資料流(將“父圖”的輸入流和輸出流“分派”到子加工),形成:
C、引入檔案,使之形成一個有機整體一系統(在各加工之間建立合理的關係):
繼續A、B、C:自頂向下,逐層分解。繼續細化。
②建立資料字典
資料字典:
1、資料流:
銷售的商品=商品名+商品編號+單價+數量+銷售時間
現金額=餘額=日銷售額=非負實數
查詢要求=[商品編號舊期]
查詢要求1=商品編號
查詢要求2=日期
銷售情況=商品名+商品編號+金額
2、資料存貯:
銷售檔案={銷售的商品}
3、資料項(資料流及資料儲存的組成成分)
給出所有資料項的資料結構型別定義
③給出加工小說明
描述一個加工,一般遵循如下模版:
加工編號:給出加工編號
加工名:給出該加工的標識
輸入流:給出該加工的所有輸入資料流輸出流:給出該加工的所有輸出資料流加工邏輯:採用結構化自然語言或判定表或判定樹等工具,給出該加工輸入資料和輸出資料之間的關係
注意:
結構化分析方法是一種半形式化的規約方法,給出了一組特定的術語表和標準化的表達格式-資料流圖,在表達上均必須遵循一些約定,即應以一種準確和一致方式使用之。