出其內在的聯系。因此,模塊劃分的是否合理,直接影響到系統設計的質量,影響系統開 結構化設計要解決的主要問題是把系統分解成一個個模塊,并用結構圖的形式表達發的時間、開發成本以及系統實施和維護的方便程度等方面。為了能夠合理地劃分系統的子問題劃歸到同一模塊;把不相關的子問題劃歸到系統的不同模塊。衡量系統的結構化程 各個模塊,使其具有較強的獨立性,在劃分模塊時要遵循的總原則是:盡量把密切相關的度及模塊的獨立性,可以通過模塊與模塊之間的關聯度和模塊內部各個組成部分之間的聚合度兩條標準來進行評價。
模塊之間的關聯度
模塊之間的關聯度是用來表示一個模塊與其他模塊之間聯系的緊密程度。關聯度低,則說明模塊之間的聯系越少,模塊的獨立性就越強,就越容易獨立地進行編程、調試和修改,某個模塊中產生的錯誤對其他模塊的影響也就越小。對于模塊之間的關聯度,可以從以下三個方面來衡量和評價(1)模塊之間的聯系方式。如果一個模塊直接調用另一個模塊內部的數據或指令,這說明被調用模塊內含有多方面不相關的內容,導致模塊間聯系增多,修改一個模塊將直接影響其他的模塊,降低了模塊的獨立性。因此,在系統設計中,應盡量避免使用這種聯系方式。另一種聯系方式是通過被調用模塊的名稱來調用整個模塊,使其完成一定的功能 這樣可以降低模塊間的聯系,增加其獨立性。因此在系統設計中,應盡量采用這種聯系方
式 (2)模塊之間使用控制信息的數量。控制信息是指控制程序運行過程的信息,在程序調用過程中過多地使用控制信息,必然會增加模塊之間的聯系,影響模塊的獨立性。因此,在模塊之間應盡量不用或少用控制信息。當需要在模塊之間使用含有控制信息的調用
關系時,可以通過功能分解的形式消除控制信息的影響。(3)模塊之間傳送數據的數量。模塊之間通過調用關系傳送數據,是一種比較理想的聯系方式。但是,如果模塊之間傳送的數據過多,同樣會給理解和修改模塊帶來困難 且降低系統的可維護性。一個模塊同其他模塊之間傳遞的數據越少,模塊間的相互獨立性
就越強,也就越便于系統的設計和維護。
性來考慮。模塊之間的界面越簡單、清晰、易于理解,則關聯度越低,模塊的獨立性也就 要降低模塊之間的關聯度,除了從以上幾方面考慮之外,還可以從模塊界面的清斷
越強。
模塊內部的聚合度
一個模塊內部的各種組成部分之間間聯系的越密切,其聚合度越高,模塊的獨立性也就越強。模塊的聚合度是由模塊的聚合方式決定的。根據模塊內部的構成情況,其聚合方式可以分
成以下七種形式 (1)偶偶然性聚合。將幾個毫無聯系的功能組合在一起,形成一一個模塊,稱為偶然性提高運算速度而結合在一起,因此聚合度最低。聚合模塊。這種模塊內部的各個組成部分之間幾乎沒有什么聯系,只是為節省存貯空間或模塊,稱為邏輯性聚合模塊。這種種聚合形式,其聚合度也非常低,模塊中的各種功能要通 (2)邏輯性聚合。將幾個邏輯上相似,但彼此并無聯系的功能組合在一起所形成的過控制變量選擇執行。(3)時間性聚合。將幾個需要在同一時段進行處理的各項功能組合在一起所形成的性聚合方式。模塊,稱為時間性聚合模塊。如系統的初始化模塊、結束處理模塊等,可以考慮采用時間
(4)過程性聚合。將為了完成某項業務處理過程,將執行條件受同一控制流支配的
若干個功能組合在一起所形成的模塊,稱為過程性聚合模塊。這類模塊的聚合度較前幾種
要高一些。
稱為數據性聚合模塊。這種模塊能合理地定義功能,結構也比較清楚,因此其聚合度較 (5)數據性聚合。將對同一數據加工處理的若干個功能組合在一起所形成的模塊高 同(6)順序性聚合。把若干個順序執行的、一個處理的輸出是另一個處理的輸入的功能組合在一起所構成的模塊,稱為順序性聚合模塊。這種模塊的聚合度要更高一些 7)功能性聚合。為了完成一項具體任務,由簡單處理功能所組成的模塊,稱為功能性聚合模塊。這種模塊功能單一,內部聯系緊密,易于編程、調試和修改,因此其獨立性最強,聚合度也最最高 在上述七種模塊聚合方式中,其聚合度是依次升高的
功能性聚合模塊
度最高,所以在劃分模塊的過程中,首先應盡量采用功能性聚合方式式。其次,根據需要可 以適當考慮采用順序性聚合或數據性聚合方式,網站制作但要避免采用偶然性聚合和邏輯性聚合方
本文地址:http://knowyourextract.com//article/3457.html