ユースケースは、システムのビジネス目標を特定するためのツールです。ユースケースの特定により、システムの範囲を明確にでき、得られる要件がすべてビジネス価値、ニーズ、戦略と整合していることを保証します。
ユースケースとは何か?
ユースケースは、誰か、何人か、またはいくつかのサブシステムがシステムと相互作用することで達成しようとする高レベルのビジネス目標を表します。このシステムは開発中のシステムまたは保守対象のシステムであり、ソフトウェアプロジェクトの性質によって異なります。

ユースケースはシステム要件でも、実装すべき機能でもありません。実際、要件からユースケースを離すことが重要です。なぜなら、ビジネス目標とシステム範囲を明確に定義するためには、明確なユースケースのセットが必要だからです。実際、要件の収集はユースケース(エピック)の特定の後に実施され、その後、対応するユーザーストーリー(ビジネス目標)に分割されます。
ユースケースの図式表現
ユースケースはUMLユースケース図で可視化できます。ユースケースは図において楕円として表示され、その名前は形状の中央に表示されます。ユースケースに加えて、典型的なユースケース図にはアクターとリンクの2つの要素も含まれます。

アクターは、ユースケースによって表される1つ以上のビジネス目標を達成するためにシステムと相互作用する役割です。アクターとユースケースとの間の相互作用は、関連(リンク)によって表されます。アクターは必ずしも特定の物理的実体(例:ジョン)を表すわけではなく、単に役割(例:顧客)を表すことに注意してください。実際には、1つの役割は異なる人物によって担われることもあり、逆に1人の人物が複数の役割を担うことも可能です。
どうやってユースケースを特定するか?
ユースケースは、企業の経営者や上級経営陣と連携することで特定されます。私たちはこれをビジネスステークホルダーと呼びます。ユースケースをビジネスステークホルダーと特定することが重要です。なぜなら、彼らは企業の方向性や実際の運営について明確な理解を持っているからです。また、ビジネス意思決定に必要な権限と情報を持っているため、特定されたユースケースはすべて企業のビジネス価値、ニーズ、戦略と整合しています。
なぜユースケースが必要なのか?
多くの人は、ユースケースの特定を冗長なステップと見なします。彼らはシステム要件の特定に直ちに進むことを好むのです。では、ユースケースアプローチは無意味なのでしょうか?
大規模なシステムを開発する場合、最終システムに対して異なる期待を持つ多くのステークホルダーが関与するため、管理不能な大量の要件が生じる可能性があります。この場合、ユースケースは、共通の大きなビジネス目標と範囲を持つ関連するユーザーストーリー群を格納するためのプレースホルダーとして機能できます。
ユースケースは、企業の成長を監視し、戦略的ビジネス意思決定を行う能力を持つ経営者や上級経営陣と連携することで特定されることを忘れないでください。このため、ユースケースは対象システムが達成すべきビジネス目標を直接反映しています。ユースケースに基づいて要件を特定することで、要件はシステム範囲内にあり、経営者の期待するビジネス価値を達成する可能性が高まります。さらに、ユースケースは要件の意味のある分類を可能にします。提案されるソフトウェア機能は、現場のステークホルダーの意見にのみ依存するのではなく、ユースケースの重要性に基づいて計画できます。これは、現場のステークホルダーの意見が経営者の期待と完全に一致しない可能性があるためです。
ユースケースの例
ユースケースの使い方を説明するためのいくつかの例を示します。ここに示す例は説明のためのものであり、特定の対象システムに対してどのようなユースケースを特定すべきかという明確な方法は存在しません。ユースケースの特定プロセスの基本的なルールは、常にビジネスステークホルダーとの積極的な参加と関与の結果であるということです。
システム
ユースケース
- ATM
- 現金の引き出し、送金、寄付、請求書の支払い、PINの変更
- オンラインフォトアルバム
- 写真のアップロード、写真の共有、写真の削除
- 健康追跡アプリ
- 運動記録、運動統計の作成、目標への挑戦
上記の例に基づいて、以下の議論がなされるかもしれません:
ユースケースは観察可能な目標をもたらす
ユースケースの例 – ATM
ATMは、ユースケースやユースケース分析の概念を説明する際の古典的な例です。すべてのATM操作において不可欠な「ログイン」にユースケースがない理由が疑問に思うかもしれません。前述したように、ユースケースは達成すべきビジネス目標です。それらは、ユースケースを達成するためにシステムと相互作用するアクターに観察可能な結果をもたらします。ここでは、「ログイン」は他の操作の一部にすぎません。「ログイン」自体は観察可能な結果をもたらしません。誰もATMにログインしてそのまま去るわけではありませんよね?したがって、「ログイン」はユースケースとは見なしません。
「PINの変更」はあまりにも小さなタスクなのでユースケースとは言えないのでは?答えは、ユースケースの特定はユーザーが行う作業量や開発すべきシステム機能の数に基づくものではありません。ビジネスステークホルダーが対象システムが達成すべきビジネス目標である限り、それはユースケースです。この場合、ATMを通じて顧客がPINを変更することをユースケースと見なしています。
ユースケースの例 – オンラインフォトアルバム
一般的なオンライン写真アルバムでは、ユーザーがアップロードした写真にタグを付けることができます。では、「写真にタグを付ける」はユースケースとなるのでしょうか?答えは:状況による。ビジネスの関係者が、ユーザーがセッション内で他の操作を一切行わずに、写真にタグを付けるためにシステムにアクセスできるようにしたい場合、「写真にタグを付ける」はユースケースとなるべきです。しかし、タグを付けることが写真のアップロードプロセスの一環に過ぎず、その後に別の方法でタグを付ける手段がないと考える場合、「写真にタグを付ける」はユースケースとはならないでしょう。別のケースとして、関係者がユーザーがアップロードした写真のタイトル、説明、タグなどの任意のプロパティを編集できるようにしたいと考えている場合、「写真を編集する」というユースケースが作成される可能性があります。このように、ユースケースの特定は単なる一時的なステップではないことがわかります。写真にタグを付ける機能が、「写真にタグを付ける」ユースケースと「写真を編集する」ユースケースの下で、どのようにサポートされるかは大きく異なるでしょう。
ユースケースの例 – ヘルストラッキングアプリ
ユースケースは要件ではないとはいえ、それによって抽象的で焦点のないものになるわけではありません。ヘルストラッキングアプリを例に挙げましょう。運動の記録、運動統計の生成、目標への挑戦は、機能の範囲を明確に定義するのに十分です。健康を維持するということがユースケースとなるでしょうか?いいえ、これは適切な選択ではありません。なぜならその範囲が広すぎるからです。すべてのヘルストラッキングアプリはユーザーがこの目標を達成するのを支援しようとしていますが、この大きな目標だけでは、アプリが実際にどのような機能を提供できるのかが不明瞭です!
ユースケースをどう書くか?
ユースケースの最も単純な形は、ビジネス目標を記述する「+」または「-」で構成されます。以下にいくつかの例を示します:
- アカウント登録
- 注文する
- 現金を引き出す
- 求人を掲載する
- ケースの失敗を調査する
前述したように、ユースケースはビジネス目標を特定することを目的としています。要件の作成や、ユーザーとシステム間の相互作用の記述には使用しないでください。これらのステップは後続の開発活動で詳細に記述されますが、現時点ではそうしません。
ユースケースとユーザーストーリーの併用
ユーザーストーリーもアジャイル開発における重要なツールです。各ユーザーストーリーは、ユーザーの視点から書かれた短い記述で構成されます。以下にユーザーストーリーの例を示します:
- ユーザーはクレジットカードで支払いを完了したい。
- ユーザーはPayPalで支払いを完了したい。
- ユーザーはチェックアウト時に配送保険をオプションで追加したい。
- ユーザーはチェックアウト時に異なる配送先を選択したい。
- ユーザーは注文が正常に作成された際にSMSを受け取りたい。
ユースケースは機能の範囲を定義するためのツールであり、一方でユーザーストーリーはユーザーが業務の一部として行う、または行いたい行動を捉えます。最終的に、いくつかの要件が生成されます。この2つの要件収集スキルを活用することで、適切な要件を特定できます。その手順は以下の通りです。まず、ビジネスの関係者と連携して、ビジネス目標をユースケースとして特定します。次に、特定のユースケースに注目し、現場のユーザーと連携して、そのユースケースに含まれるユーザーストーリーを特定します。ユーザーストーリーの特定はユースケースによって導かれるため、最終的に得られる要件はビジネス目標と整合性を持つことになります。

Visual Paradigmは、以下のすべてのツールを提供しています。アジャイルソフトウェア開発、以下のものを含んでいます。UMLユースケース図ツール, (アジャイル)ユーザーストーリー, スプリント, ストーリーボードおよびワイヤーフレームUXデザイン用、タスク管理ツール、など
参考文献
- ユースケース図 – 統一モデリング言語(UML)
- GeeksforGeeks. (2023年11月24日). ユースケース図 – 統一モデリング言語(UML) .
- ユースケース図とは何ですか?
- Visual Paradigm. (n.d.). ユースケース図とは何ですか? .
- UMLユースケース図を作成する
- Microsoft Support. (n.d.). UMLユースケース図を作成する .
- ユースケース図のベストプラクティスと例
- Justinmind. (n.d.). ユースケース図のベストプラクティスと例 .
- ユースケース図のテンプレート
- Visual Paradigm. (n.d.). ユースケース図のテンプレート .
- UML用Visual Paradigmにおけるユースケースの説明
- AngelFire. (n.d.). UML用Visual Paradigmにおけるユースケースの説明 .
- ユースケース図
- ユースケース図の描き方
- Visual Paradigm。(年月日未定)。ユースケース図の描き方 91.