功能模塊規模適度
經驗表明,當功能模塊過大時,功能模塊的可理解性就會迅速下降。但是對過大的功能模塊分解時,也不應降低功能模塊的獨立性。因為當對一個大的功能模塊分解時,有可能增加功能模塊之間的依賴。
3.深度、寬度、扇出和扇入要適當
如果深度過大則說明有的控制模塊可能簡單了。如果寬度過大則說明系統的控制過于集中。而扇出過大則意味著功能模塊過于復雜,需要控制和協調過多的下級模塊,這時應適當地增加中間層次,扇出太小則可以把下級模塊進一步分解成若干個子功能模塊,或者合并到上級功能模塊中去。一個功能模塊的扇入是表明有多少個上級功能模塊直接調用它,扇入越大則共享該模塊的上級模塊數目越多,這是有好處的。
4.要使模塊的作用范圍保持在該模塊的控制范圍內
功能模塊的作用范圍是指受該功能模塊內一個判定影響的所有功能模塊的集合。功能模塊的控制范圍是指這個功能模塊本身以及所有直接或間接從屬于它的功能模塊的集合。在一個設計得很好的系統中,所有受判定影響的功能模塊應該都從屬于作出判定的那個功能模塊,局限于做出判定的那個功能模塊本身及它的直接下級模塊。對于那些不滿足這一條件的軟件結構修改的辦法是:將判定點上移或者將那些在作用范圍內但是不在控制范圍內的功能模塊移植到控制范圍內。