Skip to the content.

最終更新日:2026年7月27日

まず結論

モジュール強度とは、1つのモジュール内に含まれる処理同士が、どれくらい強く関係しているかを表す考え方です。

基本情報技術者試験では、次の順序を押さえます。

弱い
暗合的
↓
論理的
↓
時間的
↓
手順的
↓
連絡的
↓
情報的
↓
機能的
強い

強度が高いほど、モジュールの役割が明確になり、修正や再利用がしやすくなります。

特に重要なのは、次の切り分けです。

処理コードや引数で、複数機能のうち1つを選ぶ
→ 論理的強度

同じデータ構造を扱い、機能ごとに入口を分ける
→ 情報的強度

直感的な説明

モジュール強度は、

なぜ、その処理を同じ箱に入れたのか

を見る考え方です。

例えば、1つのモジュールに次の処理が入っているとします。

挿入
更新
削除

そして、処理コードによって、どれか1つを選んで実行します。

I → 挿入
U → 更新
D → 削除

これは、似た種類の処理をまとめ、条件で選んでいるため、論理的強度です。

一方、次のように入口を分けている場合は、情報的強度に近づきます。

insert()
update()
delete()

定義・仕組み

モジュール強度は、英語では cohesion と呼ばれます。

1つのモジュールが、どれだけ一貫した目的を持っているかを見る指標です。

7種類のモジュール強度

種類 まとめる理由 見分ける言葉
暗合的強度 関係のない処理をまとめる 寄せ集め、特別な関係がない
論理的強度 同種の機能をまとめ、条件で選ぶ 処理コード、引数、分岐
時間的強度 同じ時期に実行する処理をまとめる 起動時、終了時、初期化時
手順的強度 決められた順序で実行する処理をまとめる 順番、手順、逐次
連絡的強度 同じデータを受け渡しながら処理する 同じデータ、参照、受け渡し
情報的強度 同じデータ構造を扱い、入口を分ける 同じ資源、機能ごとの入口
機能的強度 1つの明確な機能だけを実現する 単一機能、1つの目的

強度が高い方がよい理由

モジュール強度が高いほど、モジュールの役割が明確になります。

1つの役割に集中する
↓
変更範囲が小さくなる
↓
他への影響を抑えやすい
↓
再利用しやすい

一方、関係の薄い処理をまとめると、1か所を修正しただけで別の処理へ影響する可能性があります。

科目Aでどう出る?

科目Aでは、モジュール設計書や処理内容を読み、どの強度に当たるかを選ぶ問題が出ます。

論理的強度

次のような特徴があれば、論理的強度です。

関連する複数の機能を1つにまとめる
+
パラメータや処理コードで1つを選ぶ

例:

process(code)

code = I → 挿入
code = U → 更新
code = D → 削除

情報的強度

同じデータ構造を扱いますが、機能ごとに入口を分けます。

insert(data)
update(data)
delete(data)

判断の違いは次のとおりです。

1つの入口で機能を選ぶ
→ 論理的強度

機能ごとに入口を分ける
→ 情報的強度

手順的強度と連絡的強度

この2つも混同しやすいです。

順番だけでまとめる
→ 手順的強度

同じデータを受け渡しながら順番に処理する
→ 連絡的強度

選択肢を切る判断表

問題文の表現 選ぶ強度
関係のない機能をまとめる 暗合的強度
処理コードで機能を選ぶ 論理的強度
起動時や終了時に実行する 時間的強度
決められた順に実行する 手順的強度
同じデータを受け渡して処理する 連絡的強度
同じデータ構造を扱い、別入口を持つ 情報的強度
1つの機能だけを実現する 機能的強度

どんな場面で使う?

モジュール強度は、プログラムを機能ごとに分けるときの判断に使います。

例えば、1つの関数が次の処理をすべて持っているとします。

入力チェック
データ更新
メール送信
ログ出力
画面表示

役割が多すぎると、1か所を修正したときの影響範囲が広がります。

そこで、処理を役割ごとに分けます。

validate_input()
update_data()
send_mail()
write_log()
display_result()

このように、1つのモジュールを1つの明確な目的に近づけると、機能的強度を高められます。

よくある誤解・混同

複数の関連機能をまとめれば、すべて情報的強度

誤りです。

同じ入口で処理コードにより機能を選ぶ場合は、論理的強度です。

process("I")
process("U")
process("D")
→ 論理的強度

機能ごとに入口を分ける場合は、情報的強度です。

insert()
update()
delete()
→ 情報的強度

処理の順番があれば、すべて連絡的強度

誤りです。

順番だけが共通
→ 手順的強度

同じデータを受け渡す
→ 連絡的強度

モジュール強度は低い方がよい

誤りです。

モジュール強度は、高い方が役割が明確です。

高い強度
→ モジュール内のまとまりが強い

なお、モジュール間の依存関係を表す「結合度」は、一般に低い方がよいとされます。

モジュール内のまとまり
→ 強度は高い方がよい

モジュール間の依存
→ 結合度は低い方がよい

まとめ(試験直前用)

  • モジュール強度は、モジュール内部の処理同士のまとまりを表す
  • 弱い順は、暗合的→論理的→時間的→手順的→連絡的→情報的→機能的
  • 処理コードで機能を選ぶなら論理的強度
  • 同じデータ構造を扱い、入口を分けるなら情報的強度
  • 順番だけなら手順的、同じデータを受け渡すなら連絡的
  • 1つの明確な機能だけなら機能的強度
  • モジュール強度は高い方がよい

© 2024-2026 stemtazoo. All rights reserved.