結構化開發方法(Structured Developing Method)是現有的軟件開發方法中最成熟,應用最廣泛的方法,主要特點是快速、自然和方便。結構化開發方法由結構化分析方法(SA法)、結構化設計方法(SD 法)及結構化程序設計方法(SP 法)構成的。
結構化分析(Structured Analysis,簡稱SA 法)方法是面向數據流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和發展,並得到廣泛的應用。它適合於分析大型的數據處理系統,特別是企事業管理系統。
SA 法也是一種建模的活動,主要是根據軟件內部的數據傳遞、變換關系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型。
1 SA 法概述
1.SA 法的基本思想
結構化分析(Structured Analysis,簡稱SA 法)是面向數據流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和發展,並得到廣泛的應用。
結構化分析方法的基本思想是“分解”和“抽象”。
分解:是指對於一個復雜的系統,為了將復雜性降低到可以掌握的程度,可以把大問題分解成若干小問題,然后分別解決。
圖4 是自頂向下逐層分解的示意圖。頂層抽象地描述了整個系統,底層具體地畫出了系統的每一個細節,而中間層是從抽象到具體的逐層過渡。
抽象:分解可以分層進行,即先考慮問題最本質的屬性,暫把細節略去,以后再逐層添加細節,直至涉及到最詳細的內容,這種用最本質的屬性表示一個自系統的方法就是“抽象”。
2.SA 法的步驟
⑴建立當前系統的“具體模型”;
系統的“具體模型”就是現實環境的忠實寫照,即將當前系統用DFD 圖描述出來。這樣的表達與當前系統完全對應,因此用戶容易理解。
⑵抽象出當前系統的邏輯模型;
分析系統的“具體模型”,抽象出其本質的因素,排除次要因素,獲得用DFD 圖描述的當前系統的“邏輯模型”。
⑶建立目標系統的邏輯模型;
分析目標系統與當前系統邏輯上的差別,從而進一步明確目標系統“做什么”,建立目標系統的“邏輯模型”(修改后的DFD 圖)。
⑷為了對目標系統作完整的描述,還需要考慮人機界面和其它一些問題。
3.SA 法的描述工具
⑴ 分層的數據流圖
⑵ 數據詞典
⑶ 描述加工邏輯的結構化語言、判定表或判定樹。
2 數據流圖
數據流圖(Data Flow Diagram,簡稱DFD)是描述系統中數據流程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換邏輯輸出所需的加工處理。
1.數據流圖的圖符數據流圖有以下4 種基本圖形符號:
箭頭,表示數據流; 〇:圓或橢圓,表示加工; =:雙杠(帶一邊開口,一邊閉合),表示數據存儲; □:方框,表示數據的源點或終點。
箭頭表示數據流,圓或橢圓表示加工。雙杠或者單杠表示數據存儲,矩形框表示數據的源點或終點,即外部實體。
⑴ 數據流 是數據在系統內傳播的路徑,由一組成固定的數據項組成。除了與數據存儲(文件)之間的數據流不用命名外,其余數據流都應該用名詞或名詞短語命名。數據流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,也可以從源點流向加工或從加工流向終點。
⑵ 加工 也稱為數據處理,它對數據流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什么加工。在分層的數據流圖中,加工還應有編號。
⑶ 數據存儲 指暫時保存的數據,它可以是數據庫文件或任何形式的數據組織。流向數據存儲的數據流可理解為寫入文件,或查詢文件,從數據存儲流出的數據可理解為從文件讀數據或得到查詢結果。
⑷ 數據源點和終點 是軟件系統外部環境中的實體(包括人員、組織或其他軟件系統),統稱為外部實體。一般只出現在數據流圖的頂層圖中。