若干個(gè)彼此獨立而又有一定聯(lián)系的組成部分,這些組成部分稱(chēng)為模塊。對于任何一個(gè)系統 結構化設計方法的基本思想是使系統模塊化化,即把一個(gè)系統自上而下、逐步分解為立功能的模塊所組成的系統。在這一基本思想的指導下,系統設計人員以邏輯模型為基礎,都可以按功能逐步由上向下、由抽象到具體,逐層將其分解為一個(gè)多層次的的、具有相對獨并借助于一套標準的設計準則和圖表等工具,逐層地將系統分解成多個(gè)大小適當、功能單 具有一定獨立性的模塊,把一個(gè)復雜的系統轉換成易于實(shí)現、易于維護的模塊化結構系玧。結構化設計的工作過(guò)程可以分為兩步:第一步是根據數據流程圖導出系統初始結構
不僅可以表示一個(gè)系統的層次結構關(guān)系,而且還反映了模塊的調用關(guān)系和模塊之間數據流 圖;第二步是對結構圖的反復改進(jìn)過(guò)程。因此,系統結構圖是結構化設計的主要工具,它
的傳遞關(guān)系等特性。
模塊劃分的標準
結構化設計要解決的主要問(wèn)題是把系統分解成一個(gè)個(gè)模塊,并用結構圖的形式表達出其內在的聯(lián)系。因此,模塊劃分的是否合理理,直接影響到系統設計的質(zhì)量,影響系統開(kāi)發(fā)的時(shí)間、開(kāi)發(fā)成本以及系統實(shí)施和維護的方便程度等方面。為了能夠合理地劃分系統的各個(gè)模塊,使其具有較強的獨立性,在劃分模塊時(shí)要遵循的總原則是:盡量把密切相關(guān)的子問(wèn)題劃歸到同一模塊;把不相關(guān)的子問(wèn)題劃歸到系統的不同模塊。衡量系統的結構化程度及模塊的獨立性,可以通過(guò)模塊與模塊之間的關(guān)聯(lián)度和模塊內部各個(gè)組成部分之間的聚合度兩條標準來(lái)進(jìn)行評價(jià)。
模塊之間的關(guān)聯(lián)度
模塊之間的關(guān)聯(lián)度是用來(lái)表示一個(gè)模塊與其他模塊之間聯(lián)系的緊密程度。關(guān)聯(lián)度越低,則說(shuō)明模塊之間的聯(lián)系越少,模塊的獨立性就越強,就越容易獨立地進(jìn)行編程、調試以從以下三個(gè)方面來(lái)衡量和評價(jià) 和修改,某個(gè)模塊中產(chǎn)生的錯誤對其他模塊的影響也就越小。對于模塊之間的關(guān)聯(lián)度,
(1)模塊之間的聯(lián)系方式。如果一個(gè)模塊直接調用另一個(gè)模塊內部的數據或指令,這說(shuō)明被調用模塊內含有多方面不相關(guān)的內容,導致模塊間聯(lián)系增多,修改一個(gè)模塊將直 接影響其他的模塊,降低了模塊的獨立性。因此,在系統設計中,應盡量避免使用這種聯(lián)系方式。另一種聯(lián)系方式是通過(guò)被調用模塊的名稱(chēng)來(lái)調用整個(gè)模塊,使其完成一定的功能式 這樣可以降低模塊間的聯(lián)系,增加其獨立性。因此在系統設計中,應盡量采用這種聯(lián)系方序調用過(guò)程中過(guò)多地使用控制信息,必然會(huì )增加模塊之間的聯(lián)系,影響模塊的獨立性。因 (2)模塊之間使用控制信息的數量??刂菩畔⑹侵缚刂瞥绦蜻\行過(guò)程的信息,在程此,在模塊之間應盡量不用或少用控制信息。當需要在模塊之間使用含有控制信息的調用用關(guān)系時(shí),可以通過(guò)功能分解的形式消除控制信息的彩響 (3)模塊之間傳送數據的數量。模塊之間通過(guò)調用關(guān)系傳送數據,是一種比較理想的聯(lián)系方式。但是,如果模塊之間傳送的數據過(guò)多,同樣會(huì )給理解和修改模塊帶來(lái)因難就越強,也就越便于系統的設計和維護 且降低系統的可維護性。一個(gè)模塊同其他模塊之間傳遞的數據越少,模塊間的相互獨立性
要降低模塊之間的關(guān)聯(lián)度,除了從以上幾方面考慮之外,還可以從模塊界面面的清性來(lái)考慮。模塊之間的界面越簡(jiǎn)單、清晰、易于理解,則關(guān)聯(lián)度越低,模塊的獨立性也就越強

模塊內部的聚合度
一個(gè)模塊內部的各種組成部分之間聯(lián)系的越密切,其聚合度越高,模塊的獨立性也就越強。模塊內部的聚合度是用來(lái)描述和評價(jià)模塊內部各個(gè)組成部分之間聯(lián)系的緊密程度。成以下七種形式: 模塊的聚合度是由模塊的聚合方式?jīng)Q定的。根據模塊內部的構成情況,其聚合方式可以分
(1) 偶然性聚合。將幾個(gè)毫無(wú)聯(lián)系的功能組合在一起,形成一個(gè)模塊,稱(chēng)為偶然性聚合模塊。這種模塊內部的各個(gè)組成部分之間幾乎沒(méi)有什么聯(lián)系,只是為節省存貯空間或提高運算速度而結合在一起,因此聚合度最低年
(2)邏輯性聚合。將幾個(gè)邏輯上相似,但彼此并無(wú)聯(lián)系的功能組合在一起所形成的模塊,稱(chēng)為邏輯性聚合模塊。這種聚合形式,其聚合度也非常低,模塊中的各種功能要通過(guò)控制變量選擇執行。
(3)時(shí)間性聚合。將幾個(gè)需要在同一時(shí)段進(jìn)行處理的各項功能組合在一起所形成的模塊,稱(chēng)為時(shí)間性聚合模塊。如系統的初始化模塊、結束處理模塊等,可以考慮采用時(shí)間性聚合方式。(4)過(guò)程性聚合。將為了完成某項業(yè)務(wù)處理過(guò)程,將執行條件受同一控制流支配的若干個(gè)功能組合在一起所形成的模塊,稱(chēng)為過(guò)程性聚合模塊。這類(lèi)模塊的聚合度較前幾種要高一些
(5)數據性聚合。將對同一數據加工處理的若干個(gè)功能組合在一起所形成的模塊稱(chēng)為數據性聚合模塊。這種模塊能合理地定義功能,結構也比較清楚,因此其聚合度較高。
(6)順序性聚合。把若干個(gè)順序執行的、一個(gè)處理的輸出是另一個(gè)處理的輸入的功能組合在一起所構成的模塊,稱(chēng)為順序性聚合模塊。這種模塊的聚合度要更高一些
(7)功能性聚合。為了完成一項具體任務(wù),由簡(jiǎn)單處理功能所組成的模塊,稱(chēng)為功能性聚模塊。這種模塊功能單一,內部聯(lián)系緊密,易于編程、調試和修改,因此其獨立性最強,聚合度也最高。在上述七種模塊聚合方式中,其聚合度是依次升高的。由于功能性聚合模塊的聚合度最高,所以在劃分模塊的過(guò)程中,首先應盡量采用功能性聚合方式。其次,根據需要可 以適當考慮采用順序性聚合或數據性聚合方式,網(wǎng)站設計但要避免采用偶然性聚合和邏輯性聚合方
本文地址:http://havencoinwallet.com//article/3441.html