SA分析法,全稱結構化分析(Structured Analysis),是一種面向數據流的需求分析方法。它由Yourdon、Constaintine和DeMarco等人在70年代提出並發展,現已得到廣泛套用。SA分析法的核心思想包括「分解」和「抽象」。
分解:將一個複雜的系統問題分解成若幹個小問題,分別進行解決,以降低問題的複雜性。這種分解可以從系統的頂層開始,逐層向下進行,直到涉及到系統的具體細節。
抽象:在分解的過程中,首先考慮問題的最本質屬性,暫時忽略細節,然後逐層添加細節,直至達到最詳細的內容。這種用最本質的屬性表示一個系統的方法就是抽象。
SA分析法的步驟包括:
建立當前系統的具體模型,即用數據流圖(DFD)等工具描述當前系統的數據流程。
從具體模型中抽象出當前系統的邏輯模型,排除次要因素,獲得邏輯上的簡化描述。
建立目標系統的邏輯模型,分析目標系統與當前系統的邏輯差異,明確目標系統應「做什麼」。
考慮人機界面和其他相關問題,以完整描述目標系統。
SA分析法適用於中、小型系統的開發,特別適合於信息控制和數據處理系統。它不僅適用於手工分析,也適用於自動化或半自動化的分析工具。在分析大型數據處理系統,如企事業管理系統時,SA分析法同樣適用。
SA分析法的描述工具主要包括:
分層的數據流圖(DFD):描述系統中數據的流程。
數據詞典:定義數據流圖中的元素。
結構化語言、判定表或判定樹:描述加工邏輯。
通過這些工具,SA分析法能夠幫助分析人員自頂向下逐層分解問題,描繪出滿足功能要求的軟體模型。