什么是結(jié)構(gòu)化設計結(jié)構(gòu)化設計的步驟
結(jié)構(gòu)化設計是一種面向數(shù)據(jù)流的設計方法,目的在于確定軟件的結(jié)構(gòu)。那么你對結(jié)構(gòu)化設計了解多少呢?以下是由學習啦小編整理關(guān)于什么是結(jié)構(gòu)化設計的內(nèi)容,希望大家喜歡!
結(jié)構(gòu)化設計的基本原理和相關(guān)概念
抽象化:常用的抽象化手段有過程抽象、數(shù)據(jù)抽象和控制抽象
● 過程抽象:任何一個完成明確功能的操作都可被使用者當做單位的實體看待,盡管這個操作時機上可能由一系列更低級的操作來完成。
● 數(shù)據(jù)抽象:與過程抽象一樣,允許設計人員在不同層次上描述數(shù)據(jù)對象的細節(jié)。
● 與過程抽象和數(shù)據(jù)抽象一樣,控制抽象可以包含一個程序控制機制而無須規(guī)定其內(nèi)部細節(jié)。
自頂向下,逐步細化:將軟件的體系結(jié)構(gòu)按自頂向下方式,對各個層次的過程細節(jié)和數(shù)據(jù)細節(jié)逐層細化,直到用程序設計語言的語句能夠?qū)崿F(xiàn)為止,從而最后確立整個的體系結(jié)構(gòu)。
模塊化:將一個待開發(fā)的軟件分解成若干個小的簡單的部分——模塊,每個模塊可獨立地開發(fā)、測試,最后組裝成完整的程序。這是一種復雜問題的“分而治之”的原則。模塊化的目的是使程序結(jié)構(gòu)清晰,容易閱讀,容易理解,容易測試,容易修改。
控制層次:表明了程序構(gòu)件(模塊)的組織情況??刂茖哟瓮贸绦虻膶哟谓Y(jié)構(gòu)(樹形或網(wǎng)型)來表示。
● 深度:程序結(jié)構(gòu)的層次數(shù),可以反映程序機構(gòu)的規(guī)模和復雜程度。
● 寬度:同一層模塊的最大模塊個數(shù)
● 模塊的扇出:一個模塊調(diào)用(或控制)的其他模塊數(shù)
● 模塊的扇入:調(diào)用(或控制)一個給定模塊的模塊個數(shù)
信息屏蔽:將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時盡可能少的顯露其內(nèi)部的處理,可以提高軟件的可修改性,可測試性和可移植性。
模塊獨立:每個模塊完成一個相對特定獨立的子功能,并且與其他模塊之間的聯(lián)系簡單。衡量度量標準有兩個:模塊間的耦合和模塊的內(nèi)聚。模塊獨立性強必須做到高內(nèi)聚低耦合。
● 耦合:模塊之間聯(lián)系的緊密程度,耦合度越高模塊的獨立性越差。耦合度從低到高的次序為:非直接耦合、數(shù)據(jù)耦合、標記耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合。
● 內(nèi)聚是指內(nèi)部各元素之間聯(lián)系的緊密程度,內(nèi)聚度越低模塊的獨立性越差。內(nèi)聚度從低到高依次是:偶然內(nèi)聚、邏輯內(nèi)聚、瞬時內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。
結(jié)構(gòu)化設計的基本步驟
分為概要設計和詳細設計兩個階段。
概要設計
概要設計也稱為結(jié)構(gòu)設計或總體設計,主要任務是把系統(tǒng)的功能需求分配給軟件結(jié)構(gòu),形成軟件的模塊結(jié)構(gòu)圖。
概要設計的基本任務:設計軟件系統(tǒng)結(jié)構(gòu):劃分功能模塊,確定模塊間調(diào)用關(guān)系;數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設計:實現(xiàn)需求定義和規(guī)格說明過程中提出的數(shù)據(jù)對象的邏輯表示;編寫概要設計文檔: 包括概要設計說明書、數(shù)據(jù)庫設計說明書,集成測試計劃等;概要設計文檔評審:對設計方案是否完整實現(xiàn)需求分析中規(guī)定的功能、性能的要求,設計方案的可行性等進行評審。
概要設計工具:結(jié)構(gòu)圖(SC: Structure Chart ),反映系統(tǒng)的功能實現(xiàn)以及模塊與模塊之間的聯(lián)系與通信,即反映了系統(tǒng)的總體結(jié)構(gòu)。注意:數(shù)據(jù)流DFD是軟件生命周期的定義階段中的需求分析方法中結(jié)構(gòu)化分析方法的一種,此外還有數(shù)據(jù)字典(DD)、判定樹和判定表,而SC是開發(fā)階段中概要設計使用的方法。
詳細設計
詳細設計的目的:為軟件結(jié)構(gòu)圖(SC)中的每 一個模塊確定采用的算法,模塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具(如N-S圖等)給出清晰的描述。
看過“結(jié)構(gòu)化設計的步驟”的人還看了:
1.關(guān)于事業(yè)結(jié)構(gòu)化的面試題