結構化設計的基本原則和相關概念
抽象:常用的抽象方法有流程抽象、數據抽象和控制抽象。
●流程抽象:任何完成壹個明確功能的操作都可以被用戶視為壹個單元實體,盡管這個操作機會可能是由壹系列更低級的操作完成的。
●數據抽象:和過程抽象壹樣,允許設計者在不同的層次上描述數據對象的細節。
像過程抽象和數據抽象壹樣,控制抽象可以包括程序控制機制,而不指定其內部細節。
自上而下,逐步細化:以自上而下的方式對軟件架構進行逐層細化,直到可以實現編程語言中的語句,從而最終建立整個架構。
模塊化:將壹個要開發的軟件分解成幾個簡單的小部件——模塊,每個模塊可以獨立開發、測試,最後組裝成壹個完整的程序。這是壹個針對復雜問題的“分而治之”的原則。模塊化的目的是使程序結構清晰、易讀、易懂、易測試、易修改。
控制級:表示程序組件* * *模塊* * *的組織。控制級別通常由程序* * *樹或網絡* * *的層次結構來表示。
●深度:程序結構的層級數可以反映程序組織的規模和復雜程度。
●寬度:同壹層的最大模塊數。
●模塊扇出:壹個模塊調用* * *或控制* * *的其他模塊的數量
●模塊扇入:調用* * *或控制* * *給定模塊中的模塊數量。
信息屏蔽:將每個程序的組件隱藏或封裝在單個設計模塊中,在定義每個模塊時盡可能少地揭示內部處理,可以提高軟件的可修改性、可測試性和可移植性。
模塊獨立性:每個模塊完成壹個相對具體獨立的子功能,與其他模塊的通信簡單。有兩個度量:模塊之間的耦合和模塊的內聚性。強模塊獨立性必須實現高內聚、低耦合。
●耦合性:模塊之間通信的緊密程度。耦合度越高,模塊的獨立性越差。耦合度從低到高的順序是:間接耦合、數據耦合、標簽耦合、控制耦合、外部耦合、公共耦合、內容耦合。
●凝聚力是指內部要素之間聯系的緊密程度。內聚性越低,模塊的獨立性越差。銜接程度從低到高依次為:偶然銜接、邏輯銜接、瞬間銜接、過程銜接、交際銜接、順序銜接和功能銜接。
結構化設計的基本步驟
它分為兩個階段:總體設計和詳細設計。
總體設計
概要設計又稱結構設計或總體設計,主要是將系統的功能需求分配到軟件結構中,形成軟件的模塊結構圖。
概要設計的基本任務:設計軟件體系結構:劃分功能模塊,確定模塊間的調用關系;數據結構和數據庫設計:實現需求定義和規格說明過程中提出的數據對象的邏輯表示;編寫概要設計文檔:包括概要設計說明書、數據庫設計說明書、集成測試計劃等。概要設計文件審查:審查設計方案是否完全滿足需求分析中規定的功能和效率要求,以及設計方案的可行性。
概要設計工具:結構圖***SC:結構圖***,反映系統的功能實現和模塊之間的通信,即系統的整體結構。註:數據流DFD是軟件生命周期定義階段結構化方法的需求分析方法之壹。除此之外,還有數據字典***DD***,決策樹和決策表,SC是開發階段概要設計時使用的方法。
細節設計
詳細設計的目的:確定軟件結構圖***SC***中各個模塊所使用的算法,用選定的表達工具***如N-S圖對模塊中的數據結構進行清晰的描述。結構化設計的步驟