問8 (情報システム開発) は UML・要件定義・設計レビューが中心。クラス図・シーケンス図の読解が必須スキル。
問8の典型題材を整理すると、① ユースケース図・クラス図・シーケンス図の読解、② オブジェクト指向設計の改善提案、③ 設計レビューでの指摘、④ アジャイル開発のスプリント計画、ですね。
UMLって苦手なんだよね…
APのUMLは基本パターンの組合せなのよ。
クラス図の関連 (実線)・継承 (空白三角)・コンポジション (黒菱形) と、シーケンス図のメッセージ・自己呼び出しを覚えれば十分よ。
📝 過去問サンプル (記述設問)
A社の販売管理システムでクラス図を作成中、『顧客』クラスに『注文を登録する』『支払を管理する』『配送状況を更新する』の3つの責務が集中している。SOLID 原則の観点から問題点と改善方針を、80字以内で述べよ。
【模範解答 (例)】 単一責任原則 (SRP) に違反している。注文・支払・配送の各 責務を別クラスに分離し、顧客クラスは識別情報のみを 持つよう設計を見直す。(78字) 【減点ポイント】 × 「複雑だから直すべき」 → SOLID 原則の言及がない × 「全部のクラスに分割」 → 過剰分割 (現実的に不適切) × 字数オーバー (81字以上) × SRP の説明だけで改善方針が無い
確認クイズ
オブジェクト指向設計で『1つのクラスが多くの責務を持ちすぎている』状態を改善するために最も適切な原則はどれか。
- 単一責任原則 (SRP)
- 開放閉鎖原則 (OCP)
- リスコフ置換原則 (LSP)
- 依存性逆転原則 (DIP)
こたえを見る
正解: 1. 単一責任原則 (SRP)
SOLID の S = SRP は『1クラスは1つの責任のみ』を持つべき、という原則。責務が集中したクラス (神クラス) は、責務ごとに分離するのが基本対処です。OCP は拡張容易、LSP は派生置換、DIP は抽象依存に関わる別の原則。