応用情報技術者 2014年 春期 午前2 問46
問題文
モジュール分割の良否を、モジュール結合度の視点から評価する場合、最も適切な記述はどれか。
選択肢
ア:共通データ領域は、全てのモジュールからアクセスできるようになっていることが望ましい。
イ:ソフトウェア全体のモジュール分割の良否は、モジュール間の結合度のうちで最も強いものがどのように分布しているかで判断するのが望ましい。
ウ:直接の呼出し関係になっていないモジュール間で情報を交換するには、共通データ領域を用いるのが最も望ましい。
エ:呼び出す側と呼び出される側のモジュール間のデータの受渡しは、引数としてデータ項目を列挙するのが最も望ましい。(正解)
モジュール分割の良否評価【午前2 解説】
要点まとめ
- 結論:モジュール間のデータ受渡しは引数で行うのが最も望ましく、結合度を低減できるため良い設計とされます。
- 根拠:引数によるデータ受渡しはモジュールの独立性を保ち、共通データ領域の使用は結合度を高めてしまうため避けるべきです。
- 差がつくポイント:結合度の強さを理解し、共通データ領域の乱用が設計の悪化につながることを正しく認識することが重要です。
正解の理由
選択肢エは「呼び出す側と呼び出される側のモジュール間のデータの受渡しは、引数としてデータ項目を列挙するのが最も望ましい」と述べています。
これはモジュール間の結合度を低く保ち、モジュールの独立性や再利用性を高めるため、モジュール設計の基本原則に合致しています。
一方、共通データ領域を多用するとモジュール間の結合度が強くなり、保守性や拡張性が低下します。
これはモジュール間の結合度を低く保ち、モジュールの独立性や再利用性を高めるため、モジュール設計の基本原則に合致しています。
一方、共通データ領域を多用するとモジュール間の結合度が強くなり、保守性や拡張性が低下します。
よくある誤解
共通データ領域を使うと便利で効率的に見えますが、モジュール間の依存関係が強くなり、変更時の影響範囲が広がるため設計上は望ましくありません。
解法ステップ
- モジュール結合度の定義を確認する(結合度が低いほど良い)。
- 各選択肢が結合度に与える影響を考える。
- 共通データ領域の使用は結合度を強めることを理解する。
- 引数によるデータ受渡しが結合度を低く保つことを確認する。
- 最も結合度を低減できる選択肢を選ぶ。
選択肢別の誤答解説
- ア:共通データ領域を全モジュールからアクセス可能にするのは結合度を強め、設計の悪化を招きます。
- イ:最も強い結合度の分布だけで判断するのは不十分で、全体の結合度のバランスも重要です。
- ウ:直接呼出し関係のないモジュール間で情報交換に共通データ領域を使うと結合度が強くなり望ましくありません。
- エ:引数でデータを渡すことで結合度を低く保ち、モジュールの独立性を維持できるため正解です。
補足コラム
モジュール結合度は「内容結合」「共通結合」「制御結合」「スタンプ結合」「データ結合」「メッセージ結合」などに分類され、結合度が低いほどモジュールの独立性が高くなります。引数によるデータ受渡しは「データ結合」または「メッセージ結合」に該当し、最も望ましい結合度の形態です。
FAQ
Q: 共通データ領域はなぜ避けるべきですか?
A: 共通データ領域は複数モジュールが同じデータに依存するため、変更時の影響範囲が広がり保守性が低下します。
A: 共通データ領域は複数モジュールが同じデータに依存するため、変更時の影響範囲が広がり保守性が低下します。
Q: モジュール結合度が低いとどんなメリットがありますか?
A: モジュールの独立性が高まり、修正や拡張が容易になり、バグの影響範囲も限定されます。
A: モジュールの独立性が高まり、修正や拡張が容易になり、バグの影響範囲も限定されます。
関連キーワード: モジュール結合度、モジュール分割、ソフトウェア設計、データ受渡し、結合度低減

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

