đồ án 1 xây dựng website thương mại điện tử breart

86 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 1 xây dựng website thương mại điện tử breart

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài khoản 1.1 Đăng nhập - Hệ thống phải cung cấp chức năng đăng nhập an toàn cho phép người dùng đã đăng ký truy cập thông tin cá nhân của họ - Quá trình đăng nhập cần yêu cầu người dùng

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ

BREART

GV HƯỚNG DẪN: Huỳnh Tuấn Anh SV THỰC HIỆN: Lâm Ngọc Bách - 20520401

TP HỒ CHÍ MINH, 2023

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 3

LỜI CẢM ƠN

Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công nghệ thông tin - ĐHQG TP.HCM em đã được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 1 của mình

Để hoàn thành Đồ án này, em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ thông tin – ĐHQG TP.HCM vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin

Em xin gửi lời cảm ơn chân thành đến thầy Huỳnh Tuấn Anh đã tận tình giúp đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện đề tài mà còn là hành trang tiệp bước cho em trong quá trình học tập và lập nghiệp sau này

Và cuối cùng, em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa, bạn bè, tập thể lớp PMCL2020.1 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau

Tuy nhiên trong quá trình nghiên cứu đề tài, do kiến thức chuyên ngành còn hạn chế nên em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá, trình bày về đề tài Rất mong nhận được sự quan tâm, góp ý của cô để đề tài của em được đầy đủ và hoàn chỉnh hơn

Em xin chân thành cảm ơn

TP Hồ Chí Minh, ngày 30 tháng 12 năm 2023 Sinh viên thực hiện

Lâm Ngọc Bách

Trang 5

4.3.2 Yêu cầu chức năng 22

4.3.3 Mô tả yêu cầu chức năng 24

4.3.4 Yêu cầu phi chức năng 34

4.4 Sơ đồ use case 36

4.5 Sơ đồ activity 60

4.5.1 Sơ đồ activity đăng nhập 60

4.5.2 Sơ đồ activity khám phá sản phẩm 61

4.6 Sơ đồ sequence 62

4.6.1 Sơ đồ sequence đánh giá sản phẩm 62

4.6.2 Sơ đồ sequence thêm sản phẩm 62

4.6.3 Sơ đồ sequence cập nhập sản phẩm 63

4.7 Sơ đồ class 64

4.8 Lược đồ cơ sở dữ liệu 65

4.9 Kiến trúc hệ thống 66

4.10 Thiết kế giao diện 67

4.10.1 Màn hình đăng nhập và đăng ký tài khoản 67

4.10.8 Màn hình quản lý tài khoản 75

4.10.9 Màn hình bảo mật tài khoản 75

Trang 6

4.10.19 Màn hình quản lý kích thước và màu sắc 80

4.10.20 Màn hình quản lý biển quảng cáo 81

4.11 Cài đặt 81

4.11.1 Công cụ & Cơ sở hạ tầng 81

4.11.2 Quản lý tài liệu 82

4.11.3 Quản lý mã nguồn 82

4.12 Kiểm thử 82

4.12.1 Mô hình thử nghiệm 82

4.12.2 Kết quả kiểm tra đăng nhập 82

4.12.3 Kết quả kiểm tra đăng ký 83

Trang 7

Hình 1: Thư viện React JS 15

Hình 2: Framework Next JS 16

Hình 3: Môi trường Node JS 17

Hình 4: Cơ sở dữ liệu MySQL 18

Hình 5: Framework Tailwind Css 19

Hình 5: Thư viện hỗ trợ Prisma 20

Hình 6: Sơ đồ usecase toàn hệ thống 36

Hình 7: Sơ đồ activity đăng nhập – AD-01 60

Hình 8: Sơ đồ activity khám phá sản phẩm – AD-02 61

Hình 9: Sơ đồ sequence đánh giá sản phẩm – SD-01 62

Hình 10: Sơ đồ sequence thêm sản phẩm – SD-02 62

Hình 34: Màn hình quản lý tài khoản 75

Hình 34: Màn hình bảo mật tài khoản 75

Hình 35: Màn hình danh sách đơn hàng 76

Hình 37: Màn hình bảng điều khiển 76

Hình 38: Màn hình thống kê doanh thu 77

Trang 8

Hình 46: Màn hình quản lý kích thước và màu sắc 80

Hình 47: Màn hình quản lý biển quảng cáo 81

DANH MỤC BẢNG Bảng 1: Tác nhân hệ thống 22

Bảng 2: Yêu cầu chức năng 24

Bảng 3: Trình bày các yêu cầu bảo mật phi chức năng 35

Bảng 4: Trình bày các yêu cầu khả năng mở rộng phi chức năng 35

Bảng 5: Trình bày các yêu cầu khả năng sử dụng phi chức năng 35

Bảng 6: trình bày các yêu cầu hiệu suất phi chức năng 35

Bảng 7: Mô tả các Actors 37

Bảng 8: Mô tả usecase 39

Bảng 9: Use case Nhắn tin với người quản lý - UC01 Error! Bookmark not defined.Bảng 10: Use case Khám phá sản phẩm - UC02 41

Bảng 11: Use case Sử dụng mã giảm giá - UC03 42

Bảng 12: Use case Danh sách yêu thích - UC04 Error! Bookmark not defined.Bảng 13: Use case Quản lý giỏ hàng - UC05 43

Bảng 14: Use case Đăng ký - UC06 44

Bảng 15: Use case Đăng nhập - UC07 45

Bảng 16: Use case Quản lý tài khoản - UC08 47

Bảng 17: Use case Phương thức thanh toán - UC09 47

Bảng 18: Use case Quản lý địa chỉ - UC10 49

Trang 9

Bảng 19: Use case Đánh giá sản phẩm - UC11 Error! Bookmark not defined.

Bảng 20: Use case Quản lý đơn hàng - UC12 50

Bảng 21: Use case Quản lý mã giảm giá - UC13 52

Bảng 22: Use case Thống kê doanh thu - UC14 52

Bảng 23: Use case Quản lý danh mục - UC15 54

Bảng 24: Use case Quản lý danh mục phụ - UC16 55

Bảng 25: Use case Quản lý sản phẩm - UC17 57

Bảng 26: Use case Quản lý tài khoản - UC18 58

Bảng 27: Use case Quản lý đơn hàng - UC19 59

Bảng 28: Use case Nhắn tin với khách hàng - UC20 Error! Bookmark not defined.Bảng 29: Use case Kiểm tra tình trạng đơn hàng - UC21 Error! Bookmark not defined.Bảng 30: Công cụ và cơ sở hạ tầng 82

TÓM TẮT ĐỒ ÁN

Ngày nay, việc mua sắm trực tuyến đã trở thành một thói quen trong cuộc sống của nhiều người Người tiêu dùng chỉ cần ngồi ở nhà, mở máy tính, điện thoại của mình lên, truy cập vào một ứng dụng mua sắm trực tuyến và thỏa sức lựa chọn bất cứ mặt hàng gì, từ thực phẩm, quần áo cho đến những nội thất và tùy vào mặt hàng đã đặt mua thì trong một khoảng thời gian ngắn chúng sẽ được giao đến tận nhà cho họ Chính vì sự tiện lợi đó mà những ứng dụng mua sắm trực tuyến luôn có số lượng người dùng rất lớn, đặc biệt là ở các nước Đông Nam Á Cùng với đó, việc người dùng chủ yếu sử dụng các ứng dụng mua sắm trực tuyến thông qua điện thoại và máy tính nên nền tảng lý tưởng để phát triển hệ thống này chính là website Để phát triển ứng dụng trên cả điện thoại và máy tính song song với nhau thì việc phát triển riêng lẻ cho từng nền tảng sẽ tốn rất nhiều thời gian, công sức và tài nguyên Vì những lý

