系統需求規格書範本(System Requirements Document, SRD)

參照標準:ISO/IEC/IEEE 29148:2018(Systems and Software Engineering — Requirements Engineering)
文件用途:定義系統層級的完整需求(功能、效能、安全、介面),作為設計與驗證的基準
適用階段:需求分析階段(Requirements Phase)— System-Level Requirements


📋 章節目錄

  1. 文件資訊
  2. 系統概述
  3. 系統功能需求
  4. 系統介面需求
  5. 效能需求
  6. 安全需求摘要
  7. 可靠性與可用性
  8. 限制條件
  9. 需求追溯矩陣
  10. 附錄

1. 文件資訊

📝 範本

項目內容
文件編號SRD-{專案代碼}-{版本}
文件名稱{系統名稱} 系統需求規格書
版本v{主版本}.{次版本}
狀態草稿 / 審核中 / 基線化
建立日期{YYYY-MM-DD}
撰寫者{系統分析師}
審核者{Tech Lead / 架構師}
核准者{PM / 產品負責人}
基線版本{基線化日期,變更需走 CR 流程}

📖 使用說明

  • SRD 位於需求文件階層的中間層:
    • BRD(商業需求)→ SRD(系統需求) → FRD(功能需求)
  • SRD 將商業需求轉化為系統可實作的技術需求
  • 「基線化」後的變更需經正式變更控制流程(Change Request)
  • 依 ISO/IEC/IEEE 29148:2018 Section 6.2(System Requirements Specification)

💡 範例

項目內容
文件編號SRD-HRM-v1.0
系統名稱人力資源管理系統(HRMS)
版本v1.0
基線版本2026-04-01(Sprint 10 結束)

2. 系統概述

📝 範本

2.1 系統目的

{描述系統存在的理由與欲解決的核心問題}

2.2 系統範圍

項目說明
包含範圍(In Scope){系統包含的功能/模組}
排除範圍(Out of Scope){明確不包含的功能}

2.3 利害關係人

利害關係人角色關注點
{對象}{角色}{關注什麼}

2.4 系統環境圖

{系統與外部系統/使用者的關係圖}

📖 使用說明

  • 系統概述讓所有讀者對系統有全貌理解
  • 範圍定義需明確 In/Out of Scope,避免需求蔓延(Scope Creep)
  • 利害關係人分析確保所有需求來源已識別
  • 系統環境圖呈現系統邊界與外部互動

💡 範例

2.1 系統目的

建置整合性人力資源管理系統,取代現有分散的 Excel 表單與紙本流程,實現員工資料管理、薪資計算、請假管理、報表分析的數位化與自動化。

2.2 系統範圍

項目說明
In Scope員工資料管理、薪資計算、請假/加班、組織架構、報表、權限管理
Out of Scope招募管理(使用既有 ATS)、績效考核(Phase 2)、訓練管理(Phase 2)

2.3 利害關係人

利害關係人角色關注點
HR 部門主要使用者操作效率、個資保護
財務部次要使用者薪資正確性、報表合規
全體員工終端使用者自助查詢、請假便利
IT 部門維運者系統穩定性、可維護性
管理層決策者報表分析、投資效益

3. 系統功能需求

📝 範本

3.1 功能需求列表

需求 ID功能模組需求描述優先級來源
SRD-F-{xxx}{模組}{系統應…(shall)}MoSCoW{BRD/利害關係人}

3.2 功能需求詳述

SRD-F-{xxx}: {需求標題}

項目內容
需求 IDSRD-F-{xxx}
描述系統應(shall){功能描述}
輸入{觸發條件/輸入資料}
處理{系統處理邏輯}
輸出{系統輸出/回應}
業務規則{適用的業務規則}
例外情況{異常流程}
優先級Must / Should / Could / Won’t
驗收條件{如何驗證此需求已滿足}

📖 使用說明

  • 功能需求使用 “shall” 語法:「系統(shall)提供…」
  • 優先級使用 MoSCoW:Must(必須)/ Should(應該)/ Could(可以)/ Won’t(不做)
  • 每個需求需可驗證(Verifiable)— 有明確的驗收條件
  • 避免模糊用語:「快速」→ 「3 秒內」;「大量」→ 「10,000 筆以上」

💡 範例

3.1 功能需求列表

需求 ID功能模組需求描述優先級來源
SRD-F-001員工管理系統應提供員工資料 CRUD 功能MustBRD-001
SRD-F-002薪資計算系統應根據薪資結構自動計算月薪MustBRD-003
SRD-F-003請假管理系統應支援多層級請假審核流程MustBRD-005
SRD-F-004報表系統應提供薪資報表匯出(PDF/Excel)ShouldBRD-007
SRD-F-005通知系統應支援即時推播通知Could利害關係人訪談

3.2 功能需求詳述

SRD-F-002: 薪資自動計算

