結構化分析:結構化分析。利用數據流圖、數據字典、結構化語言、決策表和決策樹等工具,建立了壹種新的目標文檔——結構化規格說明——需求規格說明。結構化體現在將軟件系統抽象成壹系列邏輯處理單元,這些邏輯處理單元通過數據流聯系起來。結構化分析是由Demarco等人在20世紀70年代末提出的,旨在減少分析活動中的錯誤,建立滿足用戶需求的系統邏輯模型。該方法的要點是:面向數據流的分解和抽象;復雜的問題自上而下逐層分解,經過壹系列的分解和抽象,底層的問題就容易描述和實現了。
壹、軟件設計流程
對程序結構、數據結構、流程細節、接口細節等逐步細化、審核、撰寫文檔的過程。從技術角度來說,軟件設計分為四個方面:架構設計、數據設計、流程設計和界面設計。從管理的角度來看,軟件設計分為兩個階段:概要設計和詳細設計。
二、軟件設計目標
設計必須實現分析模型中描述的所有顯示需求,滿足用戶想要的所有隱含需求;設計必須具有可讀性和可理解性,便於將來編程、測試和維護;設計應該從實現的角度給出與數據、功能和行為相關的軟件的完整畫面。
三。基本原則和相關概念
⑴抽象:常用的抽象方法有進程抽象、數據抽象和控制抽象●進程抽象:任何完成明確動能的操作都可以被用戶視為壹個單元實體,雖然這個操作機會可能是由壹系列更低級的操作完成的。●數據抽象:和過程抽象壹樣,允許設計者在不同的層次上描述數據對象的細節。像過程抽象和數據抽象壹樣,控制抽象可以包含程序控制機制,而無需指定其內部細節。⑵自上而下,逐步細化:采用自上而下的方式對軟件架構進行逐層細化,細化各個層次的流程細節和數據細節,直到可以實現編程語言中的語句,從而最終建立整個架構。⑶模塊化:將壹個要開發的軟件分解成幾個簡單的小部件——模塊,每個模塊可以獨立開發、測試,最後組裝成壹個完整的程序。這是壹個針對復雜問題的“分而治之”的原則。模塊化的目的是使程序結構清晰、易讀、易懂、易測試、易修改。⑷控制級:表示程序組件(模塊)的組織。控制級別通常由程序的層次結構(樹或網)來表示。●深度:程序結構的層級數,可以反映程序組織的規模和復雜程度。●寬度:同壹層的最大模塊數●模塊扇出:壹個模塊調用(或控制)的其他模塊數●模塊扇入:給定模塊調用(或控制)的模塊數(5)信息屏蔽:每個程序的組件都隱藏或封裝在單個設計模塊中,每個模塊定義時內部處理盡量少暴露, 其可以提高軟件的可修改性,可以【6】模塊獨立性:每個模塊完成壹個相對具體獨立的子功能,與其他模塊的連接簡單。 有兩個度量:模塊之間的耦合和模塊的內聚性。強模塊獨立性必須實現高內聚、低耦合。●耦合度:模塊之間的緊密程度。耦合度越高,模塊的獨立性越差。耦合度從低到高的順序是:間接耦合、數據耦合、標簽耦合、控制耦合、外部耦合、公共耦合、內容耦合。●凝聚力是指內部要素之間的緊密關系。內聚性越低,模塊的獨立性越差。銜接程度從低到高依次為:偶然銜接、邏輯銜接、瞬間銜接、過程銜接、交際銜接、順序銜接和功能銜接。