Use Case Documentation について
ユーザーがシステムとやり取りして目標を達成する手順を、構造化して記述するスキルです。複雑な業務や規制対象の要件定義に向け、成功、代替、エラーの各フローを明示します。
主な機能
- 01構造化されたユースケーステンプレート
- 02アクター、トリガー、事前条件
- 03基本成功フローと代替フロー
- 04事後条件とビジネスルール
- 05能動態で目標に沿って書くための指針
活用シーン
- 01銀行や医療の取引ワークフローの仕様化
- 02代替経路とエラー処理の文書化
- 03コンプライアンス向けの詳細要件作成
- 04ユースケースのフローから Gherkin シナリオへの変換
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ danhvb/ my-ba-skills --skill use-case-documentationインストール後、Claude Code で/use-case-documentationを入力して読み込まれたか確認します。
詳細
ユースケースドキュメント作成スキル
目的
ユーザーが特定の目標を達成するために、システムとどのようにやり取りするかを説明します。ユースケースはユーザー中心の視点から機能要件を捉えたもので、実装前に詳細な仕様が必要となるウォーターフォール型やハイブリッド型の開発環境でよく使用されます。
使用する場面
- 複雑なトランザクションシステム(銀行、医療)。
- 代替フローやエラー処理を厳密に定義する必要がある場合。
- 規制への準拠に詳細なドキュメントが必要な場合。
- ビジネスニーズと技術的な機能仕様との橋渡し。
ユースケースの構成
主な要素
- ユースケース名:動詞と名詞の句(例:「現金を引き出す」)。
- ID:一意の識別子(例:UC-ATM-01)。
- アクター:誰がやり取りしますか?(プライマリ:開始する人、セカンダリ:外部システム)。
- 説明:目標の簡潔な概要。
- 事前条件:開始前に満たされていなければならない条件は何ですか?(例:「ユーザーがログインしている」)。
- トリガー:ユースケースを開始するものは何ですか?(例:「ユーザーが[引き出し]をクリックする」)。
- 成功シナリオ(基本フロー):「ハッピーパス」の手順。
- 代替フロー(拡張):バリエーションやエラー経路。
- 事後条件:正常に完了した後に成立している条件は何ですか?(例:「残高が更新されている」)。
- ビジネスルール:ロジックの関連付け。
ユースケースのテンプレート
例:ATMで現金を引き出す
ID:UC-ATM-01 名前:現金を引き出す プライマリアクター:銀行の顧客 セカンダリアクター:銀行システム(バックエンド)
説明:顧客がATMを利用して、当座預金口座から現金を引き出します。
事前条件:
- ATMに十分な現金がある。
- ATMがオンラインである。
- 顧客が有効なカードとPINを持っている。
トリガー:顧客がカードを挿入する。
成功シナリオ(ハッピーパス):
- 顧客がデビットカードを挿入する。
- システムがカードを読み取れることを確認する。
- システムがPINの入力を求める。
- 顧客がPINを入力する。
- システムが銀行システムでPINを検証する。
- システムがアプリケーションメニューを表示する。
- 顧客が「現金を引き出す」を選択する。
- システムが金額の入力を求める。
- 顧客が金額(例:$100)を入力する。
- システムが1日の限度額と口座残高を確認する。
- システムが取引を承認する。
- システムが現金を払い出す。
- システムがレシートを印刷する。
- システムがカードを排出する。
- ユースケースが終了する。
代替フロー:
-
A1:無効なPIN(ステップ5)
- システムが「PINが無効です」というメッセージを表示する。
- システムがPINの再入力を求める。
- 顧客がPINを再入力する。
- ステップ5に戻る。
- 制約:PINの入力に3回失敗した場合は、**A2(カードをロックする)**を実行する。
-
A2:カードをロックする(A1から)
- システムが「試行回数が上限に達したためカードをロックしました」というメッセージを表示する。
- システムがカードを回収する。
- ユースケースが終了する。
-
A3:残高不足(ステップ10)
- システムが口座残高 < 要求金額であることを確認する。
- システムが「残高不足です」と表示する。
- システムが金額を減らして入力するか、キャンセルするよう求める。
- 顧客が新しい金額を入力する。
- ステップ10に戻る。
-
A4:ATMの現金不足(ステップ10)
- システムが内部の現金払出機の現金 > 要求金額であるか確認する。
- システムが現金不足を検知する。
- システムが「全額を払い出せません」と表示する。
- ユースケースが終了する。
事後条件:
- ユーザーの口座から引き出し額が引き落とされる。
- 取引ログが作成される。
- 現金在庫が更新される。
ユースケースとユーザーストーリーの比較
| 特徴 | ユースケース | ユーザーストーリー |
|---|---|---|
| 焦点 | システムとのやり取りの手順 | ユーザーの価値/目標 |
| 詳細度 | 高(フロー、エラー) | 低(会話のきっかけ) |
| 形式 | ドキュメント/構造化テキスト | カード/付箋(誰が、何を、なぜ) |
| ライフサイクル | 時間をかけて更新/保守 | 完了後に破棄/アーカイブ |
| コンテキスト | ウォーターフォール/ハイブリッド/複雑なシステム | アジャイル/スクラム |
ベストプラクティス
- 能動態で書く:「システムが PIN を検証する」(「PIN が検証される」ではありません)。
- UI のシステム中立性を保つ:「ユーザーが右上の青いボタンをクリックする」とは書かず、「ユーザーがオプションを選択する」と書きます。
- 目標に焦点を当てる:技術的な詳細(例:「システムが JSON パケットを送信する」)にとらわれないようにします。
- 例外を網羅する:すべてのエラーパスが処理されるようにします。
ツール
- Lark Docs / MS Word:標準的な書式設定に使用します。
- Visual Paradigm / UML Tools:ユースケース図に使用します。
- Gherkin:テスト用にユースケースのフローを Gherkin シナリオに変換できます。
コメント
Markdown 対応