.深度、寬度、扇出和扇入要適當(dāng)
如果深度過大則說明有的控制模塊可能簡單了。如果寬度過大則說明系統(tǒng)的控制過于集中。而扇出過大則意味著功能模塊過于復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊,這時(shí)應(yīng)適當(dāng)?shù)卦黾又虚g層次,扇出太小則可以把下級模塊進(jìn)一步分解成若干個(gè)子功能模塊,或者合并到上級功能模塊中去。一個(gè)功能模塊的扇入是表明有多少個(gè)上級功能模塊直接調(diào)用它,扇入越大則共享該模塊的上級模塊數(shù)目越多,這是有好處的。
4.要使模塊的作用范圍保持在該模塊的控制范圍內(nèi)
功能模塊的作用范圍是指受該功能模塊內(nèi)一個(gè)判定影響的所有功能模塊的集合。功能模塊的控制范圍是指這個(gè)功能模塊本身以及所有直接或間接從屬于它的功能模塊的集合。在一個(gè)設(shè)計(jì)得很好的系統(tǒng)中,所有受判定影響的功能模塊應(yīng)該都從屬于作出判定的那個(gè)功能模塊,局限于做出判定的那個(gè)功能模塊本身及它的直接下級模塊。對于那些不滿足這一條件的軟件結(jié)構(gòu)修改的辦法是:將判定點(diǎn)上移或者將那些在作用范圍內(nèi)但是不在控制范圍內(nèi)的功能模塊移植到控制范圍內(nèi)。