項目內容
需求 IDSRD-F-002
描述系統應根據員工薪資結構、出缺勤記錄、加班時數,自動計算當月應發薪資
輸入員工薪資結構(基本薪 + 津貼)、當月出缺勤記錄、加班申請核准記錄
處理基本薪 + 津貼 + 加班費 - 請假扣款 - 勞健保 - 所得稅預扣
輸出薪資明細(各項目金額)+ 應發總額 + 實發金額
業務規則BR-PAY-001(加班費計算公式)、BR-PAY-002(勞健保費率表)
例外情況新進員工(不足月)按比例計算;留職停薪者不計算
優先級Must
驗收條件使用 100 筆測試資料計算結果與 Excel 手算一致,誤差 ≤ ±1 元

4. 系統介面需求

📝 範本

4.1 使用者介面(UI)

需求 ID描述規格
SRD-UI-{xxx}{UI 需求}{規格/標準}

4.2 外部系統介面

介面 ID外部系統方向協定資料格式頻率
SRD-IF-{xxx}{系統名}入/出/雙向{協定}{格式}{頻率}

4.3 硬體介面

需求 ID描述規格
SRD-HW-{xxx}{硬體介面需求}{規格}

📖 使用說明

  • UI 需求定義使用者介面的技術規格(非視覺設計)
  • 外部系統介面是整合設計的關鍵輸入
  • 介面需定義:方向(誰呼叫誰)、協定、資料格式、頻率、錯誤處理

💡 範例

4.1 使用者介面

需求 ID描述規格
SRD-UI-001系統應支援響應式設計(RWD)支援 1024px ~ 1920px 寬度
SRD-UI-002系統應符合 WCAG 2.1 AA 無障礙標準色彩對比 ≥ 4.5:1
SRD-UI-003系統應支援繁體中文、English 雙語系i18n 架構

4.2 外部系統介面

介面 ID外部系統方向協定資料格式頻率
SRD-IF-001Active DirectoryLDAPSLDAP Query即時(登入時)
SRD-IF-002薪轉銀行 APIREST/HTTPSJSON (ISO 20022)每月 1 次
SRD-IF-003打卡系統SFTPCSV每日批次
SRD-IF-004Email ServerSMTP/TLSMIME事件驅動

5. 效能需求

📝 範本

需求 ID指標目標值測量條件優先級
SRD-P-{xxx}{效能指標}{目標}{條件}Must/Should

📖 使用說明

  • 效能需求需可量測(有數字、有條件、有量測方法)
  • 常見指標:回應時間、吞吐量、並發數、資料處理量
  • 目標值需基於業務需求(如員工數、尖峰時段)
  • 效能需求是壓力測試/效能測試的驗收標準

💡 範例

需求 ID指標目標值測量條件優先級
SRD-P-001頁面載入時間≤ 2 秒4G 網路、首次載入Must
SRD-P-002API 回應時間 (P95)≤ 500ms200 concurrent usersMust
SRD-P-003薪資批次計算≤ 5 分鐘10,000 筆員工資料Must
SRD-P-004報表匯出≤ 30 秒5,000 筆 Excel 匯出Should
SRD-P-005系統同時在線≥ 500 users不影響 P-001/P-002Must
SRD-P-006日交易量≥ 50,000 TXN/day含查詢+寫入Should

6. 安全需求摘要

📝 範本

需求 ID安全領域需求描述對應標準優先級
SRD-S-{xxx}{領域}{描述}{標準章節}Must/Should

📎 完整安全需求詳見:《安全需求清單》(SecurityRequirements_Template)

📖 使用說明

  • SRD 中的安全需求為摘要層級,完整內容在安全需求清單
  • 摘要確保系統設計階段不會遺漏安全考量
  • 安全領域涵蓋:認證、授權、加密、日誌、通訊

💡 範例

需求 ID安全領域需求描述對應標準優先級
SRD-S-001認證系統應支援 MFA 多因子認證OWASP ASVS V2.8Must
SRD-S-002授權系統應實施 RBAC 角色權限控制OWASP ASVS V4.1Must
SRD-S-003加密個資欄位應使用 AES-256 加密儲存OWASP ASVS V6.2Must
SRD-S-004通訊所有傳輸應使用 TLS 1.2+OWASP ASVS V9.1Must
SRD-S-005日誌系統應記錄所有安全事件(認證/授權)OWASP ASVS V7.1Must

7. 可靠性與可用性

📝 範本

需求 ID指標目標值說明
SRD-R-{xxx}{可靠性/可用性指標}{目標}{說明}

📖 使用說明

  • 可用性(Availability):系統可正常使用的時間比例
  • 可靠性(Reliability):系統不發生故障的能力
  • MTBF(Mean Time Between Failures):平均故障間隔
  • RTO(Recovery Time Objective):恢復時間目標
  • RPO(Recovery Point Objective):恢復點目標(可接受的資料丟失量)

