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