模塊化設計要求高內聚、低耦合。
在結構化設計中,系統由多個邏輯上相對獨立的模塊組成,在模塊划分時需要遵循如下原則:
(1)模塊的大小要適中。系統分解時需要考慮模塊的規模,過大的模塊可能導致系統分解不充分,其內部可能包括不同類型的功能,需要進一步划分,盡量使得各個模塊的功能單一;過小的模塊將導致系統的復雜度增加,模塊之間的調用過於頻繁,反而降低了模塊的獨立性。一般來說,一個模塊的大小使其實現代碼在1~2頁紙之內,或者其實現代碼行數在50~200行之間,這種規模的模塊易於實現和維護。
(2)模塊的扇入和扇出要合理。一個模塊的扇出是指該模塊直接調用的下級模塊的個數;扇出大表示模塊的復雜度高,需要控制和協調過多的下級模塊。扇出過大一般是因為缺乏中間層次,應該適當增加中間層次的控制模塊;扇出太小時可以把下級模塊進一步分解成若干個子功能模塊,或者合並到它的上級模塊中去。一個模塊的扇入是指直接調用該模塊的上級模塊的個數;扇入大表示模塊的復用程度高。設計良好的軟件結構通常頂層扇出比較大,中間扇出較少,底層模塊則有大扇入。一般來說,系統的平均扇入和扇出系數為3或4,不應該超過7,否則會增大出錯的概率。
(3)深度和寬度適當。深度表示軟件結構中模塊的層數,如果層數過多,則應考慮是否有些模塊設計過於簡單,看能否適當合並。寬度是軟件結構中同一個層次上的模塊總數的最大值,一般說來,寬度越大系統越復雜,對寬度影響最大的因素是模塊的扇出。在系統設計時,需要權衡系統的深度和寬度,盡量降低系統的復雜性,減少實施過程的難度,提高開發和維護的效率。