獨(dú)立性度量
功能模塊獨(dú)立性是由內(nèi)聚性和耦合性?xún)蓚€(gè)定性指標(biāo)來(lái)度量的。內(nèi)聚性是度量一個(gè)功能模塊內(nèi)功能強(qiáng)度的一個(gè)相對(duì)指標(biāo)。耦合性則用來(lái)度量功能模塊之間的相互聯(lián)系的程度。
耦合
耦合是軟件結(jié)構(gòu)中各功能模塊之間相互連接的一種度量,耦合強(qiáng)弱取決于功能模塊間接口的復(fù)雜程度、進(jìn)入或訪(fǎng)問(wèn)一個(gè)功能模塊的點(diǎn)以及通過(guò)接口的數(shù)據(jù)。
耦合有以下幾種,他們之間的耦合度由高到低排列:
內(nèi)容耦合。如一個(gè)功能模塊直接訪(fǎng)問(wèn)另一個(gè)功能模塊的內(nèi)容,則這兩個(gè)功能模塊稱(chēng)為內(nèi)容耦合。
公共耦合。如一組功能模塊都訪(fǎng)問(wèn)統(tǒng)一全局?jǐn)?shù)據(jù)結(jié)構(gòu),則稱(chēng)之為公共耦合。
外部耦合。如一組功能模塊都訪(fǎng)問(wèn)統(tǒng)一全局?jǐn)?shù)據(jù)項(xiàng),則稱(chēng)之為外部耦合。
控制耦合。如一功能模塊明顯地把開(kāi)關(guān)量、名字等信息送入另一功能模塊,控制另一功能模塊的功能,則為控制耦合。
標(biāo)記耦合。如一組功能模塊共享了某個(gè)記錄,而不是簡(jiǎn)單變量,即這些功能模塊都需某一數(shù)據(jù)的子結(jié)構(gòu)時(shí),就需要按該記錄的結(jié)構(gòu)進(jìn)行操作,并通過(guò)參數(shù)表來(lái)傳遞記錄信息,這樣的耦合稱(chēng)之為標(biāo)記耦合。
數(shù)據(jù)耦合。如一個(gè)功能模塊訪(fǎng)問(wèn)另一個(gè)功能模塊,被訪(fǎng)問(wèn)的功能模塊的輸入和輸出都是數(shù)據(jù)項(xiàng)參數(shù),則這兩個(gè)功能模塊為數(shù)據(jù)耦合。
非直接耦合。若兩個(gè)功能模塊沒(méi)有直接關(guān)系,他們之間的聯(lián)系*是通過(guò)主程序的控制和調(diào)用來(lái)實(shí)現(xiàn)的,便稱(chēng)這兩個(gè)功能模塊為非直接耦合,獨(dú)立性強(qiáng)。
上面只是對(duì)耦合機(jī)制進(jìn)行了一個(gè)分類(lèi)。原則上講,功能模塊化設(shè)計(jì)總是希望功能模塊之間的耦合表現(xiàn)為非直接耦合方式。但是,由于問(wèn)題所固有的復(fù)雜性和空間方面的考慮,有時(shí)則要根據(jù)實(shí)際情況,全面權(quán)衡,選用其它類(lèi)型的耦合。
TURCK BI10-S30-AZ3X/S97 開(kāi)關(guān)
ACRO-POWER AOS48T-588/P 電源
AB 1756-OA16I 模塊
歐姆龍 E3JK-DS30M1 光電開(kāi)關(guān)
ABB IPSYS01 模塊
ABB IPMON01 模塊
ABB IMDSI22 模塊
ABB IMDSO14 模塊
ABB NTCL01 模塊
ABB NTAI05 模塊
ABB NTU-7Q2E 模塊
ABB IMASO11 模塊
ABB PHARPSFAN03000 模塊
ABB PHARPSFAN03000 模塊
ABB PHARPSCH100000 模塊
ABB PHARPS32000000 模塊
ABB PHARPSPEP11013 模塊
SIEMENS 6SY7000-0AB30 風(fēng)機(jī)
AB 1746-OB16 模塊
AB 1746-IB16 模塊
AB 1746-A10 模塊
YASKAWA JAMSC-IF76AV 模塊
SIEMENS 6ES7 195-7HB00-0XA0 連接器
ABB DS6-340-30K-MX 接觸器
ABB AF300-30-11 接觸器
SICK WT45-R250 開(kāi)關(guān)
ADLINK HSL-D032-M-N 模塊
倍加福 OBS4000-18GM60-E4-V1 傳感器
倍加福 G12/GV12/36/40B/92 傳感器
倍福 FC2001 接口卡
EVCO EVK401N7 控制器
SIEMENS 6SE7038-6EK84-1JC1 板卡
SIEMENS 6SE7041-3TL84-1JC0 板卡
SIEMENS 6SE7037-0EJ84-1JC0 板卡
SIEMENS 6SE7035-1EJ84-1JC1 板卡
SIEMENS 6ES7952-1AH00-0AA0 存儲(chǔ)卡
SIEMENS 6ES7400-1JA00-0AA0 模塊
倍加福 NBB1.5-8GM40-E3-V1 接近開(kāi)關(guān)
IAI RCP2-C-SA6-I-PM-0 驅(qū)動(dòng)器
ABB 1SFA611620R1001 燈頭
AB 1769-L18ER-BB1B 模塊
AB 1734-IB8 模塊
AB 1734-OB8 模塊
AB 1734-TBS 底座
AB 2711P-T10C4D8 觸摸屏
AB 1783-US05T 交換機(jī)
AB 20AC3P5A0AYNNNC0 變頻器
AB 20-COMM-E 網(wǎng)卡
AB 20-HIM-A3 面板
西門(mén)子 6ES7972-0AA01-0XA0 模塊
SIEMENS 6ES7416-2XN05-0AB0 模塊
ABB CDP312R 面板
Broadcom BCM5762B0KMLG 配件
KUKA KSD1-64 驅(qū)動(dòng)器
SCHNEIDER TSXDSY16R5 模塊
FANUC A06B-0127-B077 電機(jī)
ABB PSS37/64-500L 軟啟動(dòng)
Keysight CX1206A 傳感器頭
SIEMENS 6SL3040-0MA00-0AA1 控制單元