[ 機能名 ]

最終更新: [ 更新日を記載 ]

関連ユーザーストーリー

  • ../user_story/[ユーザーストーリーファイル名]

アクター

  • [ 主アクター名 ]: [ 役割・説明 ](主アクター)

  • [ 副アクター名 ]: [ 役割・説明 ](副アクター)

  • [ システム名 ]: [ 外部システムの役割 ](副アクター)

事前条件

  • [ システム状態(例:システムが正常に動作している) ]

  • [ ユーザー状態(例:ユーザーがトップページにアクセス可能である) ]

  • [ データ状態(例:外部システムが正常に動作している) ]

  • [ 外部システム状態(例:必要な画面が正常に表示される) ]

事後条件

成功時:

  • [ 正常終了時のシステム状態(例:新しいデータが作成されている) ]

  • [ ユーザーに表示される内容(例:完了画面が表示されている) ]

  • [ データ状態変化(例:ステータスがアクティブ状態になっている) ]

  • [ 外部連携(例:確認メールが送信されている) ]

  • [ 権限・機能変更(例:新機能が利用可能になっている) ]

失敗時:

  • [ 異常終了時のシステム状態(例:データが作成されていない) ]

  • [ エラー表示(例:エラーメッセージが表示されている) ]

  • [ ユーザー状態(例:ユーザーは元の状態のまま) ]

基本コース

  1. [ アクター ]が[ システム画面・機能 ]にアクセスする

  2. [ アクター ]が「[ ボタン名・操作 ]」をクリックする

  3. システムが[ 画面名 ]を表示する

  4. [ アクター ]が必要な情報を入力する - [ 必須項目1 ] - [ 必須項目2 ] - [ 必須項目3 ]

  5. [ アクター ]が[ 同意・設定 ]を行う

  6. [ アクター ]が「[ 実行ボタン名 ]」をクリックする

  7. システムが[ バリデーション処理 ]を実行する

  8. システムが[ 重複・制約チェック ]を実行する

  9. システムが[ 強度・形式チェック ]を実行する

  10. システムが[ データ ]をデータベースに保存する

  11. システムが[ 外部システム ]に[ 依頼内容 ]を依頼する

  12. [ 外部システム ]が[ 処理内容 ]を実行する

  13. システムが[ 完了画面 ]を表示する

  14. システムが[ 後続処理 ]を実行する

  15. ユースケース終了

代替コース

7a. [ バリデーションエラー ]がある場合

7a1. システムが[ エラー種別 ]を検出する 7a2. システムが該当項目に[ エラーメッセージ ]を表示する 7a3. [ アクター ]がエラーを修正する 7a4. 基本コースの手順7に戻る

8a. [ 重複・制約違反 ]の場合

8a1. システムが[ 重複・制約 ]を検出する 8a2. システムが「[ 具体的エラーメッセージ ]」というエラーメッセージを表示する 8a3. システムが「[ 代替手段リンク ]」リンクを提供する 8a4. システムが「[ 修正手段リンク ]」リンクを提供する 8a5. ユースケース終了

9a. [ 強度・形式不足 ]の場合

9a1. システムが[ 条件不足 ]を検出する 9a2. システムが「[ 詳細要件メッセージ ]」というエラーメッセージを表示する 9a3. [ アクター ]が[ 修正対象 ]を修正する 9a4. 基本コースの手順9に戻る

12a. [ 外部システム処理失敗 ]の場合

12a1. [ 外部システム ]が[ エラー種別 ]を返す 12a2. システムが[ ログ記録 ]をログに記録する 12a3. システムが「[ エラー説明メッセージ ]」というメッセージを表示する 12a4. 基本コースの手順13に戻る

入力項目

項目名

必須 / 任意

制限

[ 項目名1 ]

必須

[ 形式制限(例:RFC 5322準拠のフォーマット) ] [ 文字数制限(例:最大254文字) ]

[ 項目名2 ]

必須

[ 強度制限(例:8文字以上) ] [ 文字種制限(例:英数字記号を含む) ] [ 上限制限(例:最大128文字) ]

[ 項目名3 ]

必須

[ 文字数制限(例:最大50文字) ] [ 文字種制限(例:特殊文字制限あり) ]

