- まず、ユースケースの通常の流れに必要な手順のみについて簡潔な記述を書く(つまり、ユースケースが提供する機能)。
- 分析が進むにつれて、これらの手順はより詳細に拡張される。
- 最後に、代替フローおよび例外フローがユースケースに追加される。
- 各プロジェクトは、標準的なユースケーステンプレートを採用して、ユースケース仕様書を作成できる。
ユースケース vs. ユースケース仕様書
ユースケースは、ビジネス価値を提供するアクターが実行するタスクを記述する。ユースケースは、ユースケース図および/または構造化されたテキスト形式の仕様として可視化できる。

- インタラクション — システムユースケースは、アクターが定義されたビジネス目標を達成するためにシステムとどのようにやり取りするかを記述する。
- 手動 — アクターが実行する一連のアクション。
- 自動 — プログラムまたはスクリプトによって実行される一連のステップ。
ユースケースの特徴
ユースケースには以下の特徴がある。
- 唯一の目的
- 一つの開始点
- 一つの終了点
- 開始から終了までの複数の経路
- つまり、さまざまな可能な状況に対する動作を指定する
- 各状況には特定のアクションが必要となる場合がある

例:顧客が請求書を支払う:

目的を達成するための複数の経路がある目的を達成する:
- 電話で
- 郵送
- 対面
- 振込
- 現金など
目的に至らないパス:
- クレジットカードが拒否されました
アジャイルなユースケースアプローチ
ユースケースモデルおよびその個々のユースケースは時間とともに段階的に進化する。モデル内のすべてのユースケースが同じ詳細レベルで定義される必要はない。
タイムリーかつ適正な量
ユースケースは、異なる詳細度と範囲で記述でき、それぞれが目的を果たす。
- 概要:システム機能またはビジネスプロセスの一般的な説明と高レベルな概要。
- ユーザー目標レベル:タスク関連の記述ユーザーの目標とシステムとのやり取り;特定のビジネスプロセスの記述。ユーザー目標のユースケースは、通常、ユーザーの主要な作業タスクのレベルとされる。
例:ATMから現金を引き出すことは有用なタスクであり、コアレベルのユースケースとなるが、PINを入力することは主なタスクを支援するため、このレベルには含まれない。
- サブ機能:コアユースケースの一部を完了するための低レベルの活動の記述。

注意:一部のユースケースはレベルIIまで完全に記述される場合がある。必要なだけの詳細を、適切なタイミングで適切な量だけ得られたら、停止する。
詳細なユースケース仕様
詳細なユースケースは、特定のフォーマットで、イベントの順序とその他の関連するユースケース情報をテキスト形式で記述したものである。人々は通常、標準的なユースケーステンプレートを用いて詳細なユースケース情報を記録する。

ユースケーステンプレート – ATM現金引き出しの例
前述したように、ユースケースにはさまざまな表記スタイル(例:図式、UML、テキスト形式)がある。使用する表記にかかわらず、理解しやすいものでなければならない。アリスター・コックバーンによるテンプレートなど、お使いのチームに最も適したテンプレートを選択して使用できる。アリスター・コックバーン、またはチームに最も適したテンプレートを選択する。
| ユースケース仕様 | ||
|---|---|---|
| ユースケース名: | 現金の引き出し | |
| アクター: | 顧客(主なアクター)、銀行システム(補助的アクター) | |
| 概要: | 任意の銀行顧客が自分の口座から現金を引き出すことを可能にする。 | |
| 優先度: | 必須 | |
| 状態: | 中程度の詳細 | |
| 事前条件: | 銀行顧客がATMに挿入可能なカードを持っている ATMはオンラインで正常に動作している |
|
| 事後条件: |
|
|
| 基本フロー: |
|
|
| 代替フロー: | 2a. 無効なカード 2b. カードが逆向きに挿入された 5a. 盗難されたカード 5b. 無効なPIN 10a. マシン内の現金が不足している 10b. マシン内の現金の額面が正しくない 11a. 引出金額が引き出し限度額を超える 12a. 顧客の口座に十分な資金がない 14a. 銀行カードがマシンに詰まっている 15a. 顧客が銀行カードを受け取らない 16a. 現金がマシンに詰まっている 17a. 顧客が現金を受け取らない
|
|
| ビジネスルール: | B1: PINのフォーマット B2: PINの再試行回数 B3: サービスオプション B4: 金額オプション B5: 引出限度額 B6: 現金を払い出す前にカードを取出さなければならない |
|
| 非機能要件: | NF1: 取引完了に要する時間 NF2: PIN入力のセキュリティ NF3: カードおよび現金の受け取りに許可される時間 NF4:言語サポート NF5:視覚障害者および視力が一部損なわれたユーザーへの対応 |
|