Skip to content

Đặc tả Yêu cầu Phần mềm (SRS)

Website Thương mại Điện tử — Công ty Máy tính TechVN

Thông tin tài liệu
Mã tài liệuSRS-TECHVN-ECOM-2026-001
Phiên bản1.0
Ngày tạo09/05/2026
Ngày cập nhật09/05/2026
Tác giảPhòng Phân tích Nghiệp vụ — TechVN
Người phê duyệtGiám đốc Công nghệ (CTO)
Trạng tháiBản nháp (Draft)
Mức độ bảo mậtNội bộ (Internal)

Lịch sử thay đổi

Phiên bảnNgàyNgười thay đổiMô tả
0.115/04/2026Nguyễn Văn AKhởi tạo tài liệu, phác thảo phạm vi
0.525/04/2026Trần Thị BBổ sung yêu cầu chức năng chi tiết
0.803/05/2026Lê Văn CBổ sung yêu cầu phi chức năng, review nội bộ
1.009/05/2026Nguyễn Văn AHoàn thiện sau phê duyệt lần 1

Mục lục

  1. Giới thiệu
  2. Mô tả tổng quan hệ thống
  3. Yêu cầu chức năng
  4. Yêu cầu phi chức năng
  5. Yêu cầu giao diện
  6. Ràng buộc thiết kế
  7. Mô hình dữ liệu
  8. Phụ lục

1. Giới thiệu

1.1 Mục đích

Tài liệu này mô tả đầy đủ các yêu cầu phần mềm cho hệ thống Website Thương mại Điện tử của Công ty Máy tính TechVN. Tài liệu phục vụ làm cơ sở cho các bên liên quan trong quá trình phát triển, kiểm thử và nghiệm thu hệ thống.

1.2 Phạm vi

Hệ thống bao gồm:

  • Website bán hàng trực tuyến (Front-end): Giao diện dành cho khách hàng duyệt, tìm kiếm, so sánh và mua sản phẩm máy tính, linh kiện, phụ kiện.
  • Hệ thống quản trị (Back-office): Giao diện dành cho nhân viên quản lý sản phẩm, đơn hàng, khách hàng, khuyến mãi và báo cáo.
  • API tích hợp: Kết nối với cổng thanh toán, đơn vị vận chuyển, hệ thống ERP nội bộ.

Hệ thống không bao gồm:

  • Ứng dụng di động native (giai đoạn sau).
  • Hệ thống quản lý kho vật lý (sử dụng ERP hiện có).
  • Module kế toán (tích hợp với phần mềm kế toán bên thứ ba).

1.3 Đối tượng sử dụng tài liệu

Đối tượngMục đích sử dụng
Product OwnerXác nhận yêu cầu nghiệp vụ
Đội phát triển (Dev)Cơ sở thiết kế và lập trình
Đội kiểm thử (QA/QC)Xây dựng test case và kịch bản kiểm thử
Đội vận hành (Ops)Lập kế hoạch triển khai và vận hành
Ban Giám đốcPhê duyệt phạm vi và ngân sách

1.4 Định nghĩa và viết tắt

Thuật ngữĐịnh nghĩa
SKUStock Keeping Unit — Mã đơn vị quản lý tồn kho
CODCash on Delivery — Thanh toán khi nhận hàng
VNPAYCổng thanh toán trực tuyến tại Việt Nam
OTPOne-Time Password — Mật khẩu dùng một lần
SEOSearch Engine Optimization — Tối ưu hóa công cụ tìm kiếm
CDNContent Delivery Network — Mạng phân phối nội dung
SLAService Level Agreement — Cam kết chất lượng dịch vụ
GHTKGiao Hàng Tiết Kiệm — Đơn vị vận chuyển
GHNGiao Hàng Nhanh — Đơn vị vận chuyển

1.5 Tài liệu tham chiếu

Mã tài liệuTên tài liệu
BRD-TECHVN-2026-001Business Requirements Document — Dự án TMĐT TechVN
PRD-TECHVN-2026-001Product Requirements Document
SA-TECHVN-2026-001Solution Architecture Document
IEEE 830-1998IEEE Recommended Practice for SRS

2. Mô tả tổng quan hệ thống

2.1 Bối cảnh kinh doanh

Công ty Máy tính TechVN hiện có 12 cửa hàng tại TP.HCM, Hà Nội và Đà Nẵng. Doanh thu online hiện chiếm 15% tổng doanh thu thông qua các sàn TMĐT (Shopee, Lazada). Mục tiêu xây dựng website riêng nhằm:

  • Tăng tỷ trọng doanh thu online lên 40% trong 18 tháng.
  • Xây dựng dữ liệu khách hàng độc lập, không phụ thuộc sàn TMĐT.
  • Tạo trải nghiệm mua sắm chuyên biệt cho sản phẩm công nghệ.

