內聚標志一個模塊內各個元素彼此結合的緊密程度,它是
信息隱藏和局部化概念的自然擴展。
低內聚:
(1)偶然內聚:如果一個模塊完成一組任務,這些任務彼此間即使有關系,關系也是很松散 的,這就叫做偶然內聚;
(2)邏輯內聚:如果一個模塊完成的任務在邏輯上屬於相同或相似的一類(例如,一個模塊產生各種類型的全部輸出),稱為邏輯模塊;
(3)時間內聚:一個模塊包含的任務必須在同一段時間內執行(例如,模塊完成各種初始化工作),就叫時間內聚。
中內聚:
(1)過程內聚:如果一個模塊內的處理元素是相關的,而且必須以特定次序執行,則稱為過程內聚;
(2)通信內聚:如果模塊中所有元素都使用同一個輸入數據和(或)產生同一個輸出數據,則稱為通信內聚。
高內聚:
(1)順序內聚:如果一個模塊內的處理元素和同一個功能密切相關,而且這些處理必須順序執行(通常一個處理元素的輸出數據作為下一個處理元素的輸入數據),則稱為順序內聚。根據數據流圖划分模塊時,通常得到順序內聚的模塊,這種模塊彼此間的連接往往比較簡單。
(2)功能內聚:如果模塊內所有處理元素屬於一個整體,完成一個單一的功能,則稱為功能內聚。功能內聚是最高程度的內聚。