平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問6
テクノロジ/開発技術モジュール設計書を基にモジュール強度を評価した。適切な評価はどれか。 〔モジュール設計書(抜粋)〕 上位モジュールから渡される処理コードに対応した処理をする。処理コードが“I”のときは挿入処理,処理コードが“U”のときは更新処理,処理コードが“D”のときは削除処理である。
出典:平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問6
- アこれは“暗合的強度”のモジュールである。モジュール内の機能間に特別な関係はなく,むしろほかのモジュールとの強い関係性をもつ可能性が高いので,モジュール分割をやり直した方がよい。
- イこれは“情報的強度”のモジュールである。同一の情報を扱う複数の機能を,一つのモジュールにまとめている。モジュール内に各処理の入口点を設けているので,制御の結びつきがなく,これ以上のモジュール分割は不要である。
- ウこれは“連絡的強度”のモジュールである。モジュール内でデータの受け渡し又は参照を行いながら,複数の機能を逐次的に実行している。再度見直しを図り,必要に応じて更にモジュール分割を行った方がよい。
- エこれは“論理的強度”のモジュールである。関連した幾つかの機能を含み,パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても,仕様変更に伴うパラメタの変更による影響を最小限に抑えるために,機能ごとにモジュールを分割するか入口点を設ける方がよい。
正解:エ
解説
設問のモジュールは、上位モジュールから渡される処理コード(パラメタ)の値(“I”,“U”,“D”)によって、挿入・更新・削除という関連はあるが異なる複数の機能のうちどれを実行するかを選択する構造になっている。これは、パラメタによって実行する機能を切り替える“論理的強度”のモジュールの典型例であり、仕様変更でパラメタの扱いが変わった際の影響を抑えるため、機能ごとにモジュールを分割するか、入口点を分ける方がよいとされる。
選択肢ごとの解説
- ア誤り。暗合的強度は、モジュール内の機能間に関連がなく偶然まとめられた状態を指すが、設問のモジュールは挿入・更新・削除という関連する機能をパラメタで選択しており、これには当たらない。
- イ誤り。情報的強度は、同一のデータ構造を扱う複数の機能を、それぞれ独立した入口点をもつ形でまとめたモジュールを指すが、設問のモジュールは一つの入口点でパラメタによって機能を選択しており、これには当たらない。
- ウ誤り。連絡的強度は、モジュール内でデータを順に受け渡しながら複数の機能を逐次実行する構造を指すが、設問のモジュールは処理コードによって一つの機能を選択して実行する構造であり、これには当たらない。
- エ正しい。上位から渡されるパラメタ(処理コード)によって、挿入・更新・削除のいずれかの機能を選択して実行する構造は、論理的強度のモジュールの説明である。