2.2 Tác nhân hệ thống (Actors)

┌─────────────────────────────────────────────────────────┐
│                    HỆ THỐNG TECHVN                      │
│                                                         │
│  ┌───────────┐  ┌───────────┐  ┌───────────────────┐   │
│  │  Khách    │  │  Khách    │  │  Quản trị viên    │   │
│  │  vãng lai │  │  hàng     │  │  (Admin)          │   │
│  │  (Guest)  │  │  (Member) │  │                   │   │
│  └─────┬─────┘  └─────┬─────┘  └────────┬──────────┘   │
│        │              │                  │              │
│        ▼              ▼                  ▼              │
│  ┌──────────────────────────────────────────────────┐   │
│  │              Website TechVN                      │   │
│  └──────────────────────┬───────────────────────────┘   │
│                         │                               │
│         ┌───────────────┼───────────────┐               │
│         ▼               ▼               ▼               │
│  ┌────────────┐  ┌────────────┐  ┌────────────────┐    │
│  │  VNPAY /   │  │  GHTK /   │  │  ERP Nội bộ   │    │
│  │  MoMo      │  │  GHN      │  │                │    │
│  └────────────┘  └────────────┘  └────────────────┘    │
└─────────────────────────────────────────────────────────┘
ActorMô tả
Khách vãng lai (Guest)Người dùng chưa đăng ký. Có thể duyệt sản phẩm, tìm kiếm, so sánh, thêm vào giỏ hàng. Cần đăng ký/đăng nhập để đặt hàng.
Khách hàng (Member)Người dùng đã đăng ký. Có thể đặt hàng, theo dõi đơn hàng, quản lý tài khoản, tích điểm, đánh giá sản phẩm.
Quản trị viên (Admin)Nhân viên nội bộ với các cấp quyền: Super Admin, Quản lý sản phẩm, Quản lý đơn hàng, Nhân viên CSKH, Marketing.
Hệ thống thanh toánVNPAY, MoMo, Ngân hàng nội địa — xử lý giao dịch thanh toán trực tuyến.
Hệ thống vận chuyểnGHTK, GHN, Viettel Post — tính phí, tạo đơn, tra cứu trạng thái vận chuyển.
ERP nội bộĐồng bộ tồn kho, giá bán, thông tin sản phẩm.

2.3 Giả định và phụ thuộc

Giả định:

  • API của VNPAY, MoMo hoạt động ổn định với SLA 99.5%.
  • Hệ thống ERP hiện có cung cấp API RESTful để đồng bộ dữ liệu.
  • Đội ngũ vận hành có ít nhất 2 nhân viên quản trị hệ thống full-time.
  • Hạ tầng hosting đặt tại Việt Nam (AWS ap-southeast-1 hoặc tương đương).

Phụ thuộc:

  • Hoàn thành tích hợp API ERP trước khi go-live.
  • Ký hợp đồng với ít nhất 2 đơn vị vận chuyển.
  • Đăng ký merchant account với VNPAY và MoMo.

3. Yêu cầu chức năng

3.1 Quản lý tài khoản người dùng

FR-ACC-001: Đăng ký tài khoản

Thuộc tínhChi tiết
Mã yêu cầuFR-ACC-001
TênĐăng ký tài khoản khách hàng
Mức ưu tiênCao (Must-have)
ActorKhách vãng lai

Mô tả: Hệ thống cho phép khách vãng lai tạo tài khoản mới bằng email hoặc số điện thoại.

Luồng chính (Happy Path):

  1. Người dùng truy cập trang đăng ký.
  2. Người dùng nhập thông tin: Họ tên, Email, Số điện thoại, Mật khẩu.
  3. Hệ thống kiểm tra email/SĐT chưa được đăng ký.
  4. Hệ thống gửi mã OTP qua SMS hoặc email.
  5. Người dùng nhập mã OTP.
  6. Hệ thống xác thực OTP và tạo tài khoản.
  7. Hệ thống chuyển hướng về trang chủ với trạng thái đã đăng nhập.

Luồng ngoại lệ:

Điều kiệnHệ thống xử lý
EX-001Email/SĐT đã tồn tạiHiển thị thông báo "Email/SĐT đã được sử dụng" kèm link đăng nhập
EX-002Mật khẩu không đủ mạnhHiển thị yêu cầu mật khẩu tối thiểu 8 ký tự, chứa chữ hoa, chữ thường, số
EX-003OTP hết hạn (5 phút)Cho phép gửi lại OTP, tối đa 3 lần/giờ
EX-004OTP sai quá 5 lầnKhóa tính năng đăng ký 30 phút cho IP đó

