.提高功能模塊獨(dú)立性
在得到軟件結(jié)構(gòu)之后,就應(yīng)首先著眼于改善功能模塊的獨(dú)立性,考驗(yàn)是否應(yīng)該把一些功能模塊提取或合并,力求降低耦合提高內(nèi)聚。例如,多個功能模塊共有的一個子功能可以獨(dú)立成一個功能模塊,由這些功能模塊調(diào)用,有時可以通過分解或合并功能模塊以減少控制信息的傳遞及對全局?jǐn)?shù)據(jù)的引用,并且降低接口的復(fù)雜度。
2.功能模塊規(guī)模適度
經(jīng)驗(yàn)表明,當(dāng)功能模塊過大時,功能模塊的可理解性就會迅速下降。但是對過大的功能模塊分解時,也不應(yīng)降低功能模塊的獨(dú)立性。因?yàn)楫?dāng)對一個大的功能模塊分解時,有可能增加功能模塊之間的依賴。
3.深度、寬度、扇出和扇入要適當(dāng)
如果深度過大則說明有的控制模塊可能簡單了。如果寬度過大則說明系統(tǒng)的控制過于集中。而扇出過大則意味著功能模塊過于復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊,這時應(yīng)適當(dāng)?shù)卦黾又虚g層次,扇出太小則可以把下級模塊進(jìn)一步分解成若干個子功能模塊,或者合并到上級功能模塊中去。一個功能模塊的扇入是表明有多少個上級功能模塊直接調(diào)用它,扇入越大則共享該模塊的上級模塊數(shù)目越多,這是有好處的。