← AI開発 資料アーカイブ
要件定義テンプレート

SRSテンプレート(IEEE 29148 / ISO 25010準拠・空欄記入式)

元ファイル: システム要件定義の分析と汎用化方法/SRS_TEMPLATE.md

要約

IEEE 29148:2018とISO 25010:2023に準拠したソフトウェア要件仕様書の汎用テンプレート(v3.0)。[角括弧]を自分のプロジェクト用に書き換えて使う記入式で、8章構成。機能要件はFR-カテゴリ-番号のID採番とMoSCoW優先度、Given-When-Then受け入れ基準で記述する。付録にユースケース図・データモデル・Claude Codeへの引き渡し手順を含む。

要点

SRSIEEE29148ISO25010要件定義テンプレート受け入れ基準ClaudeCode

SRS(ソフトウェア要件仕様書)テンプレート

準拠規格:IEEE 29148:2018 / ISO 25010:2023

バージョン:v3.0

使い方:[角括弧]の部分を自分のプロジェクトに書き換える


ドキュメント管理

項目 内容
ドキュメントID SRS-[プロジェクト略称]-v1.0
プロジェクト名 [プロジェクト名]
作成日 [YYYY-MM-DD]
最終更新日 [YYYY-MM-DD]
作成者 [名前]
ステータス 草稿 / レビュー中 / 承認済み

1. はじめに(IEEE 29148 §5.2)

1.1 目的

本ドキュメントは、[プロジェクト名]の機能要件・非機能要件・制約条件を定義する。 開発者(Claude Code)はこのドキュメントに基づいて実装を行い、このドキュメントに記載のない機能は実装しない。

1.2 スコープ

システム名: [システム名]

何をするシステムか(一文で): [例:Substack記事を自動スケジュール投稿し、購読者への配信を管理するWebアプリケーション]

スコープ内(作るもの): - [機能1] - [機能2] - [機能3]

スコープ外(作らないもの): - [作らない機能1] - [作らない機能2]

1.3 定義・略語

用語 定義
[用語1] [定義]
[用語2] [定義]

1.4 参照文書


2. 全体的な説明(IEEE 29148 §5.3)

2.1 システム概要

[システムの全体像を2〜3文で説明する]

2.2 ユーザー像(ペルソナ)

主要ユーザー: - 名前:[ペルソナ名] - 属性:[年齢・職業・ITリテラシー] - 目的:[このシステムを使って何を達成したいか] - 課題:[現在困っていること]

2.3 動作環境

項目 要件
OS [例:Windows 10以上 / macOS 12以上]
ブラウザ [例:Chrome最新版 / Safari最新版]
インターネット [例:必須(常時接続)]
画面解像度 [例:1280x720以上]

2.4 制約条件


3. 外部インターフェース要件(IEEE 29148 §5.4.1)

3.1 ユーザーインターフェース

3.2 外部システム連携

外部システム 連携方法 用途
[例:Substack API] [例:REST API] [例:記事の投稿・管理]
[例:SendGrid] [例:REST API] [例:メール送信]

4. 機能要件(IEEE 29148 §5.4.2)

要件IDの命名規則

FR-[機能カテゴリ]-[番号]
例:FR-AUTH-001(認証機能の要件001)
    FR-ART-001(記事管理機能の要件001)

優先度の定義


4.1 [機能カテゴリ名:例:ユーザー認証]

FR-AUTH-001:[機能名:例:ユーザー登録]

項目 内容
優先度 Must
説明 [機能の説明]

受け入れ基準(Given-When-Then):

Given(前提):
  - [前提条件1]
  - [前提条件2]

When(操作):
  - [ユーザーが行う操作]

Then(結果):
  - [期待される結果1]
  - [期待される結果2]

異常系:

Given:[異常な前提条件]
When:[操作]
Then:[エラーメッセージや処理]

FR-AUTH-002:[機能名:例:ログイン]

項目 内容
優先度 Must
説明 [機能の説明]

受け入れ基準:

Given:[前提条件]
When:[操作]
Then:[期待結果]

4.2 [機能カテゴリ名:例:記事管理]

FR-ART-001:[機能名]

項目 内容
優先度 Must
説明 [機能の説明]

受け入れ基準:

Given:[前提条件]
When:[操作]
Then:[期待結果]

5. 非機能要件(ISO 25010:2023準拠)

5.1 パフォーマンス(Performance Efficiency)

要件ID 要件 測定方法
NFR-PERF-001 ページ読み込み時間が3秒以内 ブラウザの開発ツールで計測
NFR-PERF-002 API応答時間が1秒以内 ネットワークタブで計測

5.2 信頼性(Reliability)

要件ID 要件 測定方法
NFR-REL-001 稼働率99%以上(月間ダウンタイム7時間以内) 監視ツールで計測
NFR-REL-002 データ損失ゼロ(バックアップ毎日1回) バックアップログ確認

5.3 セキュリティ(Security)

要件ID 要件 確認方法
NFR-SEC-001 全通信をHTTPS化 ブラウザの鍵マーク確認
NFR-SEC-002 パスワードをbcryptでハッシュ化 DBの値を確認
NFR-SEC-003 セッションタイムアウト(24時間) 動作確認

5.4 使用性(Usability)

要件ID 要件 確認方法
NFR-USE-001 ITに不慣れなユーザーが説明書なしで主要機能を使えること ユーザーテスト
NFR-USE-002 エラーメッセージが日本語で分かりやすく表示されること 目視確認

5.5 保守性(Maintainability)

要件ID 要件 確認方法
NFR-MAINT-001 テストカバレッジ80%以上 カバレッジレポート
NFR-MAINT-002 全公開関数にJSDocコメントがあること コードレビュー

6. 制約条件(IEEE 29148 §5.5)

6.1 技術制約

6.2 ビジネス制約

6.3 法的制約


7. 用語集

用語 定義
[用語1] [定義]
[用語2] [定義]

8. 付録

付録A:ユースケース図(テキスト形式)

[ユーザー] → [機能1] → [システム]
[ユーザー] → [機能2] → [システム]
[システム] → [外部API] → [外部サービス]

付録B:データモデル(主要テーブル)

users テーブル:
  id, email, password_hash, created_at, updated_at

articles テーブル:
  id, user_id, title, content, status, scheduled_at, created_at

付録C:Claude Codeへの引き渡し手順

このSRS(docs/SRS_v1.md)を読んで、以下を実施してください:

1. 不明な点・矛盾する点があれば先に質問してください
2. Phase 1(Must要件)の実装計画を提示してください
3. 実装計画に同意したら、AGENT-ARCHとしてSDDを作成してください
4. SDD完成後、AGENT-DEVとして実装を開始してください

↑ トップへ戻る