SC情報処理安全確保支援士試験 午前Ⅰ
平成29年度秋期 情報処理安全確保支援士 午前Ⅰ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アある木構造データを扱う機能をこのデータとともに一つにまとめ、 木構造データをモジュールの外から見えないようにした。
- イ複数の機能のそれぞれに必要な初期設定の操作が、 ある時点で一括して実行できるので、 一つのモジュールにまとめた。
- ウ二つの機能 A、 B のコードは重複する部分が多いので、 A、 B を一つのモジュールにまとめ、 A、 Bの機能を使い分けるための引数を設けた。
- エ二つの機能 A、 B は必ず A、 B の順番に実行され、 しかも A で計算した結果を B で使うことがあるので、 一つのモジュールにまとめた。
解き方のヒントを見る
午前I 問16:モジュールの“まとまりの良さ”を見抜こう
機能的強度が高いモジュールは、1つの目的に向かって処理がきれいにまとまっているから望ましいんだよ。たとえば「カレーを作る係」が、材料を切る・煮込む・味付けするところまで一貫して担当するイメージだね。一方で、偶発的強度や論理的強度のように、関係の薄い処理や似ているだけの処理をまとめてしまう設計は避けよう。
この問題で問われていること
この問題では、モジュール同士のつながり方を表す“結合度”ではなく、モジュール内部の処理がどれだけ自然にまとまっているかを表す“強度”の話だと見抜くことが大事だよ。そのうえで、最も望ましいのは機能的強度だと判断しよう。
Module Cohesion
high module cohesion means the elements inside a module work together toward one clear purpose
single purpose\nrelated responsibilities\nhigh cohesion desirable
確認ポイント
- 外部モジュールとの依存の話は結合度です。
- 単一目的にまとまるほど強度が高い。
- 高凝集の説明を選ぶ。
正解と解説を見る
正解
ア
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア(正解)
これは正解だよ。木構造データと、それを扱う機能を一つにまとめ、外からデータを直接触れないようにしているね。たとえるなら、大事な台帳を窓口の奥にしまって、利用者は窓口の人に「登録して」「検索して」と頼む形。データと操作がセットで守られていて役割がはっきりしているので、結束性が最も強いといえるよ。
選択肢イ
これは不正解だよ。初期設定を同じタイミングでまとめて実行できるから一つにした、という考え方だね。たとえるなら、朝に「窓を開ける、電気をつける、PCを起動する」を一気にやるだけで、作業内容そのものは別々。時間が同じなだけなので、まとまりは強くないよ。
選択肢ウ
これは不正解だよ。AとBを「似ているから」という理由だけで同じ箱に入れて、引数で切り替える形だね。たとえるなら、受付窓口を一つにして「今日は住民票?免許更新?」と合図で仕事を変える感じ。便利そうだけど、中身は別々の仕事なので結び付きはあまり強くないよ。
選択肢エ
これは不正解だよ。AのあとにBを実行し、Aの結果をBで使うので関係はあるけど、「順番につながっているから一緒にした」レベルだね。たとえるなら、料理で「野菜を切る→炒める」を同じ流れにした感じ。つながりはあるけど、モジュールとして一番まとまりが強いとはいえないよ。
出典:独立行政法人 情報処理推進機構(IPA)平成29年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針