FRD 功能需求文件範本(Functional Requirements Document)

參照標準:ISO/IEC/IEEE 29148:2018(取代 IEEE 830-1998)
文件用途:將業務需求轉化為系統可實作的功能性與非功能性需求規格
適用階段:需求分析階段(Requirements Analysis Phase)


📋 章節目錄

  1. 文件資訊
  2. 導言
  3. 整體描述
  4. 系統功能需求
  5. 外部介面需求
  6. 非功能性需求
  7. 資料需求
  8. 其他需求
  9. 需求追溯矩陣
  10. 附錄

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
狀態基線
對應 BRDBRD-ERP-001 v1.2

2. 導言

📝 範本

2.1 目的(Purpose)

本文件定義 {系統名稱} 的功能性與非功能性需求規格,作為系統設計、開發與驗收測試的依據。

2.2 範圍(Scope)

  • 系統名稱:{正式系統名稱}
  • 系統簡述:{一段話描述系統功能}
  • 主要效益
    • {效益 1}
    • {效益 2}

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 定義、縮寫與縮略語

術語/縮寫全名定義
HRMSHuman Resource Management System人力資源管理系統
SSOSingle Sign-On單一登入機制
RBACRole-Based Access Control角色型存取控制

3. 整體描述

📝 範本

3.1 產品觀點(Product Perspective)

{描述系統在整體 IT 架構中的定位,與其他系統的關係}

┌─────────────────────────────────────────┐
│              系統脈絡圖                    │
├─────────────────────────────────────────┤
│  [外部系統 A] ←→ [本系統] ←→ [外部系統 B] │
│                    ↕                     │
│              [資料庫/服務]                 │
└─────────────────────────────────────────┘

3.2 使用者類別與特性

使用者類別描述技術程度使用頻率
{類別}{角色描述}高/中/低每日/每週/偶爾

3.3 操作環境

項目規格
作業系統{OS}
瀏覽器{支援的瀏覽器}
行動裝置{是否支援}
網路環境{內網/外網/VPN}

3.4 設計與實作限制

  • {限制 1}
  • {限制 2}

3.5 假設與依賴

  • {假設/依賴 1}
  • {假設/依賴 2}

📖 使用說明

  • 產品觀點:使用系統脈絡圖(Context Diagram)呈現系統邊界與外部實體
  • 使用者類別:識別所有 Actor,為後續 Use Case 分析做準備
  • 操作環境:定義系統運行的技術環境,影響非功能性需求
  • 設計限制:如必須使用特定技術、遵循特定標準等硬性約束

💡 範例

3.2 使用者類別與特性

使用者類別描述技術程度使用頻率
一般員工查詢個人資料、申請假勤每週
部門主管審核假勤、查看部門報表每日
人資專員維護人事資料、薪資結算每日
系統管理員帳號管理、系統設定每週

4. 系統功能需求

📝 範本

4.1 功能模組一:{模組名稱}

4.1.1 功能描述

{此模組的整體功能描述}

4.1.2 Use Case 描述
項目內容
Use Case IDUC-{模組}-{序號}
名稱{Use Case 名稱}
Actor{觸發角色}
前置條件{執行前必須滿足的條件}
後置條件{執行後系統的狀態}
主要流程見下方步驟
替代流程見下方說明
例外流程見下方說明

主要流程(Main Flow):

步驟Actor 動作系統回應
1{使用者操作}{系統處理與回應}
2{使用者操作}{系統處理與回應}
3{使用者操作}{系統處理與回應}

替代流程(Alternative Flow):

  • 步驟 {N}a:{替代路徑描述}

例外流程(Exception Flow):

  • E1:{異常狀況} → 系統顯示 {錯誤訊息},{處理方式}
4.1.3 功能需求清單
需求 ID需求描述優先級對應 BR
FR-{模組}-001系統應(shall){功能描述}Must/Should/CouldBR-{xxx}
FR-{模組}-002系統應(shall){功能描述}Must/Should/CouldBR-{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 IDUC-LV-001
名稱員工提交請假申請
Actor一般員工
前置條件員工已登入系統且具有效帳號
後置條件請假申請建立,狀態為「待審核」,主管收到通知

主要流程:

步驟Actor 動作系統回應
1員工選擇「請假申請」功能系統顯示請假申請表單
2員工選擇假別、填寫起迄日期與事由系統即時顯示剩餘假額
3員工確認送出申請系統驗證假額是否足夠
4系統建立請假紀錄(狀態:待審核),發送通知給直屬主管

例外流程:

  • E1:剩餘假額不足 → 系統顯示「特休假額不足,剩餘 N 天」,不允許送出
4.1.3 功能需求清單
需求 ID需求描述優先級對應 BR
FR-LV-001系統應提供線上請假申請功能,支援特休、事假、病假、公假等假別選擇MustBR-001
FR-LV-002系統應於員工送出申請時自動驗證剩餘假額,不足時拒絕申請MustBR-001
FR-LV-003系統應於請假申請建立後自動發送通知予直屬主管MustBR-001
FR-LV-004系統應支援代理人設定,請假期間自動轉派工作通知ShouldBR-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 DirectoryLDAP / SAML 2.0XML員工帳號認證與 SSO
ERP 財務模組REST APIJSON薪資資料拋轉
電子郵件系統SMTPMIME通知信發送
打卡系統File TransferCSV每日出勤資料匯入

6. 非功能性需求

📝 範本

6.1 效能需求(Performance)

指標需求描述目標值
回應時間{操作場景} 的系統回應時間≤ {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
RTO4 小時
RPO1 小時

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_idVARCHAR10Y員工編號(唯一)E20260001
emp_nameNVARCHAR50Y員工姓名王小明
id_numberVARCHAR10Y身分證字號(加密儲存)A123***890
hire_dateDATE-Y到職日期2026-03-01

8. 其他需求

📝 範本

8.1 國際化與在地化

  • {多語系/時區/貨幣 需求}

8.2 法規遵循

  • {法規名稱}:{遵循方式}

8.3 訓練需求

對象訓練內容時數方式
{使用者群組}{訓練內容}{時數}線上/實體

8.4 文件交付需求

  • 系統操作手冊
  • 管理者操作手冊
  • API 技術文件
  • 系統維運手冊

📖 使用說明

  • 本章收錄不屬於前述章節但仍需規範的需求
  • 訓練需求影響專案時程與預算規劃
  • 文件交付清單確保專案結束時知識可完整移轉

💡 範例

8.3 訓練需求

對象訓練內容時數方式
一般員工系統基本操作(請假、查詢)1 小時線上教學影片
部門主管審核流程與報表使用2 小時線上 + 實體
人資專員全功能操作與管理8 小時實體課程
系統管理員系統管理與故障排除4 小時實體課程

9. 需求追溯矩陣

📝 範本

業務需求 (BR)功能需求 (FR)測試案例 (TC)狀態
BR-001FR-LV-001, FR-LV-002, FR-LV-003TC-LV-001~003已確認
BR-002FR-PY-001, FR-PY-002TC-PY-001~005已確認
BR-003FR-RPT-001TC-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

📌 範本使用注意事項

  1. 本範本依據 ISO/IEC/IEEE 29148:2018 標準結構編製
  2. 每個功能模組重複第 4 章結構(Use Case + 需求清單 + 業務規則 + UI 規格)
  3. 需求描述使用「系統應(shall)」= 必要需求、「系統宜(should)」= 建議需求
  4. FRD 完成後應進入正式審核,由業務端與技術端共同確認
  5. 核定後的 FRD 作為 SAD(系統架構文件)與測試計畫的輸入