SRS - Software Requirement Specification
Mỗi phân hệ/module có tài liệu riêng trong thư mục này để dễ quản lý, review và mở rộng khi hệ thống có nhiều phân hệ. Có 2 mức áp dụng tùy quy mô dự án:
| Mức | Khi nào dùng | File/Folder |
|---|---|---|
| Nhanh (1 file) | Phân hệ nhỏ, giai đoạn đầu dự án, hoặc PoC | _template.md, timesheet.md |
| Đầy đủ (Canonical, nhiều file) | Phân hệ lớn, cần baseline chuẩn, nhiều actor/rule/traceability | hrm/ — 17 chương tách theo section number, ví dụ thật lấy từ dự án hrm-service |
Mức Nhanh — 1 file cho 1 phân hệ
Dùng khi phân hệ đơn giản, chưa cần tách nhỏ. Copy _template.md thành file mới theo tên phân hệ.
Quy ước đặt tên file
<ten-phan-he>.md (vd: hrm.md, timesheet.md, payroll.md).
Mức Đầy đủ (Canonical) — 1 folder cho 1 phân hệ
Khi phân hệ đủ lớn (nhiều actor, nhiều use case, cần traceability xuyên suốt), tách thành 1 thư mục riêng theo mẫu hrm/:
docs/srs/hrm/
├── index.md # 0. Sơ đồ luồng đọc
├── 01_document_control.md # 1. Kiểm soát tài liệu & thuật ngữ
├── 02_introduction.md # 2. Giới thiệu & phạm vi
├── 03_system_overview.md # 3. Tổng quan hệ thống
├── 04_requirement_overview.md # 4. Tổng quan yêu cầu (FR catalog)
├── modules/ # 5-9. Đặc tả từng phân hệ con (Use Case chi tiết)
│ ├── hrm.md
│ ├── attendance.md
│ ├── leave.md
│ ├── timesheet.md
│ └── log.md
├── 07_business_rules.md # Danh mục quy tắc nghiệp vụ dùng chung
├── 10_ui_specification.md # 10. Đặc tả giao diện
├── database.md # 11. Đặc tả dữ liệu
├── 12_permission.md # 12. Phân quyền & bảo mật
├── 13_integration.md # 13. Tích hợp hệ thống
├── 14_nfr.md # 14. Yêu cầu phi chức năng
├── 15_traceability.md # 15. Ma trận truy vết
├── 16_open_items.md # 16. Vấn đề mở
└── 17_authoring_rules.md # 17. Quy tắc soạn thảo & đánh giá
Nguyên tắc cốt lõi (xem chi tiết tại 1. Kiểm soát Tài liệu): mỗi loại thông tin chỉ có một vị trí chuẩn (canonical location) — FR ở Requirement Overview, Flow ở Use Case (trong modules/), Rule dùng chung ở Business Rules, UI/Data/Permission ở chương chuyên biệt của nó. Không lặp lại nội dung giữa các chương.
Traceability xuyên suốt
Ở mức Canonical, một yêu cầu được truy vết theo chuỗi: Business Need → Functional Requirement → Use Case → Business Rule / UI / Data → Traceability Matrix. Xem ví dụ đầy đủ tại 15. Ma trận Truy vết.