4.2系統設計原則_第1頁
4.2系統設計原則_第2頁
4.2系統設計原則_第3頁
4.2系統設計原則_第4頁
4.2系統設計原則_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

————4.2

系統設計原則內聚類型功能內聚性增加入口點在一起執行,又稱控制內聚功能內聚

模塊內的操作是完成某一功能必不可少的部分?————信息內聚

通信內聚

模塊內的操作有相同的輸入或輸出數據過程內聚

模塊內的操作必須按照特定順序執行時間內聚

邏輯內聚

偶然內聚

模塊內各個操作之間基本無聯系或只有很松散的聯系4.2

系統設計原則?與耦合比內聚更重要:提高模塊的內聚。?低內聚:?1

、如果一個模塊完成一組任務,這些任務彼此間即使有關系,

關系也是很松散的,就叫做偶然內聚。有時在寫完一個程序之后

,發現一組語句在兩處或多處出現,于是把這些語句作為一個模

塊以節省內存,這樣就出現了偶然內聚的模塊。?2

、如果一個模塊完成的任務在邏輯上屬于相同或相似的一類,

則稱為邏輯內聚。?3

、如果一個模塊包含的任務必須在同一段時間內執行,就叫時

間內聚。4.2

系統設計原則?偶然內聚的模塊中,各種元素之間沒有實質性聯系,很可能在一種應用場合需要修改這個模塊,在另一種應用場合又不允許這種修

改,從而陷入困境。事實上,偶然內聚的模塊出現修改錯誤的概率比

其他類型的模塊高得多。?邏輯內聚的模塊中,不同功能混在一起,合用部分程序代碼,即使局部功能的修改有時也會影響全局。因此,這類模塊的修改也比較

困難。?時間關系在一定程度上反映了程序的某些實質,所以時間內聚比邏輯內聚好一些。4.2

系統設計原則?中內聚兩類:?4

、如果一個模塊內的處理元素是相關的,而且必須以特定次序執行,

則稱為過程內聚。使用程序流程圖作為工具設計軟件時,常常通過研究

流程圖確定模塊的劃分,這樣得到的往往是過程內聚的模塊。?5

、如果模塊中所有元素都使用同一個輸入數據和

(

)

產生同一個輸

出數據,則稱為通信內聚。?高內聚兩類:?6

、一個模塊內的處理元素和同一個功能密切相關,而且這些處理必須

順序執行

(

通常一個處理元素的輸出數據作為下一個處理元素的輸入數

)

,則稱為順序內聚。根據數據流圖劃分模塊時,通常得到順序內聚

的模塊,這種模塊彼此間的連接往往比較簡單。4.2

系統設計原則?7

、如果模塊內所有處理元素屬于一個整體,完成一個單一的功能,則稱

為功能內聚。最高程度的內聚。?如果給上述七種內聚的優劣評分,將得到如下結果:?功能內聚

10

順序內聚

9

通信內聚

7

分?過程內聚

5

時間內聚

3

邏輯內聚

1

分?偶然內聚

0

分?沒必要精確確定內聚的級別。重要的是設計時力爭做到高內聚,并且能夠

辨認出低內聚的模塊,有能力通過修改設計提高模塊的內聚程度降低模塊間

的耦合程度,從而獲得較高的模塊獨立性。4.2

系統設計原則?內容耦合為發生下列之一:

一個組件訪問另一組件內部數據

一個組件不通過正常入口轉到另一組件內部

兩個組件有一部分程序代碼重疊

一個組件有多個入口?公共耦合:多個組件引用一全局數據區的模式4.2

系統設計原則?數據耦合:兩個模塊彼此間通過參數交換信息,而且交換的信

息僅僅是數。?控制耦合:傳遞的信息中有控制信息

(

盡管有時這種控制信息

以數據的形式出現

)

。?數據耦合是低耦合。系統中至少必須存在這種耦合,因為只有

當某些模塊的輸出數據作為另一些模塊的輸入數據時,系統才

能完成有價值的功能。一般說來,一個系統內可以只包含數據

耦合。?控制耦合是中等程度的耦合,它增加了系統的復雜程度。控制

耦合往往是多余的,在把模塊適當分解之后通常可以用數據耦

合代替它4.2

系統設計原則

特征耦合:被調用的模塊需要使用作為參數傳遞進來的數據結

構中的所有元素,那么,把整個數據結構作為參數傳遞就是完

全正確的。但是,當把整個數據結構作為參數傳遞而被調用的

模塊只需要使用其中一部分數據元素時,就出現特征耦合。這

種情況下,被調用的模塊可以使用的數據多于它確實需要的數

據,這將導致對數據的訪問失去控制,從而給計算機犯罪提供

了機會。公共環境耦合:當兩個或多個模塊通過一個公共數據環境相互

作用時。公共環境可以是全程變量、共享的通信區、內存的公

共覆蓋區、任何存儲介質上的文件、物理設備等等4.2

系統設計原則

4

封裝與信息隱蔽

組合與復用?繼承與復用?“

黑盒”復用。

白盒”復用?優點??優點?

易于修改、擴展被復用的方法缺點?

無法在運行時改變從父類繼承的方法的行為

?

子類和父類是強耦合關系?

父類的內部細節對于子類而言是可見的??

使用委托機制?

弱耦合關系?

運行時動態制定所包含的對象

缺點?

容易導致對象過多?

必須仔細地設計接口4.2

系統設計原則??信息隱藏和局部化模塊獨立性重要性,兩條理由:?第一,有效的模塊化

(

即具有獨立

溫馨提示

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

最新文檔

評論

0/150

提交評論