products
產(chǎn)品分類 BECKHOFF模塊獨(dú)立性的度量是否存在哪些為重要
BECKHOFF模塊的可理解性就會迅速下降。但是對過大的功能模塊分解時(shí),也不應(yīng)降低BECKHOFF模塊的獨(dú)立性。因?yàn)楫?dāng)對一個(gè)大的功能模塊分解時(shí),有可能增加功能模塊之間的依賴。
BECKHOFF模塊深度、寬度、扇出和扇入要適當(dāng)
如果深度過大則說明有的控制模塊可能簡單了。如果寬度過大則說明系統(tǒng)的控制過于集中。而扇出過大則意味著功能模塊過于復(fù)雜,需要控制和協(xié)調(diào)過多的下模塊,這時(shí)應(yīng)適當(dāng)?shù)卦黾又虚g層次,扇出太小則可以把下模塊進(jìn)一步分解成若干個(gè)子功能模塊,或者合并到上功能模塊中去。一個(gè)BECKHOFF模塊的扇入是表明有多少個(gè)上功能模塊直接調(diào)用它,扇入越大則該模塊的上模塊數(shù)目越多,這是有好處的。
要使BECKHOFF模塊的作用范圍保持在該模塊的控制范圍內(nèi)
BECKHOFF模塊的作用范圍是指受該功能模塊內(nèi)一個(gè)判定影響的所有功能模塊的集合。功能模塊的控制范圍是指這個(gè)功能模塊本身以及所有直接或間接從屬于它的功能模塊的集合。在一個(gè)設(shè)計(jì)得很好的系統(tǒng)中,所有受判定影響的功能模塊應(yīng)該都從屬于作出判定的那個(gè)功能模塊,局限于做出判定的那個(gè)功能模塊本身及它的直接下模塊。對于那些不滿足這一條件的軟件結(jié)構(gòu)修改的辦法是:將判定點(diǎn)上移或者將那些在作用范圍內(nèi)但是不在控制范圍內(nèi)的功能模塊移植到控制范圍內(nèi)。
BECKHOFF模塊非直接耦合。若兩個(gè)模塊沒有直接關(guān)系,他們之間的*是通過主程序的控制和調(diào)用來實(shí)現(xiàn)的,便稱這兩個(gè)功能模塊為非直接耦合,獨(dú)立性zui強(qiáng)。
上面只是對耦合機(jī)制進(jìn)行了一個(gè)分類。原則上講,功能模塊化設(shè)計(jì)總是希望功能模塊之間的耦合表現(xiàn)為非直接耦合方式。但是,由于問題所固有的復(fù)雜性和空間方面的考慮,有時(shí)則要根據(jù)實(shí)際情況,全面權(quán)衡,選用其它類型的耦合。
功能模塊內(nèi)聚
BECKHOFF模塊功能角度來度量功能模塊內(nèi)的,一個(gè)好的內(nèi)聚功能模塊應(yīng)當(dāng)恰好做一件事。它描述的是功能模塊內(nèi)的功能。
內(nèi)聚有如下的種類,其內(nèi)聚度由弱到強(qiáng)排列:
BECKHOFF模塊中的代碼無法定義其不同功能的調(diào)用。但它使該功能模塊能執(zhí)行不同的功能,這種功能模塊稱為巧合強(qiáng)度功能模塊。
BECKHOFF模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),有傳送給功能模塊參數(shù)來確定該功能模塊應(yīng)完成那一種功能。
BECKHOFF模塊塊順序完成一類相關(guān)功能,比如初始化功能模塊,它順序?yàn)樽兞恐贸踔怠?br /> 如果一個(gè)BECKHOFF模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行則稱為過程內(nèi)聚。
這種功BECKHOFF模塊了具有過程內(nèi)聚的特點(diǎn)外,還有另外一種關(guān)系,則它的所有功能都通過使用公共數(shù)據(jù)而發(fā)生關(guān)系。
BECKHOFF模塊內(nèi)的處理元素和同一個(gè)功能密切相關(guān),而且這些處理必須順序執(zhí)行,通常一個(gè)處理元素的輸出數(shù)據(jù)作為下一個(gè)處理元素的輸入數(shù)據(jù),則稱為順序內(nèi)聚。
BECKHOFF模塊包括并僅包括未完成某一具體任務(wù)所必需的所有成分,或者說功能模塊中所有成分結(jié)合起來是為了完成一個(gè)具體的任務(wù),此功能模塊稱為功能強(qiáng)度模塊。