ユースケース図を UML 表記で表示するだけでは不十分です。各ユースケースには、ユースケースの目的と、ユースケースの実行時にどのような機能が実行されるかを説明するテキストが付属しています。
ユースケースの仕様は、通常、分析および設計段階で反復的に作成されます。
- 最初に、ユースケースの通常のフローを実行するために必要な手順の簡単な説明(つまり、ユースケースによって提供される機能)のみが記述されます。
- 分析が進むにつれて、詳細を追加するための手順が具体化されます。
- 最後に、例外的なフローがユースケースに追加されます
- 各プロジェクトは、ユースケース仕様を作成するための標準のユースケーステンプレートを採用できます。
ユースケースとユースケースの仕様
ユースケースは、ビジネスのビジネス価値の結果をもたらすアクターによって実行されるタスクを説明します。ユースケースは、ユースケース図として、または構造化されたテキスト仕様形式で視覚化できます。

ユースケース(タスク—顧客が実行したい)は次のとおりです。
- インタラクティブ —システムのユースケースは、定義されたビジネス目標を追求するためのシステムとのアクターの相互作用を説明します
- 手動 —アクターによって実行される一連のアクション
- 自動化 —プログラムまたはスクリプトによって実行される一連のステップ
ユースケースの特徴
ユースケースには次のものがあります。
- たった1つの目標
- 単一の出発点
- 単一の終点
- 最初から最後まで取得するための複数のパス
- つまり、考えられるさまざまな条件の動作を指定します
- 各条件には、特定のアクションが必要な場合があります

例—顧客は請求書を支払います:

目標を達成するための複数のパスがあります :
- 電話での支払い
- メールで
- 直接会って
- チェックで
- 現金等
目標に到達しないパス :
- クレジットカードは拒否されます
アジャイルユースケースアプローチ
ユースケースモデルとその個々のユースケースは、時間の経過とともにレベルごとに進化します。モデルのすべてのユースケースを必ずしも同じ詳細レベルで指定する必要があるわけではありません。
ジャストインタイムとジャストイナフ
ユースケースは、さまざまなレベルのデータとスコープで記述でき、それぞれが目的を果たします。
- 概要:システム機能またはビジネスプロセスの一般的な説明と概要。
- ユーザーレベル :ユーザーのタスク関連の説明と、ユーザーがシステムと対話する方法。特定のビジネスプロセスの説明。ユーザーレベルのユースケースは、通常、ユーザーの主な作業であるタスクのレベルにあると見なされます。
- サブ機能:コアユースケースのサブパートを完了するために使用される下位レベルのアクティビティの説明。

注:一部のユースケースは、レベルIIまで十分に指定されている場合があります。ジャストインタイムでジャスト十分な方法を使用して十分な詳細が達成されたら、停止します。
詳細なユースケース仕様
詳細なユースケースは、一連のイベントを他の関連するユースケース情報とともに特定の形式で示すテキスト表現です。人々は通常、ユースケースの詳細情報を記録するために標準のユースケーステンプレートを採用します

ユースケーステンプレート—ATM引き出しケースの例
前述のように、ユースケースにはいくつかの表記スタイルがあります(たとえば、ダイアグラムスタイル、統一モデリング言語、テキスト形式)。使用する表記は、理解しやすいものにする必要があります。Alistair Cockburnのテンプレートのようなテンプレートを使用できますが 、チームに最適なものを使用するオプションもあります。
ユースケース仕様
ユースケース名: 現金の引き出し
アクター:顧客(一次)、銀行システム(二次)
概要説明: 銀行の顧客が銀行口座から現金を引き出すことができるようにします。
優先順位: 持っている必要があります
ステータス: 中レベルの詳細
事前条件: 銀行の顧客がATMに挿入するカードを持っている
ATMが正しくオンラインになっている
事後条件:
- 銀行の顧客は現金(およびオプションで領収書)を受け取りました
- 銀行は顧客の銀行口座から引き落としを行い、取引の詳細を記録しました
基本パス:
- 顧客は自分のカードをATMに入力します
- ATMは、カードが有効な銀行カードであることを確認します
- ATMはPINコードを要求します
- 顧客はPINコードを入力します
- ATMは銀行カードをPINコードと照合して検証します
- ATMは「引き出し」を含むサービスオプションを提示します
- お客様は「撤回」を選択します
- ATMは金額のオプションを提示します
- 顧客が金額を選択するか、金額を入力します
- ATMは、ホッパーに十分な現金があることを確認します
- ATMは、顧客が引き出し限度額を下回っていることを確認します
- ATMは、顧客の銀行口座に十分な資金があることを確認します
- ATMは顧客の銀行口座から引き落とします
- ATMは顧客の銀行カードを返します
- 顧客は銀行カードを受け取ります
- ATMは顧客の現金を発行します
- 顧客は現金を受け取ります
代替パス:
2a。無効なカード
2b。カードを逆さまにします
5a。盗まれたカード
5b。PINが無効です
10a。ホッパーの現金が不足しています
10b。ホッパーの現金の額面が間違っている
11a。引き出し限度を超える引き出し
12a。顧客の銀行口座の資金が不足しています
14a。銀行カードがマシンに詰まっている
15a。顧客が銀行カードを受け取れない
16a。現金がマシンに詰まっている
17a。顧客が現金を受け取れない
- ATMは銀行システムと通信できません
- b顧客がATMプロンプトに応答しない
ビジネスルール:
B1:PINの形式
B2:PINの再試行回数
B3:サービスオプション
B4:金額オプション
B5:撤回制限
B6:現金を払い出す前にカードを持ち去る必要があります
非機能要件:
NF1:完全なトランザクションの時間
NF2:PIN入力のセキュリティ
NF3:カードと現金の回収を許可する時間
NF4:言語サポート
NF5:ブラインドおよび部分的にブラインドのサポート