Trang 11

11

trình làm việc đã tích lũy được nhiều kinh nghiệm chuyên môn cũng như khả năng tìm hiểu và giải quyết vấn đề thông qua internet, hơn nữa em còn học hỏi được nhiều kiến thức mới từ việc khảo sát, nghiên cứu và tìm hiểu các công nghệ Đây là một trải nghiệm quý báu đối với em và là nền tảng để chúng em tham gia vào các dự án thực tế

Nội dung đồ án được trình bày trong 5 chương, như sau:

• Chương 01 – Giới thiệu: Xác định mục tiêu, nội dung nghiên cứu, phạm vi đề tài

• Chương 02 – Kiến thức và công nghệ nền tảng: Giới thiệu về các công nghệ được sử dụng, cách thức hoạt động, ưu điểm, nhược điểm của các công nghệ đó

• Chương 03 – Xây dựng hệ thống: Phân tích các yêu cầu chức năng, yêu cầu phi chức năng

• Chương 04 – Xây dựng ứng dụng: Mô tả các sơ đồ đặc tả Use Case, quy trình sử dụng, trình tự hệ thống, thiết kế dữ liệu, thiết kế giao diện người dùng • Chương 05 – Kết luận: Kết quả đạt được, hạn chế và hướng phát triển

Trang 12

12

Chương 1 MỞ ĐẦU

Trong bối cảnh kỹ thuật số hóa ngày càng phát triển, việc xây dựng một hệ thống mua sắm trực tuyến không chỉ là một xu hướng mà còn là một nhu cầu thiết yếu Đề tài "Xây dựng hệ thống mua sắm trực tuyến" nhằm mục đích thiết kế và phát triển một website cho phép người dùng có thể dễ dàng tìm kiếm, so sánh, và mua sắm sản phẩm hoặc dịch vụ

- Nhu cầu mua sắm trực tuyến tăng cao: Trong những năm gần đây, xu hướng

mua sắm trực tuyến đã trở nên phổ biến rộng rãi, đặc biệt là do sự ảnh hưởng của đại dịch COVID-19 Người tiêu dùng ngày càng tìm kiếm sự tiện lợi, nhanh chóng và an toàn khi mua sắm, và mua sắm trực tuyến đáp ứng được những nhu cầu này

- Cơ hội tiếp cận thị trường lớn: Một website mua sắm trực tuyến có khả năng

tiếp cận một lượng lớn khách hàng không giới hạn bởi địa lý Điều này mở rộng cơ hội kinh doanh, không chỉ trong phạm vi địa phương mà còn có thể vươn ra thị trường quốc tế

- Tiết kiệm chi phí và tối ưu hóa quản lý: So với mô hình cửa hàng truyền thống,

mua sắm trực tuyến giúp tiết kiệm chi phí thuê mặt bằng và quản lý hàng tồn kho hiệu quả hơn

Chương 2 TỔNG QUAN ĐỀ TÀI

- Tạo Trải Nghiệm Người Dùng Tối Ưu: Thiết kế một giao diện người dùng (UI)

thuận tiện, dễ sử dụng và một trải nghiệm người dùng (UX) mượt mà, giúp khách hàng dễ dàng tìm kiếm, so sánh và mua sắm sản phẩm

Trang 13

13

- Phát Triển Cơ Sở Dữ Liệu Mạnh Mẽ và An Toàn: Xây dựng một cơ sở dữ liệu

bảo mật và hiệu quả để quản lý thông tin sản phẩm, thông tin người dùng, và giao dịch mua bán

- Bảo Mật và An Toàn Giao Dịch: Đảm bảo an toàn thông tin cá nhân của khách

hàng và bảo mật trong quá trình giao dịch thanh toán

- Tối Ưu Hóa SEO và Tiếp Thị Đa Kênh: Phát triển chiến lược tiếp thị trực tuyến

hiệu quả, tận dụng SEO và các kênh truyền thông xã hội để thu hút và giữ chân khách hàng

- Thêm sản phẩm vào giỏ hàng: Khách hàng có thể thêm sản phẩm vào giỏ

hàng để tiếp tục mua sắm hoặc thanh toán

- Thanh toán: Khách hàng có thể thanh toán bằng nhiều phương thức khác

nhau, bao gồm thanh toán trực tuyến và thanh toán khi nhận hàng

- Đánh giá và nhận xét: Khách hàng có thể đánh giá và nhận xét về sản

phẩm hoặc dịch vụ trên website mua sắm trực tuyến

- Quản lý thông tin cá nhân: Khách hàng có thể quản lý thông tin cá nhân,

bao gồm thông tin liên hệ, địa chỉ giao hàng và lịch sử mua hàng

- Khuyến mãi và giảm giá: Website mua sắm trực tuyến có thể cung cấp

các chương trình khuyến mãi và giảm giá để thu hút khách hàng

- Quản lý đơn hàng: Người bán có thể quản lý các đơn hàng, bao gồm xác

nhận đơn hàng, xử lý đơn hàng và vận chuyển đơn hàng

- Quản lí sản phẩm: Người bán có thể quản lý sản phẩm bao gồm thêm, cập

nhập, xóa sản phẩm khỏi cửa hàng

- Quản lí danh mục: Người bán có thể quản lý sản phẩm bao gồm thêm,

cập nhập, xóa danh mục khỏi cửa hàng

- Quản lí doanh thu: Người bán có thể quản lý doanh thu, theo dõi doanh

thu cửa hàng, những sản phẩm, danh mục nào bán chạy

Trang 14

14

- Tìm hiểu công nghệ: ReacJS, NextJS, Tailwind, Prisma, MySQL - Tìm hiểu các công cụ hỗ trợ: Cloudinary, PlanetScale, Stripe - Quản lý code: Github

- Thu thập yêu cầu thông qua:

+ Tìm hiểu các ứng dụng có trên thị trường - Phân tích và xác định yêu cầu

- Thiết kế:

+ Thiết kế đối tượng + Thiết kế dữ liệu + Thiết kế giao diện - Cài đặt

- Kiểm thử

- Hoàn thiện sản phẩm

- Đáp Ứng Nhu Cầu Tiêu Dùng Hiện Đại: Thời đại kỹ thuật số và dịch bệnh toàn

cầu đã thay đổi cách thức mua sắm của người tiêu dùng Hệ thống mua sắm trực tuyến đáp ứng nhu cầu mua sắm từ xa, thuận tiện, nhanh chóng và an toàn

- Mở Rộng Cơ Hội Kinh Doanh: Website mua sắm trực tuyến mở ra cơ hội tiếp

cận thị trường rộng lớn, không giới hạn bởi địa lý, giúp doanh nghiệp mở rộng khách hàng tiềm năng và tăng trưởng doanh thu

- Tối Ưu Hóa Quy Trình Kinh Doanh: Việc quản lý hàng tồn kho, dữ liệu khách

hàng, và quy trình đơn hàng trở nên hiệu quả hơn nhờ sự tự động hóa và hệ thống thông tin chính xác

Trang 15

Hình 1: Thư viện React JS