Quy tắc nghiệp vụ:

  • BR-001: Mật khẩu phải có tối thiểu 8 ký tự, bao gồm chữ hoa, chữ thường và số.
  • BR-002: Mỗi số điện thoại chỉ được liên kết với 1 tài khoản.
  • BR-003: OTP có hiệu lực trong 5 phút.

FR-ACC-002: Đăng nhập

Thuộc tínhChi tiết
Mã yêu cầuFR-ACC-002
TênĐăng nhập tài khoản
Mức ưu tiênCao (Must-have)
ActorKhách hàng

Mô tả: Hệ thống hỗ trợ đăng nhập bằng email/SĐT + mật khẩu, hoặc đăng nhập qua mạng xã hội (Google, Facebook).

Luồng chính:

  1. Người dùng nhập email/SĐT và mật khẩu.
  2. Hệ thống xác thực thông tin đăng nhập.
  3. Hệ thống tạo session và JWT token.
  4. Hệ thống chuyển hướng về trang trước đó hoặc trang chủ.

Luồng ngoại lệ:

Điều kiệnHệ thống xử lý
EX-005Sai mật khẩuHiển thị "Thông tin đăng nhập không chính xác" (không chỉ rõ sai email hay mật khẩu)
EX-006Sai mật khẩu 5 lần liên tiếpKhóa tài khoản 15 phút, gửi email cảnh báo
EX-007Tài khoản bị vô hiệu hóaHiển thị thông báo liên hệ CSKH

FR-ACC-003: Quên mật khẩu

Thuộc tínhChi tiết
Mã yêu cầuFR-ACC-003
TênKhôi phục mật khẩu
Mức ưu tiênCao (Must-have)
ActorKhách hàng

Mô tả: Cho phép người dùng đặt lại mật khẩu thông qua email hoặc SMS OTP.

Luồng chính:

  1. Người dùng chọn "Quên mật khẩu" tại trang đăng nhập.
  2. Người dùng nhập email hoặc SĐT đã đăng ký.
  3. Hệ thống gửi link đặt lại mật khẩu (email) hoặc OTP (SMS).
  4. Người dùng tạo mật khẩu mới.
  5. Hệ thống cập nhật mật khẩu và hủy tất cả session cũ.

3.2 Quản lý sản phẩm

FR-PRD-001: Hiển thị danh mục sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-PRD-001
TênHiển thị danh mục sản phẩm phân cấp
Mức ưu tiênCao (Must-have)
ActorTất cả người dùng

Mô tả: Hệ thống hiển thị danh mục sản phẩm dạng cây phân cấp tối đa 3 cấp.

Cấu trúc danh mục:

Laptop
├── Laptop Gaming
│   ├── ASUS ROG
│   ├── MSI
│   └── Lenovo Legion
├── Laptop Văn phòng
│   ├── Dell
│   ├── HP
│   └── ThinkPad
├── Laptop Đồ họa
│   └── MacBook Pro
└── Laptop Sinh viên

PC - Máy tính để bàn
├── PC Gaming
├── PC Văn phòng
├── PC Đồ họa - Render
└── PC theo cấu hình

Linh kiện máy tính
├── CPU
├── Mainboard
├── RAM
├── VGA - Card màn hình
├── Ổ cứng SSD / HDD
├── Nguồn - PSU
├── Case - Vỏ máy tính
└── Tản nhiệt

Màn hình
├── Màn hình Gaming
├── Màn hình Đồ họa
└── Màn hình Văn phòng

Phụ kiện
├── Bàn phím
├── Chuột
├── Tai nghe
├── Loa
└── Balo - Túi chống sốc

Yêu cầu chi tiết:

  • Mỗi danh mục có: Tên, Slug URL, Hình ảnh đại diện, Mô tả, Thứ tự hiển thị.
  • Hỗ trợ ẩn/hiện danh mục từ trang quản trị.
  • Hiển thị số lượng sản phẩm bên cạnh tên danh mục.

FR-PRD-002: Trang chi tiết sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-PRD-002
TênHiển thị chi tiết sản phẩm
Mức ưu tiênCao (Must-have)
ActorTất cả người dùng

Mô tả: Trang chi tiết sản phẩm hiển thị đầy đủ thông tin giúp khách hàng đưa ra quyết định mua hàng.

