耦合性(英語:coupling,dependency,或稱
耦合力或
耦合度)是一種
軟體度量,是指一程式中,
模組及模組之間資訊或引數依賴的程度。
內聚性是乙個和耦合性相對的概念,一般而言低耦合性代表高內聚性,反之亦然。耦合性和內聚性都是由提出結構化設計概念的賴瑞·康斯坦丁所提出[1]。低耦合性是結構良好程式的特性,低耦合性程式的可讀性及可維護性會比較好。
耦合性可以是低耦合性(或稱為鬆散耦合),也可以是高耦合性(或稱為緊密耦合)。以下列出一些耦合性的分類,從高到低依序排列:
後來的研究提出了許多不同層面的耦合性,並且用來評估實務上各種的模組化法則的實施程度。
[1]緊密耦合的系統在開發階段有以下的缺點:
乙個模組的修改會產生
漣漪效應,其他模組也需隨之修改。
由於模組之間的相依性,模組的組合會需要更多的精力及時間。
由於乙個模組有許多的相依模組,模組的
可復用性低。
[1]機能設計是一種可以降低耦合性的方法,此方法以機能性的角度設法限制各模組需負責的事務。在類別 a及
b之間,若有以下任何一種情形,會提高二者的耦合性:
鬆散耦合是指二個彼此相關的模組,其中的介面是乙個簡單而穩定的介面,且其介面和任一模組內部的實現方式無關(參考
資訊隱藏)。
像 corba或
元件物件模型等系統,允許一物件在不知道另一物件實現方式的情形下和另一物件互動。這類系統甚至允許一物件和用其他語言撰寫的物件進行互動。
[1]
關於建模 耦合度
最近想單獨弄乙個小的專案,不過感覺好多東西都不會,在建模方面有很大的缺陷,今天試著自己建了乙個關於藥店系統的簡單模型,來看看到底是怎麼建立的,並問了群中的一些牛人 在他們的討論中,感覺建模其中乙個要注意的問題是模組之間的耦合度的問題,模組與模組之間的耦合度越大,模組之間的依賴就越大,隨之而來的問題就...
java程式的耦合度是什麼
程式的耦合度是 你的子程式之間的相關聯性,也就是說你的多個類的聯絡 是否太緊密,打個比方,你房子裡邊有窗子 那房子 和窗子 就有了關聯 耦合度 是松還是緊 就看你的 關聯 是強還是弱,也就是修改的代價,比如 你窗子是扣死在牆裡的 那麼你修改窗子 就必須修改牆 這就比較緊密了,但是如果你窗子是按照某種...
軟體耦合度的計算公式
我們總得找出一種計算方法來計算模組耦合的程度,一般採用以下的公式 1 di 輸入資料引數的個數 2 ci 輸入控制引數的個數 3 do 輸出資料引數的個數 4 co 輸出控制引數的個數 全域性耦合 5 gd 用來儲存資料的全域性變數 6 gc 用來控制的全域性變數 環境耦合 7 w 此模組呼叫的模組...