- Khái niệm: React JS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook (nay là Meta) để xây dựng giao diện người dùng (UI) cho các ứng dụng web Được ra mắt lần đầu vào năm 2013, React đã nhanh chóng trở thành một trong những công cụ phổ biến nhất trong lập trình front-end, được sử dụng bởi nhiều công ty lớn và dự án trên toàn thế giới

- Ưu điểm nổi bật:

• React sử dụng mô hình kiến trúc dựa trên các thành phần (component), giúp tạo ra các giao diện người dùng có cấu trúc và dễ quản lý Mỗi component đều có thể chứa logic và state riêng, giúp dễ dàng tái sử dụng và bảo trì

• React sử dụng Virtual DOM để tối ưu hóa hiệu suất Khi một component thay đổi, thay vì cập nhật toàn bộ DOM, React chỉ cập nhật những phần thực sự cần thay đổi, giúp tăng tốc độ và hiệu suất của ứng dụng

• JSX là một cú pháp mở rộng cho JavaScript, giúp viết code cho các component trở nên dễ dàng và trực quan hơn Với JSX, bạn có thể viết HTML trong JavaScript một cách mạch lạc và tự nhiên

Trang 16

- Ưu điểm nổi bật:

• Next.js cho phép render các trang web trên server, giúp tăng tốc độ tải trang và cải thiện hiệu suất SEO SSR đặc biệt hữu ích cho các trang web có nội dung động và cần được tối ưu hóa cho các công cụ tìm kiếm

• Framework này cũng hỗ trợ việc tạo ra các trang web tĩnh, có thể được phục vụ từ CDN, giúp giảm đáng kể thời gian tải trang và cung cấp trải nghiệm người dùng nhanh chóng

• Next.js tự động tối ưu hóa các trang web dựa trên yêu cầu của người dùng, bao gồm việc tải hình ảnh lười (lazy loading) và tách mã (code splitting), điều này giúp cải thiện hiệu suất tổng thể

Trang 17

17

Hình 3: Môi trường Node JS

- Khái niệm: Node.js là một môi trường chạy mã nguồn mở dựa trên JavaScript, được xây dựng trên V8, động cơ JavaScript của Google Chrome Nó cho phép phát triển các ứng dụng mạng nhanh chóng và mở rộng quy mô dễ dàng Node.js được phát triển bởi Ryan Dahl vào năm 2009 và đã trở thành một công cụ phổ biến trong việc phát triển phần mềm, đặc biệt là về phía server-side trong các ứng dụng web - Ưu điểm nổi bật:

• Node.js sử dụng mô hình I/O không chặn (non-blocking I/O), giúp xử lý nhiều kết nối cùng lúc một cách hiệu quả Điều này làm cho Node.js rất phù hợp cho việc xây dựng các ứng dụng mạng có hiệu suất cao, như chơi game trực tuyến, chat, hoặc các ứng dụng cần xử lý một lượng lớn dữ liệu thời gian thực • Node.js mở rộng khả năng của JavaScript từ client-side đến server-side, giúp

các nhà phát triển có thể sử dụng một ngôn ngữ duy nhất cho cả frontend và backend, đơn giản hóa quá trình phát triển

• Với cộng đồng lập trình viên lớn và sôi động, Node.js có một hệ sinh thái thư viện mạnh mẽ, được quản lý thông qua npm (Node Package Manager), giúp dễ dàng tìm và sử dụng hàng ngàn module và công cụ

Trang 18

18

Hình 4: Cơ sở dữ liệu MySQL

- MySQL là gì? MySQL là 1 hệ thống quản trị về cơ sở dữ liệu với mã nguồn mở (được gọi tắt là RDBMS) và đang hoạt động theo mô hình dạng client-server Đối với RDBMS - Relational Database Management System thì MySQL đã được tích hợp apache và PHP Được phát hành chính thức từ thập niên 90s, MySQL hiện đang quản lý dữ liệu qua những cơ sở dữ liệu, với mỗi một cơ sở dữ liệu hoàn toàn có thể có rất nhiều những bản quan hệ có chứa dữ liệu Ngoài ra, MySQL cũng có cùng 1 cách thức truy xuất cũng như mã lệnh tương tự cùng với ngôn ngữ SQL Vậy quá trình hình thành cũng như phát triển MySQL là gì? Hãy cùng giải đáp chi tiết ở phần sau đây

- Ưu điểm nổi bật:

• Nhanh chóng: Nhờ vào việc đưa ra một số những tiêu chuẩn và cho phép MySQL

làm việc hiệu quả cũng như tiết kiệm chi phí, giúp gia tăng tốc độ thực thi

• Mạnh mẽ và khả năng mở rộng: MySQL hoàn toàn có thể xử lý số lượng lớn dữ

liệu và đặc biệt hơn thế nữa thì nó còn có thể mở rộng nếu như cần thiết

• Đa tính năng: Ưu điểm MySQL là gì? MySQL hiện đang hỗ trợ nhiều những chức

năng SQL rất được mong chờ từ 1 hệ quản trị CSDL quan hệ cả gián tiếp cũng như trực tiếp

Trang 19

19

• Độ bảo mật cao: MySQL là gì? Hiện tại nó đang rất thích hợp cho những ứng

dụng truy cập CSDL thông qua internet khi sở hữu rất nhiều những tính năng về bảo mật và thậm chí là đang ở cấp cao

Hình 5: Framework Tailwind Css

- Khái niệm: Tailwind CSS là một framework CSS mã nguồn mở được thiết kế để tạo ra các giao diện người dùng nhanh chóng và hiệu quả thông qua việc sử dụng các lớp tiện ích (utility classes) Được phát triển bởi Adam Wathan và ra mắt lần đầu vào năm 2017, Tailwind CSS nhanh chóng trở nên phổ biến trong cộng đồng phát triển web nhờ vào cách tiếp cận "first utility" độc đáo của nó

- Ưu điểm nổi bật:

• Tailwind CSS cung cấp hàng ngàn lớp tiện ích để nhanh chóng áp dụng các kiểu dáng trực tiếp vào HTML, giúp tạo ra các giao diện mà không cần viết nhiều CSS tùy chỉnh

• Dễ dàng tùy chỉnh và mở rộng Tailwind CSS cho phép bạn tùy chỉnh cấu hình để phù hợp với yêu cầu thiết kế của dự án, bao gồm màu sắc, font, kích thước biên (margin) và padding, v.v

• Hỗ trợ thiết kế đáp ứng (responsive design) một cách thuận tiện thông qua các lớp tiện ích dựa trên các breakpoints

Trang 20

20

Hình 6: Thư viện hỗ trợ Prisma

- Khái niệm: Prisma là một thư viện ORM cho Node.js và TypeScript cho phép tạo ra một lớp trừu tượng (abstraction layer) giữa ứng dụng và cơ sở dữ liệu Prisma cung cấp một API đơn giản và mạnh mẽ để thao tác với cơ sở dữ liệu mà không cần viết câu lệnh SQL Prisma hỗ trợ nhiều loại cơ sở dữ liệu khác nhau, như MySQL, PostgreSQL, MongoDB, SQLite và SQL Server Có thể sử dụng Prisma với nhiều ngôn ngữ lập trình khác nhau, như JavaScript, TypeScript, Python, Go và Ruby - Ưu điểm nổi bật:

