內聚度簡介
內聚度是前述信息隱藏和局部化概念的自然擴展,它標誌一個模組內部各成分彼此結合的緊密程度。
等級劃分
內聚度按其高低程度可分為7級,內聚度越高越好。
最差的稱為偶然內聚(coincidental cohesion)。所謂偶然性內聚是指一個模組內各成分為完成一組功能而組合在一起,它們相互之間即使有關係,也很鬆散。常見的偶然性內聚情形是,當程式設計師寫完一個程式後發現有一組語句多處出現,於是為節省記憶體便將這組語句單獨組成一個模組。
如果一個模組完成的諸任務邏輯上相關(例如,一個模組產生所有與類型無關的輸入),則稱之為邏輯性內聚(logical cohesion)。
如果一個模組包含的諸任務必須在同一時間段內執行(例如,一個初始化模組),則稱之為時間性內聚(temporal cohesion)。
上述三種內聚形式通常認為是低級內聚,
2.中級內聚形式有兩種,即過程性內聚(procedural cohesion)和通信性內聚(communicational cohesion)。模組的過程性內聚度是指,模組內成分彼此相關,並且必須按特定的次序執行;模組的通信性內聚度是指,模組中各成分都將對數據結構的同一區域進行操作,以達到通信的目的。
3.高級內聚度也有兩種形式,即順序性內聚(sequential cohesion)和功能性內聚(functional cohesion)。如果一個模組內的各處理成分均與同一功能相關,且這些處理必須順序執行,則稱為順序內聚;如果模組內所有成分形成一個整體,完成單個功能,則稱為功能內聚,功能內聚是最高程度的內聚形式。
設計軟體時,應該能夠識別內聚度的高低,並通過修改設計儘可能提高模組內聚度,從而獲得較高的模組獨立性