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