• Tăng năng suất: Không phải viết nhiều câu lệnh SQL hay lo lắng về các chi tiết kỹ thuật của cơ sở dữ liệu Chỉ cần tập trung vào logic của ứng dụng và sử dụng API của Prisma để thao tác với dữ liệu một cách dễ dàng và nhanh chóng • Tăng chất lượng: Không phải đối mặt với các lỗi hay rủi ro do viết sai câu lệnh SQL hay quản lý kém cơ sở dữ liệu Prisma giúp đảm bảo tính nhất quán, an toàn và hiệu năng của ứng dụng bằng cách tự động kiểm tra và tối ưu hóa các truy vấn và các thay đổi của cơ sở dữ liệu

• Tăng khả năng mở rộng: Không phải lo lắng về việc thay đổi loại cơ sở dữ liệu hay ngôn ngữ lập trình khi phát triển ứng dụng Prisma cho phép chuyển đổi một cách linh hoạt và dễ dàng giữa các cơ sở dữ liệu khác nhau và các ngôn ngữ lập trình khác nhau mà không ảnh hưởng đến logic của ứng dụng

Trang 21

• Trải Nghiệm Người Dùng: Cần tạo ra một trải nghiệm người dùng mượt

• SEO và Tiếp Thị: Tối ưu hóa cho công cụ tìm kiếm và chiến lược

marketing đa kênh

1 Front-End: React.js và Tailwind CSS

• React.js: Sử dụng cho việc xây dựng giao diện người dùng React.js với mô

hình component-based giúp tạo ra giao diện động, nhanh chóng và tối ưu hóa hiệu suất

• Tailwind CSS: Framework CSS hiện đại giúp nhanh chóng thiết kế giao diện

người dùng mà không cần viết nhiều CSS tùy chỉnh 2 Server-Side Rendering: Next.js

• Next.js: Framework của React hỗ trợ server-side rendering (SSR), giúp cải

thiện tốc độ tải trang và SEO Next.js cũng cung cấp các tính năng như routing và tối ưu hóa ảnh, hữu ích cho việc xây dựng website thương mại điện tử 3 Back-End: Node.js và MySQL, Prisma

• Node.js: Môi trường JavaScript server-side cho phép xây dựng các ứng dụng

mạng nhanh chóng và hiệu quả Nó phù hợp cho xử lý các tác vụ không đồng bộ, quản lý yêu cầu đa người dùng

• MySQL-Prisma: Prisma hỗ trợ nhiều loại cơ sở dữ liệu khác nhau, như

MySQL, PostgreSQL, MongoDB, SQLite và SQL Server Có thể sử dụng Prisma với nhiều ngôn ngữ lập trình khác nhau, như JavaScript, TypeScript, Python, Go và Ruby.4 Tích Hợp và Quản Lý

Trang 22

22

• Phát triển API RESTful bằng Node.js để kết nối front-end và back-end • Sử dụng Clerk Doc để bảo mật thông tin người dùng

5 Quản Lý Trạng Thái và Routing

• Sử dụng Redux của Redux ToolKits để quản lý trạng thái toàn cục

• Next.js hỗ trợ routing động giúp quản lý các trang và đường dẫn một cách hiệu

quả

6 Tối Ưu Hóa Hiệu Suất và SEO

• Tận dụng SSR của Next.js để cải thiện hiệu suất tải trang và SEO

• Sử dụng các công cụ và kỹ thuật tối ưu hóa như Lazy Loading, code splitting, và caching

7 Bảo Mật và Quản Lý Dữ Liệu

• Áp dụng các biện pháp bảo mật như mã hóa dữ liệu, bảo vệ Bcrypt

• Tích hợp các giải pháp backup và phục hồi dữ liệu cho MongoDB

4.3.2 Yêu cầu chức năng

ID Tên của yêu cầu Sự ưu tiên Biểu đồ Test case 1 Tài khoản

1.1 Đăng nhập Cao 1.2 Đăng ký Cao

Trang 23

23 1.3 Đổi mật khẩu Thấp

1.4 Quên mật khẩu Thấp 1.5 Nhắn tin với người

quản lý và khách hàng

2.4 Thêm sản phẩm Quan trọng 2.5 Sửa sản phẩm Quan trọng 2.6 Xóa sản phẩm Quan trọng 3 Đơn hàng

3.1 Hủy đơn Cao 3.2 Xem đơn hàng Cao 3.3 Cập nhập trạng thái

Trang 24

24 4.2 Thanh toán Quan trọng 5 Mã giảm giá

5.1 Thêm mã giảm giá Trung bình 5.2 Sửa mã giảm giá Trung bình 5.3 Xóa mã giảm giá Trung bình 6 Danh mục

6.1 Thêm danh mục Quan trọng 6.2 Sửa danh mục Quan trọng 6.3 Xóa danh mục Quan trọng

Bảng 2: Yêu cầu chức năng

4.3.3 Mô tả yêu cầu chức năng

1 Tài khoản 1.1 Đăng nhập

- Hệ thống phải cung cấp chức năng đăng nhập an toàn cho phép người dùng đã đăng ký truy cập thông tin cá nhân của họ

- Quá trình đăng nhập cần yêu cầu người dùng nhập email và mật khẩu - Sau khi xác thực thành công, hệ thống sẽ xác minh thông tin xác thực của người dùng và cấp truy cập vào thông tin cá nhân của họ

- Nếu nhập sai thông tin đăng nhập hoặc tài khoản chưa được xác nhận, hệ thống sẽ hiển thị thông báo lỗi và nhắc người dùng thử lại thông tin đăng nhập của họ

- Trang đăng nhập phải có hướng dẫn rõ ràng về cách nhập thông tin đăng nhập và thân thiện với người dùng để điều hướng dễ dàng

- Địa chỉ email phải là duy nhất

- Sau khi xác nhận thành công, hệ thống sẽ tạo tài khoản mới cho người dùng và gửi email xác nhận đến địa chỉ email của người dùng

Trang 25

- Xác Minh Danh Tính Người Dùng: Hệ thống sẽ kiểm tra thông tin nhập vào và gửi một email xác nhận đến địa chỉ email đã đăng ký Email này sẽ chứa một liên kết để đặt lại mật khẩu

- Đặt Lại Mật Khẩu: Liên kết đặt lại mật khẩu sẽ dẫn người dùng đến một trang web nơi họ có thể tạo mật khẩu mới Mật khẩu mới này cũng cần phải tuân theo các chính sách mật khẩu (ít nhất 8 ký tự, bao gồm một chữ in hoa và một ký tự đặc biệt)

- Xác Nhận và Đăng Nhập: Sau khi đặt lại mật khẩu thành công, hệ thống sẽ thông báo cho người dùng và hướng dẫn họ quay trở lại trang đăng nhập để truy cập vào tài khoản của họ với mật khẩu mới

- Bảo Mật và Quyền Riêng Tư: Quá trình đặt lại mật khẩu phải đảm bảo an toàn, không tiết lộ thông tin cá nhân hoặc tài khoản của người dùng cho bên thứ ba

1.5 Nhắn tin với người quản lý và khách hàng

- Chức năng Nhắn Tin: Hệ thống cần cung cấp một tính năng cho phép người quản lý trang web và khách hàng có thể trao đổi thông tin qua tin nhắn

Trang 26

26

- Truy Cập Tính Năng Nhắn Tin: Người dùng đã đăng ký và đăng nhập thành công vào hệ thống sẽ có quyền truy cập vào tính năng nhắn tin - Giao Diện Người Dùng: Giao diện nhắn tin phải thân thiện, dễ sử dụng, với khả năng hiển thị lịch sử tin nhắn và thông báo tin nhắn mới

