偶合和內聚_第1頁
已閱讀1頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章總體設計1、為每種類型的模塊耦合舉一個具體例子。答:耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度,進入或訪問某一模塊的點,以及通過接口的數(shù)據,一般模塊之間可能的連接方式有7種,構成耦合的7種類型,它們之間的關系為:低耦合性高非直接耦合數(shù)據耦合標記耦合控制耦合外部耦合公共耦合內容耦合強獨立性弱下面舉例說明以上各種耦合:a非直接耦合(NondirectCoupling)在這種情況下,兩個模塊之間

2、沒有直接關系,它們之間的聯(lián)系完全是通過主模塊的控制和調用來實現(xiàn)的,這就是非直接耦合。例如在實數(shù)的運算中,有兩個模塊分別完成幾個實數(shù)的求和,求乘積功能,這兩個模塊之間沒有直接聯(lián)系,只有在主模塊調用中有執(zhí)行的前后順序而已,這個例子即屬于非直接耦合。b數(shù)據耦合(DataCoupling)即一個模塊訪問另一個模塊時,彼此之間是通過數(shù)據參數(shù)來交換輸入,輸出信息的,這種耦合為數(shù)據輸入,輸出信息的這種耦合為數(shù)據耦合。如有兩個模塊,其中A完成兩個烽的比

3、較,求出其中最大的并返回該值,模塊B是完成了個數(shù)的比較,求出其中最大的并返回該最大值,為完成四個數(shù)的比較,模塊B調用模塊A即可完成,在這種調用關系中,模塊A的運算結果作為一個參烽參加B的運算,這兩個模塊之間即發(fā)生數(shù)據耦合。數(shù)據耦合是松散的耦合,模塊間的獨立性比較強。c標記耦合(StampCoupling)即一組模塊通過參數(shù)傳遞記錄信息,這就是標記耦合。事實上,這組模塊共享了這個記錄,它是某一數(shù)據結構的子結構,而不是簡單變量。d控制耦合(

4、ControlCoupling)即一個模塊通過開關標志,名字等控制住處明顯的控制,選擇另一模塊的功能,這就是控制耦合,如下圖所示,這一種耦合實質是在單一接口上實現(xiàn)選擇多功能模塊中的某項功能,如程序設計中用到多路選擇結構即是最好的例子。Switch(x)ABCe外部耦合(ExternalCoupling)即一組模塊都訪問同一全局簡單變量而不是同一全局數(shù)據結構,而且不是通過參數(shù)表傳遞全局數(shù)據結構,而且不是通過參數(shù)表傳遞全局變量的信息。如C語

5、言中都訪問被說明為extern類型的外部變量的各個模塊之間即發(fā)生外部耦合。外部耦合引起的問題類似于下面要介紹的公共耦合,區(qū)別在于外部耦合中不存在依賴于一個數(shù)據結構內部各項的物理安排。f公共耦合(CommonCoupling)若一組模塊都訪問同一個公共數(shù)據環(huán)境,則它們之間的耦合就是公共耦合。公共的數(shù)據環(huán)境可以是全局的數(shù)據結構,共享的通信區(qū),內存的公共覆蓋區(qū)等。如幾個模塊對同一個數(shù)據庫的查詢就屬于這種耦合。公共耦合可以分為松散的公共耦合和緊

6、密的公共耦合,其中松散的公共耦合是單向操作,如兩個或多個模塊對同一個文件的讀操作;而緊密的公共耦合是雙向的操作,如兩個或多個模塊對同一文件的讀寫操作。下面用圖表示松散的和緊密的公共耦合。b邏輯內聚(LogicalCohesion)即這種模塊把幾種功能組合在一起,每次調用時,由傳送給模塊的判定參數(shù)來確定該模塊應執(zhí)行哪一種功能。如根據輸入的控制信息,或從文件中讀入一個記錄,或向文件寫出一個記錄。c時間內聚(ClassicalCohesion

7、)這種模塊大多數(shù)為多功能模塊,但模塊的各人功能的執(zhí)行與時間有關,通常要求所有功能必須在同一時間段內執(zhí)行,例如初始化模塊和終止模塊。d過程內聚(ProceduralCohesion)即一個模塊內的處理是相關的,而且必須以特定次序執(zhí)行,則這個模塊稱為過程內聚模塊。例如我們把流程圖中的循環(huán)部分、判定部分、計算部分分成三個模塊,這三個模塊都是過程內聚模塊。e通信內聚(CommunicationCohesion)如果一個模塊內部各功能部分都使用可

8、相同的數(shù)據輸入,或產生了可相同的數(shù)據輸入,或產生了可相同的輸出數(shù)據,則稱之為通信內聚模塊。通常,通信內聚模塊是通過數(shù)據流圖來定義的。f順序內聚,即一個模塊內處理元素和同一功能緊密切相關,而且這些處理必須順序執(zhí)行(通常一個處理元素的輸出數(shù)據據作為下一處理元素的輸入數(shù)據)如在對員工加工資的數(shù)據庫操作中,讀取數(shù)據和更新數(shù)據即具有順序內聚的關系。g功能內聚(FunctionalCohesion)即模塊內部所有處理元素屬于一個整體,完成一個單一的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論