Thông tin hiển thị:

NhómTrường dữ liệuBắt buộc
Thông tin chínhTên sản phẩm, SKU, Thương hiệu
GiáGiá gốc, Giá khuyến mãi, % giảm giá
Hình ảnhẢnh chính, Gallery (tối đa 10 ảnh), VideoCó (ảnh chính)
Mô tảMô tả ngắn, Mô tả chi tiết (HTML)
Thông số kỹ thuậtBảng thông số theo danh mục (CPU, RAM, Ổ cứng, VGA...)
Tồn khoTrạng thái: Còn hàng / Hết hàng / Đặt trước
Đánh giáĐiểm trung bình, Số lượng đánh giá, Danh sách đánh giáKhông
Liên quanSản phẩm cùng danh mục, Phụ kiện đi kèm, Sản phẩm đã xemKhông

Yêu cầu đặc biệt cho ngành hàng máy tính:

  • Hiển thị bảng so sánh thông số kỹ thuật nhanh trên trang sản phẩm.
  • Nút "So sánh" cho phép thêm sản phẩm vào danh sách so sánh (tối đa 4 sản phẩm).
  • Hiển thị badge: "Mới", "Bán chạy", "Giảm giá sốc", "Trả góp 0%".
  • Hiển thị thông tin bảo hành theo chính sách từng thương hiệu.

FR-PRD-003: Tìm kiếm và lọc sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-PRD-003
TênTìm kiếm và lọc sản phẩm nâng cao
Mức ưu tiênCao (Must-have)
ActorTất cả người dùng

Tìm kiếm:

  • Tìm kiếm toàn văn (full-text search) theo tên sản phẩm, SKU, thương hiệu.
  • Gợi ý tìm kiếm (autocomplete) khi nhập từ khóa.
  • Hỗ trợ tìm kiếm tiếng Việt có dấu và không dấu.
  • Lưu lịch sử tìm kiếm (cho khách hàng đã đăng nhập).
  • Hiển thị "Từ khóa phổ biến" khi focus vào ô tìm kiếm.

Bộ lọc theo danh mục Laptop:

Tiêu chí lọcGiá trị
Khoảng giáDưới 10tr, 10-15tr, 15-20tr, 20-30tr, Trên 30tr, Tùy chỉnh
Thương hiệuASUS, Dell, HP, Lenovo, Acer, MSI, Apple, Gigabyte
CPUIntel Core i3, i5, i7, i9, AMD Ryzen 3, 5, 7, 9, Apple M-series
RAM8GB, 16GB, 32GB, 64GB
Ổ cứng256GB SSD, 512GB SSD, 1TB SSD, 2TB SSD
VGAOnboard, NVIDIA GTX, NVIDIA RTX, AMD Radeon
Kích thước màn hình13 inch, 14 inch, 15.6 inch, 16 inch, 17 inch
Nhu cầu sử dụngGaming, Văn phòng, Đồ họa, Lập trình, Sinh viên

Sắp xếp: Phổ biến nhất, Giá thấp đến cao, Giá cao đến thấp, Mới nhất, Đánh giá cao nhất, Bán chạy nhất.

FR-PRD-004: So sánh sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-PRD-004
TênSo sánh thông số kỹ thuật sản phẩm
Mức ưu tiênTrung bình (Should-have)
ActorTất cả người dùng

Mô tả:

  • Cho phép so sánh từ 2 đến 4 sản phẩm cùng danh mục.
  • Hiển thị bảng so sánh các thông số kỹ thuật song song.
  • Tô sáng (highlight) các thông số khác nhau giữa sản phẩm.
  • Lưu trạng thái so sánh trong session (không mất khi chuyển trang).

3.3 Giỏ hàng và Đặt hàng

FR-ORD-001: Quản lý giỏ hàng

Thuộc tínhChi tiết
Mã yêu cầuFR-ORD-001
TênQuản lý giỏ hàng mua sắm
Mức ưu tiênCao (Must-have)
ActorTất cả người dùng

Chức năng:

  • Thêm sản phẩm vào giỏ hàng (chọn số lượng, phiên bản nếu có).
  • Cập nhật số lượng sản phẩm trong giỏ.
  • Xóa sản phẩm khỏi giỏ hàng.
  • Hiển thị tổng tiền tạm tính.
  • Áp dụng mã giảm giá (coupon).
  • Lưu giỏ hàng khi đăng nhập (đồng bộ giữa các thiết bị).
  • Giỏ hàng của khách vãng lai lưu trong localStorage (30 ngày).

