2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論