平成23年度 秋期 午前 問45
ソフトウェア開発管理技術
モジュール強度に関する問題
モジュール設計書を基にモジュール強度を評価した。適切な評価はどれか。
〔モジュール設計書(抜粋)〕 上位モジュールから渡される処理コードに対応した処理をする。処理コードが“I”のときは挿入処理,処理コードが“U”のときは更新処理,処理コードが“D”のときは削除処理である。
- アこれは“暗合的強度”のモジュールである。モジュール内の機能間に特別な関係はなく,むしろ他のモジュールとの強い関係性をもつ可能性が高いので,モジュール分割をやり直した方がよい。
- イこれは“情報的強度”のモジュールである。同一の情報を扱う複数の機能を,一つのモジュールにまとめている。モジュール内に各処理の入口点を設けているので,制御の結びつきがなく,これ以上のモジュール分割は不要である。
- ウこれは“連絡的強度”のモジュールである。モジュール内でデータの受渡し又は参照を行いながら,複数の機能を逐次的に実行している。再度見直しを図り,必要に応じて更にモジュール分割を行った方がよい。
- エこれは“論理的強度”のモジュールである。関連した幾つかの機能を含み,パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても,仕様変更に伴うパラメタの変更による影響を最小限に抑えるために,機能ごとにモジュールを分割するか,機能ごとの入口点を設ける方がよい。
答えと解説を見る
✓ これが正解エこれは“論理的強度”のモジュールである。関連した幾つかの機能を含み,パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても,仕様変更に伴うパラメタの変更による影響を最小限に抑えるために,機能ごとにモジュールを分割するか,機能ごとの入口点を設ける方がよい。
解説
パラメタで機能を選ぶ形は論理的強度に当たります。
設計書が述べているのは、上位から渡される処理コードの値によって、挿入と更新と削除のどれを行うかが決まるという構造です。つまり一つのモジュールの中に、互いに関連はしているが別々の機能が並んでおり、外から渡された値でそのうち一つが選ばれます。モジュール強度の分類では、この形を論理的強度と呼びます。判定の軸は二つです。第一に、まとめられている複数の機能が互いにどういう関係にあるか。第二に、そのうちどれを実行するかが何によって決まるかです。この二つを設計書の記述に当てると、機能は関連しており、選択は渡された値に委ねられている、と読めます。値の種類が増えるような仕様変更で影響が広がりやすいため、機能ごとに分けるか、機能ごとの入口点を設ける改善が勧められます。
ほかの選択肢はなぜ違うのか
- アこれは“暗合的強度”のモジュールである。…:機能の間に意味のあるつながりが無い寄せ集めを指す評価です。設計書の三つの処理は同じ処理コードで選び分けられており、無関係な集まりとは読めません。
- イこれは“情報的強度”のモジュールである。…:同じデータ構造を扱う機能をまとめ、機能ごとに入口点を分けた形を指す評価です。設計書には入口点を分けたという記述がなく、値による選択だけが書かれています。
- ウこれは“連絡的強度”のモジュールである。…:複数の機能がデータを受け渡しながら順に実行される形を指す評価です。設計書の三つの処理は順番に実行されるのではなく、どれか一つだけが選ばれます。
出典:平成23年度 秋期 基本情報技術者試験 午前 問45(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)