什么是耦合性組織(什么是耦合性)
您好,今天小編胡舒來為大家解答以上的問題。什么是耦合性組織,什么是耦合性相信很多小伙伴還不知道,現在讓我們一起來看看吧!
1、耦合性是程序結構中各個模塊之間相互關聯的度量。
2、它取決于各個模塊之間接口的復雜程度、調用模塊的方式以及哪些信息通過接口。
3、 構成耦合性的七種類型 一般模塊之間可能的連接方式有七種,構成耦合性的七種類型。
4、它們之間的關系為(由弱到強) 非直接耦合(Nondirect coupling) 如果兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。
5、這種耦合的模塊獨立性最強。
6、 數據耦合(Data Coupling) 如果一個模塊訪問另一個模塊時,彼此之間是通過數據參數(不是控制參數、公共數據結構或外部變量)來交換輸入、輸出信息的,則稱這種耦合為數據耦合。
7、由于限制了只通過參數表傳遞數據,按數據耦合開發的程序界面簡單、安全可靠。
8、因此,數據耦合是松散的耦合,模塊之間的獨立性比較強。
9、在軟件程序結構中至少必須有這類耦合。
10、 標記耦合(Stamp Coupling) 如果一組模塊通過參數表傳遞記錄信息,就是標記耦合。
11、事實上,這組模塊共享了這個記錄,它是某一數據結構的子結構,而不是簡單變量。
12、這要求這些模塊都必須清楚該記錄的結構,并按結構要求對此記錄進行操作。
13、在設計中應盡量避免這種耦合,它使在數據結構上的操作復雜化了。
14、如果采取“信息隱蔽”的方法,把在數據結構上的操作全部集中在一個模塊中,就可以消除這種耦合。
15、 控制耦合(control(20upling) 如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。
16、耦合的實質是在單一接口上選擇多功能模塊中的某項功能。
17、因此,對所控制模塊的任何修改,都會影響控制模塊。
18、另外,控制耦合也意味著控制模塊必須知道所控制模塊內部的一些邏輯關系,這些都會降低模塊的獨立性。
19、 外部耦合(External(;oupling) 一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。
20、例如C語言程序中各個模塊都訪問被說明為extern類型的外部變量。
21、外部耦合引起的問題類似于公共耦合,區別在于在外部耦合中不存在依賴于一個數據結構內部各項的物理安排。
22、 公共耦合((;ommon Coupling) 若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。
23、公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。
24、 這種耦合會引起下列問題: 1)所有公共耦合模塊都與某一個公共數據環境內部各項的物理安排有關,若修改某個數據的大小,將會影響到所有的模塊。
25、 2)無法控制各個模塊對公共數據的存取,嚴重影響軟件模塊的可靠性和適應性。
26、 3)公共數據名的使用,明顯降低了程序的可讀性。
27、[Page] 公共耦合的復雜程度隨耦合模塊的個數增加而顯著增加。
28、如圖4.14所示,若只是兩個模塊之間有公共數據環境,則公共耦合有兩種情況。
29、 若一個模塊只是往公共數據環境里傳送數據,而另一個模塊只是從公共數據環境中取數據,則這種公共耦合叫做松散公共耦合。
30、若兩個模塊都從公共數據環境中取數據,又都向公共數據環境里送數據,則這種公共耦合叫做緊密公共耦合。
31、只有在模塊之間共享的數據很多,且通過參數表傳遞不方便時,才使用公共耦合。
32、否則,還是使用模塊獨立性比較高的數據耦合好些。
33、 內容耦合((70ntent Coupling) 如果發生下列情形,兩個模塊之間就發生了內容耦合。
34、 1)一個模塊直接訪問另一個模塊的內部數據; 2)一個模塊不通過正常入口轉到另一模塊內部; 3)兩個模塊有一部分程序代碼重疊(只可能出現在匯編語言中); 4)一個模塊有多個入口。
35、 在內容耦合的情形,所訪問模塊的任何變更,或者用不同的編譯器對它再編譯,都會造成程序出錯。
36、好在大多數高級程序設計語言已經設計成不允許出現內容耦合。
37、它一般出現在匯編語言程序中。
38、這種耦合是模塊獨立性最弱的耦合。
39、 以上由Myers給出的七種耦合類型,只是從耦合的機制上所做的分類,按耦合的松緊程度的排列只是相對的關系。
40、但它給設計人員在設計程序結構時提供了一個決策準則。
41、實際上,開始時兩個模塊之間的耦合不只是一種類型,而是多種類型的混合。
42、這就要求設計人員按照Myers提出的方法進行分析,比較和分析,逐步加以改進,以提高模塊的獨立性。
本文就為大家分享到這里,希望小伙伴們會喜歡。
作者:baidianfeng365本文地址:http://www.inkvzc.cn/bdf/20594.html發布于 2023-12-19
文章轉載或復制請以超鏈接形式并注明出處白癜風知識網