応用情報技術者 2016年 春期 午前2 問47
問題文
モジュールの結合度が最も低い、データの受渡し方法はどれか。
選択肢
ア:単一のデータ項目を大域的データで受け渡す。
イ:単一のデータ項目を引数で受け渡す。(正解)
ウ:データ構造を大域的データで受け渡す。
エ:データ構造を引数で受け渡す。
モジュールの結合度が最も低い、データの受渡し方法はどれか【午前2 解説】
要点まとめ
- 結論:単一のデータ項目を引数で受け渡す方法が結合度を最も低くする。
- 根拠:引数による受け渡しはモジュール間の依存を最小限に抑え、明確なインターフェースを提供するため。
- 差がつくポイント:大域的データの使用は結合度を高め、モジュールの独立性を損なうため避けるべきである。
正解の理由
イ: 単一のデータ項目を引数で受け渡すは、モジュール間の結合度を低く保つ最も効果的な方法です。引数を使うことで、必要なデータだけを明示的に渡し、モジュール間の依存関係を限定できます。これにより、モジュールの再利用性や保守性が向上します。一方、大域的データを使う方法は、モジュールが共有データに依存するため結合度が高くなり、変更の影響範囲が広がります。
よくある誤解
大域的データを使うとデータの共有が簡単で効率的に見えますが、実際にはモジュール間の結合度が高まり、保守性が低下します。
データ構造を引数で渡すことは柔軟ですが、単一のデータ項目を渡す方が結合度はさらに低くなります。
データ構造を引数で渡すことは柔軟ですが、単一のデータ項目を渡す方が結合度はさらに低くなります。
解法ステップ
- 結合度の定義を確認する(モジュール間の依存関係の強さ)。
- 大域的データの使用は結合度を高めることを理解する。
- 引数によるデータ受渡しは依存を限定し結合度を下げることを把握する。
- 単一のデータ項目とデータ構造の違いを考慮し、より単純な受渡しが結合度を下げると判断する。
- 選択肢を比較し、最も結合度が低い方法を選ぶ。
選択肢別の誤答解説
- ア: 大域的データを使うため、モジュール間の依存が強く結合度が高い。
- イ: 正解。単一のデータ項目を引数で渡し、結合度が最も低い。
- ウ: 大域的データでデータ構造を渡すため、依存関係が強く結合度が高い。
- エ: 引数でデータ構造を渡すが、単一項目より複雑で結合度はやや高い。
補足コラム
結合度はソフトウェア設計の重要な指標で、低結合はモジュールの独立性を高め、変更の影響を局所化します。引数による単一データの受渡しは、情報の隠蔽と明確なインターフェース設計に寄与し、保守性や再利用性を向上させます。大域的データは便利ですが、依存関係が増えバグの温床になるため注意が必要です。
FAQ
Q: なぜ大域的データは結合度を高めるのですか?
A: 大域的データは複数のモジュールが共有し依存するため、変更が他のモジュールに影響しやすく結合度が高くなります。
A: 大域的データは複数のモジュールが共有し依存するため、変更が他のモジュールに影響しやすく結合度が高くなります。
Q: データ構造を引数で渡すのはなぜ結合度がやや高いのですか?
A: データ構造は複数のデータ項目を含み、モジュール間での依存範囲が広がるため、単一項目より結合度が高くなります。
A: データ構造は複数のデータ項目を含み、モジュール間での依存範囲が広がるため、単一項目より結合度が高くなります。
関連キーワード: 結合度、モジュール設計、引数渡し、大域的データ、ソフトウェア保守性

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

