ACS510-01-025A-4
ACS510-01-025A-4
ACS510-01-025A-4
模塊
1.提高功能模塊獨立性
在得到軟件結構之后,就應先著眼于改善功能模塊的獨立性,考驗是否應該把一些功能模塊提取或合并,力求降低耦合提高內聚。例如,多個功能模塊共有的一個子功能可以獨立成一個功能模塊,由這些功能模塊調用,有時可以通過分解或合并功能模塊以減少控制信息的傳遞及對全局數據的引用,并且降低接口的復雜度。
2.功能模塊規模適度
經驗表明,當功能模塊過大時,功能模塊的可理解性就會迅速下降。但是對過大的功能模塊分解時,也不應降低功能模塊的獨立性。因為當對一個大的功能模塊分解時,有可能增加功能模塊之間的依賴。
3.深度、寬度、扇出和扇入要適當
如果深度過大則說明有的控制模塊可能簡單了。如果寬度過大則說明系統的控制過于集中。而扇出過大則意味著功能模塊過于復雜,需要控制和協調過多的下級模塊,這時應適當地增加中間層次,扇出太小則可以把下級模塊進一步分解成若干個子功能模塊,或者合并到上級功能模塊中去。一個功能模塊的扇入是表明有多少個上級功能模塊直接調用它,扇入越大則共享該模塊的上級模塊數目越多,這是有好處的。
4.要使模塊的作用范圍保持在該模塊的控制范圍內
功能模塊的作用范圍是指受該功能模塊內一個判定影響的所有功能模塊的集合。功能模塊的控制范圍是指這個功能模塊本身以及所有直接或間接從屬于它的功能模塊的集合。在一個設計得很好的系統中,所有受判定影響的功能模塊應該都從屬于作出判定的那個功能模塊,好局限于做出判定的那個功能模塊本身及它的直接下級模塊。對于那些不滿足這一條件的軟件結構修改的辦法是:將判定點上移或者將那些在作用范圍內但是不在控制范圍內的功能模塊移植到控制范圍內。
5.應減少功能模塊的接口的復雜性和冗余度,并改善一致性
功能模塊接口復雜是軟件發生錯誤的一個主要原因。應該仔細設計模塊接口,使得信息傳遞簡單并且和模塊的功能一致。
6.設計成單入口、單出口的功能模塊,避免病態連接
要防止內容耦合性,如果功能模塊都是從頂部入口、從底部出口的話,這樣的軟件也更易于理解和易于維護。病態連接關系是指從中部進入或訪問一個模塊。
7.模塊的功能可預測
如果一個功能模塊可以當做一個黑箱,即只要輸入的數據相同就產生同樣的輸出,這個模塊的功能就是可以預測的。而那些具有內部記憶的功能模塊則可能是不可預知的,因為它可能記載了某個內部標志并且利用這個標志去選擇處理方案。由于這個標志對上級功能模塊來說是看不見的,因而可能引起混亂。
8.組裝軟件根據設計的約束和移植的需要
組裝是指用來把軟件組合起來,以便把軟件放入特定的處理環境或送往其他的地方。有時,設計約束要求一個程序要在內存中覆蓋自己。如果有這種要求的話,原設計結構就可能必須重新組織以便按照重復的次數、存取的頻率以及各次調用之間的間隔來把功能模塊組合起來。
XWUI8V4X10001 1
SXWUI8V4X10001 1
522-1BL00-0AB0
BMEP583020 2
HMIGTO2310 1
2711P-T10C22D8SB 1 面30132
A8NDPV1 1
MDS-DH-SP-200 1
MDV60A0220-503-4-00 1
Phoenix Contact 2866462 TRIO-PS/3AC/24DC/5 1
MUNK E230 G100/25 WRG-TFMYCT14