Quy tắc nghiệp vụ:

  • BR-010: Số lượng mỗi sản phẩm trong giỏ tối đa 5 (sản phẩm thông thường) hoặc 1 (Laptop, PC).
  • BR-011: Kiểm tra tồn kho real-time khi thêm vào giỏ và khi thanh toán.
  • BR-012: Hiển thị cảnh báo nếu sản phẩm trong giỏ thay đổi giá hoặc hết hàng.

FR-ORD-002: Quy trình đặt hàng (Checkout)

Thuộc tínhChi tiết
Mã yêu cầuFR-ORD-002
TênQuy trình đặt hàng và thanh toán
Mức ưu tiênCao (Must-have)
ActorKhách hàng (Member)

Luồng thanh toán (3 bước):

Bước 1: Thông tin giao hàng
    ├── Chọn địa chỉ đã lưu hoặc nhập mới
    ├── Chọn đơn vị vận chuyển
    └── Ghi chú đơn hàng

Bước 2: Phương thức thanh toán
    ├── COD (Thanh toán khi nhận hàng)
    ├── Chuyển khoản ngân hàng
    ├── VNPAY (ATM / Visa / Mastercard / QR)
    ├── Ví MoMo
    └── Trả góp qua công ty tài chính (HD Saison, FE Credit)

Bước 3: Xác nhận đơn hàng
    ├── Tóm tắt sản phẩm, giá, phí ship
    ├── Hiển thị tổng thanh toán
    └── Nút "Đặt hàng"

Xử lý sau đặt hàng:

  1. Tạo mã đơn hàng (format: TV-YYYYMMDD-XXXXX).
  2. Gửi email/SMS xác nhận đơn hàng.
  3. Trừ tồn kho tạm thời (hold stock 30 phút cho thanh toán online).
  4. Thông báo cho nhân viên xử lý đơn.

Trạng thái đơn hàng:

Chờ xác nhận → Đã xác nhận → Đang đóng gói → Đang giao hàng
    → Đã giao → Hoàn thành
    → Hủy (tại bất kỳ bước nào trước "Đang giao")
    → Trả hàng / Hoàn tiền (sau "Đã giao", trong 7 ngày)

FR-ORD-003: Trả góp

Thuộc tínhChi tiết
Mã yêu cầuFR-ORD-003
TênMua trả góp qua công ty tài chính
Mức ưu tiênCao (Must-have)
ActorKhách hàng

Mô tả: Hệ thống hỗ trợ mua trả góp cho đơn hàng từ 3.000.000 VNĐ trở lên.

Kỳ hạn: 6 tháng, 12 tháng, 18 tháng, 24 tháng.

Đối tác tài chính: HD Saison, FE Credit, Home Credit.

Yêu cầu hồ sơ:

  • CMND/CCCD (chụp 2 mặt).
  • Ảnh chân dung (selfie).
  • Thông tin nghề nghiệp và thu nhập.

3.4 Hệ thống khuyến mãi

FR-PRM-001: Quản lý mã giảm giá

Thuộc tínhChi tiết
Mã yêu cầuFR-PRM-001
TênHệ thống mã giảm giá (Coupon)
Mức ưu tiênTrung bình (Should-have)
ActorAdmin (tạo), Khách hàng (sử dụng)

Loại mã giảm giá:

LoạiMô tảVí dụ
Giảm theo %Giảm phần trăm trên tổng đơn, có giới hạn tối đaGiảm 10%, tối đa 500.000đ
Giảm cố địnhGiảm số tiền cố địnhGiảm 200.000đ
FreeshipMiễn phí vận chuyểnFreeship đơn từ 500.000đ
ComboGiảm giá khi mua kèmMua Laptop + Chuột giảm 15% chuột

Điều kiện áp dụng:

  • Giá trị đơn hàng tối thiểu.
  • Danh mục sản phẩm áp dụng.
  • Đối tượng khách hàng (tất cả, thành viên mới, VIP).
  • Thời gian hiệu lực (ngày bắt đầu — ngày kết thúc).
  • Số lần sử dụng tối đa (tổng và mỗi khách hàng).

3.5 Quản trị hệ thống (Back-office)

FR-ADM-001: Dashboard tổng quan

Thuộc tínhChi tiết
Mã yêu cầuFR-ADM-001
TênDashboard quản trị tổng quan
Mức ưu tiênCao (Must-have)
ActorAdmin

Thông tin hiển thị:

  • Doanh thu hôm nay / tuần / tháng (biểu đồ cột).
  • Số đơn hàng theo trạng thái.
  • Top 10 sản phẩm bán chạy.
  • Sản phẩm sắp hết hàng (tồn kho < 5).
  • Khách hàng mới đăng ký.
  • Đánh giá mới cần duyệt.

