Timesheet (Chấm công) - Software Requirement Specification
Ví dụ minh họa cách áp dụng _template.md cho một phân hệ cụ thể. Đây là nội dung mẫu rút gọn, không phải tài liệu thật.
1. Document Control & Terminology
1.1 Lịch sử sửa đổi (Revision History)
| Phiên bản | Ngày cập nhật | Người cập nhật | Nội dung thay đổi | Trạng thái |
|---|---|---|---|---|
| 1.0 | 20/08/2026 | Trần Thị B | Khởi tạo tài liệu | Draft |
1.2 Thuật ngữ (Terminology)
| Thuật ngữ / Viết tắt | Ý nghĩa |
|---|---|
| Timesheet | Bảng chấm công |
| OT | Overtime (Tăng ca) |
2. System Overview
graph TD
A[Timesheet System] --> B(Import vân tay)
A --> C(Chốt công)
A --> D(Duyệt tăng ca)
3. Requirement Catalog
| ID | Tên Yêu Cầu | Mức độ ưu tiên | Trạng thái |
|---|---|---|---|
| FR-01 | Import dữ liệu chấm công từ máy vân tay | High | Done |
| FR-02 | Chốt công cuối tháng | High | To Do |
| ID | Tên Yêu Cầu | Tiêu chí nghiệm thu |
|---|---|---|
| NFR-01 | Hiệu năng | Import 1,000 bản ghi dưới 5s |
4. Module Specification
4.1 UC-TS-01: Import vân tay
Mô tả: Cho phép Admin import file dữ liệu chấm công từ máy chấm công vân tay.
Thông tin cơ bản
- Actor: Timesheet Admin
- Pre-condition: File dữ liệu đúng định dạng
.csvđã được xuất từ máy chấm công. - Post-condition: Dữ liệu chấm công được lưu vào bảng
AttendanceEvent.
Luồng chính (Main Flow):
- Admin chọn menu "Import chấm công".
- Admin chọn file
.csvcần import. - Hệ thống kiểm tra định dạng file.
- Hệ thống ghi dữ liệu vào bảng
AttendanceEvent. - Hệ thống hiển thị thông báo import thành công kèm số bản ghi đã xử lý.
Luồng ngoại lệ (Exception Flow):
E1: Sai định dạng file (Tại bước 3)
Nếu file không đúng định dạng quy định, hệ thống hiển thị thông báo lỗi: "File không đúng định dạng. Vui lòng kiểm tra lại mẫu.". Import bị hủy bỏ.
Quy tắc nghiệp vụ (Business Rules):
BR-01: Trùng lặp bản ghi
Nếu bản ghi chấm công (nhân viên + thời điểm) đã tồn tại, hệ thống bỏ qua bản ghi đó (không tạo trùng).
5. UI Specification (Mockup)
6. Data Specification
| Trường (Field) | Kiểu dữ liệu | Bắt buộc | Ràng buộc |
|---|---|---|---|
| employee_id | string | Có | Phải tồn tại trong bảng Employee |
| punch_time | datetime | Có |
7. Permission / Phân quyền
| Vai trò | Xem | Thêm | Sửa | Xóa |
|---|---|---|---|---|
| Timesheet Admin | ✅ | ✅ | ✅ | ✅ |
| Employee | ✅ (bản thân) | ❌ | ❌ | ❌ |
8. Traceability Matrix
| Yêu cầu (FR/NFR) | Test Case liên quan | Trạng thái |
|---|---|---|
| FR-01 | TC-TS-01 | Done |
