結(jié)構(gòu)化設(shè)計的原理發(fā)布者:本站 時間:2019-11-07 10:11:11
若干個彼此獨立而又有一定聯(lián)系的組成部分,這些組成部分稱為模塊。對于任何一個系統(tǒng) 結(jié)構(gòu)化設(shè)計方法的基本思想是使系統(tǒng)模塊化化,即把一個系統(tǒng)自上而下、逐步分解為立功能的模塊所組成的系統(tǒng)。在這一基本思想的指導(dǎo)下,系統(tǒng)設(shè)計人員以邏輯模型為基礎(chǔ),都可以按功能逐步由上向下、由抽象到具體,逐層將其分解為一個多層次的的、具有相對獨并借助于一套標(biāo)準(zhǔn)的設(shè)計準(zhǔn)則和圖表等工具,逐層地將系統(tǒng)分解成多個大小適當(dāng)、功能單 具有一定獨立性的模塊,把一個復(fù)雜的系統(tǒng)轉(zhuǎn)換成易于實現(xiàn)、易于維護(hù)的模塊化結(jié)構(gòu)系玧。結(jié)構(gòu)化設(shè)計的工作過程可以分為兩步:第一步是根據(jù)數(shù)據(jù)流程圖導(dǎo)出系統(tǒng)初始結(jié)構(gòu)
不僅可以表示一個系統(tǒng)的層次結(jié)構(gòu)關(guān)系,而且還反映了模塊的調(diào)用關(guān)系和模塊之間數(shù)據(jù)流 圖;第二步是對結(jié)構(gòu)圖的反復(fù)改進(jìn)過程。因此,系統(tǒng)結(jié)構(gòu)圖是結(jié)構(gòu)化設(shè)計的主要工具,它
的傳遞關(guān)系等特性。
模塊劃分的標(biāo)準(zhǔn)
結(jié)構(gòu)化設(shè)計要解決的主要問題是把系統(tǒng)分解成一個個模塊,并用結(jié)構(gòu)圖的形式表達(dá)出其內(nèi)在的聯(lián)系。因此,模塊劃分的是否合理理,直接影響到系統(tǒng)設(shè)計的質(zhì)量,影響系統(tǒng)開發(fā)的時間、開發(fā)成本以及系統(tǒng)實施和維護(hù)的方便程度等方面。為了能夠合理地劃分系統(tǒng)的各個模塊,使其具有較強(qiáng)的獨立性,在劃分模塊時要遵循的總原則是:盡量把密切相關(guān)的子問題劃歸到同一模塊;把不相關(guān)的子問題劃歸到系統(tǒng)的不同模塊。衡量系統(tǒng)的結(jié)構(gòu)化程度及模塊的獨立性,可以通過模塊與模塊之間的關(guān)聯(lián)度和模塊內(nèi)部各個組成部分之間的聚合度兩條標(biāo)準(zhǔn)來進(jìn)行評價。
模塊之間的關(guān)聯(lián)度
模塊之間的關(guān)聯(lián)度是用來表示一個模塊與其他模塊之間聯(lián)系的緊密程度。關(guān)聯(lián)度越低,則說明模塊之間的聯(lián)系越少,模塊的獨立性就越強(qiáng),就越容易獨立地進(jìn)行編程、調(diào)試以從以下三個方面來衡量和評價 和修改,某個模塊中產(chǎn)生的錯誤對其他模塊的影響也就越小。對于模塊之間的關(guān)聯(lián)度,
(1)模塊之間的聯(lián)系方式。如果一個模塊直接調(diào)用另一個模塊內(nèi)部的數(shù)據(jù)或指令,這說明被調(diào)用模塊內(nèi)含有多方面不相關(guān)的內(nèi)容,導(dǎo)致模塊間聯(lián)系增多,修改一個模塊將直 接影響其他的模塊,降低了模塊的獨立性。因此,在系統(tǒng)設(shè)計中,應(yīng)盡量避免使用這種聯(lián)系方式。另一種聯(lián)系方式是通過被調(diào)用模塊的名稱來調(diào)用整個模塊,使其完成一定的功能式 這樣可以降低模塊間的聯(lián)系,增加其獨立性。因此在系統(tǒng)設(shè)計中,應(yīng)盡量采用這種聯(lián)系方序調(diào)用過程中過多地使用控制信息,必然會增加模塊之間的聯(lián)系,影響模塊的獨立性。因 (2)模塊之間使用控制信息的數(shù)量??刂菩畔⑹侵缚刂瞥绦蜻\行過程的信息,在程此,在模塊之間應(yīng)盡量不用或少用控制信息。當(dāng)需要在模塊之間使用含有控制信息的調(diào)用用關(guān)系時,可以通過功能分解的形式消除控制信息的彩響 (3)模塊之間傳送數(shù)據(jù)的數(shù)量。模塊之間通過調(diào)用關(guān)系傳送數(shù)據(jù),是一種比較理想的聯(lián)系方式。但是,如果模塊之間傳送的數(shù)據(jù)過多,同樣會給理解和修改模塊帶來因難就越強(qiáng),也就越便于系統(tǒng)的設(shè)計和維護(hù) 且降低系統(tǒng)的可維護(hù)性。一個模塊同其他模塊之間傳遞的數(shù)據(jù)越少,模塊間的相互獨立性
要降低模塊之間的關(guān)聯(lián)度,除了從以上幾方面考慮之外,還可以從模塊界面面的清性來考慮。模塊之間的界面越簡單、清晰、易于理解,則關(guān)聯(lián)度越低,模塊的獨立性也就越強(qiáng)
模塊內(nèi)部的聚合度
一個模塊內(nèi)部的各種組成部分之間聯(lián)系的越密切,其聚合度越高,模塊的獨立性也就越強(qiáng)。模塊內(nèi)部的聚合度是用來描述和評價模塊內(nèi)部各個組成部分之間聯(lián)系的緊密程度。成以下七種形式: 模塊的聚合度是由模塊的聚合方式?jīng)Q定的。根據(jù)模塊內(nèi)部的構(gòu)成情況,其聚合方式可以分
(1) 偶然性聚合。將幾個毫無聯(lián)系的功能組合在一起,形成一個模塊,稱為偶然性聚合模塊。這種模塊內(nèi)部的各個組成部分之間幾乎沒有什么聯(lián)系,只是為節(jié)省存貯空間或提高運算速度而結(jié)合在一起,因此聚合度最低年
(2)邏輯性聚合。將幾個邏輯上相似,但彼此并無聯(lián)系的功能組合在一起所形成的模塊,稱為邏輯性聚合模塊。這種聚合形式,其聚合度也非常低,模塊中的各種功能要通過控制變量選擇執(zhí)行。
(3)時間性聚合。將幾個需要在同一時段進(jìn)行處理的各項功能組合在一起所形成的模塊,稱為時間性聚合模塊。如系統(tǒng)的初始化模塊、結(jié)束處理模塊等,可以考慮采用時間性聚合方式。(4)過程性聚合。將為了完成某項業(yè)務(wù)處理過程,將執(zhí)行條件受同一控制流支配的若干個功能組合在一起所形成的模塊,稱為過程性聚合模塊。這類模塊的聚合度較前幾種要高一些
(5)數(shù)據(jù)性聚合。將對同一數(shù)據(jù)加工處理的若干個功能組合在一起所形成的模塊稱為數(shù)據(jù)性聚合模塊。這種模塊能合理地定義功能,結(jié)構(gòu)也比較清楚,因此其聚合度較高。
(6)順序性聚合。把若干個順序執(zhí)行的、一個處理的輸出是另一個處理的輸入的功能組合在一起所構(gòu)成的模塊,稱為順序性聚合模塊。這種模塊的聚合度要更高一些
(7)功能性聚合。為了完成一項具體任務(wù),由簡單處理功能所組成的模塊,稱為功能性聚模塊。這種模塊功能單一,內(nèi)部聯(lián)系緊密,易于編程、調(diào)試和修改,因此其獨立性最強(qiáng),聚合度也最高。在上述七種模塊聚合方式中,其聚合度是依次升高的。由于功能性聚合模塊的聚合度最高,所以在劃分模塊的過程中,首先應(yīng)盡量采用功能性聚合方式。其次,根據(jù)需要可 以適當(dāng)考慮采用順序性聚合或數(shù)據(jù)性聚合方式,網(wǎng)站設(shè)計但要避免采用偶然性聚合和邏輯性聚合方
選擇我們,優(yōu)質(zhì)服務(wù),不容錯過
1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設(shè)經(jīng)驗,優(yōu)秀的技術(shù)和設(shè)計水平,更放心
3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
------------------------------------------------------------
24小時聯(lián)系電話:021-58370032