[ 項目名4 ]

必須

[ 形式制限(例:7桁数字(ハイフンなし)) ] [ 地域制限(例:日本の郵便番号形式) ]

[ 項目名5 ]

必須

[ 選択制限(例:47都道府県から選択) ]

[ 同意項目1 ]

必須

[ 必須選択(例:チェックボックス必須選択) ]

エラーメッセージ

入力項目名

エラーパターン

エラーメッセージ

[ 項目名1 ]

未入力

[ 項目名1 ]は必須です

[ 項目名1 ]

形式不正

正しい[ 形式名 ]形式で入力してください

[ 項目名1 ]

重複

この[ 項目名1 ]は既に登録されています

[ 項目名2 ]

未入力

[ 項目名2 ]は必須です

[ 項目名2 ]

強度不足

[ 項目名2 ]は[ 具体的要件 ]が必要です

[ 同意項目 ]

未同意

[ 同意項目名 ]に同意する必要があります

画面設計

画面遷移図: 画面遷移図

このユースケースに関連する画面遷移図と画面一覧は、画面設計書を参照してください。

画面設計のポイント:

  • [ 開始画面名 ]: [ 画面の役割・説明 ]

  • [ 入力画面名 ]: [ 入力項目・バリデーション説明 ]

  • [ 完了画面名 ]: [ 完了状態・次のアクション説明 ]

  • [ エラー画面名 ]: [ エラー表示・復旧方法説明 ]

メール定義

メールタイトル

メール定義書 リンク

[ メール名1 ]

../mail/[メールファイル名1]

[ メール名2 ]

../mail/[メールファイル名2]

シーケンス図

概念レベル(ロバスト図ベース)

        sequenceDiagram
   participant Client as 主アクター名
   participant WebApp as Webアプリケーション
   participant Service as 処理制御名
   participant DB as エンティティ名
   participant External as 外部アクター名

   Client->>WebApp: 操作実行
   WebApp->>Service: 処理要求
   Service->>DB: データ検証
   DB-->>Service: 検証結果
   Service->>DB: データ作成更新
   DB-->>Service: 作成更新完了
   Service->>External: 外部連携
   External-->>Service: 連携完了
   Service-->>WebApp: 処理完了
   WebApp-->>Client: 完了画面表示
   External->>Client: 外部通知
    

メイン処理フロー

条件分岐テスト

        sequenceDiagram
   participant Client as クライアント
   participant API as API
   participant Service as サービス
   participant DB as データベース

   Client->>API: リクエスト送信
   API->>Service: 処理要求
   Service->>DB: データ検索
   DB-->>Service: 検索結果

   alt データが存在する場合
       Service-->>API: 成功レスポンス
       API-->>Client: データ返却
   else データが存在しない場合
       Service-->>API: エラーレスポンス
       API-->>Client: エラー通知
   end
    

実装レベル(技術アーキテクチャ)

        sequenceDiagram
    participant Client as 主アクター名
    participant Web as フロントエンド名
    participant AppService as アプリケーションサービス名
    participant DomainService as ドメインサービス名
    participant ValidationService as バリデーションサービス名
    participant Repository as リポジトリ名
    participant External as 外部システム名

    Client->>Web: 画面アクセス
    Web-->>Client: 画面表示
    Client->>Web: 情報入力・送信
    Web->>AppService: メソッド名(引数)

    AppService->>Repository: 保存メソッド(エンティティ)
    Repository-->>AppService: 保存完了

    AppService->>ValidationService: 検証メソッド(データ)
    ValidationService-->>AppService: 検証結果

    AppService->>DomainService: ビジネスメソッド(データ)
    DomainService->>DomainService: ビジネスロジック実行
    DomainService-->>AppService: 処理結果エンティティ

    AppService->>Repository: 保存メソッド(結果エンティティ)
    Repository-->>AppService: 保存完了

    AppService->>External: 外部連携メソッド(データ)
    External-->>AppService: 処理完了
    External->>Client: 外部からの通知

    AppService->>AppService: ドメインイベント発行
    AppService-->>Web: 完了レスポンス
    Web-->>Client: 完了画面表示