システムアーキテクト 2014年 午前2 問13
問題文
ユースケース駆動開発の利点はどれか。
選択肢
ア:開発を反復するので、新しい要求やビジネス目標の変化に柔軟に対応しやすい。
イ:開発を反復するので、リスクが高い部分に対して初期段階で対処しやすく、プロジェクト全体のリスクを減らすことができる。
ウ:基本となるアーキテクチャをプロジェクトの初期に決定するので、コンポーネントを再利用しやすくなる。
エ:ひとまとまりの要件を単位として設計からテストまでを実施するので、要件ごとに開発状況が把握できる。(正解)
🔒 解説は解答すると表示されます
ユースケース駆動の特徴【午前2解説】
正解の理由
ユースケース駆動開発は「ユーザー(アクター)とシステムのやり取りを単位(ユースケース)として要件を整理し、その単位ごとに設計・実装・テストを行う」ことを特徴とします。設問の選択肢のうち、要件のまとまりを単位にして開発状況を把握できる点を述べているのが エ です。ユースケースを単位にすると、要件から設計・テストまでのトレーサビリティが明確になり、進捗や品質をユースケース単位で管理しやすくなります。したがって エ が正答です。
解法ステップ
- 選択肢のキーとなる語句を探す:「反復」「リスク」「基本アーキテクチャ」「ひとまとまりの要件」など。
- ユースケース駆動の本質を思い出す:ユーザー動作(シナリオ)を単位に開発する点が本質。
- 本質に合致する選択肢を選ぶ:要件単位で設計・テストを行う記述が一致する選択肢を選ぶ。
- 残りは手法固有の利点か一般的な開発手法の利点かで切り分ける(反復や初期アーキテクチャ決定は別軸)。
選択肢別の誤答解説
-
ア: 「開発を反復するので、新しい要求やビジネス目標の変化に柔軟に対応しやすい。」
反復開発(イテレーティブ)の利点を述べています。ユースケース駆動はユースケース単位で進める思想であり、反復的に行うことも多いですが(RUPなどとの併用が典型)、この記述はユースケース駆動固有の説明ではありません。 -
イ: 「開発を反復するので、リスクが高い部分に対して初期段階で対処しやすく、プロジェクト全体のリスクを減らすことができる。」
これも反復・増分開発の利点の説明です。ユースケース駆動はリスク軽減に寄与する場合もありますが、この文は反復性そのものの利点を述べており、ユースケース駆動特有の特徴とは言えません。 -
ウ: 「基本となるアーキテクチャをプロジェクトの初期に決定するので、コンポーネントを再利用しやすくなる。」
これはウォーターフォール的またはアーキテクチャファーストのアプローチの利点に近く、ユースケース駆動はユーザー視点の振る舞いを重視するため、必ずしもプロジェクト初期にアーキテクチャを固定することを要求しません。むしろユースケースを検討しつつアーキテクチャを成熟させることが多いです。 -
エ: 「ひとまとまりの要件を単位として設計からテストまでを実施するので、要件ごとに開発状況が把握できる。」
ここがユースケース駆動の本質を表す記述です。ユースケース(機能・シナリオ)を単位に作業を進めるため、要件ごとの進捗・品質管理が容易になります。
よくある誤解
-
「ユースケース駆動は反復的ではない」
誤りです。ユースケース駆動は単に開発の単位を定める手法で、RUPのような反復・増分開発と組み合わせて用いられることが多く、反復性と排他的ではありません。反復開発の利点(リスク低減や変更対応性)は併用により享受できますが、それらはユースケース駆動固有の説明ではありません。 -
「ユースケース駆動はアーキテクチャ設計を不要にする」
誤りです。ユースケース駆動は振る舞いを中心に要件を整理しますが、適切なアーキテクチャ設計は必要です。むしろユースケースを通じてアーキテクチャ上の要求(性能・可用性・拡張性)を明らかにしやすくなります。
補足コラム
ユースケースは通常、アクター(利用者や他システム)とシステムの対話シナリオを記述したもので、主要フローと代替フロー(異常系)を含みます。UMLのユースケース図やシーケンス図と組み合わせることで、要求→設計→テストのトレーサビリティが取れます。実務では「ユースケースを優先度で並べ、重要なユースケースから反復的に実装する」運用が一般的で、これによりリスク管理と要求変化への対応の両立が図られます。
FAQ
Q: ユースケースとユーザーストーリーは同じですか?
A: 異なります。ユースケースは詳細なシナリオ(フロー)を記述する傾向があり、トランザクションや例外処理も含めます。ユーザーストーリーは短く価値を表現するための軽量な記述で、アジャイルで用いられやすいです。ただし両者は連続的に使い分けることができます。
A: 異なります。ユースケースは詳細なシナリオ(フロー)を記述する傾向があり、トランザクションや例外処理も含めます。ユーザーストーリーは短く価値を表現するための軽量な記述で、アジャイルで用いられやすいです。ただし両者は連続的に使い分けることができます。
Q: ユースケース駆動でテストはどう設計するべきですか?
A: 各ユースケースの主要フローと代替フローを受け入れ基準に落とし込み、ユースケース単位で受け入れテスト(受入試験)や結合テストケースを作成します。
A: 各ユースケースの主要フローと代替フローを受け入れ基準に落とし込み、ユースケース単位で受け入れテスト(受入試験)や結合テストケースを作成します。
Q: 小規模プロジェクトでも有効ですか?
A: 有効です。規模に応じてユースケースの粒度を調整すれば、要件の抜け漏れ防止や利害関係者との合意形成に役立ちます。
A: 有効です。規模に応じてユースケースの粒度を調整すれば、要件の抜け漏れ防止や利害関係者との合意形成に役立ちます。
関連キーワード: ユースケース、要求分析、トレーサビリティ、反復開発、RUP、UML、受入テスト、シナリオ設計

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

