內聚

內聚

內聚(Cohesion)是一個模組內部各成分之間相關聯程度的度量。

基本介紹

  • 中文名:內聚
  • 外文名:Cohesion
  • 提出者:Constantine、Yourdon、Stevens
  • 屬性:科學名詞
內聚的概念,內聚強度類型,偶然內聚,邏輯內聚,時間內聚,通信內聚,順序內聚,過程內聚,信息內聚,功能內聚,

內聚的概念

內聚的概念是Constantine、Yourdon、Stevens等人提出的。按他們的觀點,把內聚按緊密程度從低到高排列次序為偶然內聚、邏輯內聚、時間內聚、過程內聚、通信內聚、順序內聚、功能內聚。但是緊密程度的增長是非線性的。偶然內聚和邏輯內聚的模組聯繫鬆散,後面幾種內聚相差不多,功能內聚一個功能、獨立性強、內部結構緊密,是最理想的內聚。

內聚強度類型

內聚按強度從低到高有以下幾種類型:

偶然內聚

如果一個模組的各成分之間毫無關係,則稱為偶然內聚,也就是說模組完成一組任務,這些任務之間的關係鬆散,實際上沒有什麼聯繫。

邏輯內聚

幾個邏輯上相關的功能被放在同一模組中,則稱為邏輯內聚。如一個模組讀取各種不同類型外設的輸入。儘管邏輯內聚比偶然內聚合理一些,但邏輯內聚的模組各成分在功能上並無關係,即使局部功能的修改有時也會影響全局,因此這類模組的修改也比較困難。

時間內聚

如果一個模組完成的功能必須在同一時間內執行(如系統初始化),但這些功能只是因為時間因素關聯在一起,則稱為時間內聚。

通信內聚

如果一個模組的所有成分都操作同一數據集或生成同一數據集,則稱為通信內聚。

順序內聚

如果一個模組的各個成分和同一個功能密切相關,而且一個成分的輸出作為另一個成分的輸入,則稱為順序內聚

過程內聚

構件或者操作的組合方式是,允許在調用前面的構件或操作之後,馬上調用後面的構件或操作,即使兩者之間沒有數據進行傳遞。
模組完成多個需要按一定的步驟一次完成的功能。(過程相關---控制耦合)。例如:在用程式流程圖設計模組時,若將程式流程圖中的一部分劃出各自組成模組,便形成過程內聚

信息內聚

模組完成多個功能,各個功能都在同一數據結構上操作,每一項功能有一個唯一的入口點。這個模組將根據不同的要求,確定該模組執行哪一個功能。由於這個模組的所有功能都是基於同一個數據結構(符號表),因此,它是一個信息內聚的模組。

功能內聚

模組的所有成分對於完成單一的功能都是必須的,則稱為功能內聚

相關詞條

熱門詞條

聯絡我們