
20年間エンジニアとして働いた後、フリーランスを経て現在は1人社長として活動しているユウイチです。
プログラミング講師やIT教育を中心に発信しながら、趣味でゲーム開発やシナリオ作成にも挑戦しています。
「創造と教育を通じて、自分らしく生きたい人の“自由な一歩”を支援する」――そんな想いを込めて、このブログを書いています。
今回はIPAの情報処理試験で頻出のモジュール間結合度について解説します。
ITパスポート試験や基本情報技術者試験では、この結合度の種類や違いをよく問われますので、しっかり理解しておきましょうね。
それでは、分かりやすく解説します。
モジュール間結合度とは?
モジュール間結合度とは、複数のモジュールがどれだけ強く依存しているかを示す指標で、結合度が強いほどモジュール同士が密接に関係し、変更の影響を受けやすくなります。
ですので、モジュール間結合度をできるだけ弱く(疎結合)することが望ましいです。
モジュール間結合度の種類(強い順)
それでは、モジュール間結合度を「強い(避けるべき)」→「弱い(望ましい)」の順に解説します。
1. 内容結合(Content Coupling)【最も避けるべき】
モジュール間で、他のモジュールの内部実装に直接アクセスする状態。
特徴
- 完全に依存してしまい、変更が難しくなる
- メンテナンス性が極端に悪化する
例
- あるモジュールが別のモジュールの内部変数を直接変更する
- 別のモジュールの内部メソッドを直接呼び出す
2. 共通結合(Common Coupling)
モジュール間でグローバル変数を共有する状態。
特徴
- どのモジュールがデータを変更したのか把握しづらい
- 変更の影響範囲が広がる
例
- すべてのモジュールが同じグローバル変数を読み書きする
3. 外部結合(External Coupling)
モジュール間で外部リソース(ファイル、データベース、環境変数など)を共有する状態。
特徴
- 外部システムの影響を受けやすい
- テストや保守が難しくなる
例
- 2つのモジュールが同じファイルを直接操作する
- 環境変数を使って設定を共有する
4. 制御結合(Control Coupling)
モジュール間で制御用のフラグ(true/false など)を渡し、処理を制御する状態。
特徴
- 呼び出し側が処理の流れを制御するため、依存関係が強くなる
- モジュールの独立性が損なわれやすい
例
- 関数の引数としてフラグ(true/false)を渡し、処理の流れを変える
5. スタンプ結合(Stamp Coupling)
モジュール間でデータ構造(構造体やクラスなど)を受け渡す状態。
特徴
- データ結合よりも結合が強くなる
- 必要のない情報まで渡してしまう可能性がある
例
- 関数の引数としてオブジェクト全体を渡すが、実際には一部のデータしか使用しない
6. データ結合(Data Coupling)【最も望ましい】
モジュール間のデータの受け渡しが単純なデータ構造(変数や配列など)で行われる状態。
特徴
- モジュール間の関係が最も緩く、独立性が高い
- 変更の影響が最小限
例
- 関数の引数として単純なデータ項目(整数、文字列など)を渡す
モジュール間結合度の比較表
以下、表にまとめます。
| 結合度の種類 | 結合度 | 独立性 | 例 | 推奨度 |
|---|---|---|---|---|
| 内容結合 | 最も高い | 最も低い | 他モジュールの内部を直接操作 | ×××(避けるべき) |
| 共通結合 | 高い | 低い | グローバル変数を共有 | ×× |
| 外部結合 | やや高い | やや低い | ファイルやDBを共有 | × |
| 制御結合 | 普通 | 普通 | フラグを引数で渡す | △ |
| スタンプ結合 | やや低い | やや高い | 構造体を引数で渡す | ○ |
| データ結合 | 低い | 高い | 変数を引数で渡す | ◎(推奨) |
まとめ
以上、今回はモジュール間結合度について簡単に説明してみました。
情報処理試験対策として、以下のように覚えておきましょう笑
情報処理試験対策
結合度は「内容結合」が最も避けるべきで、「データ結合」が最も望ましい
「結合度が強ければ悪」「結合度が低ければ正義」
情報処理試験対策であれば、これで十分だと思います。
モジュール間結合度を聞かれるのは選択問題のはずなので、これ覚えておくだけで正しい選択し選べます^^
情報処理試験でモジュール間結合度の問題が出てきたら、確実に正解しておきましょうね^^
それではまた!
合格サポートサービス始めました!
ITパスポートや基本情報技術者試験の合格を目指す方向けに、「学習サポートサービス(MENTA)」を開始しました。
独学に不安がある方、効率よく合格を目指したい方は、無料プランも用意してますので、ぜひ一度ご覧ください。
こちらもCHECK
-

【初心者必見】ITパスポート&基本情報の最短合格サポートを開始しました!
20年間エンジニアとして働いた後、フリーランスを経て現在は1人社長として活動しているユウイチです。 プログラミング講師やIT教育を中心に発信しながら、趣味でゲーム開発やシナリオ作成にも挑戦しています。 ...
続きを見る
✅ ITキャリアを育てるコミュニティ「ITキャリアラボ」
未経験からIT業界に挑戦したい方、資格学習、プログラミング学習が続かない方、転職に不安がある方へ。
僕自身、未経験からエンジニアになり、フリーランス、そして起業へと進んできました。
だからこそ、同じように悩んでいる人たちに寄り添い、サポートしたいという想いで、
LINE公式アカウント「ITキャリアラボ」 を開設しました。
🔹 こんな方におすすめです!
こんな方におすすめ
- IT業界へ未経験からチャレンジしたい方
- ITパスポート・基本情報技術者などの資格勉強中の方
- プログラミング学習でつまずいている方
- 転職・キャリアチェンジを検討中の方
- モチベーションを保つために仲間がほしい方
- 将来的な独立に興味がある方
📌参加は無料・匿名OK・LINEだけで完結!
こちらで詳しく紹介してますので、まずは気軽にのぞいてみてくださいね👇
ITキャリアラボ
-

ITキャリアを育てるコミュニティ「ITキャリアラボ」|自分らしい働き方を目指す人へ
20年間エンジニアとして働いた後、フリーランスを経て現在は1人社長として活動しているユウイチです。 プログラミング講師やIT教育を中心に発信しながら、趣味でゲーム開発やシナリオ作成にも挑戦しています。 ...
続きを見る