Đặc tả Tính năng: Luồng phê duyệt
1. Tổng quan & Tầm nhìn
Luồng phê duyệt đảm bảo rằng các tài liệu đáp ứng các tiêu chuẩn về chất lượng và tuân thủ của tổ chức trước khi được hoàn thiện. Nó cung cấp một chu kỳ chính thức gồm gửi, xem xét và xuất bản, chuyển đổi một bản nháp thô thành một nguồn sự thật "Đã xuất bản".
2. Các Vai trò & Bên liên quan
| Vai trò | Mục tiêu |
|---|---|
| Tác giả | Gửi công việc để xem xét và xử lý các phản hồi. |
| Người xem xét | Kiểm toán nội dung, yêu cầu thay đổi và đưa ra phê duyệt cuối cùng. |
| Quản trị viên | Giám sát đường ống xuất bản và quản lý các bài đánh giá bị kẹt. |
3. Câu chuyện Người dùng (User Stories)
- Với tư cách là tác giả, tôi muốn gửi bản nháp của mình cho Trưởng phòng HR để nó có thể được xuất bản chính thức.
- Với tư cách là người xem xét, tôi muốn yêu cầu thay đổi với một nhận xét cụ thể để tác giả biết cần sửa gì.
- Với tư cách là người dùng, tôi muốn được thông báo khi tài liệu của mình đã được phê duyệt hoặc bị từ chối.
4. Yêu cầu Chức năng (FR)
- REQ-AP-001: Máy trạng thái tài liệu 3 giai đoạn:
draft,in_review,published. - REQ-AP-002: Hành động "Gửi để xem xét" chính thức với việc chọn người xem xét.
- REQ-AP-003: Các quyết định xem xét:
Approve(Phê duyệt),Request Changes(Yêu cầu thay đổi). - REQ-AP-004: Hệ thống nhận xét cho phản hồi xem xét.
5. Yêu cầu Phi chức năng (NFR)
- Tính nhất quán: Các chuyển đổi trạng thái PHẢI mang tính nguyên tử và được ghi lại trong nhật ký kiểm toán.
- Bảo mật: Các tài liệu PHẢI bị khóa không cho chỉnh sửa khi đang ở trạng thái
in_review.
6. Logic & Quy tắc Nghiệp vụ
- Khóa Trình soạn thảo: Tác giả không thể chỉnh sửa tài liệu khi nó đang được xem xét bởi người khác.
- Tự động chuyển phiên bản: Việc yêu cầu thay đổi sẽ tự động đưa tài liệu trở lại trạng thái
draft. - Tính cuối cùng: Một khi đã
published, tài liệu ở chế độ chỉ đọc (cho đến khi một phiên bản nháp mới được tạo).
7. Giao diện Người dùng (UI/UX)
- Thanh công cụ luồng công việc: Badge trạng thái nổi bật và nút hành động chính (ví dụ: "Gửi xem xét").
- Bảng xem xét: Ngăn kéo bên cạnh dành cho người xem xét để nhập nhận xét và chọn quyết định.
- Thông báo trong ứng dụng: Thông báo Toast và biểu tượng Chuông cho các sự kiện luồng công việc.
8. Kiến trúc Thông tin
- Trạng thái luồng công việc hiển thị trong tất cả các danh sách tài liệu và kết quả tìm kiếm.
9. Mô hình Dữ liệu & Lưu trữ
- Bảng:
approval_requests. - Bảng:
documents(cột status).
10. Lớp API & Dịch vụ
POST /documents/:id/submit-reviewPOST /approval-requests/:id/decide
11. Các Mẫu Tích hợp
- Dịch vụ Thông báo: Kích hoạt các thông báo toàn hệ thống Shell khi trạng thái thay đổi.
- Module AI: (Tương lai) Tự động tóm tắt các thay đổi cho người xem xét.
12. Bảo mật & Quyền hạn
- RBAC: Yêu cầu quyền
documents:publishđể phê duyệt;documents:writeđể gửi. - Quyền sở hữu: Tác giả chỉ có thể gửi công việc của chính họ (trừ khi là Quản trị viên).
13. Xử lý Lỗi & Khả năng Phục hồi
- Trạng thái không hợp lệ: Ngăn chặn việc phê duyệt một tài liệu đã bị sửa đổi hoặc xóa.
- Đánh giá mồ côi: Quản trị viên có thể gán lại người xem xét nếu người xem xét ban đầu không khả dụng.
14. Hiệu năng & Khả năng Mở rộng
- Tối ưu hóa việc kiểm tra trạng thái để đảm bảo khóa trình soạn thảo theo thời gian thực.
15. Toàn cầu hóa & Bản địa hóa
- Tên các trạng thái luồng công việc được bản địa hóa (ví dụ: "Đang chờ duyệt").
16. Khả năng Tiếp cận (a11y)
- Các nút luồng công việc có thể tiếp cận với nhãn trạng thái rõ ràng.
17. Khả năng Quan sát & Phân tích
- Theo dõi "Thời gian trong quá trình xem xét" để xác định các nút thắt cổ chai của tổ chức.
- Phân tích tỷ lệ "Phê duyệt ngay lần đầu".
18. Kiểm thử & Chất lượng
- Kiểm thử đơn vị máy trạng thái bao gồm tất cả các lộ trình chuyển đổi.
- Kiểm thử tích hợp cho logic khóa dựa trên quyền hạn.
19. Các Ràng buộc & Giả định
- Giả định phê duyệt 1 bước tuyến tính cho v1 (Phê duyệt nhiều cấp được dự kiến cho v2).
20. Các Cải tiến Tương lai
- Chuỗi phê duyệt nhiều bước (ví dụ: Đồng nghiệp -> Quản lý -> Pháp chế).
- Danh sách kiểm tra bắt buộc cho người xem xét trước khi họ có thể nhấn "Phê duyệt".