FR-ADM-002: Quản lý sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-ADM-002
TênCRUD sản phẩm trong hệ thống
Mức ưu tiênCao (Must-have)
ActorAdmin — Quản lý sản phẩm

Chức năng:

  • Thêm, sửa, xóa (soft delete), nhân bản sản phẩm.
  • Upload hình ảnh kéo thả, tự động resize và nén.
  • Import/Export sản phẩm hàng loạt bằng file Excel.
  • Quản lý biến thể (variant) sản phẩm (màu sắc, cấu hình).
  • Thiết lập SEO meta cho từng sản phẩm (title, description, canonical URL).
  • Lên lịch hiển thị sản phẩm (schedule publish).

FR-ADM-003: Quản lý đơn hàng

Thuộc tínhChi tiết
Mã yêu cầuFR-ADM-003
TênQuản lý và xử lý đơn hàng
Mức ưu tiênCao (Must-have)
ActorAdmin — Quản lý đơn hàng

Chức năng:

  • Danh sách đơn hàng với bộ lọc: trạng thái, ngày, kênh thanh toán, nhân viên xử lý.
  • Xác nhận / Hủy đơn hàng.
  • In phiếu giao hàng, phiếu xuất kho.
  • Tạo đơn vận chuyển tự động qua API GHTK/GHN.
  • Xử lý hoàn tiền (refund) qua cổng thanh toán.
  • Ghi chú nội bộ trên đơn hàng.

FR-ADM-004: Phân quyền quản trị

Thuộc tínhChi tiết
Mã yêu cầuFR-ADM-004
TênHệ thống phân quyền RBAC
Mức ưu tiênCao (Must-have)
ActorSuper Admin

Ma trận phân quyền:

QuyềnSuper AdminQL Sản phẩmQL Đơn hàngCSKHMarketing
Quản lý người dùng Admin
CRUD sản phẩm
Xử lý đơn hàng✅ (xem)
Quản lý khuyến mãi
Quản lý banner/nội dung
Xem báo cáo doanh thu✅ (giới hạn)
Cấu hình hệ thống

3.6 Đánh giá và Nhận xét

FR-REV-001: Đánh giá sản phẩm

Thuộc tínhChi tiết
Mã yêu cầuFR-REV-001
TênHệ thống đánh giá và nhận xét sản phẩm
Mức ưu tiênTrung bình (Should-have)
ActorKhách hàng đã mua sản phẩm

Yêu cầu:

  • Chỉ khách hàng đã mua và nhận sản phẩm mới được đánh giá.
  • Đánh giá bao gồm: Số sao (1-5), Tiêu đề, Nội dung, Hình ảnh (tối đa 5).
  • Admin duyệt đánh giá trước khi hiển thị.
  • Admin có thể phản hồi (reply) đánh giá.
  • Hiển thị badge "Đã mua hàng" bên cạnh tên người đánh giá.

3.7 Thông báo

FR-NTF-001: Hệ thống thông báo đa kênh

Thuộc tínhChi tiết
Mã yêu cầuFR-NTF-001
TênThông báo qua Email, SMS và Push Notification
Mức ưu tiênTrung bình (Should-have)
ActorHệ thống → Khách hàng, Admin

Sự kiện kích hoạt thông báo:

Sự kiệnEmailSMSPush
Đăng ký thành công
Đặt hàng thành công
Đơn hàng được xác nhận
Đơn hàng đang giao
Đơn hàng đã giao
Khuyến mãi / Flash sale
Sản phẩm giảm giá (wishlist)
Giỏ hàng bị bỏ quên (>2h)

4. Yêu cầu phi chức năng

4.1 Hiệu năng (Performance)

Yêu cầuChỉ số đo lườngMục tiêu
NFR-P01Thời gian tải trang chủFirst Contentful Paint (FCP)≤ 1.5 giây
NFR-P02Thời gian tải trang sản phẩmLargest Contentful Paint (LCP)≤ 2.5 giây
NFR-P03Thời gian phản hồi APIResponse Time (P95)≤ 500ms
NFR-P04Thời gian tìm kiếmTrả kết quả≤ 300ms
NFR-P05Số người dùng đồng thờiConcurrent Users5.000 CCU (bình thường), 20.000 CCU (flash sale)
NFR-P06ThroughputRequests per second1.000 RPS
NFR-P07Core Web VitalsCLS≤ 0.1

4.2 Bảo mật (Security)

