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