1. 軟體工程中的五種耦合,各舉一個例子。
數據耦合
sum(int a,int b)
{int c;
c=a+b;
return(c);
}
main()
{int x,y;
.
.
.printf("x+y=%d",sum(x,y));
}
主函數與sum函數之間即為數據耦合關系
控制耦合
void output(flag)
{
if(flag)printf("OK!");
else printf("NO!");
}
main()
{int flag;
..
..
..
output(flag);
}
主函數與output函數之間即為控制耦合關系.
內容耦合
如goto語句
公共環境耦合
如FORTRAN語言中使用的common語句
2. 耦合方式有哪些
多場耦合:比如煉鋼的時候溫度高低對於應力分布就有影響。這種多個物理場相互疊加的問題就叫做多場耦合問題,也是一種耦合。
能量耦合:如變壓器的初級與次級之間的能量耦合。
數據耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡單數據參數(不是控制參數、公共數據結構或外部變數) 來交換輸入、輸出信息的。
標記耦合:一組模塊通過參數表傳遞記錄信息,就是標記耦合。這個記錄是某一數據結構的子結構,而不是簡單變數。其實傳遞的是這個數據結構的地址。
3. 如何計算耦合協調度
不知道大家有沒有注意過,在新聞聯播或者一些政府講話中,常常會聽到協調發展這個詞。
比如國家經濟發展與社會民生的協調發展情況,也或者城市化與生態環境交互協調發展情況,也或者科技創新與產業結構協調發展情況等。
那麼應該如何對某個事物的協調發展水平進行量化評價呢,其中一種方法就是構建耦合協調度模型。
耦合協調度模型用於分析事物的協調發展水平。耦合度指兩個或兩個以上系統之間的相互作用影響,實現協調發展的動態關聯關系,可以反映系統之間的相互依賴相互制約程度。協調度指耦合相互作用關系中良性耦合程度的大小,它可體現出協調狀況的好壞。
耦合協調度模型共涉及3個指標值的計算,分別是耦合度C值,協調指數T值,耦合協調度D值。並且最終結合耦合協調度D值和協調等級劃分標准,最終得出各項的耦合協調程度。
案例: 當前有計算出某城市2011~2016共6年的經濟效益和社會效益數據。希望通過耦合協調度模型計算出城市發展的耦合協調程度,以及城市發展的耦合協調等級水平。
註: 一般模型中包含多層指標,可使用熵值法、主成分分析、層次分析法等方法計算各層次的指標權重,以得到綜合得分。
(1)無綱量化處理
一般在進行耦合協調度模型分析前,需要對數據進行標准化或歸一化處理等,以消除量綱影響。此時可使用SPSSAU【生成變數】功能中的[標准化]或[歸一化]。
如果數據處理後出現數值為0(也或者數據本身就為數字0),因此,可在處理結果後需加上一個略大於零的正數, 比如採用加 0.001 進行處理。
(2)耦合協調度分析
使用路徑: [綜合評價]--[耦合協調度]。
分析前需要設定指標權重,該值由專業知識而定,默認情況下,SPSSAU認為所有分析項的權重一致。如果想自己設置,可通過「指標權重」進行設置。
(3)結果分析
本次針對某市2011~2016共6年的經濟效益和社會效益數據進行耦合協調度分析(上表格中第1項~第6項,事實上就是2011~2016年的意思)。上表格可以看到,隨著年份的變化(從2011~2016),耦合協調程度逐漸變好,從輕度失調到優質協調。
具體耦合協調度D值用於耦合協調等級及劃分標准如下表格,研究人員可根據標准進行判斷。
最後可將結果整理成表格形式,如下圖。
更多干貨內容登錄SPSSAU查看。
4. 電路中的耦合是指什麼
分類: 資源共享 >> 文檔/報告共享
解析:
耦合是指兩個實體相互依賴於對方的一個量度.分為以下幾種:
非直接耦合:兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的
數據耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡單數據參數 (不是控制參數、公共數據結構或外部變數) 來交換輸入、輸出信息的。
標記耦合 :一組模塊通過參數表傳遞記錄信息,就是標記耦合。這個記錄是某一數據結構的子結構,而不是簡單變數。
控制耦合:如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。
外部耦合:一組模塊都訪問同一全局簡單變數而不是同一全局數據結構,而且不是通過參數表傳遞該全局變數的信息,則稱之為外部耦合。
公共耦合:若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。
內容耦合:如果發生下列情形,兩個模塊之間就發生了內容耦合
(1) 一個模塊直接訪問另一個模塊的內部數據;
(2) 一個模塊不通過正常入口轉到另一模塊內部;
(3) 兩個模塊有一部分程序代碼重迭(只可能出現在匯編語言中);
(4) 一個模塊有多個入口。
耦合強度
耦合的強度依賴於以下幾個因素:(1)一個模塊對另一個模塊的調用;(2)一個模塊向另一個模塊傳遞的數據量;(3)一個模塊施加到另一個模塊的控制的多少;(4)模塊之間介面的復雜程度。
耦合按從強到弱的順序可分為以下幾種類型:
(1)內容耦合。當一個模塊直接修改或操作另一個模塊的數據,或者直接轉入另一個模塊時,就發生了內容耦合。此時,被修改的模塊完全依賴於修改它的模塊。
(2)公共耦合。兩個以上的模塊共同引用一個全局數據項就稱為公共耦合。
(3)控制耦合。一個模塊在界面上傳遞一個信號(如開關值、標志量等)控制另一個模塊,接收信號的模塊的動作根據信號值進行調整,稱為控制耦合。
(4)標記耦合。模塊間通過參數傳遞復雜的內部數據結構,稱為標記耦合。此數據結構的變化將使相關的模塊發生變化。
(5)數據耦合。模塊間通過參數傳遞基本類型的數據,稱為數據耦合。
(6)非直接耦合。模塊間沒有信息傳遞時,屬於非直接耦合。
如果模塊間必須存在耦合,就盡量使用數據耦合,少用控制耦合,限制公共耦合的范圍,堅決避免使用內容耦合。
5. 內容耦合
定義:
是指一個模塊依賴另一個模塊的內部作業(例如,訪問另一個模塊的局 域變數),因此修改第二個模塊處理的數據(位置、形態、時序)也就影響了第一個模 塊。
拿現實生活的洗衣機的運行舉個例子:
假設程序運行包含一下模塊:
(1) 風干弄塊(控制轉筒的旋轉)
開始旋轉, 轉筒轉速達到1000降速,速度降低到100,加速旋轉。
(2)洗衣機蓋子保護(打開蓋子,停止轉筒的旋轉)
(3)轉筒控制模式
模塊(1)(2)的運行都會影響3的狀態,特別時模塊2(不同階段的控制不一樣)
如果以(3)為一個模塊
則有這樣的方式
if(蓋子保護){
轉筒狀態 = 停止
}
else if(加速狀態 == 模塊2.設置狀態){
轉筒狀態 = 加速
}
else if(減速狀態 == 模塊2.設置狀態) {
轉筒狀態 = 減速
}
這里我們訪問了模塊2的內部數據,而且這個內部數據理論上應該是私有的,所以就發生了內容耦合,模塊2的局部變數狀態會影響3的運行。
風險點:
如果我們需要更改模塊2的運行機制,分為加速,保持,減速,狀態,那麼模塊3也需要進行更改。
更改方式:
if(蓋子保護){
轉筒狀態 = 停止
}
else if(模塊2正在運行){
轉筒狀態 = 模塊2設置需求函數;
}
模塊2設置需求函數
{
返回加速,保持或減速。
}
成功解除了數據耦合(局部變數訪問的問題)
6. 耦合途徑的6種模型
耦合指從一個電路部分到另一個電路部分的能量傳遞。例如,通過電導性耦合,能量從一個電壓源傳播到負載上。利用電容器允許通過交流成分、阻擋直流成分的性質,可以將電路的交流部分和直流部分耦合起來。變壓器也可以充當耦合介質,通過在兩端配置適當的阻抗,可以達到適當的阻抗匹配。
耦合方式:
1、多場耦合
2、能量耦合
3、數據耦合
4、標記耦合
5、控制耦合
6、外部耦合
7、公共耦合
8、內容耦合
7. visio如何畫電路圖耦合電路
visio畫電路圖耦合電路的具體步驟如下所示:
1、在PSIM中繪制想要畫的電路圖;
2、全選PSIM中繪制好的電路圖——注意選擇「Edit->Copy to clipboard」中的「Metafile format」;
3、新建一個Visio文件,然後Ctrl+V;
4、在剛剛粘貼的Visio圖上單擊右鍵「組合->取消組合」;
5、然後就可以隨心所欲地設置Visio圖中的線條顏色、粗細等屬性了。
8. 什麼是耦合關系
耦合關系是指某兩個事物之間如果存在一種相互作用、相互影響的關系,那麼這種關系就稱」耦合關系「。這種耦合關系在電學裡面經常存在。
數據耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡單數據參數 (不是控制參數、公共數據結構或外部變數) 來交換輸入、輸出信息的。
內容耦合:內容耦合是最緊的耦合程度,一個模塊直接訪問另一模塊的內容,則稱這兩個模塊為內容耦合。
公共耦合:若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。
標記耦合:一組模塊通過參數表傳遞記錄信息,就是標記耦合。這個記錄是某一數據結構的子結構,而不是簡單變數。其實傳遞的是這個數據結構的地址。
控制耦合:如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。
外部耦合:一組模塊都訪問同一全局簡單變數而不是同一全局數據結構,而且不是通過參數表傳遞該全局變數的信息,則稱之為外部耦合。
(8)數據耦合圖怎麼畫擴展閱讀
耦合相關標准:
耦合強度,依賴於以下幾個因素:
1、一個模塊對另一個模塊的調用;
2、一個模塊向另一個模塊傳遞的數據量;
3、一個模塊施加到另一個模塊的控制的多少;
4、模塊之間介面的復雜程度。
9. 為每種類型的模塊耦合舉一個具體例子
耦合是對一個軟體結構內不同模塊之間互連程度的度量。耦合強弱取決於模塊間介面的復雜程度, 進入或訪問某一模塊的點,以及通過介面的數據,一般模塊之間可能的連接方式有7種,構成耦合的7種類型,它們之間的關系為: 低 耦合性 高
非直接耦合
數據耦合
標記耦合
控制耦合
外部耦合
公共耦合
內容耦合
強 獨立性 弱
下面舉例說明以上各種耦合:
a.非直接耦合(Nondirect Coupling)在這種情況下,兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。例如在實數的運算中,有兩個模塊分別完成幾個實數的求和,求乘積功能,這兩個模塊之間沒有直接聯系,只有在主模塊調用中有執行的前後順序而已,這個例子即屬於非直接耦合。
b.數據耦合(Data Coupling)即一個模塊訪問另一個模塊時,彼此之間是通過數據參數來交換輸入,輸出信息的,這種耦合為數據輸入,輸出信息的這種耦合為數據耦合。如有兩個模塊,其中A完成兩個烽的比較,求出其中最大的並返回該值,模塊B是完成了個數的比較,求出其中最大的並返回該最大值,為完成四個數的比較,模塊B調用模塊A即可完成,在這種調用關系中,模塊A的運算結果作為一個參烽參加B的運算,這兩個模塊之間即發生數據耦合。數據耦合是鬆散的耦合,模塊間的獨立性比較強。
c.標記耦合(Stamp Coupling),即一組模塊通過參數傳遞記錄信息,這就是標記耦合。事實上,這組模塊共享了這個記錄,它是某一數據結構的子結構,而不是簡單變數。
d.控制耦合(Control Coupling)即一個模塊通過開關標志,名字等控制住處明顯的控制,選擇另一模塊的功能,這就是控制耦合,如下 圖所示,這一種耦合實質是在單一介面上實現選擇多功能模塊中的某項功能,如程序設計中用到多路選擇結構即是最好的例子。
Switch (x)
A
B
C
e.外部耦合(External Coupling)即一組模塊都訪問同一全局簡單變數而不是同一全局數據結構,而且不是通過參數表傳遞全局數據結構,而且不是通過參數表傳遞全局變數的信息。如C語言中都訪問被說明為extern類型的外部變數的各個模塊之間即發生外部耦合。外部耦合引起的問題類似於下面要介紹的公共耦合,區別在於外部耦合中不存在依賴於一個數據結構內部各項的物理安排。
f.公共耦合(Common Coupling)若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就是公共耦合。公共的數據環境可以是全局的數據結構,共享的通信區,內存的公共覆蓋區等。如幾個模塊對同一個資料庫的查詢就屬於這種耦合。公共耦合可以分為鬆散的公共耦合和緊密的公共耦合,其中鬆散的公共耦合是單向操作,如兩個或多個模塊對同一個文件的讀操作;而緊密的公共耦合是雙向的操作,如兩個或多個模塊對同一文件的讀寫操作。下面用圖表示鬆散的和緊密的公共耦合。
公共數據公共數據
模塊A模塊B模塊A模塊B
鬆散的數據耦合緊密的數據耦合
g.內容耦合。即有下列情況時即出現內容耦合。 (1)一個模塊訪問另一個模塊數據;
(2)一個模塊不通過正常入口而轉到另一個模塊的內部; (3)兩個模塊有一部分代碼重疊; (4)一個模塊有多個入口。
模塊a
模塊b
a. 一個模塊訪問另一個模塊數據
b. 兩個模塊有一部分代碼重疊
c. 一個模塊有多個入口
2、 為每種類型的模塊內聚