システムアーキテクト 2014年 午前2 問05
問題文
図は、商品の受注処理を行うプログラムのモジュール構成図である。a~dのうち、機能的強度のモジュールはどれか。

選択肢
ア:a
イ:b
ウ:c(正解)
エ:d
🔒 解説は解答すると表示されます
機能的強度の識別【午前2解説】
正解の理由
モジュール強度(結束性)は、一つのモジュールの中の処理がどれだけ一つの目的にまとまっているかを表す尺度で、最も強いのが機能的強度です。機能的強度のモジュールは、ただ一つの機能だけを実行します。
cは「顧客番号、氏名、住所を入力とし、顧客レコードを更新する」という一つの機能だけを行っており、機能的強度に当たります。したがって正解はウです。
解法ステップ
- モジュール強度を強い順に思い出す(機能的>情報的>連絡的>手順的>時間的>論理的>暗合的)。
- 各モジュールの処理内容が一つの機能か、複数の処理を並べたものかを確かめる。
- 一つの機能だけを行うモジュールを選ぶ。
選択肢別の誤答解説
- ア:aは「初期設定を行い、ファイルを開く」で、プログラムの開始時という同じタイミングで実行する処理をまとめた時間的強度のモジュールです。
- イ:bは「必要に応じて顧客情報を修正してから、販売番号を採番し、販売レコードを作成する」で、複数の処理を順に実行しています。一つの機能ではないので機能的強度ではありません。
- ウ:cは顧客レコードの更新という一つの機能だけを行うので、機能的強度です。
- エ:dは「販売情報を入力とし、販売レコードを更新してから、監査用の記録を取る」で、販売レコードの更新と監査記録という二つの処理を順に行っています。一つの機能ではないので機能的強度ではありません。
よくある誤解
図の位置関係(上下のつながり)から判断しがちですが、モジュール強度はモジュールの中の処理内容で決まります。cは中央のモジュールとbの両方から呼び出されていますが、呼び出し元の数は強度に関係しません。むしろ一つの機能に絞られているから、複数の場所から再利用できると考えられます。
補足コラム
モジュール強度は強いほど、モジュール結合度は弱いほど、保守しやすく独立性の高い設計になります。「〜してから〜する」のように複数の処理を順番に並べたモジュールは、手順的強度や連絡的強度(同じデータを使う処理の並び)になりやすく、機能的強度にはなりません。
FAQ
Q: 時間的強度とはどのようなモジュールですか?
A: 初期化処理や終了処理のように、実行されるタイミングが同じという理由だけで、関連の薄い処理をまとめたモジュールです。
Q: 機能的強度かどうかを見分けるコツはありますか?
A: モジュールの働きを「〜を〜する」という一つの動詞句で言い表せるかを確かめます。「〜し、〜する」と複数の動詞が並ぶ場合は、機能的強度ではないことが多いです。
関連キーワード: モジュール強度、機能的強度、時間的強度、手順的強度、連絡的強度、構造化設計

\ せっかくなら /
システムアーキテクトを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

