軟件工程導論課后答案_第1頁
軟件工程導論課后答案_第2頁
軟件工程導論課后答案_第3頁
軟件工程導論課后答案_第4頁
軟件工程導論課后答案_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、第五章 習題答案1、 為每種類型的模塊耦合舉一個具體例子。 答:耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度, 進入或訪問某一模塊的點,以及通過接口的數據,一般模塊之間可能的連接方式有7種,構成耦合的7種類型,它們之間的關系為: 下面舉例說明以上各種耦合: a非直接耦合(Nondirect  Coupling)在這種情況下,兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。例如在實數的運算中,有兩個模塊分別完成幾個實數的求和,求乘積功能,這

2、兩個模塊之間沒有直接聯系,只有在主模塊調用中有執行的前后順序而已,這個例子即屬于非直接耦合。 b數據耦合(Data  Coupling)即一個模塊訪問另一個模塊時,彼此之間是通過數據參數來交換輸入,輸出信息的,這種耦合為數據輸入,輸出信息的這種耦合為數據耦合。如有兩個模塊,其中A完成兩個烽的比較,求出其中最大的并返回該值,模塊B是完成了個數的比較,求出其中最大的并返回該最大值,為完成四個數的比較,模塊B調用模塊A即可完成,在這種調用關系中,模塊A的運算結果作為一個參烽參加B的運算,這兩個模塊之間即發生數據耦合。數據耦合是松散的耦合,模塊間的獨立性比較強。 

3、;c標記耦合(Stamp  Coupling),即一組模塊通過參數傳遞記錄信息,這就是標記耦合。事實上,這組模塊共享了這個記錄,它是某一數據結構的子結構,而不是簡單變量。 d控制耦合(Control Coupling)即一個模塊通過開關標志,名字等控制住處明顯的控制,選擇另一模塊的功能,這就是控制耦合,如下 圖所示,這一種耦合實質是在單一接口上實現選擇多功能模塊中的某項功能,如程序設計中用到多路選擇結構即是最好的例子。 e外部耦合(External  Coupling)即一組模塊都訪問同一全局簡單變量而不是同一全局

4、數據結構,而且不是通過參數表傳遞全局數據結構,而且不是通過參數表傳遞全局變量的信息。如C語言中都訪問被說明為extern類型的外部變量的各個模塊之間即發生外部耦合。外部耦合引起的問題類似于下面要介紹的公共耦合,區別在于外部耦合中不存在依賴于一個數據結構內部各項的物理安排。 f公共耦合(Common  Coupling)若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就是公共耦合。公共的數據環境可以是全局的數據結構,共享的通信區,內存的公共覆蓋區等。如幾個模塊對同一個數據庫的查詢就屬于這種耦合。公共耦合可以分為松散的公共耦合和緊密的公共耦合,其中松散的公共耦合是

5、單向操作,如兩個或多個模塊對同一個文件的讀操作;而緊密的公共耦合是雙向的操作,如兩個或多個模塊對同一文件的讀寫操作。下面用圖表示松散的和緊密的公共耦合。g內容耦合。即有下列情況時即出現內容耦合。 (1)一個模塊訪問另一個模塊數據; (2)一個模塊不通過正常入口而轉到另一個模塊的內部; (3)兩個模塊有一部分代碼重疊; (4)一個模塊有多個入口。一個模塊訪問另一個模塊數據;兩個模塊有部分代碼重疊;一個模塊有多個入口。2、 為每種類型的模塊內聚舉一個具體例子。 答:內聚標志一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化的自然擴

6、展,一般模塊的內聚性分為7種,它們的關系如下圖示 下面舉例說明各種內聚的情況 a 偶然內聚。即模塊內各部分之間沒有聯系,或者即使有聯系也很松散,這種即為偶然內聚,它是內聚程度最低的模塊。如一些沒有任何聯系的語句可能在許多模塊中重復多次,程序員為了節省存儲,把它們抽出來組成一個新的模塊,這個模塊就是偶然內聚模塊,例如C語言中的define  TRYODBCC b 邏輯內聚(Logical  Cohesion)即這種模塊把幾種功能組合在一起,每次調用時,由傳送給模塊的判定參數來確定該模塊應執行哪一種功能。如根

7、據輸入的控制信息,或從文件中讀入一個記錄,或向文件寫出一個記錄。 c 時間內聚(Classical  Cohesion)這種模塊大多數為多功能模塊,但模塊的各人功能的執行與時間有關,通常要求所有功能必須在同一時間段內執行,例如初始化模塊和終止模塊。 d 過程內聚(Procedural  Cohesion)即一個模塊內的處理是相關的,而且必須以特定次序執行,則這個模塊稱為過程內聚模塊。例如我們把流程圖中的循環部分、判定部分、計算部分分成三個模塊,這三個模塊都是過程內聚模塊。 e 通信內聚(Communication  Cohesion)如果一個模塊內部各功能部分都使用可相同的數據輸入,或產生了可相同的數據輸入,或產生了可相同的輸出數據,則稱之為通信內聚模塊。通常,通信內聚模塊是通過數據流圖來定義的。 f 順序內聚,即一個模塊內處理元素和同一功能緊密切相關,而且這些處理必須順序執行(通常一個處理元素的輸出數據據作為下一處理元素的輸入數據)如在對員工加工資的數據庫操作中,讀取數據和更新數據即具有順序內聚的關系。 g 功能內聚(Functional  Cohesion)即模塊內部所有處理元

溫馨提示

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

評論

0/150

提交評論