--- section: "02" title: Phân tích yêu cầu status: approved version: 1 reviewer_notes: "" --- # 2. Phân tích yêu cầu (Requirements Analysis) ## 2.1 Yêu cầu chức năng (Functional Requirements) Mã hoá theo mã **FR-xx**. Priority: **Must** (bắt buộc cho MVP) / **Should** (nên có, có thể lùi nếu thiếu thời gian) / **Could** (nice-to-have, không ảnh hưởng go-live nếu thiếu). | ID | Tên yêu cầu | Mô tả ngắn | Actor liên quan | Priority | |---|---|---|---|---| | FR-01 | Đăng ký & đăng nhập tài khoản khách hàng | Customer tạo tài khoản, đăng nhập bằng email/password | Customer | Must | | FR-02 | Đăng nhập mạng xã hội | Customer đăng nhập qua Google/Facebook OAuth (tuỳ chọn) | Customer | Could | | FR-03 | Quản lý hồ sơ & địa chỉ giao hàng | Customer cập nhật thông tin cá nhân, quản lý nhiều địa chỉ giao hàng | Customer | Must | | FR-04 | Danh mục & tìm kiếm sản phẩm đa người bán | Duyệt catalog, lọc theo ngành hàng/seller/giá, tìm kiếm sản phẩm | Guest, Customer | Must | | FR-05 | Giỏ hàng đa người bán | Thêm sản phẩm từ nhiều seller khác nhau vào cùng một giỏ hàng | Guest, Customer | Must | | FR-06 | Checkout & tách đơn theo seller | Khách đặt hàng; hệ thống tự tách một giỏ hàng đa seller thành các đơn con theo từng seller | Guest, Customer | Must | | FR-07 | Thanh toán | Thanh toán qua VNPay, Momo hoặc COD | Guest, Customer | Must | | FR-08 | Quản lý đơn hàng (khách hàng) | Tạo đơn, theo dõi trạng thái, huỷ đơn (trong điều kiện cho phép) | Customer | Must | | FR-09 | Đổi trả & khiếu nại đơn hàng | Customer gửi yêu cầu đổi trả/khiếu nại cho đơn đã giao | Customer, CSR | Must | | FR-10 | Danh sách yêu thích (Wishlist) | Customer lưu sản phẩm quan tâm để mua sau | Customer | Should | | FR-11 | Đánh giá & nhận xét sản phẩm | Customer viết đánh giá/rating cho sản phẩm đã mua | Customer | Should | | FR-12 | Thông báo đơn hàng | Gửi email/SMS xác nhận đơn hàng, cập nhật trạng thái giao hàng | Customer, Seller | Must | | FR-13 | Khuyến mãi & mã giảm giá | Admin tạo và quản lý chương trình khuyến mãi/coupon; khách áp dụng khi checkout | PlatformAdmin, Customer | Should | | FR-14 | Chương trình loyalty/điểm thưởng | Tích điểm theo giá trị đơn hàng, đổi điểm thành giảm giá, xếp hạng thành viên (Bạc/Vàng/Kim cương) | Customer | Should | | FR-15 | Đa ngôn ngữ giao diện | Hiển thị giao diện theo 5 ngôn ngữ VI/EN/ZH/KO/JA | Guest, Customer, Seller | Should | | FR-16 | Hiển thị đa tiền tệ | Hiển thị giá quy đổi tham khảo sang các tiền tệ khác (giao dịch vẫn bằng VND) | Guest, Customer | Could | | FR-17 | Đăng ký & KYC người bán | Seller tự đăng ký, upload giấy phép kinh doanh/CMND; Admin duyệt thủ công | Seller, PlatformAdmin | Must | | FR-18 | Quản lý sản phẩm & tồn kho (seller) | Seller tự đăng sản phẩm, cập nhật tồn kho, giá bán | Seller | Must | | FR-19 | Quản lý đơn hàng (seller) | Seller xem, xử lý các đơn hàng thuộc gian hàng của mình | Seller | Must | | FR-20 | Dashboard & báo cáo doanh thu (seller) | Seller xem báo cáo doanh thu, hoa hồng, trạng thái payout của mình | Seller | Should | | FR-21 | Cấu hình hoa hồng (commission) theo ngành hàng | Admin cấu hình/chỉnh sửa bảng % hoa hồng theo từng category | PlatformAdmin | Must | | FR-22 | Payout định kỳ cho seller | Tính và chi trả payout hàng tuần qua chuyển khoản ngân hàng, áp dụng kỳ giữ tiền (hold) sau giao hàng thành công | PlatformAdmin, Seller | Must | | FR-23 | Quản trị seller | Admin duyệt/khoá tài khoản seller, giám sát hoạt động seller | PlatformAdmin | Must | | FR-24 | Quản trị catalog toàn sàn | Admin giám sát, can thiệp (ẩn/gỡ) sản phẩm vi phạm trên toàn sàn | PlatformAdmin | Must | | FR-25 | Xử lý tranh chấp & khiếu nại | CSR/Admin xử lý tranh chấp giữa khách hàng và seller (đổi trả, khiếu nại) | CSR, PlatformAdmin | Must | | FR-26 | Xử lý tồn kho & vận chuyển | Ops/Warehouse xử lý đóng gói, cập nhật trạng thái giao hàng, tích hợp đơn vị vận chuyển GHN/GHTK | OpsStaff | Must | | FR-27 | Xác thực đa yếu tố (MFA) | Bắt buộc MFA cho Admin, khuyến khích MFA cho Seller khi đăng nhập | PlatformAdmin, Seller | Should | ## 2.2 Yêu cầu phi chức năng (Non-Functional Requirements) | ID | Nhóm | Yêu cầu | |---|---|---| | NFR-01 | Hiệu năng (Performance) | Thời gian phản hồi trang danh mục/tìm kiếm sản phẩm < 2 giây; hoàn tất checkout < 3 giây, kể cả trong giai đoạn tải đỉnh (flash sale). | | NFR-02 | Khả năng mở rộng (Scalability) | Kiến trúc scale-out ngang ngay từ đầu; hỗ trợ cao điểm hàng nghìn đến hàng chục nghìn concurrent users; sử dụng cache (Redis), CDN, message queue (Kafka/RabbitMQ) để hấp thụ tải đột biến mùa sale. | | NFR-03 | Độ sẵn sàng (Availability) | Mục tiêu uptime 99.9% cho các dịch vụ giao dịch cốt lõi (catalog, checkout, thanh toán). | | NFR-04 | Bảo mật (Security) | Bảo vệ PII của khách hàng và seller (bao gồm giấy tờ KYC); MFA bắt buộc cho Admin, khuyến khích cho Seller; chi tiết mã hoá dữ liệu/OWASP/quản lý khóa sẽ đặc tả ở mục 8 (Thiết kế bảo mật). | | NFR-05 | Tuân thủ pháp lý (Compliance) | Tuân thủ Nghị định 52/2013 và 85/2021 (thông báo website TMĐT sàn giao dịch với Bộ Công Thương); Nghị định 13/2023 (bảo vệ dữ liệu cá nhân); phạm vi PCI-DSS thu hẹp do không lưu trữ dữ liệu thẻ (giao cho VNPay/Momo). | | NFR-06 | Đa ngôn ngữ/địa phương hoá (i18n/l10n) | Hỗ trợ 5 ngôn ngữ giao diện (VI mặc định, EN, ZH, KO, JA); hiển thị đa tiền tệ tham khảo trên nền giao dịch VND. | | NFR-07 | Khả năng bảo trì (Maintainability) | Sử dụng design system chuẩn (VD. Material/Ant Design) làm nền tảng giao diện; kiến trúc module hoá để các nhóm (catalog, order, seller, payment) phát triển độc lập (chi tiết ở mục 3). | | NFR-08 | Vận hành (Operability) | Ba môi trường Dev/Staging/Production tách biệt trên AWS; hỗ trợ vận hành giờ hành chính kèm escalation 24/7 cho sự cố nghiêm trọng ảnh hưởng giao dịch/doanh thu. | > Ghi chú: Các con số hiệu năng/uptime ở NFR-01, NFR-03 là **giả định mặc định đã chốt** trong brief (mục 5, giả định #6), chưa được xác nhận bằng SLA hợp đồng thực tế — xem `openQuestions`. ## 2.3 Sơ đồ Use Case ```mermaid flowchart LR Guest((Guest)) Customer((Customer)) Seller((Seller)) Admin((Platform Admin)) Ops((Ops/Warehouse)) CSR((CSR)) UC1[Duyệt & tìm kiếm sản phẩm] UC2[Giỏ hàng đa seller] UC3[Checkout & thanh toán] UC4[Quản lý đơn hàng cá nhân] UC5[Đổi trả / khiếu nại] UC6[Wishlist] UC7[Đánh giá sản phẩm] UC8[Đăng ký / đăng nhập] UC9[Điểm thưởng & hạng thành viên] UC10[Đăng ký & KYC seller] UC11[Quản lý sản phẩm & tồn kho] UC12[Quản lý đơn hàng seller] UC13[Xem báo cáo doanh thu/payout] UC14[Duyệt / khoá seller] UC15[Cấu hình hoa hồng] UC16[Quản trị catalog toàn sàn] UC17[Cấu hình khuyến mãi] UC18[Xử lý payout] UC19[Xử lý tranh chấp/khiếu nại] UC20[Xử lý tồn kho & đóng gói] UC21[Cập nhật trạng thái giao hàng] Guest --> UC1 Guest --> UC2 Guest --> UC3 Guest --> UC8 Customer --> UC1 Customer --> UC2 Customer --> UC3 Customer --> UC4 Customer --> UC5 Customer --> UC6 Customer --> UC7 Customer --> UC8 Customer --> UC9 Seller --> UC10 Seller --> UC11 Seller --> UC12 Seller --> UC13 Admin --> UC14 Admin --> UC15 Admin --> UC16 Admin --> UC17 Admin --> UC18 Admin --> UC19 Ops --> UC20 Ops --> UC21 CSR --> UC19 CSR --> UC5 ``` ## 2.4 Ma trận truy vết yêu cầu (Traceability Matrix) | Requirement ID | Mô tả | Mục thiết kế liên quan | Test Case | |---|---|---|---| | FR-01 | Đăng ký & đăng nhập tài khoản khách hàng | | | | FR-02 | Đăng nhập mạng xã hội | | | | FR-03 | Quản lý hồ sơ & địa chỉ giao hàng | | | | FR-04 | Danh mục & tìm kiếm sản phẩm đa người bán | | | | FR-05 | Giỏ hàng đa người bán | | | | FR-06 | Checkout & tách đơn theo seller | | | | FR-07 | Thanh toán | | | | FR-08 | Quản lý đơn hàng (khách hàng) | | | | FR-09 | Đổi trả & khiếu nại đơn hàng | | | | FR-10 | Danh sách yêu thích (Wishlist) | | | | FR-11 | Đánh giá & nhận xét sản phẩm | | | | FR-12 | Thông báo đơn hàng | | | | FR-13 | Khuyến mãi & mã giảm giá | | | | FR-14 | Chương trình loyalty/điểm thưởng | | | | FR-15 | Đa ngôn ngữ giao diện | | | | FR-16 | Hiển thị đa tiền tệ | | | | FR-17 | Đăng ký & KYC người bán | | | | FR-18 | Quản lý sản phẩm & tồn kho (seller) | | | | FR-19 | Quản lý đơn hàng (seller) | | | | FR-20 | Dashboard & báo cáo doanh thu (seller) | | | | FR-21 | Cấu hình hoa hồng (commission) theo ngành hàng | | | | FR-22 | Payout định kỳ cho seller | | | | FR-23 | Quản trị seller | | | | FR-24 | Quản trị catalog toàn sàn | | | | FR-25 | Xử lý tranh chấp & khiếu nại | | | | FR-26 | Xử lý tồn kho & vận chuyển | | | | FR-27 | Xác thực đa yếu tố (MFA) | | | | NFR-01 | Hiệu năng (latency catalog/search, checkout) | | | | NFR-02 | Khả năng mở rộng (scale-out, cache, CDN, MQ) | | | | NFR-03 | Độ sẵn sàng (uptime 99.9%) | | | | NFR-04 | Bảo mật (PII, MFA, mã hoá) | | | | NFR-05 | Tuân thủ pháp lý (NĐ52/85, NĐ13/2023, PCI-DSS) | | | | NFR-06 | Đa ngôn ngữ/đa tiền tệ | | | | NFR-07 | Khả năng bảo trì | | | | NFR-08 | Vận hành (môi trường, on-call) | | | *Cột "Mục thiết kế liên quan" và "Test Case" sẽ được các agent tiếp theo (architecture-designer, api-designer, data-modeler, test-ops-planner...) điền khi hoàn thành phần tương ứng.*