- Bảo Mật Thông Tin: Tin nhắn giữa người quản lý và khách hàng phải được mã hóa và bảo vệ để đảm bảo quyền riêng tư và bảo mật thông tin - Thông Báo Lỗi và Hỗ Trợ: Nếu có sự cố trong quá trình gửi hoặc nhận tin nhắn, hệ thống phải hiển thị thông báo lỗi rõ ràng và cung cấp hỗ trợ khi cần thiết

- Quyền Truy Cập: Chỉ những người dùng đã xác thực và người quản lý có quyền truy cập vào tính năng nhắn tin Khách hàng không thể nhắn tin với người dùng khác ngoài người quản lý

- Hướng Dẫn Sử Dụng: Trang nhắn tin cần có hướng dẫn sử dụng rõ ràng, giúp người dùng biết cách gửi, nhận và quản lý tin nhắn của mình

- Phản Hồi Nhanh Chóng: Hệ thống nên được thiết kế để khuyến khích và hỗ trợ phản hồi nhanh chóng từ phía người quản lý, nhằm tăng cường sự hài lòng của khách hàng

- Xác Nhận Đăng Xuất: Khi chọn đăng xuất, hệ thống có thể hiển thị một hộp thoại xác nhận để đảm bảo rằng người dùng muốn thoát khỏi tài khoản của mình

- Hoàn Thành Quá Trình Đăng Xuất: Sau khi người dùng xác nhận, hệ thống sẽ đăng xuất người dùng khỏi tài khoản của họ, đảm bảo rằng không còn dữ liệu cá nhân hoặc phiên làm việc nào được lưu trữ trong trình duyệt - Thông Báo Đăng Xuất Thành Công: Hệ thống sẽ hiển thị thông báo hoặc trang xác nhận rằng người dùng đã đăng xuất thành công

- Bảo Mật và Quyền Riêng Tư: Quá trình đăng xuất phải đảm bảo rằng mọi thông tin cá nhân và lịch sử duyệt web của người dùng không còn được truy cập trên thiết bị đó sau khi họ đăng xuất

1.7 Thêm địa chỉ giao hàng

- Chức năng Thêm Địa Chỉ Giao Hàng: Hệ thống cần cung cấp chức năng cho phép người dùng đã đăng ký thêm địa chỉ giao hàng vào tài khoản của họ

Trang 27

27

- Truy Cập Chức Năng: Sau khi đăng nhập thành công, người dùng sẽ có quyền truy cập vào phần quản lý tài khoản, nơi họ có thể thêm hoặc sửa đổi địa chỉ giao hàng

- Nhập Thông Tin Địa Chỉ: Người dùng cần nhập thông tin cần thiết cho địa chỉ giao hàng, bao gồm tên người nhận, địa chỉ, số điện thoại, và các chi tiết khác nếu cần thiết

- Xác Nhận và Lưu Địa Chỉ: Sau khi nhập thông tin, người dùng cần xác nhận thông tin đã nhập là chính xác và sau đó lưu địa chỉ vào tài khoản của họ

- Thông Báo Lỗi và Hướng Dẫn: Nếu thông tin nhập không đầy đủ hoặc không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi và hướng dẫn người dùng cách nhập thông tin chính xác

- Bảo Mật Thông Tin: Hệ thống phải đảm bảo an toàn và bảo mật cho thông tin địa chỉ giao hàng của người dùng

2 Sản phẩm

2.1 Xem sản phẩm

- Chức Năng Xem Sản Phẩm: Hệ thống phải cung cấp chức năng cho phép tất cả người dùng, dù đã đăng ký hay không, có thể xem thông tin chi tiết về các sản phẩm

- Hiển Thị Thông Tin Sản Phẩm: Khi chọn một sản phẩm, hệ thống sẽ hiển thị thông tin chi tiết bao gồm tên sản phẩm, mô tả, giá cả, hình ảnh, tùy chọn (như màu sắc, kích thước), và đánh giá của khách hàng

- Giao Diện Thân Thiện Với Người Dùng: Trang xem sản phẩm cần có giao diện trực quan, dễ điều hướng, và thân thiện với người dùng

- Tính Năng Tìm Kiếm và Lọc: Người dùng có thể sử dụng tính năng tìm kiếm và lọc để tìm sản phẩm theo tên, loại, giá cả, và các tiêu chí khác - Tối Ưu Hóa Trải Nghiệm Người Dùng: Hệ thống nên được tối ưu hóa để đảm bảo tốc độ tải trang nhanh và hiển thị ổn định trên các thiết bị khác nhau

- Xác Nhận Đơn Hàng: Sau khi nhập thông tin, người dùng sẽ được yêu cầu xác nhận đơn hàng, bao gồm sản phẩm, giá cả, thông tin giao hàng, và tổng cộng chi phí

- Giao Diện Thân Thiện Với Người Dùng: Trang đặt hàng cần có giao diện dễ sử dụng, với hướng dẫn rõ ràng về cách thực hiện các bước đặt hàng

Trang 28

- Truy Cập Chức Năng Thêm Sản Phẩm: Sau khi đăng nhập thành công, người quản lý hoặc người bán hàng sẽ có quyền truy cập vào một bảng điều khiển quản lý, nơi họ có thể chọn tùy chọn để thêm sản phẩm mới - Nhập Thông Tin Sản Phẩm: Khi thêm sản phẩm, người dùng cần nhập thông tin cần thiết như tên sản phẩm, mô tả, giá cả, hình ảnh sản phẩm, danh mục, và các thông tin khác như kích thước, màu sắc, v.v

- Thông Báo Lỗi và Hướng Dẫn: Nếu có lỗi trong quá trình nhập thông tin sản phẩm, hệ thống sẽ hiển thị thông báo lỗi và hướng dẫn cách nhập thông tin đúng cách

- Xác Nhận Thêm Sản Phẩm Thành Công: Sau khi sản phẩm được thêm thành công, hệ thống sẽ hiển thị thông báo xác nhận và sản phẩm mới sẽ xuất hiện trên trang web

2.4 Sửa sản phẩm

- Chức Năng Sửa Sản Phẩm: Hệ thống cần cung cấp chức năng cho phép người quản lý hoặc người bán hàng đã đăng ký và đăng nhập có khả năng chỉnh sửa thông tin sản phẩm đã được thêm vào trang web

- Truy Cập Chức Năng Sửa Sản Phẩm: Sau khi đăng nhập thành công, người quản lý hoặc người bán hàng sẽ truy cập vào bảng điều khiển quản lý, nơi họ có thể chọn sản phẩm cần chỉnh sửa từ danh sách sản phẩm của họ

- Chỉnh Sửa Thông Tin Sản Phẩm: Khi chỉnh sửa một sản phẩm, người dùng có thể thay đổi thông tin như tên sản phẩm, mô tả, giá cả, hình ảnh, và các thông tin khác như kích thước, màu sắc, v.v

- Thông Báo Lỗi và Hướng Dẫn: Nếu có lỗi trong quá trình chỉnh sửa thông tin sản phẩm, hệ thống sẽ hiển thị thông báo lỗi và hướng dẫn người dùng cách thực hiện chỉnh sửa đúng cách

- Xác Nhận Chỉnh Sửa Thành Công: Sau khi chỉnh sửa được hoàn tất và lưu, hệ thống sẽ hiển thị thông báo xác nhận và cập nhật thông tin sản phẩm trên trang web

