結構化分析
- 研究“物質環境”:當前系統的數據流圖,包括人和自動化流程
- 建立系統邏輯模型:將自然流數據轉換成等價的邏輯數據流圖
- 劃清人機界限:確定哪些由自動化完成,哪些由人工完成
結構化分析的輸出:
- 分層的數據流圖
- 數據字典
- 加工邏輯說明
- 補充材料
數據流圖
- 外部實體:目標軟件系統之外的人或者系統;也可以是數據的發源地或者歸宿地
- 數據存儲:文件存儲/數據庫存儲
- 加工:描述輸入數據流到輸出數據流之間的變換
- 數據流:定義明確的名字
實際應用
通常情況下,不可能用一張數據流圖完成結構化分析,一般會有頂層圖,0層圖,1層圖
- 頂層圖可以理解爲系統分析師的輸出,根據這個圖,可以瞭解外部系統與目標系統的數據流關係。個人認爲這個圖和UML中的用例圖的功能類似
- 0層圖可以理解爲架構師設計輸出,根據這個圖,可以分析出目標系統應該如何拆分成對應的子系統,數據存儲以及它們之間的數據流關係
- 1層圖可以理解爲小組在子系統實施上的輸出,根據這個圖,程序員可以完成相關編碼
當然,如果系統非常龐大,可以在1層圖下繼續分解,根據項目團隊的組織結構來確定每一層圖應該對應的相應角色或團隊。
在數據流圖的製作和分解過程中,必須保證
- 每個加工都必須有輸入和輸出
- 數據流至少有一端連接加工