応用情報技術者 2011年 春期 午前2 問47
問題文
モジュール設計に関する記述のうち、モジュール強度 (結束性)が最も強いものはどれか。
選択肢
ア:ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした。(正解)
イ:複数の機能のそれぞれに必要な初期設定の操作が、ある時点で一括して実行できるので、一つのモジュールにまとめた。
ウ:二つの機能A,Bのコードは重複する部分が多いので,A, Bを一つのモジュールとし、A, Bの機能を使い分けるための引数を設けた。
エ:二つの機能 A, B は必ずA, Bの順番に実行され、しかもAで計算した結果を Bで使うことがあるので、一つのモジュールにまとめた。
モジュール設計に関する問題【午前2 解説】
要点まとめ
- 結論:モジュール強度が最も強いのは「データと機能を一体化し、外部からデータを隠蔽したモジュール」である。
- 根拠:強度(結束性)はモジュール内部の要素がどれだけ密接に関連しているかを示し、データ隠蔽は最も強い結束性を実現する。
- 差がつくポイント:単に機能をまとめるだけでなく、データの隠蔽や役割の明確化が強度向上の鍵となる点を理解すること。
正解の理由
アは「木構造データを扱う機能とデータを一つにまとめ、外部からデータを隠す」という典型的な情報隠蔽の例であり、モジュールの強度が最も強い「情報強度(Information Strength)」に該当します。データとそれを操作する機能が密接に結びつき、外部依存を減らすため、保守性や再利用性が高まります。
よくある誤解
モジュールを単に機能の集合としてまとめるだけで強度が高いと誤解しがちですが、強度は内部要素の関連性の強さで決まります。順序や引数の有無だけでは強度は高まりません。
解法ステップ
- モジュール強度の定義を確認する(内部要素の関連性の強さ)。
- 各選択肢のモジュールの構成要素とその関連性を分析する。
- データと機能の一体化と情報隠蔽があるかを判断する。
- 最も強い結束性を持つ選択肢を選ぶ。
選択肢別の誤答解説
- ア:正解。データと機能を一体化し、外部からデータを隠蔽しているため強度が最も強い。
- イ:初期設定操作をまとめただけで、機能間の関連性は弱く、強度は中程度。
- ウ:機能A,Bを引数で使い分ける設計は、機能の独立性が低く、結束性は弱い。
- エ:実行順序や依存関係があるが、機能の結束性としては情報隠蔽ほど強くない。
補足コラム
モジュール強度(結束性)はソフトウェア設計の品質指標の一つで、強度が高いほどモジュールの保守性や再利用性が向上します。情報隠蔽はモジュール設計の基本原則であり、データと機能を密接に結びつけることで強度を高めます。
FAQ
Q: モジュール強度が高いと何が良いのですか?
A: 保守性が高まり、変更の影響範囲が限定されるため、バグ修正や機能追加が容易になります。
A: 保守性が高まり、変更の影響範囲が限定されるため、バグ修正や機能追加が容易になります。
Q: 順序依存の機能をまとめるのは強度が高いですか?
A: 順序依存は結束性の一種ですが、情報隠蔽ほど強い強度ではありません。
A: 順序依存は結束性の一種ですが、情報隠蔽ほど強い強度ではありません。
関連キーワード: モジュール強度、情報隠蔽、結束性、ソフトウェア設計、保守性

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