2.5 Xóa sản phẩm

- Chức Năng Xóa Sản Phẩm: Hệ thống cần cung cấp chức năng cho phép người quản lý hoặc người bán hàng đã đăng ký và đăng nhập có khả năng xóa sản phẩm từ danh sách sản phẩm trên trang web

Trang 29

29

- Truy Cập Chức Năng Xóa Sản Phẩm: Sau khi đăng nhập thành công, người quản lý hoặc người bán hàng có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể chọn sản phẩm cần xóa

- Chọn Sản Phẩm Để Xóa: Người dùng lựa chọn sản phẩm mà họ muốn xóa từ danh sách sản phẩm của họ Hệ thống nên cung cấp thông tin chi tiết về sản phẩm để người dùng có thể chắc chắn về lựa chọn của mình - Xác Nhận Xóa Sản Phẩm: Trước khi xóa sản phẩm, hệ thống cần hiển thị một thông báo xác nhận, yêu cầu người dùng xác nhận hành động xóa để tránh xóa nhầm sản phẩm

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi xảy ra trong quá trình xóa sản phẩm, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

- Xác Nhận Xóa Thành Công: Sau khi sản phẩm được xóa thành công, hệ thống sẽ hiển thị thông báo xác nhận và cập nhật danh sách sản phẩm để phản ánh sự thay đổi

3 Đơn hàng 3.1 Hủy đơn

- Chức Năng Hủy Đơn Hàng: Hệ thống cần cung cấp chức năng cho phép người dùng đã đăng ký và đăng nhập có khả năng hủy đơn hàng mà họ đã đặt

- Truy Cập Chức Năng Hủy Đơn Hàng: Sau khi đăng nhập thành công, người dùng có thể truy cập vào phần lịch sử đơn hàng trong tài khoản của họ để xem các đơn hàng hiện tại và lựa chọn đơn hàng mà họ muốn hủy - Lựa Chọn Đơn Hàng Để Hủy: Người dùng chọn đơn hàng cần hủy và nên được cung cấp thông tin chi tiết về đơn hàng để họ có thể chắc chắn về quyết định của mình

- Xác Nhận Hủy Đơn Hàng: Trước khi hủy đơn hàng, hệ thống cần hiển thị một thông báo xác nhận, yêu cầu người dùng xác nhận hành động hủy để tránh hủy nhầm

- Hạn Chế và Điều Kiện Hủy Đơn Hàng: Hệ thống cần thông báo cho người dùng về bất kỳ hạn chế hoặc điều kiện nào áp dụng cho việc hủy đơn hàng, chẳng hạn như thời gian hủy tối đa sau khi đặt hàng

- Xác Nhận Hủy Thành Công: Sau khi đơn hàng được hủy thành công, hệ thống sẽ hiển thị thông báo xác nhận và cập nhật trạng thái đơn hàng trong lịch sử đơn hàng của người dùng

3.2 Xem đơn hàng

- Chức Năng Xem Đơn Hàng: Hệ thống cần cung cấp chức năng cho phép người dùng đã đăng ký và đăng nhập có thể xem lịch sử đơn hàng của họ

Trang 30

30

- Truy Cập Chức Năng Xem Đơn Hàng: Sau khi đăng nhập thành công, người dùng có thể truy cập vào một phần riêng trong tài khoản của họ, thường được gọi là "Đơn Hàng của Tôi" hoặc "Lịch Sử Mua Hàng" - Hiển Thị Danh Sách Đơn Hàng: Trang này sẽ hiển thị danh sách các đơn hàng mà người dùng đã đặt, bao gồm thông tin về trạng thái đơn hàng, ngày đặt, tổng giá trị, và các chi tiết khác

- Xem Chi Tiết Đơn Hàng: Người dùng có thể nhấp vào mỗi đơn hàng để xem chi tiết cụ thể, bao gồm danh sách sản phẩm đã mua, giá cả, thông tin giao hàng, và trạng thái thanh toán

- Tính Năng Tìm Kiếm và Lọc: Cung cấp tính năng tìm kiếm và lọc để giúp người dùng dễ dàng tìm kiếm đơn hàng cụ thể theo ngày, trạng thái, hoặc các tiêu chí khác

3.3 Cập nhập trạng thái đơn hàng

- Chức Năng Cập Nhật Trạng Thái Đơn Hàng: Hệ thống cần cung cấp chức năng cho phép người quản lý hoặc người bán hàng đã đăng ký và đăng nhập có khả năng cập nhật trạng thái của các đơn hàng

- Truy Cập Chức Năng Cập Nhật Trạng Thái: Sau khi đăng nhập thành công, người quản lý hoặc người bán hàng có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể xem danh sách các đơn hàng và chọn đơn hàng cần cập nhật trạng thái

- Chọn Đơn Hàng Để Cập Nhật: Người dùng lựa chọn đơn hàng cần cập nhật và thay đổi trạng thái của đơn hàng đó, chẳng hạn như từ "đang xử lý" sang "đã giao" hoặc "đã hủy"

- Xác Nhận Cập Nhật Thành Công: Sau khi trạng thái đơn hàng được cập nhật thành công, hệ thống sẽ hiển thị thông báo xác nhận và cập nhật thông tin trạng thái trên hệ thống

4 Giỏ hàng

4.1 Thay đổi số lượng sản phẩm

- Chức Năng Thay Đổi Số Lượng Sản Phẩm trong Giỏ Hàng: Hệ thống cần cung cấp chức năng cho phép người dùng đã đăng ký và đăng nhập có khả năng điều chỉnh số lượng của các sản phẩm đã thêm vào giỏ hàng của họ

- Truy Cập Giỏ Hàng: Sau khi đăng nhập thành công, người dùng có thể truy cập giỏ hàng của họ, thường thông qua một biểu tượng hoặc liên kết đặt ở một vị trí dễ thấy trên trang web

- Hiển Thị Danh Sách Sản Phẩm trong Giỏ Hàng: Trong giỏ hàng, người dùng có thể xem danh sách các sản phẩm họ đã chọn, cùng với số lượng, giá cả, và tổng giá trị của từng sản phẩm

Trang 31

31

- Thay Đổi Số Lượng Sản Phẩm: Người dùng có thể tăng hoặc giảm số lượng của từng sản phẩm trong giỏ hàng, thường thông qua các nút "+" và "-" hoặc nhập trực tiếp số lượng mong muốn vào một ô số lượng

- Cập Nhật Tự Động: Khi thay đổi số lượng, hệ thống cần cập nhật tổng giá trị của giỏ hàng tự động, để phản ánh sự thay đổi số lượng sản phẩm

4.2 Thanh toán

- Chức Năng Thanh Toán: Hệ thống cần cung cấp chức năng thanh toán an toàn và hiệu quả, cho phép người dùng đã đăng ký và đăng nhập hoàn tất mua hàng của họ

- Truy Cập Chức Năng Thanh Toán: Sau khi chọn sản phẩm và thêm vào giỏ hàng, người dùng có thể tiến hành thanh toán bằng cách truy cập giỏ hàng của họ và chọn tùy chọn thanh toán

- Nhập Thông Tin Thanh Toán: Quá trình thanh toán cần yêu cầu người dùng nhập thông tin cần thiết như phương thức thanh toán (ví dụ: thẻ tín dụng, PayPal, chuyển khoản ngân hàng, v.v.), thông tin giao hàng, và thông tin liên hệ

