データベーススペシャリスト 2020年 午前2 問25
問題文
ユースケース駆動開発の利点はどれか。
選択肢
ア:開発を反復するので、新しい要求やビジネス目標の変化に柔軟に対応しやすい。
イ:開発を反復するので、リスクが高い部分に対して初期段階で対処しやすく、プロジェクト全体のリスクを減らすことができる。
ウ:基本となるアーキテクチャをプロジェクトの初期に決定するので、コンポーネントを再利用しやすくなる。
エ:ひとまとまりの要件を1単位として設計からテストまで実施するので、要件ごとに開発状況が把握できる。(正解)
🔒 解説は解答すると表示されます
ユースケース駆動の利点【午前2解説】
正解の理由
ユースケース駆動は「利用者の観点で要件をひとまとまり(ユースケース)に分け、その単位で設計・実装・テストを行う」ことを基本にします。このため、要件単位で開発状況や品質を把握できる点が利点です。設問の選択肢のうち、設計からテストまでを要件ごとに実施して状況把握を可能にしているのは エ の記述であり、ユースケース駆動の本質に一致します。
解法ステップ
- 「ユースケース駆動」の定義を明確にする:利用者シナリオ(ユースケース)を単位に開発を進める手法で、要件からテストまでのトレーサビリティがとりやすい点が特徴。
- 選択肢を「ユースケース駆動の特徴か否か」で分類する:
- ユースケース駆動が直接示すもの(要件単位での設計・テスト、可視化、トレーサビリティ) → 該当するか?
- 反復・リスク低減・初期アーキテクチャ決定などは「プロセスや開発戦略の次元」であり、ユースケース駆動そのものの必然的効果ではないか?と検討する。
- 最終判断:ユースケース駆動の固有の利点に合致する選択肢を選ぶ(エ)。
選択肢別の誤答解説
- ア: 「開発を反復するので、新しい要求に柔軟に対応しやすい」
- 誤り。反復開発はプロセスの属性であり、ユースケース駆動が自動的に反復を伴うわけではありません。ユースケースを使っても、開発がウォーターフォール的に進む場合は柔軟性は限定的です。
- イ: 「反復でリスクが高い部分に初期対処しリスクを減らす」
- 誤り。リスク主導や早期検証はリスク管理を重視する開発戦略(例:RUPのリスク対応)に依存します。ユースケース駆動はリスク低減に寄与することはありますが、それは反復やリスク評価と組み合わせた場合の効果であり、ユースケース駆動単独の必然的効果ではありません。
- ウ: 「基本となるアーキテクチャを初期に決定し再利用しやすくなる」
- 誤り。初期にアーキテクチャを決定することは「ビッグデザインアップフロント(BDUF)」に近く、ユースケース駆動の本質ではありません。むしろユースケースで要求を洗い出したうえで、その要求に応じたアーキテクチャを段階的に固める方が自然です。
- エ: 「ひとまとまりの要件を1単位として設計からテストまで実施するので、要件ごとに開発状況が把握できる」
- 正解。ユースケースを単位として設計→実装→テストを行うと、トレーサビリティが確保され、各要件(ユースケース)の実施状況やテスト結果が明確になります。これがユースケース駆動の代表的な利点です。
よくある誤解
- ユースケース駆動 = 反復開発、とは限らない
ユースケース駆動は「何を単位にするか(要件の単位)」を示す考え方で、反復かどうかは開発プロセスの設計次第です。反復と組み合わせると効果が高まりますが、混同しないようにしてください。 - ユースケース駆動だけでリスク管理が完了するわけではない
ユースケースは優先順位付けや早期検証の手がかりを与えますが、リスク特定・評価・対応は別途プロジェクト管理やリスク管理手法が必要です。
補足コラム
ユースケース駆動は「誰が」「何を」「どのように」行うかというシナリオ駆動で要件を整理するため、次の効果が得られます。
- トレーサビリティ:ユースケース→詳細設計→テストケースの紐付けがしやすい
- テストの明確化:利用シナリオ単位で受入れテストを定義しやすい
- 優先順位付け:ビジネス価値や使用頻度に応じてユースケースを優先できる
一方、反復開発やリスク対応を組み合わせると、より早く価値を出しつつ不確実性を低減できます。たとえばRUP(Rational Unified Process)は「ユースケース駆動・反復的・アーキテクチャ中心」の三本柱を組み合わせ、ユースケースの利点を反復とリスク管理で補強する典型的な例です。重要なのは「ユースケース駆動は単独の全能解ではなく、他のプロセス特性と組み合わせて効果を最大化する」点です。
FAQ
Q. ユースケースとユーザーストーリーの違いは?
A. ユースケースは利用者とシステムの相互作用を詳細に記述することが多く、シナリオや代替フローを含みます。ユーザーストーリーは短い価値記述(誰が・何を・なぜ)で、アジャイルでの優先順位付けやスプリントに適しています。粒度と目的が異なりますが、どちらも要件単位で開発を進める点では共通しています。
A. ユースケースは利用者とシステムの相互作用を詳細に記述することが多く、シナリオや代替フローを含みます。ユーザーストーリーは短い価値記述(誰が・何を・なぜ)で、アジャイルでの優先順位付けやスプリントに適しています。粒度と目的が異なりますが、どちらも要件単位で開発を進める点では共通しています。
Q. ユースケース駆動はアジャイルと相性が良いですか?
A. はい。ユースケースを小さな実装単位に分割し、反復的に実施することでアジャイルの価値提供サイクルに適合します。ただし、ユースケース自体は反復性を保証しないため、プロセス設計で反復や短サイクルを明確にする必要があります。
A. はい。ユースケースを小さな実装単位に分割し、反復的に実施することでアジャイルの価値提供サイクルに適合します。ただし、ユースケース自体は反復性を保証しないため、プロセス設計で反復や短サイクルを明確にする必要があります。
Q. ユースケースの適切な粒度は?
A. 1回のリリースや1スプリントで完了できる程度を目安にするとよいです。大きすぎるユースケースは分割し、テストや受入れが容易になる粒度に調整します。
A. 1回のリリースや1スプリントで完了できる程度を目安にするとよいです。大きすぎるユースケースは分割し、テストや受入れが容易になる粒度に調整します。
関連キーワード: ユースケース、トレーサビリティ、要件単位、反復開発、RUP、リスク管理、テスト設計

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

