FRD 功能需求文件範本(Functional Requirements Document)#
參照標準:ISO/IEC/IEEE 29148:2018(取代 IEEE 830-1998)
文件用途:將業務需求轉化為系統可實作的功能性與非功能性需求規格
適用階段:需求分析階段(Requirements Analysis Phase)
📋 章節目錄#
- 文件資訊
- 導言
- 整體描述
- 系統功能需求
- 外部介面需求
- 非功能性需求
- 資料需求
- 其他需求
- 需求追溯矩陣
- 附錄
1. 文件資訊#
📝 範本#
| 項目 | 內容 |
|---|
| 文件編號 | FRD-{專案代碼}-{序號} |
| 文件名稱 | {系統名稱} 功能需求文件 |
| 版本 | v{主版本}.{次版本} |
| 狀態 | 草稿 / 審核中 / 核定 / 基線 |
| 建立日期 | {YYYY-MM-DD} |
| 最後更新 | {YYYY-MM-DD} |
| 撰寫者 | {姓名/角色} |
| 審核者 | {姓名/角色} |
| 核定者 | {姓名/角色} |
| 對應 BRD | {BRD 文件編號} |
版本歷程
| 版本 | 日期 | 修改人 | 修改內容摘要 |
|---|
| v0.1 | {YYYY-MM-DD} | {姓名} | 初稿建立 |
📖 使用說明#
- FRD 承接 BRD(業務需求文件),將業務需求細化為系統功能規格
- 對應 BRD 欄位用於建立文件間的追溯關係
- 狀態增加「基線」代表已納入組態管理,後續變更需走 Change Request 流程
💡 範例#
| 項目 | 內容 |
|---|
| 文件編號 | FRD-HRM-001 |
| 文件名稱 | 人力資源管理系統 功能需求文件 |
| 版本 | v2.1 |
| 狀態 | 基線 |
| 對應 BRD | BRD-ERP-001 v1.2 |
2. 導言#
📝 範本#
2.1 目的(Purpose)#
本文件定義 {系統名稱} 的功能性與非功能性需求規格,作為系統設計、開發與驗收測試的依據。
2.2 範圍(Scope)#
- 系統名稱:{正式系統名稱}
- 系統簡述:{一段話描述系統功能}
- 主要效益:
2.3 定義、縮寫與縮略語#
2.4 參考文件#
2.5 文件概覽#
本文件第 3 章描述系統整體概況,第 4 章詳列功能需求,第 5 章定義外部介面,第 6 章規範非功能性需求。
📖 使用說明#
- 依據 ISO/IEC/IEEE 29148:2018 第 5.2 節「Software Requirements Specification (SRS)」結構
- 目的:說明本文件的讀者與用途
- 範圍:界定系統邊界,明確指出系統「做什麼」與「不做什麼」
- 參考文件:至少包含對應的 BRD 與相關技術標準
💡 範例#
2.1 目的#
本文件定義人力資源管理系統(HRMS)的功能性與非功能性需求規格,供系統架構師、開發工程師及測試團隊作為設計、實作與驗收依據。
2.3 定義、縮寫與縮略語#
| 術語/縮寫 | 全名 | 定義 |
|---|
| HRMS | Human Resource Management System | 人力資源管理系統 |
| SSO | Single Sign-On | 單一登入機制 |
| RBAC | Role-Based Access Control | 角色型存取控制 |
3. 整體描述#
📝 範本#
3.1 產品觀點(Product Perspective)#
{描述系統在整體 IT 架構中的定位,與其他系統的關係}
┌─────────────────────────────────────────┐
│ 系統脈絡圖 │
├─────────────────────────────────────────┤
│ [外部系統 A] ←→ [本系統] ←→ [外部系統 B] │
│ ↕ │
│ [資料庫/服務] │
└─────────────────────────────────────────┘
3.2 使用者類別與特性#
| 使用者類別 | 描述 | 技術程度 | 使用頻率 |
|---|
| {類別} | {角色描述} | 高/中/低 | 每日/每週/偶爾 |
3.3 操作環境#
| 項目 | 規格 |
|---|
| 作業系統 | {OS} |
| 瀏覽器 | {支援的瀏覽器} |
| 行動裝置 | {是否支援} |
| 網路環境 | {內網/外網/VPN} |
3.4 設計與實作限制#
3.5 假設與依賴#
📖 使用說明#
- 產品觀點:使用系統脈絡圖(Context Diagram)呈現系統邊界與外部實體
- 使用者類別:識別所有 Actor,為後續 Use Case 分析做準備
- 操作環境:定義系統運行的技術環境,影響非功能性需求
- 設計限制:如必須使用特定技術、遵循特定標準等硬性約束
💡 範例#
3.2 使用者類別與特性#
| 使用者類別 | 描述 | 技術程度 | 使用頻率 |
|---|
| 一般員工 | 查詢個人資料、申請假勤 | 低 | 每週 |
| 部門主管 | 審核假勤、查看部門報表 | 中 | 每日 |
| 人資專員 | 維護人事資料、薪資結算 | 中 | 每日 |
| 系統管理員 | 帳號管理、系統設定 | 高 | 每週 |
4. 系統功能需求#
📝 範本#
4.1 功能模組一:{模組名稱}#
4.1.1 功能描述#
{此模組的整體功能描述}
4.1.2 Use Case 描述#
| 項目 | 內容 |
|---|
| Use Case ID | UC-{模組}-{序號} |
| 名稱 | {Use Case 名稱} |
| Actor | {觸發角色} |
| 前置條件 | {執行前必須滿足的條件} |
| 後置條件 | {執行後系統的狀態} |
| 主要流程 | 見下方步驟 |
| 替代流程 | 見下方說明 |
| 例外流程 | 見下方說明 |
主要流程(Main Flow):
| 步驟 | Actor 動作 | 系統回應 |
|---|
| 1 | {使用者操作} | {系統處理與回應} |
| 2 | {使用者操作} | {系統處理與回應} |
| 3 | {使用者操作} | {系統處理與回應} |
替代流程(Alternative Flow):
例外流程(Exception Flow):
- E1:{異常狀況} → 系統顯示 {錯誤訊息},{處理方式}
4.1.3 功能需求清單#
| 需求 ID | 需求描述 | 優先級 | 對應 BR |
|---|
| FR-{模組}-001 | 系統應(shall){功能描述} | Must/Should/Could | BR-{xxx} |
| FR-{模組}-002 | 系統應(shall){功能描述} | Must/Should/Could | BR-{xxx} |
4.1.4 業務規則#
| 規則 ID | 規則描述 | 驗證方式 |
|---|
| BRL-{xxx} | {業務規則描述} | {如何驗證} |
4.1.5 畫面/介面規格(UI Wireframe)#
{畫面線框圖描述或連結}
4.2 功能模組二:{模組名稱}#
(重複 4.1 的結構)
📖 使用說明#
- 依據 ISO/IEC/IEEE 29148 第 5.2.4 節,功能需求使用「系統應(shall)」表示必要需求
- Use Case 格式遵循 UML 標準,包含主要流程、替代流程、例外流程
- 需求 ID 命名規則:FR-{模組縮寫}-{三位數序號},確保唯一性
- 對應 BR:建立與 BRD 業務需求的追溯關係
- 每個功能需求必須是:明確的(Unambiguous)、可驗證的(Verifiable)、一致的(Consistent)
- 避免使用「支援」、「處理」等模糊動詞,應具體描述系統行為
💡 範例#
4.1 功能模組一:假勤管理#
4.1.2 Use Case 描述#
| 項目 | 內容 |
|---|
| Use Case ID | UC-LV-001 |
| 名稱 | 員工提交請假申請 |
| Actor | 一般員工 |
| 前置條件 | 員工已登入系統且具有效帳號 |
| 後置條件 | 請假申請建立,狀態為「待審核」,主管收到通知 |
主要流程:
| 步驟 | Actor 動作 | 系統回應 |
|---|
| 1 | 員工選擇「請假申請」功能 | 系統顯示請假申請表單 |
| 2 | 員工選擇假別、填寫起迄日期與事由 | 系統即時顯示剩餘假額 |
| 3 | 員工確認送出申請 | 系統驗證假額是否足夠 |
| 4 | — | 系統建立請假紀錄(狀態:待審核),發送通知給直屬主管 |
例外流程:
- E1:剩餘假額不足 → 系統顯示「特休假額不足,剩餘 N 天」,不允許送出
4.1.3 功能需求清單#
| 需求 ID | 需求描述 | 優先級 | 對應 BR |
|---|
| FR-LV-001 | 系統應提供線上請假申請功能,支援特休、事假、病假、公假等假別選擇 | Must | BR-001 |
| FR-LV-002 | 系統應於員工送出申請時自動驗證剩餘假額,不足時拒絕申請 | Must | BR-001 |
| FR-LV-003 | 系統應於請假申請建立後自動發送通知予直屬主管 | Must | BR-001 |
| FR-LV-004 | 系統應支援代理人設定,請假期間自動轉派工作通知 | Should | BR-001 |
5. 外部介面需求#
📝 範本#
5.1 使用者介面(User Interface)#
| 項目 | 規格 |
|---|
| 設計風格 | {Material Design / Custom / 企業 CI} |
| 響應式設計 | {支援範圍} |
| 無障礙標準 | {WCAG 2.1 Level AA} |
| 多語系 | {支援語言} |
5.2 硬體介面(Hardware Interface)#
5.3 軟體介面(Software Interface)#
| 外部系統 | 介接方式 | 資料格式 | 說明 |
|---|
| {系統名稱} | {REST API / MQ / File} | {JSON / XML / CSV} | {介接目的} |
5.4 通訊介面(Communication Interface)#
| 項目 | 規格 |
|---|
| 通訊協定 | {HTTPS / gRPC / AMQP} |
| 認證方式 | {OAuth 2.0 / mTLS / API Key} |
| 加密標準 | {TLS 1.3} |
📖 使用說明#
- 依據 ISO/IEC/IEEE 29148 第 5.2.5 節「External Interface Requirements」
- 使用者介面:定義 UI 設計原則與限制,非逐頁面設計(詳細 UI 在設計文件中)
- 軟體介面:列出所有外部系統整合點,為後續 API 設計提供基礎
- 通訊介面:定義安全通訊標準,符合資安政策
💡 範例#
5.3 軟體介面#
| 外部系統 | 介接方式 | 資料格式 | 說明 |
|---|
| Active Directory | LDAP / SAML 2.0 | XML | 員工帳號認證與 SSO |
| ERP 財務模組 | REST API | JSON | 薪資資料拋轉 |
| 電子郵件系統 | SMTP | MIME | 通知信發送 |
| 打卡系統 | File Transfer | CSV | 每日出勤資料匯入 |
6. 非功能性需求#
📝 範本#
| 指標 | 需求描述 | 目標值 |
|---|
| 回應時間 | {操作場景} 的系統回應時間 | ≤ {N} 秒 |
| 吞吐量 | 系統應支援同時 {N} 位使用者操作 | {TPS} |
| 批次處理 | {批次作業} 應於 {時間} 內完成 | {時長} |
6.2 安全性需求(Security)#
| 需求 ID | 需求描述 |
|---|
| NFR-SEC-001 | {安全需求描述} |
| NFR-SEC-002 | {安全需求描述} |
6.3 可用性需求(Availability)#
| 指標 | 目標值 |
|---|
| 系統可用率 | {99.x%} |
| 計畫停機 | {維護窗口描述} |
| RTO | {Recovery Time Objective} |
| RPO | {Recovery Point Objective} |
6.4 可維護性需求(Maintainability)#
6.5 可擴展性需求(Scalability)#
6.6 合規性需求(Compliance)#
📖 使用說明#
- 依據 ISO/IEC/IEEE 29148 第 5.2.6 節與 ISO/IEC 25010 品質模型
- 非功能性需求必須是可量化的,避免「系統應快速回應」這類模糊描述
- 效能需求需定義測試場景(如「95th percentile 回應時間 ≤ 2 秒,負載 500 concurrent users」)
- 安全性需求參考 OWASP Top 10 與組織資安政策
💡 範例#
6.1 效能需求#
| 指標 | 需求描述 | 目標值 |
|---|
| 回應時間 | 一般查詢操作(員工清單、假勤記錄查詢) | P95 ≤ 2 秒 |
| 回應時間 | 薪資計算批次作業(2000 人) | ≤ 30 分鐘 |
| 並行使用者 | 尖峰時段同時上線人數 | 500 人 |
6.3 可用性需求#
| 指標 | 目標值 |
|---|
| 系統可用率 | 99.5%(每月停機時間 ≤ 3.6 小時) |
| 計畫停機 | 每月第三個週六 02:00-06:00 |
| RTO | 4 小時 |
| RPO | 1 小時 |
7. 資料需求#
📝 範本#
7.1 資料實體(Data Entities)#
| 實體名稱 | 描述 | 預估資料量 | 保留期限 |
|---|
| {實體} | {描述} | {筆數/年} | {年限} |
7.2 資料字典(Data Dictionary)#
實體:{實體名稱}
| 欄位名稱 | 資料型別 | 長度 | 必填 | 說明 | 範例值 |
|---|
| {欄位} | {型別} | {長度} | Y/N | {說明} | {範例} |
7.3 資料保護需求#
| 資料分類 | 保護等級 | 處理規範 |
|---|
| {分類} | {等級} | {規範說明} |
📖 使用說明#
- 資料實體:列出主要業務物件,為後續資料庫設計提供基礎
- 資料字典:定義關鍵欄位規格,含驗證規則
- 資料保護:依個資法與組織資料分類標準,標記敏感欄位
- 資料保留期限需符合法規要求(如會計資料保留 7 年)
💡 範例#
7.1 資料實體#
| 實體名稱 | 描述 | 預估資料量 | 保留期限 |
|---|
| Employee | 員工基本資料 | 2,000 筆(現有)+ 200 筆/年 | 離職後 5 年 |
| LeaveRecord | 請假紀錄 | 50,000 筆/年 | 10 年 |
| PayrollRecord | 薪資發放紀錄 | 24,000 筆/年 | 10 年 |
7.2 資料字典#
實體:Employee
| 欄位名稱 | 資料型別 | 長度 | 必填 | 說明 | 範例值 |
|---|
| emp_id | VARCHAR | 10 | Y | 員工編號(唯一) | E20260001 |
| emp_name | NVARCHAR | 50 | Y | 員工姓名 | 王小明 |
| id_number | VARCHAR | 10 | Y | 身分證字號(加密儲存) | A123***890 |
| hire_date | DATE | - | Y | 到職日期 | 2026-03-01 |
8. 其他需求#
📝 範本#
8.1 國際化與在地化#
8.2 法規遵循#
8.3 訓練需求#
| 對象 | 訓練內容 | 時數 | 方式 |
|---|
| {使用者群組} | {訓練內容} | {時數} | 線上/實體 |
8.4 文件交付需求#
📖 使用說明#
- 本章收錄不屬於前述章節但仍需規範的需求
- 訓練需求影響專案時程與預算規劃
- 文件交付清單確保專案結束時知識可完整移轉
💡 範例#
8.3 訓練需求#
| 對象 | 訓練內容 | 時數 | 方式 |
|---|
| 一般員工 | 系統基本操作(請假、查詢) | 1 小時 | 線上教學影片 |
| 部門主管 | 審核流程與報表使用 | 2 小時 | 線上 + 實體 |
| 人資專員 | 全功能操作與管理 | 8 小時 | 實體課程 |
| 系統管理員 | 系統管理與故障排除 | 4 小時 | 實體課程 |
9. 需求追溯矩陣#
📝 範本#
| 業務需求 (BR) | 功能需求 (FR) | 測試案例 (TC) | 狀態 |
|---|
| BR-001 | FR-LV-001, FR-LV-002, FR-LV-003 | TC-LV-001~003 | 已確認 |
| BR-002 | FR-PY-001, FR-PY-002 | TC-PY-001~005 | 已確認 |
| BR-003 | FR-RPT-001 | TC-RPT-001 | 審核中 |
📖 使用說明#
- 依據 ISO/IEC/IEEE 29148 第 5.2.8 節「Traceability」要求
- 需求追溯矩陣(Requirements Traceability Matrix, RTM)確保:
- 每條 BR 都有對應的 FR(向下追溯)
- 每條 FR 都能追溯回 BR(向上追溯)
- 每條 FR 都有對應的測試案例(驗證覆蓋)
- RTM 應隨專案進行持續更新
💡 範例#
| 業務需求 (BR) | 功能需求 (FR) | 測試案例 (TC) | 狀態 |
|---|
| BR-001 請假線上化 | FR-LV-001 線上申請 | TC-LV-001 正常申請流程 | 已確認 |
| FR-LV-002 假額驗證 | TC-LV-002 假額不足拒絕 | 已確認 |
| FR-LV-003 通知發送 | TC-LV-003 主管收到通知 | 已確認 |
| BR-002 薪資自動化 | FR-PY-001 薪資計算 | TC-PY-001 正常薪資計算 | 已確認 |
| FR-PY-002 加班費計算 | TC-PY-002 加班費規則驗證 | 已確認 |
10. 附錄#
📝 範本#
10.1 待確認事項(TBD)#
| 編號 | 待確認事項 | 負責人 | 預計確認日期 |
|---|
| TBD-01 | {待確認的需求或決策} | {姓名} | {日期} |
10.2 需求變更紀錄#
| 變更編號 | 日期 | 需求 ID | 變更描述 | 影響分析 | 核准人 |
|---|
| CR-001 | {日期} | {FR-xxx} | {變更內容} | {影響範圍} | {姓名} |
10.3 詞彙表#
📖 使用說明#
- TBD 清單:記錄撰寫當下無法確認的項目,避免阻塞文件進度
- 變更紀錄:文件進入基線後的所有異動需正式記錄
- TBD 項目應設定負責人與確認期限,定期追蹤
💡 範例#
10.1 待確認事項#
| 編號 | 待確認事項 | 負責人 | 預計確認日期 |
|---|
| TBD-01 | 打卡系統 CSV 匯出格式規格待確認 | IT 維運組 | 2026-06-15 |
| TBD-02 | 加班費計算是否需支援彈性工時制度 | 人資部李經理 | 2026-06-01 |
📌 範本使用注意事項
- 本範本依據 ISO/IEC/IEEE 29148:2018 標準結構編製
- 每個功能模組重複第 4 章結構(Use Case + 需求清單 + 業務規則 + UI 規格)
- 需求描述使用「系統應(shall)」= 必要需求、「系統宜(should)」= 建議需求
- FRD 完成後應進入正式審核,由業務端與技術端共同確認
- 核定後的 FRD 作為 SAD(系統架構文件)與測試計畫的輸入