1、模塊的內聚性有:偶然內聚性、邏輯內聚性、時間內聚性、程序內聚性、聯系內聚性、依序內聚性、功能內聚性。
2、偶然內聚性:是指模塊中的機能隻是剛好放在一起,模塊中各機能之間唯一的關系是其位置在同一個模塊中。
3、邏輯內聚性:是隻要機能在邏輯上分為同一類,不論各機能的本質是否有很大差異,就將這些機能放在同一模塊中(例如將所有的鼠標和鍵盤都放在輸入處理副程序中)。模塊內執行幾個邏輯上相似的功能,通過參數確定該模塊完成哪一個功能。
4、時間內聚性:是指將相近時間點運行的程序,放在同一個模塊中(例如在捕捉到一個異常後調用一函數,在函數中關閉已打開的文件、產生錯誤日志、並告知用戶)。
5、程序內聚性:是指依一組會按照固定順序運行的程序放在同一個模塊中(例如一個函數檢查文件的權限,之後打開文件)。
6、聯系內聚性:是指模塊中的機能因為處理相同的數據或者指各處理使用相同的輸入數據或者產生相同的輸出數據,所以放在同一個模塊中(例如一個模塊中的許多機能都訪問同一個記錄)。
7、依序內聚性:是指模塊中的各機能彼此的輸入及輸出數據相關,一模塊的輸出數據是另一個模塊的輸入,類似工廠的生產線(例如一個模塊先讀取文件中的數據,之後再處理數據)。
8、功能內聚性:是指模塊中的各機能是因為它們都對模塊中單一明確定義的任務有貢獻(例如XML字符串的詞法分析)。
以下的情形會降低程序的內聚性:許多機能封裝在一類型內,可以借由方法供外界使用,但機能彼此類似之處不多。在方法中進行許多不同的機能,使用的是相關性低或不相關的數據。