- Xác Nhận Thông Tin và Đơn Hàng: Trước khi hoàn tất thanh toán, người dùng cần xác nhận thông tin đã nhập và xem lại đơn hàng, bao gồm các sản phẩm, số lượng, giá cả, và tổng cộng chi phí

- Bảo Mật trong Thanh Toán: Hệ thống phải đảm bảo an toàn thông tin thanh toán, sử dụng mã hóa và các biện pháp bảo mật tiêu chuẩn để bảo vệ thông tin cá nhân và tài chính của người dùng

5 Mã giảm giá

5.1 Thêm mã giảm giá

- Chức Năng Thêm Mã Giảm Giá: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng tạo và quản lý các mã giảm giá cho trang web

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý của họ, nơi có chức năng để thêm hoặc chỉnh sửa mã giảm giá

- Tạo Mã Giảm Giá Mới: Người quản lý có thể tạo mã giảm giá mới bằng cách nhập thông tin cần thiết như mã giảm giá, mức giảm giá (ví dụ: phần trăm hoặc số tiền cụ thể), hạn sử dụng của mã, và các điều kiện áp dụng khác

- Xác Nhận và Lưu Mã Giảm Giá: Sau khi nhập thông tin mã giảm giá, người quản lý cần xác nhận và lưu thông tin này Hệ thống sẽ tạo mã giảm giá và lưu nó vào cơ sở dữ liệu

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi hoặc vấn đề xảy ra trong quá trình tạo hoặc chỉnh sửa mã giảm giá, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

Trang 32

32

- Bảo Mật và Kiểm Soát Quyền Truy Cập: Hệ thống cần đảm bảo rằng chỉ người quản lý có quyền tạo và chỉnh sửa mã giảm giá, và các thông tin về mã giảm giá được bảo mật tốt

5.2 Sửa mã giảm giá

- Chức Năng Sửa Mã Giảm Giá: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng chỉnh sửa các mã giảm giá hiện có

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể tìm và chọn mã giảm giá cần chỉnh sửa

- Chọn Mã Giảm Giá để Chỉnh Sửa: Trong bảng điều khiển, người quản lý có thể xem danh sách các mã giảm giá và chọn mã cần chỉnh sửa

- Chỉnh Sửa Thông Tin Mã Giảm Giá: Người quản lý có thể chỉnh sửa thông tin của mã giảm giá bao gồm mức giảm giá, hạn sử dụng, điều kiện áp dụng, và các thông tin khác liên quan đến mã giảm giá

- Xác Nhận và Lưu Thay Đổi: Sau khi chỉnh sửa thông tin, người quản lý cần xác nhận và lưu những thay đổi Hệ thống sẽ cập nhật thông tin mã giảm giá trong cơ sở dữ liệu

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi hoặc vấn đề xảy ra trong quá trình chỉnh sửa, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

- Bảo Mật và Kiểm Soát Quyền Truy Cập: Chỉ người quản lý có quyền truy cập và chỉnh sửa mã giảm giá, đảm bảo thông tin mã giảm giá được bảo mật và quản lý hiệu quả

5.3 Xóa mã giảm giá

- Chức Năng Xóa Mã Giảm Giá: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng xóa các mã giảm giá khỏi hệ thống

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý của họ, nơi họ có thể xem danh sách các mã giảm giá hiện tại

- Chọn Mã Giảm Giá để Xóa: Trong bảng điều khiển, người quản lý có thể xem danh sách các mã giảm giá và chọn mã cần xóa

- Xác Nhận Xóa Mã Giảm Giá: Trước khi thực hiện xóa, hệ thống cần hiển thị một thông báo xác nhận để đảm bảo rằng người quản lý muốn xóa mã giảm giá đó

- Thực Hiện Xóa và Cập Nhật Hệ Thống: Sau khi người quản lý xác nhận, hệ thống sẽ xóa mã giảm giá khỏi cơ sở dữ liệu và cập nhật danh sách mã giảm giá

Trang 33

33

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi xảy ra trong quá trình xóa, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết - Bảo Mật và Kiểm Soát Quyền Truy Cập: Hệ thống cần đảm bảo rằng chỉ người quản lý có quyền xóa mã giảm giá, đảm bảo thông tin mã giảm giá được quản lý một cách an toàn và hiệu quả

6 Danh mục

6.1 Thêm danh mục

- Chức Năng Thêm Danh Mục: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng tạo danh mục sản phẩm mới trên trang web

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể tìm và chọn tùy chọn để thêm danh mục mới

- Tạo Danh Mục Mới: Trong bảng điều khiển, người quản lý có thể nhập thông tin cho danh mục mới, bao gồm tên danh mục, mô tả, và có thể chọn hình ảnh hoặc biểu tượng đại diện cho danh mục

- Xác Nhận và Lưu Danh Mục Mới: Sau khi nhập thông tin và xác nhận rằng mọi thông tin là chính xác, người quản lý cần lưu danh mục mới Hệ thống sẽ thêm danh mục vào cơ sở dữ liệu và hiển thị nó trên trang web - Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi xảy ra trong quá trình tạo hoặc quản lý danh mục, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

- Bảo Mật và Kiểm Soát Quyền Truy Cập: Hệ thống cần đảm bảo rằng chỉ người quản lý có quyền tạo và chỉnh sửa danh mục, đảm bảo thông tin danh mục được quản lý một cách an toàn và hiệu quả

6.2 Sửa danh mục

- Chức Năng Sửa Danh Mục: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng chỉnh sửa danh mục sản phẩm hiện có trên trang web

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể xem và chọn danh mục sản phẩm cần chỉnh sửa

- Chọn Danh Mục Sản Phẩm để Chỉnh Sửa: Trong bảng điều khiển, người quản lý sẽ tìm và chọn danh mục cần chỉnh sửa từ danh sách các danh mục hiện có

- Chỉnh Sửa Thông Tin Danh Mục: Người quản lý có thể chỉnh sửa các thông tin của danh mục như tên danh mục, mô tả, hoặc thay đổi hình ảnh đại diện cho danh mục nếu cần

Trang 34

34

- Xác Nhận và Lưu Thay Đổi: Sau khi chỉnh sửa thông tin, người quản lý cần xác nhận và lưu những thay đổi Hệ thống sẽ cập nhật thông tin danh mục trong cơ sở dữ liệu và phản ánh các thay đổi trên trang web

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi xảy ra trong quá trình chỉnh sửa danh mục, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

- Bảo Mật và Kiểm Soát Quyền Truy Cập: Hệ thống cần đảm bảo rằng chỉ người quản lý có quyền chỉnh sửa danh mục, đảm bảo thông tin danh mục được quản lý một cách an toàn và hiệu quả

6.3 Xóa danh mục

- Chức Năng Xóa Danh Mục: Hệ thống cần cung cấp chức năng cho phép người quản lý đã đăng ký và đăng nhập có khả năng xóa danh mục sản phẩm hiện có từ trang web

- Truy Cập Bảng Điều Khiển Quản Lý: Sau khi đăng nhập thành công, người quản lý có thể truy cập vào bảng điều khiển quản lý, nơi họ có thể xem danh sách các danh mục sản phẩm hiện có

- Chọn Danh Mục Sản Phẩm để Xóa: Trong bảng điều khiển, người quản lý sẽ chọn danh mục sản phẩm mà họ muốn xóa

