モジュール強度(凝集度)とは?もじゅーるきょうど
モジュール強度(凝集度)とは、一つのモジュールの中身が、どれだけ単一の目的だけに向かってまとまっているかを表す度合い。強い順に機能的・情報的・連絡的・手順的・時間的・論理的・暗合的の7段階があり、強いほど修正の影響がそのモジュールの中で収まり、他の場所からそのまま呼び出して再利用しやすくなる。設計品質を測る指標として結合度と対で使う。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →背景
プログラムが大きくなると、一か所を直したつもりが無関係に見える別の機能を壊す、という事故が起きる。原因は多くの場合、無関係な処理が同じ入れ物に同居していることと、モジュールどうしが内部の事情まで知り合っていることにある。そこで「中のまとまり具合」と「外とのつながり具合」を段階で言い表し、設計の良し悪しを言葉で議論できるようにしたのがこの指標である。
具体例
Javaの標準ライブラリにあるDateTimeFormatterは、日付と文字列の相互変換だけを引き受けており、機能的強度の分かりやすい例といえる。逆に、実装でよく現れる「共通処理」というモジュールに日付整形とログ出力と入力チェックを同居させると、起動時にまとめて呼ばれるだけの時間的強度どまりになる。
試験での引っ掛け
望ましい向きが逆なので反転させやすい。強度(凝集度)は高いほどよく、結合度は低いほどよい。段階の名前の並びも、機能的が最強で暗合的が最弱と覚える。加えて、分けさえすればよいわけではない。細かく割りすぎて呼び出し関係や、プログラムのどこからでも読み書きできるグローバル変数が増えると、強度は上がったのに結合度が悪化することがある。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。