Yêu cầuChi tiết
NFR-S01Mã hóa dữ liệuHTTPS (TLS 1.3) cho tất cả kết nối. Mã hóa dữ liệu nhạy cảm at-rest (AES-256).
NFR-S02Xác thựcJWT với refresh token. Session timeout 30 phút (inactive).
NFR-S03Phòng chống tấn côngChống SQL Injection, XSS, CSRF. Rate limiting API (100 req/phút/IP).
NFR-S04Bảo vệ dữ liệu cá nhânTuân thủ Nghị định 13/2023/NĐ-CP về bảo vệ dữ liệu cá nhân.
NFR-S05Thanh toánTuân thủ PCI-DSS (qua cổng thanh toán). Không lưu thông tin thẻ trên server.
NFR-S06Audit logGhi log tất cả thao tác của Admin. Lưu trữ tối thiểu 12 tháng.

4.3 Độ tin cậy (Reliability)

Yêu cầuMục tiêu
NFR-R01Uptime99.9% (tối đa 8.76 giờ downtime/năm)
NFR-R02RPO (Recovery Point Objective)≤ 1 giờ
NFR-R03RTO (Recovery Time Objective)≤ 4 giờ
NFR-R04Sao lưu dữ liệuBackup tự động hàng ngày, lưu trữ 30 ngày
NFR-R05FailoverAuto-failover cho database và application server

4.4 Khả năng mở rộng (Scalability)

Yêu cầuChi tiết
NFR-SC01Horizontal scalingAuto-scale application server dựa trên CPU/Memory threshold
NFR-SC02Database scalingRead replica cho query nặng (báo cáo, tìm kiếm)
NFR-SC03CDNPhân phối static assets qua CDN với POP tại Việt Nam
NFR-SC04CachingRedis cache cho session, product catalog, search results

4.5 Khả năng tương thích (Compatibility)

Yêu cầuChi tiết
NFR-C01Trình duyệtChrome 90+, Firefox 88+, Safari 14+, Edge 90+
NFR-C02ResponsiveDesktop (≥1200px), Tablet (768-1199px), Mobile (320-767px)
NFR-C03Hệ điều hànhWindows 10+, macOS 11+, iOS 14+, Android 10+
NFR-C04Tốc độ mạngHoạt động ổn định trên kết nối 3G (1.5 Mbps)

4.6 SEO và Tiếp thị

Yêu cầuChi tiết
NFR-SEO01Server-side renderingHỗ trợ SSR hoặc SSG cho các trang sản phẩm, danh mục
NFR-SEO02Structured dataSchema.org markup cho Product, BreadcrumbList, Organization
NFR-SEO03SitemapTự động sinh sitemap.xml, cập nhật khi có sản phẩm mới
NFR-SEO04Meta tagsTùy chỉnh title, description, OG tags cho từng trang
NFR-SEO05URL thân thiệnSử dụng slug tiếng Việt không dấu (VD: /laptop-gaming-asus-rog)

5. Yêu cầu giao diện

