- 技術 💻
要件定義書のサンプル|書き方・テンプレートと全9章の記入例
結論
要件定義書は「何を・どこまで作り、何ができたら完成か」を合意する文書です。下のサンプルを9章の型として使えます。
この記事でわかること
- 備品貸出システムの要件定義書サンプル全9章
- コピーして使える目次テンプレートと書き方5手順
- 受け入れ基準7つをテストにして実行した結果
要件定義書は、業務の課題から「何を作るか」を決め、その後の設計と、最後の受け入れテストの両方の土台になります。
flowchart TD
A[業務の課題・要望] --> B[要件定義書<br>何を・どこまで作るか]
B --> C[基本設計書<br>画面・データの形]
C --> D[開発]
D --> E[受け入れテスト<br>完成かを判定]
B -. 受け入れ基準 .-> E
この記事のサンプルは、次の9章でできています。章ごとに「何を書くか」と、サンプルに書いた例を並べました。
| 章 | 書くこと | サンプルの記入例 |
|---|---|---|
| 1 はじめに | 背景・目的・範囲・用語 | 受付の作業 月40時間→10時間 |
| 2 業務要件 | 今と新しい業務・業務ルール | 1人3点まで・最長14日 |
| 3 機能要件 | 要件ID・優先度・受け入れ基準 | FR-01〜FR-12 |
| 4 画面・帳票 | 画面一覧・帳票・メール | 10画面・3帳票・3通 |
| 5 データ | 扱うデータ・件数・保存期間 | 備品450点・5年分 |
| 6 外部連携 | 相手・方式・タイミング | 人事システム 毎朝6時 |
| 7 非機能要件 | 性能・可用性・セキュリティ | 検索は2秒以内 |
| 8 移行 | 何を・いつ・どう移すか | 備品台帳 約450件 |
| 9 受け入れ・未決事項 | 完成の判定・決まっていないこと | 合格の条件4つ |
確認環境:Ubuntu 24.04.4 LTS・Python 3.11.15(SQLite 3.45.1・pytest 9.1.1)で、サンプルの FR-04 の受け入れ基準7つをテストのコードにし、小さな試作に対して実行しました。要件ID・優先度・受け入れ基準の抜け、あいまいな言葉を見つけるチェック用のスクリプトも、サンプルとレビュー前の下書きに通しています。非機能要件の数値は、同じ件数のデータを作って検索の時間を測りました。図は mermaid 11.17.2 で描画を確かめています。IPA の「非機能要求グレード2018」「ユーザのための要件定義ガイド 第2版」、デジタル庁の「デジタル社会推進標準ガイドライン」は公式のページで確かめました(確認日 2026年10月24日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「要件定義書のサンプル|書き方・テンプレートと全9章の記入例」
要件定義書のサンプル(社内の備品貸出システム・全9章)
この節では、要件定義書1冊分のサンプルを、表紙から第9章まで通しで読めます。
題材は、架空の会社(社員約300名・本社1か所)の「社内の備品貸出システム」です。総務部が、ノートPC・プロジェクター・モバイルWi-Fi などの備品を、共有の表計算ファイルと紙の貸出票で管理している、という設定にしました。小さなシステムですが、要件定義書に要る章はすべて入っています。
表紙・変更履歴
| 項目 | 記入例 |
|---|---|
| 文書名 | 備品貸出システム 要件定義書 |
| 版 | 1.0 |
| 作成 | 総務部(業務の責任者)・開発会社(取りまとめ) |
| 承認者 | 総務部長 |
| 版 | 日付 | 変更の内容 | 承認 |
|---|---|---|---|
| 0.9 | 2026年11月30日 | レビュー用の初版 | ― |
| 1.0 | 2026年12月18日 | レビューの指摘12件を反映 | 総務部長 |
第1章 はじめに(背景・目的・対象範囲・用語)
1.1 背景
備品(約450点)の貸出は、社員が総務部の窓口に来て紙の貸出票を書き、総務部の担当者2名が共有の表計算ファイルに転記している。貸出は月に約300件あり、受付と転記に1件あたり約8分、月に約40時間かかっている。前回の棚卸では、所在が分からない備品が12点あった。返却期限を過ぎた貸出は月平均15件ある。
1.2 目的(業務要件の目標)
| ID | 業務要件 | 目標(数値) |
|---|---|---|
| BR-01 | 貸出の受付と転記の作業を減らす | 月40時間 → 月10時間以下 |
| BR-02 | 備品の所在と、誰が借りているかをすぐ分かるようにする | 所在不明 12点 → 0点 |
| BR-03 | 返却期限を過ぎる貸出を減らす | 月平均15件 → 5件以下 |
| BR-04 | 棚卸の時間を短くする | 1回16時間 → 4時間以下 |
1.3 対象範囲と対象外
| 対象 | 対象外 |
|---|---|
| 社員による備品の検索・予約・貸出の申請 | 社外の人への貸出 |
| 貸出・返却の記録と、返却期限のお知らせ | 備品の購入の申請・発注 |
| 備品の登録・変更・廃棄と、棚卸 | 備品の費用を部ごとに分ける計算 |
| 人事システムからの社員データの取り込み | 人事システム・認証基盤の改修 |
1.4 用語集
| 用語 | 意味 |
|---|---|
| 備品 | 総務部が管理し、社員に貸し出す物(消耗品は含まない) |
| 管理番号 | 備品ごとの番号(例:EQ-0001)。QR コードのラベルにして貼る |
| 予約 | 借りる日より前に、備品を押さえておくこと |
| 貸出の申請 | 借りる日と返す日を入れて、備品を借りたいと申し出ること |
| 返却期限 | 借りる日を1日目と数えて、申請した最後の日 |
| 承認者 | 申請した人の上長(人事システムに登録された上長) |
1.5 関係者と役割
| 関係者 | 役割 |
|---|---|
| 総務部 | 業務の責任者。要件の決定、受け入れテスト、移行データの準備 |
| 総務部長 | 要件定義書の承認者 |
| 情報システム部 | 認証基盤・社内標準のクラウドの準備と設定 |
| 人事部 | 社員データ(CSV)の提供 |
| 開発会社 | 要件の取りまとめ、設計・開発・テスト |
第2章 業務要件(今の業務・新しい業務・業務ルール)
2.1 今の業務(As-Is)と課題
| 手順 | 今のやり方 | 課題 |
|---|---|---|
| 1 空きを確かめる | 窓口か電話で総務部に聞く | 総務部が不在だと分からない |
| 2 借りる | 紙の貸出票を書き、総務部が表計算ファイルに転記 | 1件約8分。転記の誤りがある |
| 3 返す | 窓口に返し、総務部が返却日を入れる | 期限を過ぎても気づかれにくい |
| 4 棚卸 | 年2回、2名で台帳と現物を1点ずつ照合 | 1回16時間かかる |
2.2 新しい業務(To-Be)
社員は自分で空きを確かめて申請し、総務部は受け渡しと返却のときに QR コードを読み取るだけにします。
flowchart TD
A[社員が空きを検索] --> B[貸出の申請]
B --> C{10万円以上}
C -- はい --> D[上長が承認]
C -- いいえ --> E[総務が QR で受け渡し]
D --> E
E --> F[返却時に QR で記録]
2.3 業務ルール
| ルールID | 内容 |
|---|---|
| R-01 | 1人が同時に借りられる(申請中を含む)備品は3点まで |
| R-02 | 貸出の期間は最長14日。借りる日を1日目と数える(4月12日に借りたら4月25日まで) |
| R-03 | 延長は1回だけ、7日まで(Q-02 で確定させる) |
| R-04 | 取得価額10万円以上の備品は、上長の承認がいる |
| R-05 | 返却期限を過ぎた備品を持っている人は、新しく申請できない |
| R-06 | 同じ備品を、同じ期間に2人に貸し出さない |
2.4 貸出の状態
| 状態 | 次に進む操作 |
|---|---|
| 承認待ち | 上長が承認 → 受け渡し待ち/上長が却下 → 却下 |
| 受け渡し待ち | 総務が QR を読み取って渡す → 貸出中/本人が取り消す → 取消 |
| 貸出中 | 総務が QR を読み取って受け取る → 返却済み |
| 返却済み・却下・取消 | ここで終わり |
第3章 機能要件(機能一覧と受け入れ基準)
3.1 機能一覧
優先度は MoSCoW(Must:必ず作る、Should:できれば作る、Could:余力があれば作る、Won't:今回は作らない)で付けました。
| 要件ID | 機能 | 使う人 | 優先度 | 業務要件 |
|---|---|---|---|---|
| FR-01 | 社内の認証基盤でログインする | 全員 | Must | BR-01 |
| FR-02 | 備品を検索し、日ごとの空きを見る | 全員 | Must | BR-01, BR-02 |
| FR-03 | 借りる日より前に予約する | 全員 | Should | BR-01 |
| FR-04 | 貸出を申請する | 全員 | Must | BR-01 |
| FR-05 | 10万円以上の備品の申請を承認・却下する | 承認者 | Should | BR-01 |
| FR-06 | QR を読み取って受け渡しを記録する | 総務 | Must | BR-01, BR-02 |
| FR-07 | QR を読み取って返却を記録する | 総務 | Must | BR-02 |
| FR-08 | 返却期限の前日と超過時にメールを送る | システム | Must | BR-03 |
| FR-09 | 貸出状況の一覧を見て CSV に出す | 総務 | Must | BR-02 |
| FR-10 | 備品を登録・変更・廃棄し、QR ラベルを印刷する | 総務 | Must | BR-02, BR-04 |
| FR-11 | QR を読み取って棚卸の照合をする | 総務 | Should | BR-04 |
| FR-12 | 分類ごと・月ごとの貸出の件数を集計する | 総務 | Could | BR-02 |
今回は作らないもの(Won't):社外への貸出、備品の購入の申請、費用を部ごとに分ける計算、スマートフォン向けのアプリ。
3.2 FR-04 貸出の申請(詳細)
| 項目 | 内容 |
|---|---|
| 要件 | 社員は、空いている備品を、借りる日と返す日を入れて申請できる |
| 使う人 | すべての社員 |
| 入力 | 備品の管理番号・借りる日・返す日・使う目的(30文字まで) |
| 関係する業務ルール | R-01・R-02・R-04・R-05・R-06 |
| 結果 | 申請番号と状態(受け渡し待ち/承認待ち)を画面に出す |
FR-04 の受け入れ基準(この7つは、後の節でテストのコードにして実行しています)
| 基準ID | 要件ID | 受け入れ基準 |
|---|---|---|
| AC-04-1 | FR-04 | 空いている備品を申請すると、申請番号が出て、状態が「受け渡し待ち」になる |
| AC-04-2 | FR-04 | 4月12日から4月25日までは申請できる。4月26日までにすると「貸出期間は最長14日です」と出て申請できない |
| AC-04-3 | FR-04 | 申請中を含めて3点を借りている人が4点目を申請すると「同時に借りられるのは3点までです」と出る |
| AC-04-4 | FR-04 | 返却期限を過ぎた備品を持つ人が申請すると「返却期限を過ぎた備品があります」と出る |
| AC-04-5 | FR-04 | ほかの人と期間が1日でも重なると「この期間はほかの人が予約しています」と出る。重ならなければ申請できる |
| AC-04-6 | FR-04 | 取得価額10万円以上の備品は状態が「承認待ち」になり、上長に承認依頼のメールが1通届く |
| AC-04-7 | FR-04 | 申請のボタンを続けて2回押しても、申請は1件だけ登録される |
3.3 ほかの機能の受け入れ基準(Must と Should)
| 基準ID | 要件ID | 受け入れ基準 |
|---|---|---|
| AC-01-1 | FR-01 | 認証基盤でログインした社員だけがトップ画面を開ける。ログインしていないと認証基盤の画面に移る |
| AC-02-1 | FR-02 | 分類と日付で検索すると、その日に貸出・予約の無い備品だけが出る |
| AC-03-1 | FR-03 | 予約は借りる日の30日前から申請できる。31日前は申請できない |
| AC-05-1 | FR-05 | 承認者が却下すると状態が「却下」になり、申請した人にメールが1通届く |
| AC-06-1 | FR-06 | 受け渡し待ちの備品の QR を読み取ると、状態が「貸出中」になり、渡した日時が残る |
| AC-07-1 | FR-07 | 貸出中の備品の QR を読み取ると、状態が「返却済み」になり、返却日が残る |
| AC-08-1 | FR-08 | 返却期限の前日の9時に本人へ、期限の翌日の9時に本人と上長へメールが届く |
| AC-09-1 | FR-09 | 一覧の CSV は UTF-8(BOM 付き)で、画面に出ている行と同じ件数になる |
| AC-10-1 | FR-10 | 備品を登録すると管理番号が自動で付き、QR ラベルを A4 に24枚ずつ印刷できる |
| AC-11-1 | FR-11 | 棚卸で読み取らなかった備品が「所在不明」として差異リストに出る |
第4章 画面・帳票・メール
| 画面ID | 画面 | 使う人 | 要件ID |
|---|---|---|---|
| SC-01 | ログイン(認証基盤へ移る) | 全員 | FR-01 |
| SC-02 | 備品の検索・空き状況 | 全員 | FR-02, FR-03 |
| SC-03 | 貸出の申請 | 全員 | FR-04 |
| SC-04 | マイページ(借りている物・申請の取消) | 全員 | FR-04 |
| SC-05 | 承認一覧 | 承認者 | FR-05 |
| SC-06 | 受け渡し・返却(QR の読み取り) | 総務 | FR-06, FR-07 |
| SC-07 | 貸出状況の一覧 | 総務 | FR-09 |
| SC-08 | 備品の登録・変更・廃棄 | 総務 | FR-10 |
| SC-09 | 棚卸 | 総務 | FR-11 |
| SC-10 | 貸出の件数の集計 | 総務 | FR-12 |
| ID | 帳票・メール | 要件ID |
|---|---|---|
| RP-01 | 貸出状況の一覧(CSV) | FR-09 |
| RP-02 | 棚卸の差異リスト(CSV) | FR-11 |
| RP-03 | 備品の QR ラベル(A4 に24枚) | FR-10 |
| ML-01 | 承認依頼(上長へ) | FR-04, FR-05 |
| ML-02 | 返却期限の前日のお知らせ(本人へ) | FR-08 |
| ML-03 | 返却期限を過ぎたお知らせ(本人と上長へ) | FR-08 |
画面の配置や項目の並びは、要件定義書には書かず、基本設計書で決めます。
第5章 データ要件
| データ | 主な項目 | 件数の目安 | 残す期間 |
|---|---|---|---|
| 社員 | 社員番号・氏名・所属・上長・メール | 約300人 | 退職後1年 |
| 備品 | 管理番号・分類・品名・取得価額・保管場所・状態 | 450点(1,000点まで) | 廃棄後5年 |
| 貸出 | 申請番号・社員・備品・借りる日・返却期限・返却日・状態 | 月約300件 | 5年 |
| 予約 | 予約番号・社員・備品・借りる日 | 月約100件 | 1年 |
| 棚卸の結果 | 棚卸日・備品・読み取りの有無 | 年2回×450点 | 5年 |
| 操作の記録 | 日時・社員・操作・対象 | 1日約50件 | 1年 |
社員のデータは、このシステムでは作らず、人事システムから取り込みます(第6章)。
第6章 外部システムとの連携
| ID | 相手 | 受け渡すもの | 方式とタイミング |
|---|---|---|---|
| IF-01 | 人事システム | 社員(全件) | 毎朝6時に CSV ファイルを受け取って全件を入れ替える |
| IF-02 | 社内の認証基盤 | ログインした社員の社員番号 | ログインのたび(OpenID Connect) |
| IF-03 | 社内のメールサーバー | お知らせのメール | 送るたび(SMTP) |
IF-01 の CSV の項目と文字コードは、人事部と第2版までに決めます(Q-01)。
第7章 非機能要件
IPA の「非機能要求グレード」の6つの大項目に分けて書きました。
| ID | 大項目 | 要件 |
|---|---|---|
| NFR-01 | 可用性 | 使う時間は平日8時30分〜19時。夜間・休日は予告なく止めてよい |
| NFR-02 | 可用性 | 使う時間の中の稼働率は99.5%以上(月に止まってよいのは約63分) |
| NFR-03 | 可用性 | 止まったときは翌営業日の8時30分までに直す。止まっている間は紙の貸出票で受け、直った後に総務が入力する |
| NFR-04 | 性能・拡張性 | 検索・空き状況の表示は、使う時間の90%以上で2秒以内 |
| NFR-05 | 性能・拡張性 | 同時に50人が使っても NFR-04 を満たす |
| NFR-06 | 性能・拡張性 | 備品1,000点・貸出5年分(約18,000件)まで同じ性能で動く |
| NFR-07 | 運用・保守性 | データを毎日1回バックアップし、7日分を残す |
| NFR-08 | 運用・保守性 | 誰が・いつ・何をしたかの記録を1年残す |
| NFR-09 | 運用・保守性 | 問い合わせは総務が受ける。不具合は開発会社が平日9〜18時に受け、翌営業日までに一次回答する |
| NFR-10 | 移行性 | 切り替えは土日に行い、2027年4月12日(月)から使い始める |
| NFR-11 | セキュリティ | 社内ネットワークから、認証基盤でログインした社員だけが使える |
| NFR-12 | セキュリティ | 権限は一般・承認者・総務の3つ。備品の登録と廃棄は総務だけ |
| NFR-13 | セキュリティ | 個人情報は社員番号・氏名・所属・メールの4項目だけを持つ。通信は HTTPS |
| NFR-14 | システム環境・エコロジー | ブラウザは社内標準の Microsoft Edge と Google Chrome の最新版。QR の読み取りは総務の業務用スマートフォン |
| NFR-15 | システム環境・エコロジー | サーバーは社内標準のクラウドに置き、新しい機器は置かない |
| NFR-16 | その他(使いやすさ) | 初めての社員5人が、説明書なしで3分以内に申請を終えられる(稼働前に確かめる) |
第8章 移行要件
| ID | 移すもの | 方法と時期 | 確かめ方 |
|---|---|---|---|
| MG-01 | 備品台帳(約450行) | 2027年3月に棚卸をして所在を確かめてから、一括で取り込む | 取り込んだ件数が台帳の行数と同じ |
| MG-02 | 切り替え時に貸出中の備品(約60件の見込み) | 切り替えの土日に総務が登録する | 貸出票の枚数と同じ |
| MG-03 | QR ラベル | 3月中に全備品へ貼る | 棚卸の機能で全件を読み取れる |
| MG-04 | 過去の紙の貸出票 | 移さない。紙のまま5年残す | ― |
第9章 受け入れ基準・制約・未決事項
9.1 受け入れ(検収)の条件
総務部が2027年3月に受け入れテストを行い、次の4つをすべて満たしたら受け入れる。
| No | 条件 |
|---|---|
| 1 | Must の機能要件の受け入れ基準が、すべて合格している |
| 2 | NFR-04〜NFR-06 を、本番と同じ件数のデータで測って満たしている |
| 3 | 業務が止まる不具合が0件である |
| 4 | 移した備品の件数が台帳と同じで、総務が20点を抜き取って現物と照合している |
9.2 制約と前提
| 種類 | 内容 |
|---|---|
| 期限 | 2027年4月12日(月)に使い始める |
| 費用 | 別紙の見積書の金額の中で行う |
| 技術 | 社内標準のクラウドと認証基盤を使う |
| 規程 | 個人情報は社内の個人情報の取り扱い規程に従う |
| 前提 | 人事部が、毎朝6時までに社員の CSV を出せる |
9.3 スケジュール
| 工程 | 時期 |
|---|---|
| 要件定義 | 2026年11月〜12月 |
| 基本設計 | 2027年1月 |
| 開発・テスト | 2027年1月〜2月 |
| 受け入れテスト・移行の準備 | 2027年3月 |
| 使い始め | 2027年4月12日 |
9.4 未決事項
| No | 内容 | 担当 | 期限 |
|---|---|---|---|
| Q-01 | 人事システムの CSV に上長の社員番号が入っているか | 人事部 | 2026年11月20日 |
| Q-02 | 延長の上限(1回7日)でよいか | 総務部 | 2026年11月27日 |
| Q-03 | QR ラベルの大きさと貼る位置 | 総務部 | 2026年12月4日 |
要件定義書のテンプレート(コピーして使える目次と書くこと)
この節では、上のサンプルから中身を抜いた、そのまま使える目次の型が分かります。
次のテンプレートを文書の先頭に貼り、各章のコメントに沿って埋めていきます。 コメント(<!-- -->)は書き終えたら消します。
# (システム名) 要件定義書
| 版 | 日付 | 変更の内容 | 承認 |
|---|---|---|---|
| 0.9 | YYYY年M月D日 | レビュー用の初版 | ― |
## 1. はじめに
### 1.1 背景 <!-- 今の業務の件数・時間・困りごとを数字で -->
### 1.2 目的(業務要件) <!-- BR-01〜:何を・どれだけ良くするか。目標は数値 -->
### 1.3 対象範囲と対象外 <!-- 「作らないもの」を必ず書く -->
### 1.4 用語集 <!-- 社内の言葉・あいまいになりやすい言葉の定義 -->
### 1.5 関係者と役割 <!-- 決める人・承認する人・データを出す人 -->
## 2. 業務要件
### 2.1 今の業務(As-Is)と課題
### 2.2 新しい業務(To-Be) <!-- 業務フロー図 -->
### 2.3 業務ルール(R-01〜) <!-- 上限・期限・承認の条件。例を添える -->
## 3. 機能要件
### 3.1 機能一覧(要件ID・使う人・優先度 MoSCoW・業務要件)
### 3.2 機能ごとの詳細と受け入れ基準(AC-xx-n)
<!-- 受け入れ基準は「〜すると〜になる」「〜の場合は〜と出る」の形で -->
## 4. 画面・帳票・メール <!-- 一覧だけ。配置は基本設計で -->
## 5. データ要件 <!-- データ・主な項目・件数・残す期間 -->
## 6. 外部システムとの連携 <!-- 相手・受け渡すもの・方式・タイミング -->
## 7. 非機能要件 <!-- 可用性/性能・拡張性/運用・保守性/移行性/セキュリティ/システム環境・エコロジー -->
## 8. 移行要件 <!-- 何を・いつ・どう移し・どう確かめるか -->
## 9. 受け入れ基準・制約・未決事項
### 9.1 受け入れ(検収)の条件
### 9.2 制約と前提(期限・費用・技術・規程)
### 9.3 スケジュール
### 9.4 未決事項(内容・担当・期限)
一覧表で管理するときのシート構成
機能要件や非機能要件が数十件を超えるときは、本文は文書にし、一覧は表計算ソフト(スプレッドシート)で持つ形もよく使われます。そのときは、次のようにシートを分けると、要件IDでつながります。
| シート | 列 |
|---|---|
| 業務要件 | ID・業務要件・目標(数値)・担当 |
| 機能要件一覧 | 要件ID・機能・使う人・優先度・業務要件ID |
| 受け入れ基準 | 基準ID・要件ID・受け入れ基準・結果 |
| 非機能要件 | ID・大項目・要件・根拠 |
| 画面・帳票一覧 | ID・名前・使う人・要件ID |
| 未決事項 | No・内容・担当・期限・結論 |
要件と設計・テストの対応を一覧で追う方法は、関連記事「トレーサビリティマトリクスの作り方 要件・設計・テスト対応表」で扱っています。
要件定義書とは(要求定義書・RFP・基本設計書との違い)
この節では、要件定義書の役割と、名前の似た文書との違いが分かります。
要件定義書とは、これから作るシステムで「何を実現するか」を、発注する側と開発する側が合意するための文書です。 業務の課題・必要な機能・品質の条件・作らない範囲・完成の判定のしかたを書き、承認者の承認で確定します。
| 文書 | 答える問い | 主に書く人 | いつ作るか |
|---|---|---|---|
| 要求定義書 | 業務で何に困り、何を望むか | 発注する側 | 要件定義の前 |
| RFP(提案依頼書) | どんな提案がほしいか | 発注する側 | 開発会社を選ぶ前 |
| 要件定義書 | システムで何を・どこまで作るか | 両者で作り、発注側が承認 | 開発会社が決まった後 |
| 基本設計書 | 外から見てどう動くか(画面・データ) | 開発する側 | 要件定義の後 |
| 詳細設計書 | 中でどう作るか(処理・SQL) | 開発する側 | 基本設計の後 |
要求と要件の違いは、関連記事「要求と要件の違い|要求定義と要件定義の書き方と例」で、要件定義書の次に作る文書は、関連記事「基本設計書の書き方|項目・記入例とレビューの観点」で扱っています。
要件の3つの種類
1業務要件
業務の課題と、システムで目指す姿。サンプルの BR-01〜04。「なぜ作るか」の根拠になる。
2機能要件
システムが何をできるか。サンプルの FR-01〜12。受け入れ基準で完成を判定する。
3非機能要件
どのくらいの品質で動くか(速さ・止まらなさ・守り)。サンプルの NFR-01〜16。
機能要件だけを並べた要件定義書は、よく見る失敗です。 業務要件が無いと、予算が足りないときに何を削るかを決められません。非機能要件が無いと、完成してから「遅い」「止まると困る」という話になります。
要件定義書に書くこと・書かないこと
書くこと
何を実現するか(業務の言葉で)
どうなれば完成か(受け入れ基準)
作らない範囲・決まっていないこと
性能・可用性などの数値
書かないこと(基本設計以降)
画面の項目の配置・色
テーブルの列の型・インデックス
クラスの構成・処理の順番
使うライブラリの細かい選定
要件定義書の書き方(5つの手順)
この節では、白紙からサンプルの形まで仕上げる順番が分かります。
目的と範囲を先に決め、業務の流れ → 要件の一覧 → 品質の数値 → レビューの順に書きます。 機能から書き始めると、目的に合わない機能が混ざりやすくなります。
目的と範囲を決める
今の業務の件数・時間を数え、業務要件(BR)を数値の目標で書く。対象外も同時に書く。
業務の担当者に聞く
今の手順・例外・件数・繁忙期を聞き、業務ルール(上限・期限・承認の条件)を例つきで書く。
機能を一覧にする
新しい業務の流れから機能を拾い、要件ID・優先度・業務要件の ID を付け、受け入れ基準を書く。
品質と移行を数値にする
非機能要件の6大項目を1つずつ確かめ、要らない項目も「要らない」と書く。移行は件数と確かめ方まで。
レビューして承認を得る
業務の担当者と承認者の両方に読んでもらい、指摘を反映して版を上げ、承認の日付を残す。
ヒアリングで聞くことを一覧にしたシートは、関連記事「要件ヒアリングの質問一覧60項目|シートのテンプレートと記入例」で扱っています。業務の流れを図にする方法は、関連記事「業務フロー図の書き方|記号一覧・スイムレーン例とMermaidテンプレート」で扱っています。
各章の書き方のコツ(あいまいな書き方→判定できる書き方)
この節では、レビューで直されることの多い書き方と、その直し方が分かります。
要件は「読んだ人が、できたかどうかを同じように判定できる」形で書きます。 形容詞(速い・使いやすい)や「など」で終わる書き方は、人によって読み方が変わります。
目的(第1章)
数値の目標があると、優先度を決められ、使い始めた後に効果を測れる
業務ルール(第2章)
数え方の例を添えると、開発する側の読み違いを防げる(後の節で実際に起きた)
受け入れ基準(第3章)
「〜の場合は〜と出る」の形で、例外の条件まで書く
非機能要件(第7章)
数値と、その数値を測る条件(人数・データ量)をセットで書く
章ごとのコツ
| 章 | コツ |
|---|---|
| 1 はじめに | 背景に今の件数・時間を書く。目標と同じ単位にすると比べられる |
| 1.3 対象外 | 「それもやると思っていた」を防ぐ、効き目の大きい項目。迷ったものは対象外に書いて合意する |
| 2 業務ルール | 上限・期限・金額の条件は、境目の例(ちょうど14日・ちょうど10万円)を添える |
| 3 機能一覧 | 1行1機能。業務要件の ID を書き、どの BR にもつながらない機能は理由を確かめる |
| 3 受け入れ基準 | 正常な場合1つと、例外の場合を業務ルールの数だけ書く |
| 4 画面 | 一覧と要件 ID だけ。配置・項目は基本設計に回す |
| 5 データ | 件数と残す期間を書く。性能・容量の見積もりの根拠になる |
| 6 外部連携 | 相手・方式・タイミング・文字コード。相手の部署の担当を未決事項に入れる |
| 7 非機能 | 6大項目をすべて確かめ、要らないものは「要らない」と書く |
| 9 未決事項 | 決まっていないことを決まったように書かない。担当と期限を付ける |
受け入れ基準はテストにそのまま使える(サンプルで実行した結果)
この節では、サンプルの FR-04 の受け入れ基準7つを、実際にテストのコードにして動かした結果が分かります。
判定できる形で書いた受け入れ基準は、1つずつがそのままテストになります。 貸出の申請だけを Python と SQLite で小さく作り(試作)、AC-04-1〜7 をテストにして pytest で実行しました。テストの名前は基準ID と同じにしています。
def test_AC_04_2_14日を超える期間は申請できない(db):
# 借りる日を1日目と数える:4月12日に借りたら4月25日が14日目
apply(db, "E001", "PJ-001", "2027-04-12", "2027-04-25", "t1", TODAY)
with pytest.raises(ValueError, match="貸出期間は最長14日です"):
apply(db, "E001", "CB-001", "2027-04-12", "2027-04-26", "t2", TODAY)
def test_AC_04_6_10万円以上は上長の承認待ちになる(db):
no, status = apply(db, "E001", "PC-001", "2027-04-12", "2027-04-16", "t1", TODAY)
assert status == "承認待ち"
assert db.outbox == [("tanaka@example.com", f"承認依頼:申請番号{no}")]
「最長14日」を読み違えた試作で、1つが不合格になった
最初の試作は「返す日と借りる日の差が14日を超えたらエラー」と作りました。この作りだと、4月12日〜4月26日(借りる日を1日目と数えると15日間)が通ってしまいます。受け入れ基準に「4月26日までにすると申請できない」と例を書いていたので、テストで見つかりました。
________________________ test_AC_04_2_14日を超える期間は申請できない _________________________
def test_AC_04_2_14日を超える期間は申請できない(db):
# 借りる日を1日目と数える:4月12日に借りたら4月25日が14日目
apply(db, "E001", "PJ-001", "2027-04-12", "2027-04-25", "t1", TODAY)
> with pytest.raises(ValueError, match="貸出期間は最長14日です"):
E Failed: DID NOT RAISE ValueError
test_fr04.py:27: Failed
=========================== short test summary info ============================
FAILED test_fr04.py::test_AC_04_2_14日を超える期間は申請できない - Failed: DI...
========================= 1 failed, 6 passed in 0.03s ==========================
借りる日を1日目と数えるように1行直すと、7つとも合格しました。
- if (date.fromisoformat(due) - date.fromisoformat(start)).days > MAX_DAYS:
+ if (date.fromisoformat(due) - date.fromisoformat(start)).days + 1 > MAX_DAYS: # 借りる日を1日目と数える
raise ValueError("貸出期間は最長14日です") # AC-04-2
test_fr04.py::test_AC_04_1_空いている備品を申請できる PASSED [ 14%]
test_fr04.py::test_AC_04_2_14日を超える期間は申請できない PASSED [ 28%]
test_fr04.py::test_AC_04_3_4点目は申請できない PASSED [ 42%]
test_fr04.py::test_AC_04_4_返却期限を過ぎた人は申請できない PASSED [ 57%]
test_fr04.py::test_AC_04_5_期間が重なる備品は申請できない PASSED [ 71%]
test_fr04.py::test_AC_04_6_10万円以上は上長の承認待ちになる PASSED [ 85%]
test_fr04.py::test_AC_04_7_二重送信しても1件だけ登録される PASSED [100%]
============================== 7 passed in 0.02s ===============================
同じ要件を、受け入れ基準の書き方だけ変えると
業務ルールの境目は、日付や金額の具体例で書く
受け入れ基準の考え方と、テストの観点の広げ方は、関連記事「トレーサビリティマトリクスの作り方 要件・設計・テスト対応表」で扱っています。
要件定義書をスクリプトでチェックした結果(ID・抜け・あいまいな言葉)
この節では、レビューの前に機械的に見つけられる抜けを、サンプルと下書きで比べた結果が分かります。
要件ID・優先度・受け入れ基準・未決事項の担当のように「あるかないか」で判定できる項目は、人が読む前にスクリプトで見つけられます。 要件定義書の Markdown の表を読み、次の9つを調べる Python のスクリプトを作りました。
| No | 調べること |
|---|---|
| 1 | ID が重なっていないか |
| 2 | 機能要件の優先度が Must・Should・Could のどれかか |
| 3 | 機能要件が、ある業務要件の ID を指しているか |
| 4 | どの機能要件からも指されない業務要件が無いか |
| 5 | Must の機能要件に受け入れ基準があるか |
| 6 | 受け入れ基準が、ある機能要件を指しているか |
| 7 | あいまいな言葉(下のコードの一覧)が無いか |
| 8 | 未決事項に担当と期限があるか |
| 9 | 非機能要件に数値が入っているか |
スクリプトの全文です。表の1列目が FR-01 のような ID の行だけを読みます。機能一覧は「要件ID・機能・使う人・優先度・業務要件」、受け入れ基準は「基準ID・要件ID・受け入れ基準」の列の順を前提にしています。
"""要件定義書(Markdown の表)を読み、抜けとあいまいな言葉を探す。"""
import re, sys
from collections import Counter
VAGUE = ["など", "等", "適切", "適宜", "柔軟", "高速", "迅速", "使いやすい",
"わかりやすい", "分かりやすい", "できるだけ", "なるべく", "速やかに", "十分"]
NUM = ("可用性", "性能・拡張性", "運用・保守性") # 数値で書く大項目
ID = re.compile(r"^(BR|FR|NFR|R|AC-\d+|SC|RP|ML|IF|MG|Q)-\d+$")
def rows(text):
for line in text.splitlines():
if line.startswith("|") and not re.match(r"^|[-| :]+|$", line):
cells = [c.strip() for c in line.strip().strip("|").split("|")]
if ID.match(cells[0]):
yield cells
def main(path):
text = open(path, encoding="utf-8").read()
rs = list(rows(text)); probs = []
ids = Counter(r[0] for r in rs)
probs += [f"[1] ID が重なっている: {i}({n}回)" for i, n in ids.items() if n > 1]
br = {r[0] for r in rs if r[0].startswith("BR-")}
fr = {r[0]: r for r in rs if r[0].startswith("FR-")}
ac = [r for r in rs if r[0].startswith("AC-")]
used = set()
for i, r in fr.items():
if r[3] not in ("Must", "Should", "Could"):
probs.append(f"[2] {i} の優先度が無い・形が違う: '{r[3]}'")
refs = set(re.findall(r"BR-\d+", r[4])); used |= refs
if not refs: probs.append(f"[3] {i} が業務要件を指していない")
for x in refs - br: probs.append(f"[3] {i} が無い業務要件 {x} を指している")
probs += [f"[4] {b} を指す機能要件が無い" for b in sorted(br - used)]
have = {r[1] for r in ac}
probs += [f"[5] Must の {i} に受け入れ基準が無い" for i, r in fr.items() if r[3] == "Must" and i not in have]
probs += [f"[6] {r[0]} が無い機能要件 {r[1]} を指している" for r in ac if r[1] not in fr]
for r in rs:
if r[0].startswith(("FR-", "AC-", "NFR-", "BR-", "R-")):
for w in VAGUE:
if w in " ".join(r[1:]): probs.append(f"[7] {r[0]} にあいまいな言葉「{w}」")
for r in rs:
if r[0].startswith("Q-") and (len(r) < 4 or not r[2] or not r[3]):
probs.append(f"[8] 未決事項 {r[0]} に担当か期限が無い")
if r[0].startswith("NFR-") and r[1] in NUM and not re.search(r"\d", r[2]):
probs.append(f"[9] {r[0]} に数値が無い")
kinds = Counter(re.sub(r"-\d+$", "", r[0]).split("-")[0] for r in rs)
print("読んだ ID:", " ".join(f"{k}={v}" for k, v in sorted(kinds.items())))
print("Must の機能要件:", sum(r[3] == "Must" for r in fr.values()), "件 / 受け入れ基準:", len(ac), "件")
for p in probs: print(" ", p)
print("指摘:", len(probs), "件")
return 1 if probs else 0
sys.exit(main(sys.argv[1]))
レビュー前の下書きでは12件、サンプルでは0件
この記事のサンプルの章をそのまま取り出したファイルと、そこによくある抜け(業務要件の ID の書き間違い、優先度の書き忘れ、受け入れ基準の削除、「高速」「適宜」などの言葉、担当の無い未決事項)を入れた下書きのファイルに、スクリプトを通しました。下書きの結果です。
$ python3 reqlint.py draft.md
読んだ ID: AC=16 BR=4 FR=12 IF=3 MG=4 ML=3 NFR=16 Q=3 R=6 RP=3 SC=10
Must の機能要件: 8 件 / 受け入れ基準: 16 件
[1] ID が重なっている: AC-06-1(2回)
[3] FR-11 が無い業務要件 BR-05 を指している
[2] FR-12 の優先度が無い・形が違う: ''
[4] BR-04 を指す機能要件が無い
[5] Must の FR-08 に受け入れ基準が無い
[7] AC-02-1 にあいまいな言葉「など」
[7] AC-02-1 にあいまいな言葉「使いやすい」
[7] NFR-04 にあいまいな言葉「高速」
[7] NFR-07 にあいまいな言葉「適宜」
[9] NFR-04 に数値が無い
[9] NFR-07 に数値が無い
[8] 未決事項 Q-03 に担当か期限が無い
指摘: 12 件
[4] BR-04 を指す機能要件が無い は、棚卸の時間を短くする目標(BR-04)に、つながる機能が1つも無い状態です。FR-11 の ID の書き間違い(BR-05)と、FR-10 から BR-04 が消えたことが重なって起きました。人が読むと見落としやすい抜けです。
サンプルの結果です。終了コードは、指摘があると1、無いと0にしています。
$ python3 reqlint.py sample.md
読んだ ID: AC=17 BR=4 FR=12 IF=3 MG=4 ML=3 NFR=16 Q=3 R=6 RP=3 SC=10
Must の機能要件: 8 件 / 受け入れ基準: 17 件
指摘: 0 件
このサンプルも、最初に通したときは [9] NFR-03 に数値が無い が1件出ました。「翌営業日の始業までに直す」と書いていたためで、「翌営業日の8時30分までに直す」と時刻で書き直しています。スクリプトで見つけられるのは「あるかないか」までです。目標の数値が業務に合っているか、受け入れ基準が業務ルールをすべて覆っているかは、人のレビューで確かめます。
非機能要件の書き方(IPA非機能要求グレードとの対応)
この節では、非機能要件をもれなく書くための観点と、サンプルの数値の決め方が分かります。
非機能要件は、IPA の「非機能要求グレード」の6つの大項目を観点の一覧として使うと、抜けを減らせます。 IPA の資料では、6つの大項目を次のように説明しています。各項目は、実現の難しさやコストの差に応じて、レベル0〜5の最大6段階で示されます。
| 大項目 | IPA の説明 | サンプルの ID |
|---|---|---|
| 可用性 | システムを継続的に利用可能とするための要求 | NFR-01〜03 |
| 性能・拡張性 | システムの性能と将来のシステム拡張に関する要求 | NFR-04〜06 |
| 運用・保守性 | システムの運用と保守のサービスに関する要求 | NFR-07〜09 |
| 移行性 | 現行システム資産の移行に関する要求 | NFR-10・第8章 |
| セキュリティ | 構築する情報システムの安全性の確保に関する要求 | NFR-11〜13 |
| システム環境・エコロジー | システムの設置環境やエコロジーに関する要求 | NFR-14〜15 |
非機能要求グレード2018 には、社会への影響の大きさで分けた3つのモデルシステム(「社会的影響が極めて大きいシステム」「社会的影響が限定されるシステム」「社会的影響が殆ど無いシステム」)が示されています。社内の備品貸出は、止まっても紙で代わりができるので、いちばん軽い区分を目安にして数値を決めました。各項目の一覧と定義書の型は、関連記事「非機能要件一覧|IPA非機能要求グレード6大項目と定義書テンプレート」で扱っています。
サンプルの数値を、計算と実測で確かめた
非機能要件の数値は、計算か実測で「達成できるか」「業務に合うか」を確かめてから書きます。 稼働率は、使う時間(平日10.5時間×月20日=210時間)から、止まってよい時間を計算しました。
| 稼働率 | 月210時間のうち止まってよい時間 |
|---|---|
| 99.0% | 126分 |
| 99.5%(サンプル) | 63分 |
| 99.9% | 13分 |
性能(NFR-04・NFR-06)は、備品450点と貸出5年分(18,000件)のデータを SQLite に作り、「ある分類で、ある期間に空いている備品」を探す問い合わせを200回測りました。
データベースの検索は、目標の2秒に対して小さな値でした。この規模なら、2秒の目標で効いてくるのはデータ量より、画面の表示や通信のほうです。数値の根拠(件数・測った条件)は、要件定義書の別紙に残すと、後で数値を変えるときに判断できます。
要件定義のヒアリングで使える質問
この節では、要件定義書の各章を埋めるために、業務の担当者へ聞く質問の例が分かります。
「どんな機能がほしいですか」とだけ聞くと、今の業務をそのまま置き換えた要望ばかりになります。 課題と目的から聞き、機能は開発する側から提案します。
| 埋めたい章 | 質問の例 |
|---|---|
| 1 背景・目的 | 今の業務で、いちばん時間がかかっている作業は何ですか? 月に何時間ですか? |
| 1 目的 | このシステムができたら、何がどう変わっていれば成功ですか? |
| 1 対象外 | 今回はやらなくてよいことは何ですか? |
| 2 業務ルール | 普段と違う対応をするのは、どんなときですか? 上限や期限はありますか? |
| 5 データ | 1日(1か月)に何件ありますか? 繁忙期はいつですか? 何年分残しますか? |
| 6 外部連携 | このデータは、ほかのどのシステムから来て、どこへ渡しますか? |
| 3 優先度 | 予算や期限が足りないとき、最後まで残したい機能はどれですか? |
| 7 可用性 | システムが止まったら、何時間まで業務を続けられますか? |
要件定義書のレビューの観点チェックリスト
この節では、承認の前に確かめる観点を、チェックリストで確かめられます。
- 1目的が数値か具体的な状態で書かれているか背景の数字と同じ単位の目標になっているか
- 2対象範囲と対象外が書かれているかWon't(今回は作らない)も一覧にあるか
- 3すべての機能要件に要件ID・優先度・業務要件の ID があるかどの業務要件にもつながらない機能は無いか
- 4Must の機能要件に受け入れ基準があるか例外の条件(上限・期限・重なり)まで書いてあるか
- 5業務ルールの境目に例があるかちょうど14日・ちょうど10万円のときの扱い
- 6非機能要件の6大項目をすべて確かめたか数値と、測る条件(人数・データ量)がセットか
- 7外部連携の相手・方式・タイミングが書かれているか相手の部署の担当が決まっているか
- 8移行するもの・時期・確かめ方が書かれているか移さないものも書いてあるか
- 9未決事項に担当と期限があるか決まっていないことを決まったように書いていないか
- 10用語集と本文の言葉がそろっているか同じものを別の言葉で呼んでいないか
- 11業務の担当者と承認者の両方が読んだか版・承認者・承認日が残っているか
要件定義書のよくある失敗と対策
この節では、要件定義書で起きやすい失敗と、後で起きることが分かります。
| よくある失敗 | 後で起きること | 対策 |
|---|---|---|
| 目的が「効率化」だけ | 機能の優先度を決められない | 背景の数字と同じ単位で目標を書く |
| 対象外を書いていない | 「それもやると思っていた」 | 対象外と Won't を一覧にする |
| 受け入れ基準が無い | 完成したかで意見が分かれる | テストに使える形で書く |
| 業務ルールの境目があいまい | 開発後に数え方の違いが見つかる | 日付・金額の例を添える |
| 非機能要件が抜けている | 完成後に「遅い」「止まると困る」 | 6大項目を1つずつ確かめる |
| 決まっていないことを推測で書く | 前提が崩れて手戻りになる | 未決事項にして担当と期限を付ける |
| 業務の担当者が読んでいない | 実際の業務と合わない | 担当者と承認者の両方のレビューを受ける |
| 承認の記録が無い | どの版で合意したか分からない | 版・承認者・承認日を残す |
IPA・デジタル庁の公開資料と要件定義書の対応
この節では、要件定義書の型として参照できる公的な資料と、何に使えるかが分かります。
サンプルやテンプレートの下敷きとして、IPA とデジタル庁が資料を公開しています。 いずれも公式のページで入手でき、時点は確認日(2026年10月24日)のものです。
| 資料 | 中身 | 使いどころ |
|---|---|---|
| IPA「非機能要求グレード2018」 | 6大項目・グレード表・項目一覧・樹系図・活用シート・利用ガイド(ZIP で一括) | 第7章の観点と数値のレベル |
| IPA「ユーザのための要件定義ガイド 第2版」 | 要件定義を成功に導く128の勘どころ(2019年9月12日公開) | 進め方・マネジメント・主要ドキュメントの作り方 |
| デジタル庁「デジタル社会推進標準ガイドライン」 | DS-120 の各種テンプレートに「要件定義書標準テンプレート」(2026年7月15日更新) | 章立ての比較・公共の案件の型 |
IPA の2つの資料は、IPA のサイトでアーカイブとして公開されています(非機能要求グレードの情報の基準時点は2023年8月)。非機能要求グレードの資料は、PDF 形式と表計算の形式で使用条件が分かれていて、表計算の形式は使用条件を添えれば改変・再配布ができると書かれています。使う前に使用条件のページを読みます。
生成AIで要件定義書を作るときの注意
この節では、生成 AI に下書きを手伝わせるときに気をつけることが分かります。
生成 AI は、ヒアリングのメモから要件の一覧の下書きを作る、受け入れ基準の例外の条件を洗い出す、非機能要件の確かめる項目を挙げる、といった作業で助けになります。一方で、次の点に気をつけます。
- AI はもっともらしい要件を補って書くので、発注する側が言っていない要件が混ざることがある。要件ごとに「誰が言ったか」を確かめる
- 件数・応答時間などの数値を推測で埋めさせない。分からない数値は未決事項にする
- 発注する側の機密の情報を、許可されていない AI サービスに入れない
受け入れ基準まで具体的に書かれた要件定義書は、その後の設計・実装で AI を使うときにも、正確な指示の土台になります。
よくある質問
Q. 要件定義書のサンプルはどこで手に入りますか? A. この記事の「要件定義書のサンプル」に、表紙から第9章まで1冊分を載せています。公的な型としては、デジタル庁の標準ガイドラインの各種テンプレートに「要件定義書標準テンプレート」があります。
Q. 要件定義書の書き方の順番は? A. 目的と範囲 → 業務の流れと業務ルール → 機能一覧と受け入れ基準 → 非機能要件と移行 → レビューと承認、の順です。機能から書き始めると、目的に合わない機能が混ざりやすくなります。
Q. 要件定義テンプレートはそのまま使えますか? A. 目次はそのまま使えますが、システムに要らない章は「対象外」「要件なし」と書いて残すほうが、確かめた跡が残ります。この記事のテンプレートは、各章に書くことをコメントで入れてあります。
Q. 要件定義書サンプルの分量はどのくらいが目安ですか? A. 決まった分量はありません。この記事のサンプルは、業務要件4件・機能要件12件・非機能要件16件の小さなシステムです。件数が増えたら、本文は文書、一覧は表で持つ形にすると読みやすくなります。
Q. 要件定義書は誰が書きますか? A. 決めて承認するのは発注する側です。実際には、開発会社や社内のシステム担当がヒアリングと提案をして文書にまとめ、発注する側が読んで承認する形が多くあります。
Q. 要件定義書と RFP(提案依頼書)の違いは? A. RFP は、発注する側が開発会社を選ぶために「こういう提案がほしい」と伝える文書です。要件定義書は、開発会社が決まった後に、両者で詳しく決めて合意する文書です。
Q. 要件定義書と基本設計書の違いは? A. 要件定義書は「何を・どこまで作るか」、基本設計書は「外から見てどう動くか(画面・データ・連携の形)」を書きます。画面の項目の配置は基本設計書に書きます。
Q. 機能要件と非機能要件の違いは? A. 機能要件は「何ができるか」(例:貸出を申請できる)、非機能要件は「どのくらいの品質で動くか」(例:検索は2秒以内、稼働率99.5%以上)です。
Q. 受け入れ基準はどう書きますか? A. 「〜すると〜になる」「〜の場合は〜と出る」の形で、正常な場合と、業務ルールごとの例外の場合を書きます。境目は日付や金額の例で示すと、そのままテストにできます。
Q. 要件定義書を作った後に要件が変わったら? A. 変更の内容・理由・影響(費用・期限)を書き、承認を得てから版を上げます。変更履歴の表に、版・日付・内容・承認者を残します。
Q. アジャイル開発でも要件定義書は要りますか? A. 最初に厚い文書を作ることは少なく、ユーザーストーリーで要件を管理するのが一般的です。ただし、目的・対象範囲・非機能要件・受け入れ基準の考え方は同じように要ります。
Q. 要件定義にはどのくらいの期間がかかりますか? A. 規模で大きく変わります。サンプルでは、2か月(2026年11月〜12月)を要件定義に当てました。ここを短くしすぎると、後の工程で手戻りが増えます。
まとめ
- 要件定義書は、システムで「何を・どこまで作り、何ができたら完成か」を、発注する側と開発する側が合意する文書。
- サンプルの9章(はじめに・業務要件・機能要件・画面・データ・外部連携・非機能要件・移行・受け入れと未決事項)を、そのまま目次の型として使える。
- 目的は数値で、範囲は対象外まで書く。機能要件には要件ID・優先度・業務要件の ID・受け入れ基準を付ける。
- 受け入れ基準を境目の例つきで書くと、そのままテストになる。サンプルでは「最長14日」の読み違いが、テストで1件見つかった。
- 非機能要件は IPA の6大項目で抜けを確かめ、数値は計算か実測で確かめてから書く。
- 決まっていないことは未決事項にし、担当と期限を付ける。
次に読むとよい記事です。要件定義書の次の工程は、関連記事「基本設計書の書き方|項目・記入例とレビューの観点」で、非機能要件の項目の全体は、関連記事「非機能要件一覧|IPA非機能要求グレード6大項目と定義書テンプレート」で扱っています。
参考・出典
確認日はいずれも 2026年10月24日です。
- IPA「非機能要求グレード」:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/hikinou/index.html
- IPA「非機能要求グレード2018」ダウンロード:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/hikinou/ent03-b.html
- IPA「非機能要求グレード本体(日本語版)」使用条件:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/hikinou/ent03-b-1.html
- IPA「非機能要求グレード2018 改訂情報~初版との差異~」:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/hikinou/ps6vr700000077he-att/000066170.pdf
- IPA「経営に活かす IT 投資の最適化」第2版:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/hikinou/ps6vr700000077he-att/000004568.pdf
- IPA「ユーザのための要件定義ガイド 第2版」:https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/youkenteigi20190912.html
- デジタル庁「デジタル社会推進標準ガイドライン」:https://www.digital.go.jp/resources/standard_guidelines
- pytest ドキュメント:https://docs.pytest.org/
- Python ドキュメント「sqlite3」:https://docs.python.org/ja/3/library/sqlite3.html
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「要件定義書のサンプル|書き方・テンプレートと全9章の記入例」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。