応用情報技術者 2009年 秋期 午前2 問45
問題文
モジュール結合度が最も弱いモジュールはどれか。
選択肢
ア:単一のデータ項目を大域的データで受け渡すモジュール
イ:単一のデータ項目を引数で受け渡すモジュール(正解)
ウ:データ構造を大域的データで受け渡すモジュール
エ:データ構造を引数で受け渡すモジュール
モジュール結合度が最も弱いモジュールはどれか【午前2 解説】
要点まとめ
- 結論:単一のデータ項目を引数で受け渡すモジュール(イ)が最も結合度が弱いです。
- 根拠:引数によるデータの受け渡しはモジュール間の依存を最小限に抑え、変更の影響範囲を限定します。
- 差がつくポイント:大域的データの使用や複雑なデータ構造の受け渡しは結合度を強め、保守性や再利用性を低下させます。
正解の理由
モジュール結合度とは、モジュール間の依存関係の強さを示します。
単一のデータ項目を引数で受け渡す方法は、必要最小限の情報だけを渡すため、モジュール間の結合度が最も弱くなります。
一方、大域的データを使うと、複数のモジュールが同じデータに依存し、結合度が強くなります。
また、データ構造全体を渡すと、受け取る側が構造の詳細に依存するため結合度が高まります。
単一のデータ項目を引数で受け渡す方法は、必要最小限の情報だけを渡すため、モジュール間の結合度が最も弱くなります。
一方、大域的データを使うと、複数のモジュールが同じデータに依存し、結合度が強くなります。
また、データ構造全体を渡すと、受け取る側が構造の詳細に依存するため結合度が高まります。
よくある誤解
大域的データを使うと便利で結合度が弱いと誤解されがちですが、実際は多くのモジュールが同じデータに依存し結合度が強くなります。
また、データ構造を渡すことが柔軟性を高めると考えられがちですが、結合度はむしろ強くなります。
また、データ構造を渡すことが柔軟性を高めると考えられがちですが、結合度はむしろ強くなります。
解法ステップ
- 結合度の定義を確認し、弱い結合度の特徴を理解する。
- 引数で渡す場合と大域的データで渡す場合の違いを整理する。
- 単一データ項目とデータ構造の違いを考慮する。
- 各選択肢の結合度の強さを比較する。
- 最も結合度が弱い選択肢を選ぶ。
選択肢別の誤答解説
- ア: 大域的データを使うため、多くのモジュールが依存し結合度が強い。
- イ: 単一データ項目を引数で渡すため、依存が最小限で結合度が最も弱い。
- ウ: 大域的データで複雑なデータ構造を渡すため、結合度が非常に強い。
- エ: 引数で渡すがデータ構造全体なので、受け取る側が構造に依存し結合度が強い。
補足コラム
結合度はモジュール設計の品質指標の一つで、低いほどモジュールの独立性が高くなり、保守性や再利用性が向上します。
引数で単一データを渡す方法は「データ結合」と呼ばれ、最も望ましい結合度の形態です。
逆に大域的データを使う「共通結合」は結合度が強く、変更時の影響範囲が広がります。
引数で単一データを渡す方法は「データ結合」と呼ばれ、最も望ましい結合度の形態です。
逆に大域的データを使う「共通結合」は結合度が強く、変更時の影響範囲が広がります。
FAQ
Q: なぜ大域的データを使うと結合度が強くなるのですか?
A: 複数のモジュールが同じデータに依存し、どれかの変更が他のモジュールに影響を及ぼすためです。
A: 複数のモジュールが同じデータに依存し、どれかの変更が他のモジュールに影響を及ぼすためです。
Q: データ構造を引数で渡すのはなぜ結合度が強いのですか?
A: 受け取る側がデータ構造の詳細に依存し、構造変更時に影響を受けやすいためです。
A: 受け取る側がデータ構造の詳細に依存し、構造変更時に影響を受けやすいためです。
関連キーワード: モジュール結合度、引数渡し、大域的データ、データ結合、共通結合、保守性、再利用性

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