5.1 Giao diện người dùng (UI)

  • Thiết kế theo phong cách hiện đại, tông màu chủ đạo: Xanh dương (#1a73e8) và Trắng.
  • Font chữ: Inter hoặc Roboto (hỗ trợ tiếng Việt tốt).
  • Tối ưu trải nghiệm mobile-first.
  • Hỗ trợ Dark Mode (tùy chọn).
  • Tuân thủ WCAG 2.1 Level AA (accessibility cơ bản).

5.2 Giao diện tích hợp (API Interface)

Hệ thốngGiao thứcMô tả
VNPAYREST API (HTTPS)Tạo giao dịch, kiểm tra trạng thái, hoàn tiền
MoMoREST API (HTTPS)Tạo giao dịch QR, callback xác nhận
GHTKREST API (HTTPS)Tính phí, tạo đơn, tra cứu trạng thái
GHNREST API (HTTPS)Tính phí, tạo đơn, tra cứu trạng thái
ERP Nội bộREST API (HTTPS)Đồng bộ tồn kho, giá, sản phẩm (polling mỗi 5 phút)
Google Analytics 4JavaScript SDKTracking hành vi người dùng, conversion
Facebook PixelJavaScript SDKRetargeting, conversion tracking

6. Ràng buộc thiết kế

6.1 Công nghệ

LayerCông nghệ đề xuất
FrontendNext.js 15 (React), TypeScript, Tailwind CSS
BackendNode.js (NestJS) hoặc Go (Gin)
DatabasePostgreSQL 16 (chính), Redis 7 (cache)
Search EngineElasticsearch 8 hoặc Meilisearch
File StorageAWS S3 hoặc MinIO
Message QueueRabbitMQ hoặc AWS SQS
CI/CDGitHub Actions, Docker, Kubernetes
MonitoringGrafana, Prometheus, Sentry

6.2 Quy chuẩn pháp lý

  • Tuân thủ Nghị định 52/2013/NĐ-CP về Thương mại điện tử.
  • Đăng ký website TMĐT với Bộ Công Thương (Online.gov.vn).
  • Tuân thủ Nghị định 13/2023/NĐ-CP về Bảo vệ dữ liệu cá nhân.
  • Hiển thị đầy đủ thông tin doanh nghiệp theo quy định: MST, địa chỉ, hotline.

7. Mô hình dữ liệu

7.1 Sơ đồ quan hệ chính (ERD tóm tắt)

┌──────────┐     ┌──────────────┐     ┌──────────────┐
│  users   │────<│   orders     │────<│ order_items  │
└──────────┘     └──────────────┘     └──────┬───────┘
     │                │                      │
     │                │                      │
     ▼                ▼                      ▼
┌──────────┐  ┌──────────────┐     ┌──────────────┐
│addresses │  │  payments    │     │  products    │
└──────────┘  └──────────────┘     └──────┬───────┘

                   ┌──────────────────────┤
                   │                      │
                   ▼                      ▼
            ┌──────────────┐     ┌──────────────┐
            │  categories  │     │product_specs │
            └──────────────┘     └──────────────┘

7.2 Bảng chính

BảngMô tảƯớc lượng bản ghi (năm 1)
usersThông tin khách hàng100.000
productsSản phẩm5.000
product_variantsBiến thể sản phẩm15.000
product_specsThông số kỹ thuật50.000
categoriesDanh mục phân cấp200
ordersĐơn hàng200.000
order_itemsChi tiết đơn hàng400.000
paymentsGiao dịch thanh toán200.000
reviewsĐánh giá sản phẩm30.000
couponsMã giảm giá1.000

8. Phụ lục

8.1 Ma trận truy vết yêu cầu

Yêu cầu nghiệp vụ (BRD)Yêu cầu phần mềm (SRS)Mức ưu tiên
BR-01: Khách hàng tạo tài khoảnFR-ACC-001, FR-ACC-002, FR-ACC-003Cao
BR-02: Duyệt và mua sản phẩmFR-PRD-001 → FR-PRD-004, FR-ORD-001 → FR-ORD-003Cao
BR-03: Quản lý bán hàngFR-ADM-001 → FR-ADM-004Cao
BR-04: Khuyến mãiFR-PRM-001Trung bình
BR-05: Đánh giá sản phẩmFR-REV-001Trung bình
BR-06: Thông báo khách hàngFR-NTF-001Trung bình

8.2 Phân kỳ phát triển (đề xuất)

Giai đoạnThời gianNội dungYêu cầu liên quan
Phase 1 — MVP3 thángĐăng ký/Đăng nhập, Catalog sản phẩm, Giỏ hàng, Đặt hàng COD, Quản trị cơ bảnFR-ACC-*, FR-PRD-001/002, FR-ORD-001/002, FR-ADM-001/002/003
Phase 2 — Thanh toán & Vận chuyển2 thángTích hợp VNPAY/MoMo, GHTK/GHN, Trả gópFR-ORD-003, tích hợp API
Phase 3 — Marketing & Engagement2 thángKhuyến mãi, Đánh giá, Thông báo, So sánh sản phẩm, SEOFR-PRM-001, FR-REV-001, FR-NTF-001, FR-PRD-003/004
Phase 4 — Tối ưu1 thángPerformance tuning, A/B testing, Analytics nâng caoNFR-*

8.3 Tiêu chí nghiệm thu (Acceptance Criteria tổng quan)

  1. Tất cả yêu cầu chức năng mức "Cao" hoạt động đúng trên môi trường staging.
  2. Đạt điểm Lighthouse ≥ 90 (Performance, SEO, Accessibility).
  3. Không có lỗi nghiêm trọng (Severity 1, 2) chưa được sửa.
  4. Load test đạt 5.000 CCU với response time P95 ≤ 500ms.
  5. Bảo mật: Đạt pentest cơ bản (OWASP Top 10).
  6. Cross-browser testing pass trên các trình duyệt yêu cầu.

Ghi chú: Tài liệu này là phiên bản sống (living document) và sẽ được cập nhật trong suốt quá trình phát triển dự án. Mọi thay đổi cần được phê duyệt bởi Product Owner và ghi nhận trong phần Lịch sử thay đổi.

Last updated: