#12 – Ma trận truy vết yêu cầu (RTM)
Giai đoạn: Kiểm soát · Phiên bản 0.1 – 29/10/2026
Truy vết hai chiều: từ tài liệu gốc → epic → yêu cầu chức năng → use case → story → màn hình → API → kiểm thử. Dùng khi phân tích ảnh hưởng thay đổi và khi nghiệm thu (mọi yêu cầu gốc phải có ít nhất một kịch bản kiểm thử).
#1. Truy vết từ user story gốc [YC]
| YC | Ưu tiên | Epic | FR | UC | Story | Màn hình | API chính | Kiểm thử |
|---|---|---|---|---|---|---|---|---|
| YC01 Quét QR kích hoạt | P0 | EP01 | FR-01.01–08 | UC-01 | US-001…006 | SCR-02, 03, 04 | /auth/*, /activations, /me/books |
TC-01, 02, 03 |
| YC02 Nhập ID điều hướng | P0 | EP02 | FR-02.01–08 | UC-02 | US-010…015 | SCR-01, 20 | /codes/{code} |
TC-04, 05, 06 |
| YC03 Danh sách học liệu | P2 | EP03 | FR-03.05–06 | UC-17 | US-024, 025 | SCR-22 | /books/{id}/tree |
(bổ sung ở R1) |
| YC04 Làm bài trên hệ thống | P0 | EP04 | FR-04.01–11 | UC-04 | US-030…038 | SCR-08…11 | /assessments/*, /attempts/* |
TC-08…13, 15 |
| YC05 Điểm, đúng/sai (trắc nghiệm) | P0 | EP05 | FR-05.01–03, 05.07 | UC-05 | US-040, 041, 045 | SCR-12, 13 | /attempts/{id}/submit, /result |
TC-08, 09 |
| YC06 Hướng dẫn giải, tự chấm (tự luận) | P0 | EP05 | FR-05.04–05 | UC-05, UC-06 | US-042, 044 | SCR-13, 14 | /attempts/{id}/self-grades |
TC-15, 23 |
| YC07 Gợi ý chủ đề cần củng cố | P1 | EP06 | FR-06.01–05 | UC-07 | US-050…054 | SCR-12, 15 | /attempts/{id}/recommendations, /me/weak-topics |
TC-10, 22, 23 |
| YC08 Lịch sử làm bài | P1 | EP07 | FR-07.01–02 | UC-08 | US-060 | SCR-16 | /me/attempts |
TC-24 |
| YC09 Biểu đồ điểm | P1 | EP07 | FR-07.03–04 | UC-08 | US-061, 062 | SCR-17 | /me/progress |
TC-24 |
| YC10 Mua gói đề mở rộng | P3 | EP08 | FR-08.01–06 | UC-09 | US-070…074 | SCR-18, 19, ADM-03 | /packages, /orders, /payments/*/ipn |
TC-28 |
| YC11 GV giao đề qua LMS | P1 | EP09 | FR-09.01–03 | UC-10 | US-080, 081 | SCR-GV-01, 02, SCR-23 | /teacher/classes/* |
TC-25 |
| YC12 GV báo cáo tiến độ, phổ điểm | P1 | EP09 | FR-09.04–05, 09.07 | UC-11 | US-082, 084 | SCR-GV-03 | /teacher/assignments/{id}/report |
TC-25 |
| YC13 GV thống kê câu/chủ đề sai nhiều | P2 | EP09 | FR-09.06 | UC-11 | US-083 | SCR-GV-04 | /teacher/assignments/{id}/item-analysis |
TC-26 |
| YC14 BTV ngân hàng câu hỏi, video, ma trận | P0 | EP10 | FR-10.01–14 | UC-12, 13, 14 | US-090…103 | SCR-CMS-01…13 | /admin/* |
TC-17…20 |
| YC15 Admin dữ liệu hành vi | P1 | EP11 | FR-11.01–06 | UC-15 | US-110…115 | SCR-ADM-01, 02, 04 | /events, /admin/reports/* |
TC-21, 27 |
#2. Truy vết từ mô tả sản phẩm [MT]
| Mục [MT] | Nội dung | FR | Story | Kiểm thử |
|---|---|---|---|---|
| Toán P1.1 | Mind map → ID → lý thuyết text + video | FR-02.03, 03.01, 03.03 | US-010, 020, 022 | TC-04, 07 |
| Toán P1.2 | Ví dụ → ID → đáp án, phân tích, video | FR-03.02 | US-021 | TC-04 |
| Toán P1.3 | Bài tập thực hành, 1 ID cho cả danh sách, đề xuất chuyên đề sai nhiều | FR-04.x, 05.x, 06.01–02 | US-030…, 040, 051 | TC-08, 22 |
| Toán P2 | 10 đề thi thử, làm trên giấy hoặc máy, đề xuất | FR-04.x, 05.06, 06.02 | US-031, 032, 043, 051 | TC-08, 09, 14, 22 |
| Toán/Văn P3, Anh P5 | Đề thi mở rộng trả phí | FR-08.x | US-070…074 | TC-28 |
| Văn P1.2–1.3 | Mind map, ví dụ → video | FR-03.01–03 | US-020…022 | TC-07 |
| Văn P1.4, P2 | Bài vận dụng, đề thi thử; tự so sánh, tự đánh giá | FR-04.11, 05.04–05, 06.04 | US-037, 042, 044, 053 | TC-15, 23 |
| Anh P1 | Placement test 20 câu, một câu/màn hình, theo dõi thời gian, BTV gắn tag | FR-04.04, 06.03, 10.06 | US-033, 050, 052, 095 | TC-10 |
| Anh P2 | 12 video chuyên đề + bài luyện 5–10 câu | FR-03.01, 04.x | US-020, 030 | TC-07 |
| Anh P4 | Đề luyện tập: tra key trên giấy hoặc làm trên máy + đề xuất chủ đề/dạng bài | FR-05.06, 06.02 | US-043, 051 | TC-14, 22 |
Nền tảng onthi.hoclieu.vn (cần SK đánh giá) |
– | – | – | ADR-001 |
| Mốc 15/11, 30/11, 31/01 | – | – | – | 11 |
#3. Truy vết từ user flow [UF]
| Nút trong [UF] | Màn hình | FR |
|---|---|---|
| Nhập ID (mọi nhánh) | SCR-01, 20 | FR-02.01–05 |
| Xem giải thích (text, video) | SCR-05 | FR-03.01 |
| Xem video giải thích | SCR-05/06 + SCR-07 | FR-03.02–03 |
| Xem đáp án, giải thích | SCR-13 | FR-05.03, 05.06 |
| Nhận đề xuất kiến thức | SCR-15 | FR-06.01–03 |
| Làm đề thi thử / Làm đề luyện tập | SCR-08…12 | FR-04.x, 05.x |
| Làm mini test | SCR-11 | FR-04.04 |
| Xem kết quả, đáp án, giải thích | SCR-12, 13 | FR-05.01–03 |
| Làm bài tập thực hành (Anh, trên số) | SCR-08…12 | FR-04.x |
#4. Yêu cầu ngầm định (N1–N12)
| N | Yêu cầu | FR / NFR | Story | Kiểm thử |
|---|---|---|---|---|
| N1 | Đăng ký/đăng nhập | FR-01.01, 01.08 | US-001 | TC-01 |
| N2 | Lô mã kích hoạt | FR-10.09 | US-097 | TC-19 |
| N3 | Sinh, xuất ID + QR | FR-10.05 | US-094 | TC-18 |
| N4 | Tra đáp án khi làm trên giấy | FR-05.06 | US-043 | TC-14 |
| N5 | Một câu/màn hình có đo thời gian | FR-04.04 | US-033 | TC-10 |
| N6 | Tự lưu, khôi phục | FR-04.06 | US-035 | TC-11, 12 |
| N7 | Công thức toán | FR-04.10, NFR-COMP-01 | US-020, 030 | TC-07 |
| N8 | Bảo vệ video | FR-03.03, NFR-SEC-03 | US-022 | TC-29 |
| N9 | Quy trình duyệt | FR-10.08 | US-101 | (R1) |
| N10 | Hỗ trợ người dùng | FR-11.06 | US-115 | (R1) |
| N11 | Kiểm tra liên kết ID | FR-10.14 | US-100 | TC-20, 10 §3 |
| N12 | Chính sách dữ liệu, đồng ý | FR-01.07, NFR-PRIV-01 | US-006 | (rà soát pháp lý) |
#5. Truy vết yêu cầu phi chức năng
| NFR | Thiết kế đáp ứng | Kiểm thử |
|---|---|---|
| NFR-PERF-01/02/03 | Cache Redis/CDN, SSR, dịch vụ video HLS (07 §3) | 10 §6 |
| NFR-SCAL-01, AVAIL-01, REC-01 | Máy chủ không trạng thái, CSDL quản lý sẵn, sao lưu | Kiểm thử tải, diễn tập khôi phục |
| NFR-USAB-01/02 | Nguyên tắc UX (05 §1), PWA | Ma trận thiết bị, kiểm thử khả dụng |
| NFR-SEC-01…04 | 07 §7 | TC-16, TC-29, pentest |
| NFR-PRIV-01 | Phân loại dữ liệu (06 §6) | Rà soát pháp lý |
| NFR-MAINT-01 | CI/CD, OpenAPI | Báo cáo CI |
#6. Khoảng trống truy vết hiện tại
| Hạng mục | Thiếu | Hành động |
|---|---|---|
| YC03, N9, N10 | Chưa có kịch bản UAT chi tiết | Viết TC ở sprint 5 |
| FR-02.07, 03.04, 07.04 | Chỉ có tiêu chí chấp nhận ngắn | Bổ sung khi refinement |
| Q01–Q20 | Nhiều FR/BR ở trạng thái "đề xuất" | Cập nhật ma trận sau workshop |