平成21年度 秋期 午前Ⅱ 問6
設計
強度に関する問題
モジュール設計書を基にモジュール強度を評価した。適切な評価はどれか。
〔モジュール設計書(抜粋)〕
上位モジュールから渡される処理コードに対応した処理をする。処理コードが“I”のときは挿入処理,処理コードが“U”のときは更新処理,処理コードが“D”のときは削除処理である。
- アこれは“暗合的強度”のモジュールである。モジュール内の機能間に特別な関係はなく,むしろほかのモジュールとの強い関係性をもつ可能性が高いので,モジュール分割をやり直した方がよい。
- イこれは“情報的強度”のモジュールである。同一の情報を扱う複数の機能を,一つのモジュールにまとめている。モジュール内に各処理の入口点を設けているので,制御の結びつきがなく,これ以上のモジュール分割は不要である。
- ウこれは“連絡的強度”のモジュールである。モジュール内でデータの受け渡し又は参照を行いながら,複数の機能を逐次的に実行している。再度見直しを図り,必要に応じて更にモジュール分割を行った方がよい。
- エこれは“論理的強度”のモジュールである。関連した幾つかの機能を含み,パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても,仕様変更に伴うパラメタの変更による影響を最小限に抑えるために,機能ごとにモジュールを分割するか入口点を設ける方がよい。
答えと解説を見る
✓ これが正解エこれは“論理的強度”のモジュールである。関連した幾つかの機能を含み,パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても,仕様変更に伴うパラメタの変更による影響を最小限に抑えるために,機能ごとにモジュールを分割するか入口点を設ける方がよい。
解説
処理コードで機能を選ぶので、論理的強度のモジュールです。
モジュール強度は、一つのモジュールの中の機能がどれだけ強く結び付いているかを表す尺度です。設計書のモジュールは、上位から渡される処理コードが I なら挿入、U なら更新、D なら削除と、引数の値によって実行する機能を切り替えています。関連のある複数の機能を一つにまとめ、パラメタでどれか一つを選んで実行する形は、論理的強度と呼ばれる段階に当たります。この形では、機能を足したりパラメタの意味を変えたりすると、呼び出す側と呼ばれる側の両方に修正が及びます。そのため、機能ごとに分けるか入口点を設けるという改善の方向も筋が通っています。引数の値で処理を振り分けているかどうかを見ると、論理的強度だと判断できます。
ほかの選択肢はなぜ違うのか
- アこれは“暗合的強度”のモジュールである。…:挿入、更新、削除は同じデータを扱う操作で、互いに無関係な機能をたまたま集めたものではありません。機能間に特別な関係がないという評価は設計書の内容と合わず、暗合的強度とする判断は当てはまりません。
- イこれは“情報的強度”のモジュールである。…:この評価は、モジュール内に各処理の入口点を設けていると述べていますが、設計書のモジュールは一つの入口で処理コードを受け取り、その値で振り分けています。入口点が別々にある情報的強度の形にはなっていません。
- ウこれは“連絡的強度”のモジュールである。…:連絡的強度は、データを受け渡しながら複数の機能を順に実行する形です。設計書のモジュールは挿入、更新、削除のうち一つだけを選んで実行しており、機能を逐次的に続けて行う構造ではありません。
出典:平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問6
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)