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