ホーム > システムアーキテクト試験 > 2013年
システムアーキテクト試験 2013年 午前2 問06
モジュール設計に関する記述のうち,モジュール強度(結束性)が最も強いものはどれか。
イ:複数の機能のそれぞれに必要な初期設定の操作が、ある時点で一括して実行できるので、一つのモジュールにまとめた。
エ:二つの機能A、Bは必ずA、Bの順番に実行され、しかもAで計算した結果をBで使うことがあるので、一つのモジュールにまとめた。
ウ:二つの機能A、Bのコードは重複する部分が多いので、A、Bを一つのモジュールとし、A、Bの機能を使い分けるための引数を設けた。
ア:ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした。(正解)
解説
モジュール設計に関する問題【午前2 解説】
要点まとめ
- 結論:モジュール強度(結束性)が最も強いのは「データと機能を一体化し、外部から隠蔽したモジュール」である。
- 根拠:強い結束性はモジュール内部の要素が密接に関連し、外部依存を減らすことで保守性や再利用性が向上するため。
- 差がつくポイント:単に機能をまとめるだけでなく、データの隠蔽(カプセル化)を行い、モジュールの独立性を高めているかを見極めること。
正解の理由
ア: ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした。
この選択肢は、データとそれを操作する機能を一体化し、外部からデータを隠蔽(カプセル化)しているため、モジュール内の結束性が非常に強い状態です。モジュールの内部要素が密接に関連し、外部依存が少ないため、強度が最も高いと判断できます。
この選択肢は、データとそれを操作する機能を一体化し、外部からデータを隠蔽(カプセル化)しているため、モジュール内の結束性が非常に強い状態です。モジュールの内部要素が密接に関連し、外部依存が少ないため、強度が最も高いと判断できます。
よくある誤解
機能をまとめるだけで結束性が強くなると誤解しがちですが、データの隠蔽や密接な関連性がなければ強度は高まりません。単なる機能の集約は結束性を弱めることもあります。
解法ステップ
- モジュール強度(結束性)の定義を確認する。
- 各選択肢がデータと機能の関係性をどう扱っているかを分析する。
- データの隠蔽やカプセル化があるかを判断する。
- 機能の関連性や依存関係の強さを比較する。
- 最も内部要素が密接に結びつき、外部依存が少ない選択肢を選ぶ。
選択肢別の誤答解説
- ア: 正解。データと機能を一体化し、外部から隠蔽しているため結束性が最も強い。
- イ: 複数の機能の初期設定をまとめているが、機能間の関連性が弱く結束性は中程度。
- ウ: 機能A、Bを引数で使い分ける形は、機能の独立性が低く結束性は弱い。
- エ: 実行順序やデータ依存はあるが、機能の結束性としては弱く、単なる手続き的結合に近い。
補足コラム
モジュール強度(結束性)はソフトウェア設計の品質指標の一つで、強い結束性はモジュールの保守性や再利用性を高めます。特に「情報隠蔽(カプセル化)」は結束性を強化する重要な手法で、オブジェクト指向設計の基本概念とも深く関連しています。
FAQ
Q: モジュールの結束性が強いとどんなメリットがありますか?
A: 保守性が向上し、変更の影響範囲が限定されるため、バグの発生を抑えやすくなります。
A: 保守性が向上し、変更の影響範囲が限定されるため、バグの発生を抑えやすくなります。
Q: データの隠蔽はなぜ結束性を強くするのですか?
A: データを外部から隠すことでモジュール内部の要素が密接に関連し、外部依存を減らせるためです。
A: データを外部から隠すことでモジュール内部の要素が密接に関連し、外部依存を減らせるためです。
関連キーワード: モジュール強度, 結束性, カプセル化, 情報隠蔽, ソフトウェア設計, 保守性, 再利用性