開発技術
モジュールの凝集度(cohesion)に関して、最も凝集度が高いものはどれか。
ア.複数の無関係な機能を「ユーティリティ」として一つのモジュールにまとめている(偶発的凝集)
イ.顧客データの入力・検証・保存という一連の手順が順番に実行されるためだけにまとめられている(手順的凝集)
ウ.顧客注文の計算・割引適用・合計額返却という、単一の明確な目的を持つ機能のみで構成されている(機能的凝集)正解
エ.同じ顧客データ構造を参照するという理由で複数の処理がまとめられている(通信的凝集)
解説
凝集度は「モジュールの純度」。機能的凝集は「一つの仕事しかしない職人」で最高純度。偶発的凝集は「なんでも屋」で最低純度。高凝集ほど保守しやすく再利用しやすい。
なぜ ウ が正解か
凝集度の高い順:機能的 > 逐次的 > 通信的 > 手順的 > 時間的 > 論理的 > 偶発的。機能的凝集(Functional Cohesion)は「単一の明確な機能を実現するためだけにすべての要素が結びついている」状態で、最も高い凝集度です。一つの責務に特化しているため変更の影響が局所化され、テストも容易になります。
出典: AI生成問題(学習用)