軟體工程_7th weeks

來源:互聯網
上載者:User

標籤:

  內聚和耦合(學習筆記)

  一、內聚

  內聚是一個模組內部各成分之間相關聯程度的度量。把內聚按緊密程度從低到高排列次序為:

  1、偶然內聚:指一個模組內各成分為完成一組功能而組合在一起,它們相互之間即使有關係,也很鬆散。

  2、邏輯內聚:一個模組完成的諸任務邏輯上相關

  3、時間內聚:一個模組包含的諸任務必須在同一時間段內執行

  4、過程內聚:模組內部的處理成分是相關的,而且這些處理必須以特定的次序進行執行。

  5、通訊內聚:模組的所有成分都操作同一資料集或產生同一資料集。

  6、順序內聚:模組的各個成分和同一個功能密切相關,而且一個成分的輸出作為另一個成分的輸入。

  7、功能內聚:模組的所有成分對於完成單一的功能都是必須的。

  二、耦合

  耦合是指兩個實體相互依賴於對方的一個量度.分為以下幾種:

  1、非直接耦合:兩個模組之間沒有直接關係,它們之間的聯絡完全是通過主模組的控制和調用來實現的

  2、資料耦合:一個模組訪問另一個模組時,彼此之間是通過簡單資料參數 (不是控制參數、公用資料結構或外部變數) 來交換輸入、輸出資訊的。

  3、標記耦合:一組模組通過參數表傳遞記錄資訊,就是標記耦合。這個記錄是某一資料結構的子結構,而不是簡單變數。

  4、控制耦合:如果一個模組通過傳送開關、標誌、名字等控制資訊,明顯地控制選擇另一模組的功能,就是控制耦合。

  5、外部耦合:一組模組都訪問同一全域簡單變數而不是同一全域資料結構,而且不是通過參數表傳遞該全域變數的資訊,則稱之為外部耦合。

  6、公用耦合:若一組模組都訪問同一個公用資料環境,則它們之間的耦合就稱為公用耦合。公用的資料環境可以是全域資料結構、共用的通訊區、記憶體的公用覆蓋區等。

  7、內容耦合:如果發生下列情形,兩個模組之間就發生了內容耦合

  (1) 一個模組直接存取另一個模組的內部資料;

  (2) 一個模組不通過正常入口轉到另一模組內部;

  (3) 兩個模組有一部分程式碼重迭(只可能出現在組合語言中);

  (4) 一個模組有多個入口。

  

  耦合強度

  耦合的強度依賴於以下幾個因素:(1)一個模組對另一個模組的調用;(2)一個模組向另一個模組傳遞的資料量;(3)一個模組施加到另一個模組的控制的多少;(4)模組之間介面的複雜程度。

    

軟體工程_7th weeks

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.