ユースケースの定義とは
「ユースケース(Use Case)」とは、システムを使う利用者(「アクター」と呼ばれる)が、ある目的(ゴール)を達成するまでにシステムとどうやり取り(インタラクション)するかを整理・記述する手法です。
要するに、「ユーザーがどのようにそのシステムを使用するか」を外から見る視点で整理することです。
例えば、「商品を注文する」「ログインする」「レビューを書く」などの振る舞いがユースケースになります。
ユースケースの主要要素:アクター・ゴール・シナリオ
ユースケースを理解・記述するときに押さえておきたい要素を表にまとめました。
| 要素 | 意味 |
|---|---|
| アクター(Actor) | システムを使う主体。人間だけでなく、他のシステムや外部機器がアクターになることもあります。 |
| ゴール(Goal) | アクターがユースケースを通じて達成したい目的。 例:商品を買いたい、支払いを終えたい、情報を得たい、など。 |
| シナリオ(Scenario)/フロー(Flow) | ゴールを達成するまでのステップ。通常の流れ(標準フロー)と、例外が起こる時の流れ(例外フロー)を含めます。 |
ユースケース図/記述形式
ユースケースを視覚的・文書的に整理する方法として主に以下があります。
ユースケース図(Use Case Diagram)
UML(統一モデリング言語)で描かれる図。
アクターとユースケース、アクターとユースケースの関係、ユースケース同士の包含(include)・拡張(extend)などを図で表す。
ユースケース記述(Use Case Description / Use Case Text)
文章形式で標準フロー・例外フローなどを具体的に書くもの。
システムがどのような振る舞いをするか、利用者とのやりとりを詳しく記述します。
形式はプロジェクトやチームによって異なりますが、「誰が」「何を」「どのように」「何が起こるか」の流れを明確にすることが共通の目的です。
ユースケースの使いどころ・メリット
ユースケースを用いることで得られるメリットは以下の通りです。
注意点・よくある誤解
ユースケースを使う際には、以下の点にも注意が必要です。
具体例で理解しよう 例:ECサイト
以下は、オンラインショッピング(Eコマース)サイトを例としたユースケースの一連の流れです。
アクター:顧客
ゴール:商品を購入する
標準フロー例:
- 顧客がサイトにアクセスする
- 顧客が商品を検索する
- 商品を選択してカートに入れる
- カートの内容を確認する
- 支払い方法を選ぶ
- 顧客情報と配送先を入力する
- 注文を確定し、システムが確認メールを送る
例外フロー例:
- 支払い情報の入力で誤りがあった → エラーメッセージを出して再入力させる
- 在庫切れの商品が含まれていた → 顧客に在庫なしの通知を出す
このように、ユースケースは「標準でうまくいく流れ」だけでなく、「何かトラブルが起きたときどうなるか」も考えておくことで、システム設計・テストがより堅牢になります。
ユースケースを作るときのステップとポイント
ユースケースを実際に作るときのステップ例:
| ステップ | 内容 |
|---|---|
| 1.アクターの洗い出し | システムを使う人・他システムなどを列挙する |
| 2.ゴール(ユースケース)の洗い出し | アクターがシステムで達成したい目的をリストアップする |
| 3.ユースケース間の関係の整理 | ユースケースの中で共通する処理は「include」、 条件分岐があるなら「extend」などを使う |
| 4.標準フロー/例外フローの記述 | 順序・条件・異常時の処理を明確にする |
| 5.レビュー | ステークホルダー(利用者・開発者など)で見せて、理解漏れ・誤認識がないか確認する |
ポイントとしては:
よくあるQ&A
ユースケースとユーザーストーリーの違いは?
A. ユースケースは比較的詳細に、複数のシナリオ(標準+例外)を含めて振る舞いを記述します。ユーザーストーリーは短く、機能の概略を「誰が・何をしたいか」にフォーカスすることが多い。
ユースケース図だけで十分?
A. 図だけでは詳細な流れ(例外処理や細かいユーザーとのやり取り)がわからないので、記述形式と併用するのが望ましいです。
ユースケースはどの工程で使う?
A. 要件定義やシステム設計の初期段階です。テスト設計や仕様レビューでも使われます。
まとめ
ユースケースは、システムをユーザー視点で整理し、開発・設計・テストをスムーズにする非常に有用な手法です。
初心者でも、アクター・ゴール・シナリオといった基本を押さえ、具体例を使って考えることで理解しやすくなります。