- Xác Nhận Xóa Danh Mục: Trước khi xóa, hệ thống cần hiển thị một thông báo xác nhận yêu cầu người quản lý xác nhận quyết định của mình, nhằm đảm bảo rằng việc xóa được thực hiện một cách cẩn thận và không phải là một hành động nhầm lẫn

- Thực Hiện Xóa và Cập Nhật Hệ Thống: Sau khi người quản lý xác nhận, hệ thống sẽ xóa danh mục khỏi cơ sở dữ liệu và cập nhật danh sách danh mục trên trang web

- Thông Báo Lỗi và Hỗ Trợ: Nếu có lỗi xảy ra trong quá trình xóa danh mục, hệ thống sẽ hiển thị thông báo lỗi và cung cấp hướng dẫn hoặc hỗ trợ cần thiết

- Bảo Mật và Kiểm Soát Quyền Truy Cập: Hệ thống cần đảm bảo rằng chỉ người quản lý có quyền xóa danh mục, đảm bảo thông tin danh mục được quản lý một cách an toàn và hiệu quả

4.3.4 Yêu cầu phi chức năng

1 Bảo mật

S01 Mật khẩu dùng để đăng nhập phải có độ mạnh ký tự ít nhất là 8 ký tự

S02 Ứng dụng phải xử lý thông tin nhạy cảm của khách, chẳng hạn như chi tiết cá nhân, thông tin thanh toán và lịch sử đặt mua

Trang 35

2 Khả năng mở rộng

C01 Hệ thống phải được thiết kế để xử lý tải ngày càng tăng và đáp ứng sự tăng trưởng trong tương lai

Bảng 4: Trình bày các yêu cầu khả năng mở rộng phi chức năng đã được xác định có liên quan trực tiếp đến toàn bộ chủ đề xây dựng hệ thống mua sắm trực tuyến

3 Khả năng sử dụng

U01 Giao diện người dùng phải được thiết kế trực quan, thân thiện với người dùng và dễ điều hướng

U02 Giao diện người dùng phải có cùng chủ đề màu sắc

U03 Hệ thống phải cung cấp hướng dẫn cho người dùng sử dụng Bảng 5: Trình bày các yêu cầu khả năng sử dụng phi chức năng đã được xác định có liên quan trực tiếp đến toàn bộ chủ đề xây dựng hệ thống mua sắm trực tuyến

4 Hiệu suất

P01 Hệ thống cần được tối ưu hóa để có hiệu suất cao, đảm bảo rằng các hoạt động như quản lý sản phẩm, đặt hàng và thanh toán đều được thực hiện hoàn thành trong vòng chưa đầy 5 giây

Bảng 6: trình bày các yêu cầu hiệu suất phi chức năng đã được xác định có liên quan trực tiếp đến toàn bộ chủ đề xây dựng hệ thống mua sắm trực tuyến

Trang 36

36

4.4.1 Mô hình Use case toàn hệ thống

Hình 7: Sơ đồ usecase toàn hệ thống

4.4.2 Danh sách các Actors

Người dùng Những người có nhu cầu sử dụng ứng dụng (đã đăng ký hoặc chưa đăng ký tài khoản) có quyền truy cập vào tài nguyên dùng chung và những tài khoản đã đăng ký có thể sử dụng tài nguyên tốt hơn

Trang 37

37

Người quản lý Là người nắm quyền toàn bộ hoạt động trên ứng dụng và quản lý các tài nguyên Bảng 7: Mô tả các Actors

4.4.3 Mô tả Use case

Người dùng

UC01 Nhắn tin với người quản lý

Cho phép người dùng nhắn tin với người quản lý

UC02 Khám phá sản phẩm

Cho phép người dùng tìm kiếm sản phẩm, lọc sản phẩm theo các thông tin (danh mục, giá, chất liệu, màu sắc, …), xem chi tiết thông tin sản phẩm và đặt hàng sản phẩm đang xem

UC03 Sử dụng mã giảm giá

Cho phép người dùng sử dụng mã giảm giá để giảm giá cho đơn hàng đang đặt

UC04 Danh sách yêu thích

Người dùng có thể thêm những sản phẩm đã xem vào danh sách yêu thích để tiện theo dõi hơn

UC05 Quản lý giỏ hàng

Cho phép người dùng tăng hoặc giảm số lượng hoặc xóa sản phẩm trong giỏ hàng và thanh toán những sản phẩm đã chọn trong giỏ hàng

UC05 Quản lý đơn hàng

Cho phép người dùng xem chi tiết những đơn hàng đã đặt và hủy đơn những đơn hàng chưa được vận

Trang 38

UC07 Đăng nhập

Cho phép người dùng sử dụng tài khoản đã đăng ký hoặc những tài khoản có sẵn khác như google, github, twitter, … để đăng nhập tài khoản

UC08 Quản lý tài khoản

Cho phép người dùng đăng xuất tài khoản đã đăng nhập trên website, đổi mật khẩu tài khoản và sử dụng email xác nhận quên mật khẩu để lấy lại mật khẩu của tài khoản

UC09 Phương thức thanh toán

Cho phép người dùng chọn phương thức thanh toán mặc định

UC10 Quản lý địa chỉ

Cho phép người dùng thêm địa chỉ giao hàng, xóa những địa chỉ giao hàng đã thêm và chọn địa chỉ giao hàng mặc định

UC11 Đánh giá sản phẩm

Cho phép người dùng đánh giá sản phẩm đã mua kèm theo hình ảnh

UC12 Quản lý đơn hàng

Cho phép người dùng xem chi tiết những đơn hàng đã đặt và hủy đơn những đơn hàng chưa được vận chuyển

Trang 39

39 UC21 Kiểm tra tình

trạng đơn hàng

Cho phép người dùng theo dõi tình trạng đơn hàng qua email

Người Quản

UC15 Quản lý danh mục

Cho phép người quản lý thêm, cập nhập và xóa các danh mục

UC16 Quản lý danh mục phụ

Cho phép người quản lý thêm, cập nhập và xóa các danh mục phụ

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

Cho phép người quản lý thêm, cập nhập, xóa và thêm sản phẩm con vô một sản phẩm hiện có sẵn

UC18 Quản lý tài khoản

Cho phép admin xem danh sách tài khoản của khách hàng và thông tin chi tiết của người dùng, đơn hàng, địa chỉ của họ

UC19 Quản lý đơn hàng

Cho phép admin xem danh sách các đơn hàng mà khách hàng đã đặt và quản lý trạng thái của các đơn hàng

UC20 Nhắn tin với khách hàng

Cho phép admin xem thống kê doanh thu bán hàng

Bảng 8: Mô tả usecase

Trang 40

40

4.4.4 Đặc tả Use case

xem chi tiết thông tin sản phẩm và thêm sản phẩm mà người dùng đang xem vào giỏ hàng

5 Người dùng có thể chọn những checkbox bên thanh sidebar bên trái màn hình để lọc sản phẩm theo các thuộc tính như: danh mục, màu sắc, thương hiệu, chất liệu,…

6 Người dùng có thể chọn selectedbox bên trong thanh navigation bar về phía bên trái để sắp xếp sản phẩm theo giá, độ yêu thích, ngày thêm mới, cũ 7 Hệ thống sẽ lọc sản phẩm theo những lựa chọn của

người dùng

Xem chi tiết sản phẩm

8 Chọn sản phẩm muốn xem chi tiết

9 Hệ thống lấy dữ liệu từ database và hiển thị giao

Ngày đăng: 15/05/2024, 09:30