# 要件定義 ## 概要 *この機能/システムの高レベルな目的と目標を記述してください。* ## ユーザーストーリー ### ストーリー1: [ユーザーストーリーのタイトル] **私は** [ユーザーの種類]として **〜したい** [目標/要望] **なぜなら** [利益/価値] #### 受入基準(EARS記法) - **REQ-001**: [条件/トリガー]の時、システムは[期待される振る舞い]しなければならない - **REQ-002**: もし[前提条件]ならば、システムは[期待される振る舞い]しなければならない - **REQ-003**: [継続条件]の間、システムは[期待される振る舞い]しなければならない - **REQ-004**: [場所/コンテキスト]において、システムは[期待される振る舞い]しなければならない ### ストーリー2: [ユーザーストーリーのタイトル] **私は** [ユーザーの種類]として **〜したい** [目標/要望] **なぜなら** [利益/価値] #### 受入基準(EARS記法) - **REQ-005**: [条件/トリガー]の時、システムは[期待される振る舞い]しなければならない ## 非機能要件 ### 性能要件 - **NFR-001**: システムは[性能要件]を満たさなければならない ### セキュリティ要件 - **NFR-002**: システムは[セキュリティ要件]を満たさなければならない ### ユーザビリティ要件 - **NFR-003**: システムは[ユーザビリティ要件]を満たさなければならない ## 依存関係 *外部依存関係や前提条件をリストアップしてください。* ## スコープ外 *この仕様に含まれないものを明示的にリストアップしてください。* --- ## EARS記法の書き方ガイド ### 基本パターン - **基本形**: システムは[振る舞い]しなければならない - **イベント駆動**: [イベント]の時、システムは[振る舞い]しなければならない - **条件付き**: もし[条件]ならば、システムは[振る舞い]しなければならない - **継続的**: [状態]の間、システムは[振る舞い]しなければならない - **場所/コンテキスト**: [場所]において、システムは[振る舞い]しなければならない ### 良い要件の例 - REQ-001: ユーザーがログインボタンをクリックした時、システムは2秒以内に認証処理を完了しなければならない - REQ-002: もしパスワードが間違っている場合、システムはエラーメッセージを表示しなければならない - REQ-003: ファイルアップロード中、システムは進捗状況を表示しなければならない - REQ-004: モバイル環境において、システムはレスポンシブデザインで表示しなければならない - NFR-001: システムは同時に1000人のユーザーアクセスを処理できなければならない ### 避けるべき表現 - 「〜すべきである」「〜することが望ましい」→ 「〜しなければならない」を使用 - 曖昧な表現(「速く」「使いやすく」)→ 具体的な数値や基準を使用 - 複合要件(複数の「しなければならない」)→ 個別の要件に分割