Bỏ qua

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.