1. 程式人生 > >【軟體工程】三、軟體開發方法學——結構化分析方法

【軟體工程】三、軟體開發方法學——結構化分析方法

首先回顧一下軟體開發方法學在整個軟體開發過程中的位置:
在這裡插入圖片描述

結構化方法

一種系統化的軟體開發方法,包括:

  • 結構化分析方法——需求
  • 結構化設計方法——設計
  • 結構化程式設計方法——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、資料項(資料流及資料儲存的組成成分)
給出所有資料項的資料結構型別定義

③給出加工小說明

描述一個加工,一般遵循如下模版:
加工編號:給出加工編號
加工名:給出該加工的標識
輸入流:給出該加工的所有輸入資料流輸出流:給出該加工的所有輸出資料流加工邏輯:採用結構化自然語言或判定表或判定樹等工具,給出該加工輸入資料和輸出資料之間的關係

注意:
結構化分析方法是一種半形式化的規約方法,給出了一組特定的術語表和標準化的表達格式-資料流圖,在表達上均必須遵循一些約定,即應以一種準確和一致方式使用之。