平成23年度特別 応用情報技術者試験 午前 問47
モジュール設計に関する記述のうち,モジュール強度(結束性)が最も強いものはどれか。
- ア ある木構造データを扱う機能をデータとともに一つにまとめ,木構造データをモジュールの外から見えないようにした。
- イ 複数の機能のそれぞれに必要な初期設定の操作が,ある時点で一括して実行できるので,一つのモジュールにまとめた。
- ウ 二つの機能A,Bのコードは重複する部分が多いので,A,Bを一つのモジュールとし,A,Bの機能を使い分けるための引数を設けた。
- エ 二つの機能A,Bは必ずA,Bの順番に実行され,しかもAで計算した結果をBで使うことがあるので,一つのモジュールにまとめた。
解答・解説を見る
正解:ア
AI解説
モジュール強度(結束性)は、モジュール内の要素同士の関連性が強いほど高く評価される。選択肢アは、木構造データとそれを扱う機能を1つのモジュールにまとめ、データを外部から隠蔽(カプセル化)しており、データと機能が一体不可分に結び付いた最も強い結束(情報的強度に相当)を示すため正解となる。 ア: 木構造データとそれを操作する機能を一体化し、データ構造を外部から隠蔽したモジュールは、データと処理が密接不可分に結び付いた強い結束度を持ち、モジュール強度の中で最も強い部類に位置付けられる。 イ: 複数機能の初期設定処理を、実行タイミングが同じという理由だけでまとめたものは「時間的結束」に相当し、機能同士の本質的な関連性は薄く、強度としては中程度以下である。 ウ: 重複コードを削減するために本来独立した機能A・Bを引数で使い分けて1つにまとめたものは「論理的結束」に相当し、モジュール内の処理が論理的に選択されるだけで本質的な関連は弱く、強度は低い部類に入る。 エ: A→Bの実行順序があり、Aの結果をBで使うという理由でまとめたものは「順次的結束」に相当し、データの受け渡しはあるものの、アのような情報の隠蔽・一体化ほどの強さはない。 💡 モジュール強度は弱い方から「暗合的→論理的→時間的→手続的→連絡的→順次的→機能的(情報的)」の順に強くなるとされ、データと機能を一体化・隠蔽する設計はオブジェクト指向のカプセル化にも通じる強い結束の代表例である。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。