💡 範例

需求 ID指標目標值說明
SRD-R-001系統可用性≥ 99.5%(月度)排除計畫性維護窗口
SRD-R-002RTO≤ 30 分鐘災難發生後恢復服務的時間
SRD-R-003RPO≤ 1 小時最多可接受丟失 1 小時的資料
SRD-R-004MTBF≥ 720 小時平均每月少於 1 次非計畫停機
SRD-R-005計畫維護窗口每月 1 次,≤ 2 小時週六 02:00-04:00

8. 限制條件

📝 範本

8.1 技術限制

限制 ID描述原因
SRD-C-{xxx}{技術限制}{原因}

8.2 業務限制

限制 ID描述原因
SRD-CB-{xxx}{業務限制}{原因}

8.3 假設

假設 ID描述風險(若假設不成立)
SRD-A-{xxx}{假設}{風險}

📖 使用說明

  • 限制條件限定了系統設計的自由度(必須遵守)
  • 技術限制:企業既有技術棧、第三方系統版本
  • 業務限制:預算、時程、法規
  • 假設需要明確列出,若假設失效,需重新評估需求

💡 範例

8.1 技術限制

限制 ID描述原因
SRD-C-001後端使用 .NET 8 開發企業技術標準
SRD-C-002資料庫使用 PostgreSQL授權成本考量
SRD-C-003部署於 Azure AKS (Kubernetes)企業雲端策略
SRD-C-004需整合既有 AD 認證企業 SSO 策略

8.2 業務限制

限制 ID描述原因
SRD-CB-001第一版需在 6 個月內上線合約期限
SRD-CB-002預算上限 500 萬年度 IT 預算
SRD-CB-003需符合個人資料保護法法規要求

8.3 假設

假設 ID描述風險(若假設不成立)
SRD-A-001AD 支援 LDAPS 查詢需改用其他認證方式,增加 2 週工期
SRD-A-002員工資料量 ≤ 15,000 筆超過需重新評估架構與效能目標
SRD-A-003使用者皆使用 Chrome/Edge 瀏覽器需增加跨瀏覽器測試(增加成本)

9. 需求追溯矩陣

📝 範本

SRD 需求 IDBRD 來源設計文件測試案例狀態
SRD-{x}-{xxx}BRD-{xxx}SAD §{x.x}TC-{xxx}核定/變更/取消

📖 使用說明

  • 追溯矩陣確保需求的向前追溯(→ 設計 → 測試)與向後追溯(← BRD)
  • ISO/IEC/IEEE 29148:2018 強調 Bidirectional Traceability
  • 每個需求都需有對應的驗證方法(測試/審查/分析/演示)
  • 未追溯的需求 = 可能未實作或未測試 = 風險

💡 範例

SRD 需求 IDBRD 來源設計文件測試案例狀態
SRD-F-001BRD-001SAD §4.1TC-EMP-001~010核定
SRD-F-002BRD-003SAD §4.3TC-PAY-001~025核定
SRD-F-003BRD-005SAD §4.4TC-LEV-001~015核定
SRD-P-001BRD-008 (NFR)SAD §6.1TC-PERF-001核定
SRD-S-001BRD-009 (SEC)SAD §5.1TC-SEC-001~005核定

10. 附錄

📝 範本

10.1 術語表

術語定義
{術語}{定義}

10.2 參考文件

文件用途
ISO/IEC/IEEE 29148:2018需求工程標準
BRD-HRM-v1.0商業需求文件
{其他}{用途}

10.3 簽核

角色姓名日期簽核
系統分析師{姓名}{日期}
架構師{姓名}{日期}
PM{姓名}{日期}
產品負責人{姓名}{日期}

📖 使用說明

  • SRD 基線化需經所有利害關係人簽核
  • 基線化後的變更需走正式 CR(Change Request)流程
  • 術語表確保文件中的專業用語有統一定義

💡 範例

10.3 簽核

角色姓名日期簽核
系統分析師李分析2026-03-28
架構師張架構2026-03-29
PM林專案2026-03-30
產品負責人王 HR 主管2026-04-01

📌 範本使用注意事項

  1. 本範本依據 ISO/IEC/IEEE 29148:2018 Section 6.2(System Requirements Specification)編製
  2. SRD 介於 BRD(商業需求)與 FRD(功能需求)之間,定義系統層級需求
  3. 搭配「BRD 範本」使用 — SRD 的需求需可追溯至 BRD
  4. 搭配「SAD 範本」使用 — 架構設計需滿足 SRD 中的所有需求
  5. 搭配「測試計畫範本」使用 — 每個 SRD 需求需有對應的測試案例
  6. 需求撰寫原則:明確(Unambiguous)、可驗證(Verifiable)、可追溯(Traceable)