1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và xây dựng hệ thống quản lý kinh doanh cho doanh nghiệp thời trang

122 8 0

Đ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

Thông tin cơ bản

Tiêu đề Thiết kế và xây dựng hệ thống quản lý kinh doanh cho doanh nghiệp thời trang
Tác giả Mai Thanh Nhã, Phạm Phi Anh, Nguyễn Hữu Đăng
Người hướng dẫn PGS. TS Hoàng Văn Dũng
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 122
Dung lượng 8,32 MB

Cấu trúc

  • CHƯƠNG 1: TỐNG QUAN VỀ ĐỀ TÀI (12)
    • 1.1. LÍ DO CHỌN ĐỀ TÀI (12)
    • 1.2. ĐỐI TƯỢNG NGHIÊN CỨU (12)
    • 1.3. PHẠM VI NGHIÊN CỨU (12)
    • 1.4. KẾT QUẢ DỰ KIẾN (13)
    • 1.5. BẢNG PHÂN CÔNG CÔNG VIỆC (14)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ SỬ DỤNG (15)
    • 2.1. KIẾN TRÚC HỆ THỐNG (15)
    • 2.2. CÔNG NGHỆ BACK-END (15)
    • 2.3. CÔNG NGHỆ FRONT-END (17)
    • 2.4. CƠ SỞ DỮ LIỆU MYSQL (17)
    • 2.5. POSTMAN (18)
    • 2.6. FLASK (18)
    • 2.7. JSON WEB TOKEN (19)
    • 2.8. ELASTIC-SEARCH (19)
    • 2.9. TENSORFLOW VGG-16 (20)
  • CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU (22)
    • 3.1. KHẢO SÁT HIỆN TRẠNG (22)
    • 3.2. XÁC ĐỊNH YÊU CẦU (26)
  • CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ PHẦN MỀM (30)
    • 4.1. LƯỢC ĐỒ USE CASE (30)
    • 4.2. LƯỢC ĐỒ TUẦN TỰ (65)
    • 4.3. THIẾT KẾ DỮ LIỆU (75)
    • 4.4. GIAO DIỆN NGƯỜI DÙNG (84)
    • 4.5. GIAO DIỆN QUẢN TRỊ (105)
  • CHƯƠNG 5: KIỂM THỬ HỆ THỐNG (112)
    • 5.1. MỤC ĐÍCH KIỂM THỬ (112)
    • 5.2. PHẠM VI KIỂM TRA (112)
    • 5.3. CHIẾN LƯỢC KIỂM THỬ ÁP DỤNG (112)
    • 5.4. CÁC PHƯƠNG PHÁP KIỂM THỬ (113)
    • 5.5. KẾ HOẠCH KIỂM THỬ (115)
    • 5.6. KẾT QUẢ KIỂM THỬ (117)
  • CHƯƠNG 6: TỔNG KẾT (118)
    • 6.1. KẾT QUẢ ĐẠT ĐƯỢC (118)
    • 6.2. ĐÁNH GIÁ HỆ THỐNG (119)
    • 6.3. HƯỚNG PHÁT TRIỂN (119)
  • TÀI LIỆU THAM KHẢO (120)

Nội dung

TỐNG QUAN VỀ ĐỀ TÀI

LÍ DO CHỌN ĐỀ TÀI

Hiện nay, xã hội đang phát triển nhanh chóng, dẫn đến nhu cầu tiêu dùng ngày càng tăng, đặc biệt là trong mua sắm trực tuyến Theo khảo sát năm 2022 tại Việt Nam, 70% cư dân thành phố sử dụng dịch vụ thương mại điện tử, với ngành hàng thời trang là nổi bật nhất.

Nhóm quyết định chọn đề tài "Thiết kế và xây dựng hệ thống quản lý kinh doanh cho doanh nghiệp thời trang" để đáp ứng nhu cầu tìm kiếm và mua sắm sản phẩm thời trang qua internet một cách dễ dàng và tiện lợi Hệ thống này không chỉ giúp người dùng tiếp cận nhanh chóng các chính sách và thông tin của cửa hàng mà còn hướng tới mục tiêu mang lại trải nghiệm tốt nhất cho khách hàng.

Các doanh nghiệp và nhãn hàng có thể tận dụng nền tảng do nhóm cung cấp để quản lý cửa hàng hiệu quả, tiếp cận khách hàng với sản phẩm và chính sách phù hợp, từ đó tối ưu hóa trải nghiệm mua sắm, gia tăng doanh thu và nâng cao sự hài lòng của khách hàng.

ĐỐI TƯỢNG NGHIÊN CỨU

Khách hàng là người sử dụng hệ thống, có nhu cầu tìm hiểu về các sản phẩm của cửa hàng và thực hiện đặt hàng qua website.

- Quản trị viên: Là người quản trị hệ thống, có nhu cầu quản lý các thông tin về cửa hàng và khách hàng của hệ thống.

PHẠM VI NGHIÊN CỨU

Đề tài này nghiên cứu về thiết kế và xây dựng hệ thống quản lý kinh doanh cho doanh nghiệp thời trang, tập trung vào các doanh nghiệp, tổ chức và cá nhân có nhu cầu tạo website bán hàng riêng Bên cạnh đó, nó cũng phục vụ cho những người tiêu dùng muốn tìm kiếm cửa hàng và mua sắm qua website.

KẾT QUẢ DỰ KIẾN

Hệ thống được xây dựng gồm 2 website với các mục đích chính:

Một website admin-site cho phép các chủ doanh nghiệp dễ dàng quản lý sản phẩm, người dùng, danh mục, đơn hàng và doanh thu Nhờ đó, họ có thể thiết lập các chính sách phù hợp nhằm cải thiện hiệu quả kinh doanh, thu hút khách hàng và nâng cao hiệu suất cửa hàng.

Website user-site được thiết kế để quảng bá và bán hàng trực tuyến, giúp người dùng dễ dàng tiếp cận sản phẩm của doanh nghiệp Người tiêu dùng có thể nhanh chóng tìm kiếm, lựa chọn và mua sắm thời trang phù hợp với nhu cầu của mình một cách tiện lợi.

BẢNG PHÂN CÔNG CÔNG VIỆC

Bảng 1 Bảng phân công công việc

STT Thành viên Công việc Tiến độ Đóng góp

1 Mai Thanh Nhã - Viết báo cáo

- Vẽ Use case diagram, đặc tả use case

- Lập trình Backend, xây dựng API cho hệ thống

2 Phạm Phi Anh - Tổng hợp nội dung và xây dựng hệ thống khuyến nghị

3 Nguyễn Hữu Đăng - Xây dựng hệ thống khuyến nghị

- Định hướng phát triển hệ thống

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ SỬ DỤNG

KIẾN TRÚC HỆ THỐNG

Hình 1 Kiến trúc hệ thống

Hệ thống sử dụng kiến trúc gồm 3 thành phần chính:

- Front-end: Tầng sử dụng API và hiển thị giao diện

- Back-end: Tầng kết nối database và xử lý nghiệp vụ để phản hồi dữ liệu cho Front-end

- Database: Tầng lưu trữ dữ liệu của hệ thống

Khi người dùng gửi yêu cầu qua giao diện, Front-end sẽ chuyển tiếp request đến Back-end Tại đây, Back-end sẽ tiếp nhận và phân tích yêu cầu cùng dữ liệu, thực hiện xử lý nghiệp vụ bằng cách kết nối với cơ sở dữ liệu, sau đó gửi phản hồi trở lại Front-end.

CÔNG NGHỆ BACK-END

Spring Boot là một phần mở rộng của ngôn ngữ Java, thuộc Spring Framework, giúp đơn giản hóa quá trình cấu hình phức tạp Nhờ đó, lập trình viên có thể nhanh chóng tạo ra các dự án và tập trung vào việc phát triển các tính năng kinh doanh cho ứng dụng.

Spring Boot được hỗ trợ trên nhiều IDE như Eclipse, VSCode, IntelliJ,…

2.2.2 Đặc điểm của Spring Boot

Spring Boot đơn giản hóa việc tạo dự án với Spring Initializr, cho phép người dùng dễ dàng mở mã nguồn và lập trình Để chạy ứng dụng Spring Boot, người dùng có thể thực hiện trực tiếp trong IDE hoặc xây dựng thành file JAR.

Spring Boot được tích hợp nhiều thư viện có sẵn, do đó người dùng có thể thuận tiện trong quá trình tìm hiểu và code

Cấu trúc của Spring Boot rất chặt chẽ, giúp người đọc dễ hình dung và hiểu cách hoạt động

2.2.3 Khái niệm Spring Data JPA

Spring Data là một extention của Spring Framework, nó cung cấp mô hình nhất quán giúp việc cài đặt data access layers trở nên tối ưu hơn

Spring Data JPA is a module within Spring Data designed for managing relational data in applications It adheres to the ORM structure and provides an Entity Manager for executing queries on objects through a database.

2.2.4 Đặc điểm của Spring Data JPA

Cú pháp truy vấn dữ liệu của Spring Data JPA rất đơn giản, gọn gàng

Dữ liệu trong JPA được biểu thị bằng các Object và Class và sử dụng POJO để biểu diễn

Là Repository mạnh mẽ, dễ dàng tích hợp và sử dụng trên các ứng dụng Spring Boot với namespace tùy ý

2.2.5 Sự khác biệt giữa JPA và Hibernate

Có một số điểm khác biệt nổi bật giữa JPA và Hibernate như sau:

- JPA sử dụng Entity Manager trong khi Hibernate sử dụng Session

- Hibernate là nhà cung cấp JPA

- Package định nghĩa: javax.persistence, org.hibernate

- JPA sử dụng JPQL trong khi Hibernate sử dụng HQL

- Chỉ có Hibernate cung cấp class implementation

CÔNG NGHỆ FRONT-END

ReactJS là một opensource của Java Script, được phát triển từ năm 2011 bởi Facebook

Nguyên lý hoạt động của ReactJS dựa vào các components, cho phép lập trình viên xây dựng giao diện thông qua các file JSX Quá trình này tạo ra các DOM ảo, từ đó render thành giao diện người dùng (UI).

Render dữ liệu được thực hiện cả trên server và client

ReactJS giúp việc tối ưu và hiển thị UI trở nên nhanh chóng, mượt mà, có khả năng tái sử dụng và mở rộng

Giúp tạo ra các ứng dụng một cách nhanh chóng, hiệu quả

ReactJS gồm 2 thành phần chính là Redux và Virtual DOM:

- Redux giúp quản lý trạng thái của state

- Virtual DOM là một abstraction của DOM, giúp cải thiện hiệu suất cho React.

CƠ SỞ DỮ LIỆU MYSQL

Cơ sở dữ liệu là một tập hợp các dữ liệu có cấu trúc tương tự, trong đó database là nơi lưu trữ chính Dữ liệu trong database được tổ chức dưới dạng các bảng, mỗi bảng chứa các trường thể hiện các đặc điểm của đối tượng được lưu trữ.

2.4.2 Cơ sở dữ liệu quan hệ là gì

Cơ sở dữ liệu quan hệ là cơ sở dữ liệu dựa trên mô hình quan hệ Các bảng được liên kết thông qua Relationship

Cở sở dữ liệu quan hệ giúp đảm bảo sự dư thừa dữ liệu không đáng có nhưng vẫn đảm bảo tính nhất quán

MySQL là hệ thống quản trị cơ sở dữ liệu mã nguồn mở, hoạt động theo mô hình Client-Server Hệ thống này quản lý dữ liệu thông qua các schema, trong đó mỗi schema chứa nhiều bảng và được liên kết với nhau thông qua các mối quan hệ.

MySQL nổi bật bởi việc dễ sử dụng, tính bảo mật cao, đa tính năng và khả năng mở rộng dễ dàng, mạnh mẽ.

POSTMAN

Postman là công cụ phổ biến để kiểm thử API, đặc biệt là các API theo cấu trúc REST Công cụ này hỗ trợ tất cả các phương thức HTTP như GET, POST, PUT, DELETE và cho phép lưu trữ dữ liệu, giúp lập trình viên dễ dàng trong quá trình kiểm thử API.

Cài đặt và sử dụng Postman rất nhanh chóng, cho phép lập trình viên dễ dàng chia sẻ công cụ này với các cộng sự, từ đó giúp việc quản lý API trở nên tiện lợi và hiệu quả hơn.

FLASK

Flask là một micro web framework sử dụng Python, được sử dụng để xây dựng các ứng dụng web đơn giản và có thể mở rộng

Nhóm đã sử dụng Flask để phát triển các API bằng ngôn ngữ Python, phục vụ cho các chức năng như tìm kiếm sản phẩm qua hình ảnh và gợi ý sản phẩm dựa trên danh sách yêu thích.

JSON WEB TOKEN

JWT là tiêu chuẩn mở được dùng để đảm bảo an toàn khi truyền tin theo mô hình Client-Server

JWT chứa thông tin được định dạng dưới dạng JSON, với tính bảo mật được đảm bảo thông qua chữ ký điện tử sử dụng Private Key và Public Key, cùng với các thuật toán như HMAC.

JWT gồm 3 thành phần chính

- Header: cho biết loại mã token và thuật toán sử dụng mã hóa

- Payload: chứa các thuộc tính xác định cần mã hóa

- Signature: chữ ký điện tử để xác định thông tin không bị thay đổi trong quá trình truyền tin

- JWT giúp đảm bảo tính bảo mật cho hệ thống sử dụng

- JWT được sử dụng rất rộng rãi, phổ biến

- JWT nhỏ gọn và dễ dàng xử lý.

ELASTIC-SEARCH

Elasticsearch là một công cụ tìm kiếm và phân tích mạnh mẽ, được phát triển dựa trên nền tảng Apache Lucene Với khả năng xử lý dữ liệu JSON, Elasticsearch đã trở thành lựa chọn phổ biến nhờ vào hiệu suất cao và tính linh hoạt trong việc tìm kiếm thông tin.

Elasticsearch được sử dụng ở các công ty lớn như Wikimedia, Facebook, Github, Quora,…

Cách hoạt động của Elasticsearch:

Hình 2 Cách hoạt động của Elasticsearch

- Tìm kiếm nhanh chóng, hiệu quả, mạnh mẽ

- Đi kèm với khả năng phân tích

- Có khả năng mở rộng theo chiều ngang

- Hỗ trợ trên nhiều ngôn ngữ như Java, Python, Ruby,…

TENSORFLOW VGG-16

Mạng nơ-ron tích chập (CNNs) là một trong những mô hình Deep Learning tiên tiến và phổ biến nhất hiện nay, chủ yếu được ứng dụng trong việc phát triển các hệ thống nhận diện nhờ vào độ chính xác cao mà chúng mang lại.

Convolutional là một loại kernel hoạt động trên ma trận, với các lớp convolutional sử dụng các kernel (cửa sổ trượt) khác nhau đã được huấn luyện Chúng giúp trích xuất thông tin chính xác mà không cần phải chọn lựa các đặc trưng.

Filter là ma trận được mã hóa với mỗi điểm ảnh có giá trị 0 hoặc 1 Khi nhân Kernel với Filter sẽ thu được Convoled feature

Hình 3 Cấu trúc mạng CNN

VGG-16 là một mạng tiêu biểu và có độ chính xác rất cao 92.7% được đề xuất bởi Simonyan và Zisserman

Tensorflow có hỗ trợ VGG-16 thông qua tf.keras, trong đó các tham số tinh chỉnh bao gồm:

Hình 4 Tham số của VGG-16 Tensorflow

Hình 5 Chi tiết các tham số VGG-16

KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU

KHẢO SÁT HIỆN TRẠNG

Chiến lược tìm kiếm: Tìm kiếm với từ khóa là mục đích mua hàng của người dùng, lấy kết quả hiển thị đầu tiên

Từ khóa tìm kiếm: “mua quan ao”

Kết quả: Với khoảng 167 triệu kết quả, và nổi bật hơn cả là SIXDO

Hình 6 Kết quả tìm kiếm “mua quan ao”

Hình 7 Trang chủ website sixdo.vn

Website của SIXDO có các đặc điểm nổi bật:

- Bố cục phân chia hợp lý, rất thu hút người dùng

- Trang sản phẩm hiển thị đầy đủ thông tin cho người dùng

- Có size chart cụ thể

- Có chức năng tìm kiếm sản phẩm

- Responsive đầy đủ ở tất cả các kích thước website

3.1.2 Trang https://www.shein.com.vn

Chiến lược tìm kiếm hiệu quả là sử dụng từ khóa thể hiện rõ mục đích tìm kiếm các cửa hàng thời trang trên internet, nhằm đạt được kết quả hiển thị đầu tiên.

Từ khóa tìm kiếm: “cua hang thoi trang”

Kết quả tìm kiếm: Với khoảng 360 triệu kết quả và SHEIN là website hiển thị nổi bật đầu tiên

Hình 8 Kết quả tìm kiếm “cua hang thoi trang”

Hình 9 Trang chủ shein.com.vn

Các đặc điểm nổi bật ở SHEIN:

- Sản phẩm phân chia cụ thể theo từng danh mục

- Có chức năng tìm kiếm thông qua filter về giá cả

- Có chức năng thêm sản phẩm vào danh sách yêu thích

- Dễ dàng thêm vào giỏ hàng thông qua quick view

Chiến lược tìm kiếm: Tìm kiếm các nhãn hàng hot trend hiện nay, chọn nhãn hàng nổi bật và truy cập vào website nhãn hàng này

Từ khóa tìm kiếm: “thoi trang hot”

Kết quả tìm kiếm: Với khoảng 120 triệu kết quả và COOLMATE nổi bật nhất khi hiển thị đầu tiên

Hình 10 Kết quả tìm kiếm “thoi trang hot”

Hình 11 Trang chủ coolmate.me

Các đặc điểm nổi bật của COOLMATE:

- Có chức năng gợi ý size dựa trên chiều cao, cân nặng và loại sản phẩm mà người dùng muốn kiểm tra

- Thông tin sản phẩm hiển thị rõ ràng, đẹp mắt

- Có phần bình luận, đánh giá sản phẩm sau khi mua

- Đa dạng phương thức thanh toán cho người dùng

Nhìn chung, cả 3 website khảo sát đều đặc điểm sau:

- Có bố cục hợp lý, đầy đủ các thành phần cần thiết như Header, Content và Footer

- Hình ảnh sử dụng cân đối, hài hòa với tổng thể website, tạo cho người dùng cảm giác dễ chịu

Ứng dụng này cung cấp đầy đủ chức năng cho người dùng, cho phép thực hiện thao tác mua hàng dễ dàng và xem thông tin chi tiết về cửa hàng.

- Có chức thêm sản phẩm vào năng danh sách yêu thích

- Có bố cục layout website cân đối

- Cho phép đa dạng phương thức thanh toán

- Cho phép người dùng đánh giá cũng như xem các bình luận về sản phẩm

- Có chức năng tìm kiếm cũng như lọc sản phẩm thông qua các tiêu chí để tăng trải nghiệm khách hàng

- Có tính năng khuyến nghị sản phẩm dựa trên danh sách sản phẩm yêu thích của khách hàng

- Responsive đầy đủ cho website để tăng trải nghiệm người dùng

XÁC ĐỊNH YÊU CẦU

3.2.1.1 Yêu cầu chức năng nghiệp vụ

STT Yêu cầu Loại YC Mô tả/ Ràng buộc/ Công thức

1 Thêm sản phẩn Lưu trữ Danh mục của sản phẩm phải tồn tại ở cơ sở dữ liệu.

2 Tìm kiếm sản phẩm Tra cứu Nhập tên, thông tin sản phẩm muốn tìm kiếm.

3 Xem danh sách tất cả sản phẩm

Kết xuất Hiện tất cả các sản phẩm có phân trang.

4 Xem sản phẩm theo danh mục

Kết xuất Chỉ hiển thị các sản phẩm thuộc danh mục đã chọn.

5 Sửa sản phẩm bất kỳ

Lưu trữ Chọn sản phẩm cần sửa, nhập các thông tin sửa chữa và lưu lại.

6 Xóa sản phẩm Lưu trữ Cập nhật trạng thái của sản phẩm là

7 Xem danh sách tất cả danh mục

Kết xuất Hiện tất cả các danh mục có phân trang.

8 Sửa danh mục bất kỳ

Lưu trữ Chọn danh mục cần sửa, nhập các thông tin sửa chữa và lưu lại.

9 Xóa danh mục Lưu trữ Cập nhật trạng thái của danh mục là

10 Xem danh sách tất cả người dùng

Kết xuất Hiện thông tin tất cả các người dùng có phân trang.

11 Sửa thông tin người dùng bất kỳ

Lưu trữ Chọn thông tin người dùng cần sửa, nhập các thông tin sửa chữa và lưu lại.

12 Xóa người dùng Lưu trữ Cập nhật trạng thái của người dùng là “Disable”.

13 Xem danh sách tất cả đơn hàng

Kết xuất Hiện tất cả các đơn hàng có phân trang.

14 Sửa thông tin đơn hàng bất kỳ

Lưu trữ Chọn đơn hàng cần sửa, nhập các thông tin sửa chữa và lưu lại.

15 Xóa đơn hàng Lưu trữ Cập nhật trạng thái của đơn hàng là

Mô tả/ Ràng buộc/ Công thức

1 Tìm kiếm sản phẩm Tra cứu Nhập tên, thông tin sản phẩm muốn tìm kiếm.

2 Xem danh sách tất cả sản phẩm

Kết xuất Hiện tất cả các sản phẩm có phân trang.

3 Xem sản phẩm theo danh mục

Kết xuất Hiển thị các sản phẩm thuộc danh mục đã chọn.

4 Thêm sản phẩm vào danh sách yêu thích

Lưu trữ Chọn sản phẩm muốn đưa vào danh sách yêu thích, chọn “Yêu thích”

5 Thêm sản phẩm vào giỏ hàng

Lưu trữ Chọn sản phẩm muốn đưa vào giỏ hàng, chọn “Thêm vào giỏ hàng”.

6 Xem danh sách tất cả sản phẩm trong giỏ hàng

Kết xuất Hiện tất cả các sản phẩm trong giỏ hàng có phân trang.

7 Xóa sản phẩm trong giỏ hàng

Lưu trữ Chọn sản phẩm cần xóa khỏi giỏ hàng, chọn “Xóa”.

8 Đăng ký tài khoản Lưu trữ Thêm thông tin một tài khoản mới vào hệ thống.

9 Thay đổi thông tin cá nhân

Lưu trữ Trong mục “Thông tin cá nhân”, nhập các thông tin sửa chữa và lưu lại.

10 Thêm bình luận và đánh giá cho sản phẩm đã mua

Lưu trữ Chọn sản phẩm đã thanh toán, thêm bình luận, đánh giá và gửi.

11 Đặt hàng Lưu trữ Tại trang “Thanh toán”, xác nhận các thông tin cần thiết và chọn “Đặt hàng”

Kết xuất Người dùng yêu thích các sản phẩm để hệ thống khuyến nghị sản phẩm

13 Tìm kiếm sản phẩm bằng hình ảnh

Tra cứu Chọn hình ảnh sản phẩm cần tìm kiếm và nhấn Tìm kiếm

14 Tìm kiếm sản phẩm thông qua Elastic Search

Tra cứu Nhập thông tin tìm kiếm vào ô tìm kiếm và nhấn “Enter” hoặc nhấn vào biểu tượng Tìm kiếm

3.2.1.2 Yêu cầu chức năng hệ thống

STT Yêu cầu Mô tả/ Ràng buộc

Phân quyền cho 2 loại người dùng trong hệ thống: Admin và User.

Cho phép xem thông tin tất cả người dùng, nâng cấp quyền và hạ quyền, cấp lại mật khẩu và có thể cấm người dùng khỏi hệ thống.

3 Gửi mail Hệ thống gửi mail thông báo đến khi người dùng thực hiện khôi phục mật khẩu thông qua email.

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

STT Yêu cầu Loại yêu cầu

1 Giao diện thân thiện, dễ sử dụng Tính tiện dụng

2 Có khả năng mở rộng, nâng cấp, cải tiến trong tương lai

3 Tốc độ tải trang ổn định, các thao tác phản hồi nhanh chóng

4 Bảo mật tốt Tính bảo mật

5 Có sử dụng responsive cho website Tính tiện dụng

PHÂN TÍCH THIẾT KẾ PHẦN MỀM

LƯỢC ĐỒ USE CASE

Hệ thống của website bán hàng thời trang gồm 3 actor: Admin (Người quản trị), Guest (Khách vãng lai), User (Người dùng)

Admin là người quản lý hệ thống, có khả năng theo dõi thống kê cửa hàng, quản lý danh mục và sản phẩm, cũng như giám sát người dùng và đơn hàng Dựa trên những thông tin này, admin có thể phát triển các chiến lược và chính sách hợp lý để tối ưu hóa hiệu quả hoạt động của cửa hàng.

Khách vãng lai là những cá nhân có nhu cầu tìm hiểu thông tin về cửa hàng, tìm kiếm và xem sản phẩm Họ có thể đăng ký để sử dụng các chức năng và dịch vụ của cửa hàng.

Người dùng website có khả năng tìm kiếm và xem sản phẩm, lọc theo danh mục, cũng như quản lý giỏ hàng và đơn hàng của mình Họ có thể tạo danh sách yêu thích, tiến hành đặt hàng, thanh toán, và nhận gợi ý sản phẩm từ hệ thống Bên cạnh đó, người dùng còn có thể đánh giá các sản phẩm đã mua.

Bảng 2 Bảng mô tả use case của hệ thống

STT Tên use case Ý nghĩa

1 Đăng ký Guest có thể đăng ký tài khoản để đăng nhập vào website cửa hàng.

2 Đăng nhập Bước đầu tiên để sử dụng website Hệ thống xác thực và đối chiếu thông tin với hệ thống để xác thực người dùng.

3 Quản lý sản phẩm Người quản trị có thể xem thông tin tất cả các sản phẩm, thêm mới, sửa và xóa sản phẩm hiện có của cửa hàng.

Người dùng, Khách vãng lai có thể xem thông tin sản phẩm và tìm kiếm các sản phẩm hiện có trên cửa hàng.

Người dùng có khả năng quản lý đơn hàng một cách hiệu quả, bao gồm việc xem thông tin chi tiết và tình trạng đơn hàng của mình Họ cũng có thể đánh giá chất lượng sản phẩm cho những đơn hàng đã được mua thành công.

Người quản trị có thể xem tất cả các đơn hàng, cập nhập trạng thái cho đơn hàng.

5 Quản lý danh mục Người quản trị có thể xem tất cả các danh mục của cửa hàng, thêm, xóa, sửa thông tin danh mục.

Người dùng, Khách vãng lai có thể xem các danh mục hiện có của cửa hàng.

6 Quản lý người dùng Quản trị viên có thể cấm người dùng khỏi hệ thống, xem thông tin tất cả người dùng trong hệ thống.

Người dùng có khả năng xem và chỉnh sửa thông tin cá nhân, thay đổi mật khẩu cũng như yêu cầu khôi phục mật khẩu qua email đã đăng ký.

7 Thống kê doanh số Quản trị viên có thể xem biểu đồ doanh thu 9 ngày gần nhất, thống kê doanh thu của cửa hàng theo ngày, tháng, năm.

Người dùng có thể quản lý giỏ hàng bằng cách xem các sản phẩm đã thêm, cập nhật số lượng hoặc xóa sản phẩm khỏi giỏ Sau khi xác nhận giỏ hàng, người dùng chọn phương thức thanh toán và tiến hành đặt hàng để hoàn tất đơn hàng.

9 Quản lý sản phẩm yêu thích

Người dùng có thể xem thông tin các sản phẩm mà mình đã yêu thích, thêm hoặc xóa sản phẩm khỏi danh sách sản phẩm yêu thích

Hình 12 Use case diagram của hệ thống

Bảng 3 Bảng đặc tả Use case Đăng ký

Short Description Người dùng cần tạo tài khoản để đăng nhập và sử dụng các dịch vụ của website

Pre-Conditions Người dùng phải vào trang web và cung cấp đầy đủ thông tin để có thể thực hiện tạo tài khoản

Post Conditions Người dùng tạo tài khoản thành công và đăng nhập vào trang web

Main Flow (1) Người dùng truy cập vào website

(2) Người dùng chọn vào mục Đăng nhập

(3) Người dùng chọn Đăng ký ngay

(4) Người dùng điền thông tin đầy đủ

(5) Người dùng chọn Đăng ký để xác nhận tạo tài khoản [A1] [E1]

(6) Hệ thống hiển thị thông báo Đăng ký tài khoản thành công

(7) Chuyển hướng đến trang Đăng nhập Alternate Flow (A1) Người dùng hủy đăng ký tài khoản và kết thúc quá trình đăng ký

Exception Flow (E1) Nếu tên tài khoản hoặc email đã tồn tại thì quay trở lại bước (3)

Bảng 4 Bảng đặc tả Use case Đăng nhập

Short Description Người dùng có thể đăng nhập vào tài khoản thông qua tài khoản và mật khẩu đã tạo

Pre-Conditions Tên người dùng phải tồn tại trong hệ thống.

Post Conditions Người dùng đăng nhập thành công.

Main Flow (1) Người dùng truy cập vào website

(2) Người dùng chọn vào mục Đăng nhập

(3) Người dùng điền tài khoản và mật khẩu.

(4) Người dùng nhấp vào “Đăng nhập”

(5) Hệ thống xác thực tài khoản [E1]

(6) Hệ thống điều hướng trang đến màn hình trang chủ [A1]

Alternate Flow (A1) Hệ thống điều hướng đến trang admin.

Exception Flow (E1) Tài khoản hoặc mật khẩu người dùng vừa nhập không hợp lệ, quay lại bước (3)

Bảng 5 Bảng đặc tả Use case Xem sản phẩm

Use case Xem sản phẩm Short Description Người dùng có thể xem các sản phẩm của cửa hàng.

Actors User, Admin, Guest Pre-Conditions

Post Conditions Người dùng có thể xem được các sản phẩm của cửa hàng.

Main Flow (1) Chọn vào danh mục cần xem sản phẩm nếu đang đăng nhập với quyền User hoặc chưa đăng nhập [A1]

(2) Hệ thống hiển thị danh sách các sản phẩm tương ứng.

Alternate Flow (A1) Chọn vào quản lý sản phẩm nếu đăng nhập với quyền

4.1.3.4 Xem chi tiết sản phẩm

Bảng 6 Bảng đặc tả Use case Xem chi tiết sản phẩm

Use case Xem chi tiết sản phẩm

Người dùng có thể xem chi tiết thông tin sản phẩm của cửa hàng.

Actors User, Admin, Guest Pre-Conditions

Post Conditions Người dùng có thể xem được các thông tin của sản phẩm.

Main Flow (1) Chọn vào sản phẩm cần xem thông tin

(2) Hệ thống hiển thị thông tin chi tiết của sản phẩm.

Bảng 7 Bảng đặc tả Use case Thêm mới sản phẩm

Use case Thêm mới sản phẩm

Short Description Quản trị viên có thể thêm mới các sản phẩm cho cửa hàng của mình.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống. Post Conditions Quản trị viên có thể tạo mới một sản phẩm.

Main Flow (1) Chọn vào Quản lý sản phẩm

(3) Nhập các thông tin về sản phẩm.

(4) Chọn Lưu sản phẩm để tạo mới sản phẩm [A1]

(5) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác thêm mới và quay về trang Quản lý sản phẩm.

Exception Flow (E1) Người dùng điền thông tin không hợp lệ và quay lại bước (3)

4.1.3.6 Sửa thông tin sản phẩm

Bảng 8 Bảng đặc tả Use case Sửa thông tin sản phẩm

Use case Sửa thông tin sản phẩm

Short Description Quản trị viên có thể sửa đổi các thông tin sản phẩm cho cửa hàng của mình.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống. Post Conditions Quản trị viên có thể thay đổi thông tin của một sản phẩm.

Main Flow (1) Chọn vào Quản lý sản phẩm

(2) Chọn sửa chữa tại vị trí của sản phẩm cần thay đổi thông tin.

(3) Nhập các thông tin cần thay đổi về sản phẩm.

(4) Chọn Lưu để tạo lưu thông tin sản phẩm [A1]

(5) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác thay đổi và quay về trang Quản lý sản phẩm.

Exception Flow (E1) Người dùng điền thông tin không hợp lệ và quay lại bước (3)

Bảng 9 Bảng đặc tả Use case Xóa sản phẩm

Use case Thêm mới sản phẩm Short Description Quản trị viên có thể xóa sản phẩm khỏi cửa hàng của mình.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống.

Post Conditions Quản trị viên có thể xóa một sản phẩm hiện có trong cửa hàng.

Main Flow (1) Chọn vào Quản lý sản phẩm

(2) Chọn Ẩn tại vị trí của sản phẩm cần thay đổi thông tin.

(3) Xác nhận thao tác xóa sản phẩm [A1]

(4) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác xóa sản phẩm và quay về trang Quản lý sản phẩm.

Bảng 10 Bảng đặc tả Use case Xem danh mục

Use case Xem danh mục Short Description Người dùng có thể xem các danh mục hiện có của cửa hàng. Actors User, Admin, Guest

Post Conditions Người dùng có thể xem được các danh mục của cửa hàng.

Main Flow (1) Chọn vào quản lý danh mục nếu đăng nhập với quyền

(2) Hệ thống hiển thị danh sách các danh mục của cửa hàng [A1]

Alternate Flow (A1) Danh mục được hiển thị trên thanh Điều hướng khi người dùng đăng nhập với vai trò User hoặc chưa đăng nhập.

Bảng 11 Bảng đặc tả Use case Thêm danh mục

Use case Thêm danh mục Short Description Quản trị viên có thể thêm danh mục mới cho cửa hàng.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống quản lý.

Post Conditions Quản trị viên có thể thêm danh mục mới cho cửa hàng.

Main Flow (1) Chọn vào Quản lý danh mục.

(3) Nhập các thông tin về danh mục.

(4) Chọn Lưu danh mục để tạo mới danh mục [A1]

(5) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác thêm mới và quay về trang Quản lý danh mục.

Exception Flow (E1) Người dùng điền thông tin không hợp lệ và quay lại bước (3)

Bảng 12 Bảng đặc tả Use case Sửa danh mục

Use case Sửa danh mục Short Description Quản trị viên có thể sửa danh mục đã có trong cửa hàng.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống quản lý.

Post Conditions Quản trị viên có thể sửa danh mục đã có trong cửa hàng.

Main Flow (1) Chọn vào Quản lý danh mục.

(2) Chọn Chỉnh sửa tại vị trí của danh mục cần thay đổi thông tin.

(3) Nhập các thông tin cần thay đổi về danh mục.

(4) Chọn Lưu danh mục để lưu thông tin danh mục [A1]

(5) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác thay đổi và quay về trang Quản lý danh mục.

Exception Flow (E1) Người dùng điền thông tin không hợp lệ và quay lại bước (3)

Bảng 13 Bảng đặc tả Use case Xóa danh mục

Use case Xoá danh mục Short Description Quản trị viên có thể xóa danh mục đã có trong cửa hàng.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống quản lý.

Post Conditions Quản trị viên có thể xóa một danh mục đã có trong cửa hàng.

Main Flow (1) Chọn vào Quản lý danh mục.

(2) Chọn Ẩn tại vị trí của danh mục cần thay đổi thông tin.

(3) Xác nhận thao tác xóa danh mục [A1]

(4) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác xóa và quay về trang

4.1.3.12 Cấm người dùng khỏi hệ thống

Bảng 14 Bảng đặc tả Use case Cấm người dùng khỏi hệ thống

Use case Cấm người dùng khỏi hệ thống

Short Description Cấm người dùng bất kỳ khỏi việc đăng nhập và sử dụng hệ thống.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống quản lý.

Post Conditions Quản trị viên có thể cấm một người dùng bất kỳ khỏi hệ thống.

Main Flow (1) Chọn vào Quản lý người dùng.

(2) Chọn Khóa tại vị trí của người dùng cần cấm.

(3) Xác nhận cấm người dùng [A1]

(4) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu.

Alternate Flow (A1) Chọn Hủy để hủy bỏ thao tác cấm và quay lại phần quản lý người dùng.

4.1.3.13 Xem thông tin người dùng trong hệ thống

Bảng 15 Bảng đặc tả Use case Xem thông tin người dùng trong hệ thống

Use case Xem thông tin của người dùng trong hệ thống.

Short Description Xem thông tin chung của tất cả người dùng trong hệ thống.

Pre-Conditions Quản trị viên phải đăng nhập thành công vào hệ thống quản lý.

Post Conditions Quản trị viên có thể xem thông tin chung của tất cả người dùng trong hệ thống.

Main Flow (1) Chọn vào quản lý người dùng.

(2) Hiển thị danh sách người dùng hiện có cùng các thông tin chung.

4.1.3.14 Chỉnh sửa thông tin cá nhân

Bảng 16 Bảng đặc tả Use case Chỉnh sửa thông tin cá nhân

Use case Chỉnh sửa thông tin cá nhân người dùng

Short Description Chỉnh sửa các trường thông tin các nhân của người dùng hệ thống

Pre-Conditions Người dùng phải đăng nhập vào hệ thống.

Post Conditions Người dùng có thể thay đổi thông tin cá nhân của mình.

Main Flow (1) Vào phần thông tin cá nhân sau khi đăng nhập.

(2) Thay đổi các trường thông tin có thể thay.

(4) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu.[E1]

Alternate Flow (A1) Người dùng thoát trang thông tin cá nhân, không có dữ liệu nào được thay đổi.

Exception Flow (E1) Thông tin vừa gửi xung đột với dữ liệu bên dưới và quay lại bước (1)

Bảng 17 Bảng đặc tả Use case Thay đổi mật khẩu

Use case Thay đổi mật khẩu cá nhân.

Short Description Thay đổi mật khẩu của tài khoản người dùng.

Actors User, Admin Pre-Conditions Đăng nhập vào hệ thống

Post Conditions Thay đổi mật khẩu cá nhân.

Main Flow (1) Vào phần thông tin cá nhân sau khi đăng nhập.

(2) Vào phần đổi mật khẩu.

(5) Nhập lại mật khẩu mới.[E2]

(7) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu.[E3]

Alternate Flow (A1) Người dùng thoát trang trong lúc nhập liệu, không có dữ liệu nào thay đổi.

Exception Flow (E1) Mật khẩu không đúng định dạng và điều kiện, nút Lưu sẽ không thể bấm.

(E3) Kiểm tra mật khẩu cũ không đúng, quay lại bước (2)

Bảng 18 Bảng đặc tả Use case Reset mật khẩu

Use case Reset mật khẩu Short Description Reset mật khẩu người dùng đã quên thông qua email. Actors User, Admin

Pre-Conditions Bấm vào quên mật khẩu trong phần đăng nhập.

Post Conditions Đến được phần lấy lại mật khẩu.

Main Flow (1) Nhập email của tài khoản cần reset mật khẩu.[A1][E1]

(2) Kiểm tra OTP được gửi qua email.

(3) Nhập OTP vào ô nhập liệu [E2]

(4) Nhập mật khẩu mới sau khi đã nhập OTP.[E3]

(5) Hệ thống xác nhận thông tin và cập nhật lại cơ sở dữ liệu.

Alternate Flow (A1) Người dùng thoát trong lúc nhập email.

Exception Flow (E1) Email không tồn tại, quay lại bước (1).

(E2) Nhập sai OTP, quay lại bước (3).

(E3) Mật khẩu không đúng điều kiện, quay lại bước (4).

4.1.3.17 Xem thống kê doanh thu theo ngày, tháng, năm

Bảng 19 Bảng đặc tả Use case Xem thống kê doanh thu

Use case Xem thống kê doanh thu theo ngày, tháng, năm.

Short Description Xem thống kê doanh thu theo ngày, tháng, năm.

Pre-Conditions Quản trị viên đăng nhập thành công vào hệ thống quản lý. Post Conditions Xem được thống kê doanh thu theo ngày, tháng, năm.

Main Flow (1) Vào phần thống kê doanh số.

(2) Chọn vào Radio button (Ngày, tháng, năm) để hiện doanh thu tương ứng.

(3) Hiển thị doanh thu ra màn hình.

Bảng 20 Bảng đặc tả Use case Tìm kiếm sản phẩm

Use case Tìm kiếm sản phẩm

Short Description Các sản phẩm có thể tìm được thông qua thanh tìm kiếm

Post Conditions Hệ thống hiển thị danh sách các sản phẩm tìm được

Main Flow (1) Người dùng nhấp chọn vào thanh tìm kiếm

(2) Người dùng nhập thông tin muốn tìm kiếm [A1]

(3) Người dùng nhần phím Enter

(4) Hệ thống hiển thị danh sách các sản phẩm tìm được thông qua từ khóa người dùng vừa nhập

Alternate Flow (A1) Người dùng nhấp chọn ngoài khu vực thanh tìm kiếm và quay lại bước (1)

4.1.3.19 Thêm sản phẩm vào giỏ hàng

Bảng 21 Bảng đặc tả Use case Thêm sản phẩm vào giỏ hàng

Use case Thêm sản phẩm vào giỏ hàng

Short Description Người dùng có thể thêm sản phẩm vào giỏ hàng

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Post Conditions Sản phẩm được thêm vào giỏ hàng thành công

Main Flow (1) Người dùng nhấp chọn vào sản phẩm mong muốn

(2) Hệ thống điều hướng đến trang chi tiết sản phẩm

(3) Người dùng nhấp chọn kích cỡ, màu sắc và số lượng sản phẩm

(4) Người dùng nhấp chọn “Thêm vào giỏ” [E1]

(5) Hệ thống thực hiện thêm sản phẩm với kích cỡ, màu sắc và số lượng tương ứng vào giỏ hàng

Exception Flow (E1) Người dùng không chọn đầy đủ phân loại, hiển thị thông báo yêu cầu người dùng chọn phân loại sản phẩm

4.1.3.20 Chỉnh sửa số lượng sản phẩm trong giỏ hàng

Bảng 22 Bảng đặc tả Use case Chỉnh sửa số lượng sản phẩm trong giỏ hàng Use case Chỉnh sửa số lượng sản phẩm trong giỏ hàng

Short Description Người dùng có thể chỉnh sửa số lượng sản phẩm trong giỏ hàng

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Có ít nhất một sản phẩm trong giỏ hàng.

Post Conditions Số lượng của sản phẩm trong giỏ được chỉnh sửa

Main Flow (1) Người dùng nhấp chọn vào biểu tượng Giỏ hàng

(2) Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng

(3) Người dùng thực hiện điều chỉnh số lượng sản phẩm trong giỏ hàng [E1]

(4) Hệ thống thực hiện lưu thông tin giỏ hàng

Exception Flow (E1) Giá trị nhập vượt quá số lượng sản phẩm còn lại, hệ thống thực hiện thông báo số lượng sản phẩm tối đa và quay lại bước (2)

4.1.3.21 Xóa sản phẩm khỏi giỏ hàng

Bảng 23 Bảng đặc tả Use case Xóa sản phẩm khỏi giỏ hàng

Use case Xóa sản phẩm khỏi giỏ hàng

Short Description Người dùng có thể xóa sản phẩm trong giỏ hàng

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Có ít nhất một sản phẩm trong giỏ hàng.

Post Conditions Sản phẩm được xóa khỏi giỏ hàng thành công

Main Flow (1) Người dùng nhấp chọn vào mục “Giỏ hàng”

(2) Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng

(3) Người dùng nhấp chọn xóa sản phẩm mong muốn

(4) Người dùng chọn xác nhận [A1]

(5) Hệ thống thực hiện xóa sản phẩm khỏi giỏ hàng

Alternate Flow [A1] Người dùng chọn hủy thao tác và quay lại bước 2

4.1.3.22 Xem danh sách các sản phẩm trong giỏ hàng

Bảng 24 Bảng đặc tả Use case Xem danh sách các sản phẩm trong giỏ hàng Use case Xem danh sách các sản phẩm trong giỏ hàng

Short Description Người dùng có thể xem danh sách các sản phẩm trong giỏ hàng

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Post Conditions Người dùng có thể xem được các sản phẩm trong giỏ hàng

Main Flow (1) Người dùng nhấp chọn vào mục “Giỏ hàng”

(2) Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng

4.1.3.23 Đặt hàng các sản phẩm có trong giỏ hàng

Bảng 25 Bảng đặc tả Use case Đặt hàng

Use case Đặt hàng các sản phẩm có trong giỏ hàng

Short Description Người dùng vào giỏ hàng để tiến hành đặt hàng các sản phẩm đã thêm.

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Người dùng đã có ít nhất 1 sản phẩm trong giỏ hàng

Post Conditions Các sản phẩm được đặt hàng thành công

Main Flow (1) Người dùng chọn vào biểu tượng Giỏ hàng

(2) Người dùng nhấp chọn “Mua hàng”

(3) Hệ thống điều hướng đến trang thanh toán

(4) Người dùng cung cấp địa chỉ nhận hàng và chọn phương thức thanh toán COD [A1]

(6) Đơn hàng được đưa vào mục đơn hàng cá nhân và chờ admin xác nhận [A2]

Alternate Flow [A1] Chọn hình thức VNPAY

Hệ thống VNPAY chuyển hướng người dùng đến trang thanh toán, nơi họ hoàn tất quá trình thanh toán Nếu giao dịch thành công, trạng thái đơn hàng sẽ được cập nhật thành "đang giao hàng" và số lượng sản phẩm cũng sẽ được điều chỉnh.

Exception Flow [E1] Nếu tài khoản VNPAY không đủ số dư thì đặt hàng không thành công và điều hướng người dùng về trang thanh toán.

4.1.3.24 Quản lý đơn hàng cá nhân

Bảng 26 Bảng đặc tả Use case Quản lý đơn hàng cá nhân

Use case Quản lý đơn hàng cá nhân

Short Description Người dùng vào đơn hàng cá nhân xem danh sách và trạng thái các đơn hàng

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Người dùng đã vào trang thông tin cá nhân

Post Conditions Xem danh sách và trạng thái của các đơn hàng.

Main Flow (1) Người dùng vào đơn hàng

(2) Hệ thống điều hướng đến trang đơn hàng

(3) Người dùng thấy được danh sách và trạng thái của các đơn hàng [A1]

Alternate Flow [A1] Chọn vào tab muốn xem theo trạng thái đơn hàng

4.1.3.25 Thêm sản phẩm vào mục yêu thích

Bảng 27 Bảng đặc tả Use case Thêm sản phẩm vào mục yêu thích

Use case Thêm sản phẩm vào mục yêu thích

Short Description Người dùng thêm sản phẩm vào mục yêu thích

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Người dùng đang xem sản phẩm

Post Conditions Sản phẩm được thêm vào mục yêu thích

Main Flow (1) Người dùng nhấp vào biểu tượng Yêu thích và nút chuyển sang trạng thái đã thích

(2) Sản phẩm xuất hiện trong mục yêu thích của người dùng

Bảng 28 Bảng đặc tả Use case Chấp nhận đơn hàng

Use case Chấp nhận đơn hàng

Short Description Quản trị viên có thể chấp nhận đơn hàng để bàn giao cho đơn vị vận chuyển.

Pre-Conditions Người dùng đã đăng nhập vào hệ thốngvới quyền admin

Post Conditions Chấp nhận đơn hàng thành công

Main Flow (1) Người dùng chọn vào Quản lý đơn hàng

(2) Người dùng chọn vào “Xác nhận”

(3) Hệ thống ghi nhận thao tác, chuyển đổi trạng thái đơn hàng thành Đang giao và cập nhật số lượng sản phẩm hiện có [A1] [E1]

Alternate Flow [A1] Chuyển đổi trạng thái đơn hàng thành Đã giao nếu trạng thái đơn hàng đang là đang giao

[E1] Xác nhận đơn hàng thất bại nếu số lượng sản phẩm trong đơn hàng lớn hơn số lượng sản phẩm hiện có

Bảng 29 Bảng đặc tả Use case Hủy đơn hàng

Use case Hủy đơn hàng

Short Description Quản trị viên có thể hủy đơn hàng đối nếu đơn hàng đó có vấn đề.

Pre-Conditions Người dùng đã đăng nhập vào hệ thốngvới quyền admin

Post Conditions Hủy đơn hàng thành công

Main Flow (1) Người dùng chọn vào Quản lý đơn hàng

(2) Người dùng chọn vào “Hủy đơn”

(3) Hệ thống ghi nhận thao tác, chuyển đổi trạng thái đơn hàng thành Đã giao

4.1.3.28 Xóa sản phẩm khỏi mục yêu thích

Bảng 30 Bảng đặc tả Use case Xóa sản phẩm khỏi mục yêu thích

Use case Xóa sản phẩm khỏi mục yêu thích

Short Description Người dùng xóa sản phẩm khỏi mục yêu thích

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Người dùng đang xem sản phẩm hoặc đã truy cập vào mục thông tin cá nhân

Post Conditions Sản phẩm được xóa khỏi mục yêu thích

Main Flow (1) Người dùng nhấp vào biểu tượng Yêu thích và nút chuyển sang trạng thái yêu thích [A1]

(2) Sản phẩm được xóa khỏi mục yêu thích của người dùng

Alternate Flow [A1] Người dùng vào mục yêu thích sản phẩm

[A1a] Hệ thống điều hướng sang trang yêu thích sản phẩm[A1b] Người dùng nhấp vào “xóa”

4.1.3.29 Bình luận, đánh giá sản phẩm sau khi mua

Bảng 31 Bảng đặc tả Use case Đánh giá sản phẩm

Use case Bình luận, đánh giá sản phẩm sau khi mua

Short Description Người dùng đánh giá và để lại bình luận sản phẩm đã mua

Pre-Conditions Người dùng đã đăng nhập vào hệ thống

Người dùng đã mua sản phẩm và chưa bình luận về sản phẩm này

Người dùng đã truy cập vào thông tin cá nhân

Post Conditions Đánh giá và bình luận sản phẩm đã mua

Main Flow (1) Người dùng vào đơn hàng

(2) Hệ thống điều hướng đến trang đơn hàng

(3) Người dùng nhấp vào “Đánh giá” đối với sản phẩm cho phép đánh giá.

(4) Website hiện lên một form đánh giá

(5) Người dùng bắt buộc chọn số sao cho sản phẩm và có thể để lại bình luận

(7) Modal được tắt và sản phẩm đã được đánh giá thành công

Alternate Flow [A1] Người dùng nhấp chọn “Huỷ” và quay lại bước (2)

LƯỢC ĐỒ TUẦN TỰ

Hình 13 Sequence Diagram Đăng ký

Hình 14 Sequence Diagram Đăng nhập

Hình 15 Sequence Diagram Xem sản phẩm

Hình 16 Sequence Diagram Thêm sản phẩm

Hình 17 Sequence Diagram Sửa sản phẩm

Hình 18 Sequence Diagram Xóa sản phẩm

Tương tự Xem sản phẩm ở mục 2.6.3

Tương tự Thêm sản phẩm ở mục 2.6.4

Tương tự Xóa sản phẩm ở mục 2.6.5

Tương tự Sửa sản phẩm ở mục 2.6.6

4.2.11 Cấm người dùng khỏi hệ thống

Hình 19 Sequence Diagram Cấm người dùng

4.2.12 Xem thông tin người dùng

Hình 20 Sequence Diagram Xem thông tin người dùng

4.2.13 Chỉnh sửa thông tin người dùng

Hình 21 Sequence Diagram Chỉnh sửa thông tin người dùng

Hình 22 Sequence Diagram Thay đổi mật khẩu

Hình 23 Sequence Diagram Reset mật khẩu

Hình 24 Sequence Diagram Xem thống kê

4.2.17 Thêm sản phẩm vào giỏ hàng

Hình 25 Thêm sản phẩm vào giỏ hàng

Hình 26 Sequence Diagram Chỉnh sửa giỏ hàng

Hình 27 Sequence Diagram Xem giỏ hàng

Hình 28 Sequence Diagram Thanh toán COD

Hình 29 Sequence Diagram Thanh toán VNPay

Hình 30 Sequence Diagram Đánh giá sản phẩm

Quản lý đơn hàng cá nhân

Hình 31 Sequence Diagram Quản lý đơn hàng cá nhân

4.2.23 Chấp nhận đơn hàng - Admin

Hình 32 Sequence Diagram Chấp nhận đơn hàng

Hình 33 Sequence Diagram Hủy đơn hàng

4.2.25 Thêm sản phẩm vào danh sách yêu thích

Hình 34 Sequence Diagram Thêm sản phẩm vào danh sách yêu thích

4.2.26 Hủy sản phẩm khỏi danh sách yêu thích

Tương tự Thêm sản phẩm vào danh sách yêu thích 3.6.26

Chương 4: Thiết Kế Phần Mềm

THIẾT KẾ DỮ LIỆU

4.3.1 Thông tin các trường trong bảng

Bảng 32 Thông tin các trường trong bảng Users

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

1 Users Lưu trữ thông tin của người dùng trong hệ thống 1.1 Id Mỗi người dùng có mã này để phân biệt 1.2 Create_at Thời gian lúc tạo tài khoản

1.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin người dùng

1.4 Address Địa chỉ người dùng

1.5 Dob Ngày sinh của người dùng

1.6 Email Địa chỉ email của người dùng

1.7 Fullname Họ và tên của người dùng

1.8 Gender Giới tính của người dùng

1.9 Password Mật khẩu của người dùng

1.10 Phone Số điện thoại của người dùng

1.11 Status Trạng thái của người dùng

1.12 Username Tài khoản người dùng

1.13 Avatar Ảnh đại diện của người dùng

1.14 Otp Mã OTP khi khôi phục mật khẩu

Chương 4: Thiết Kế Phần Mềm

Bảng 33 Thông tin các trường trong bảng Roles

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

2 Roles Lưu trữ thông tin của các role trong hệ thống

2.1 Id Mỗi role có mã này để phân biệt

Bảng 34 Thông tin các trường trong bảng Wishlists

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

3 Roles Lưu trữ thông tin của các role trong hệ thống

3.1 Id Mỗi sản phẩm yêu thích có mã này để phân biệt 3.2 Product_id Mã của sản phẩm

3.3 User_id Mã của người dùng

3.4 Color Màu sắc cửa sản phẩm

3.5 Price Giá của sản phẩm

3.6 Size Size của sản phẩm

3.7 Cat_id Mã danh mục của sản phẩm

Bảng 35 Thông tin các trường trong bảng User_role

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

4 User_role Lưu trữ thông tin của các user với role tương ứng trong hệ thống

4.1 User_id Mã của user

4.2 Role_id Mã của role

Chương 4: Thiết Kế Phần Mềm

Bảng 36 Thông tin các trường trong bảng Types

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

5 Types Lưu trữ thông tin các loại sản phẩm của từng sản phẩm trong hệ thống

5.1 Id Mỗi loại sản phẩm có mã này để phân biệt 5.2 Create_at Thời gian lúc tạo loại sản phẩm

5.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin loại sản phẩm

5.4 Color Màu của loại sản phẩm

5.5 Price Giá của loại sản phẩm

5.6 Quantity Số lượng của loại sản phẩm

5.7 Sale Phần trăm giảm giá của loại sản phẩm

5.8 Size Size của loại sản phẩm

5.9 Sold Số lượng đã bán của loại sản phẩm

5.10 Status Trạng thái của loại sản phẩm

5.11 Product_id Mã của sản phẩm

Bảng 37 Thông tin các trường trong bảng Transactions

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

6 Transactions Lưu trữ thông tin các chi tiết giao dịch của từng đơn hàng trong hệ thống

6.1 Id Mỗi chi tiết giao dịch có mã này để phân biệt 6.2 Create_at Thời gian lúc tạo chi tiết giao dịch

6.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin chi tiết giao dịch 6.4 Color Màu của sản phẩm lúc tạo giao dịch

6.5 Unit_price Giá của sản phẩm lúc tạo giao dịch

6.6 Quantity Số lượng của sản phẩm lúc tạo giao dịch

Chương 4: Thiết Kế Phần Mềm

6.7 Size Size của sản phẩm lúc tạo giao dịch

6.8 Order_id Mã của đơn hàng tương ứng với giao dịch 6.9 Product_id Mã của sản phẩm trong giao dịch

6.10 Is_commented Kiểm tra trạng thái đã bình luận về sản phẩm thuộc giao dịch này hay chưa

Bảng 38 Thông tin các trường trong bảng Products

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

7 Products Lưu trữ thông tin các sản phẩm trong hệ thống

7.1 Id Mỗi sản phẩm có mã này để phân biệt

7.2 Create_at Thời gian lúc tạo sản phẩm

7.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin sản phẩm 7.4 Avg_rating Điểm số đánh giá của sản phẩm

7.5 Description Mô tả chi tiết sản phẩm

7.6 Image Hình ảnh sản phẩm

7.8 Status Trạng thái sản phẩm

7.9 Category_id Mã danh mục của sản phẩm

Chương 4: Thiết Kế Phần Mềm

Bảng 39 Thông tin các trường trong bảng Orders

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

8 Orders Lưu trữ thông tin các đơn hàng trong hệ thống

8.1 Id Mỗi đơn hàng có mã này để phân biệt

8.2 Create_at Thời gian lúc tạo đơn hàng

8.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin đơn hàng

8.4 Address Địa chỉ giao hàng

8.5 Name Tên người nhận hàng

8.6 Note Ghi chú đơn hàng

8.7 Payment Ghi chú thanh toán

8.8 Phone Số điện thoại nhận hàng

8.9 Shipping_fee Phí vận chuyển

8.10 Status Trạng thái đơn hàng

8.11 Total_price Tổng giá tiền đơn hàng

8.12 User_id Mã của người mua đơn hàng

Bảng 40 Thông tin các trường trong bảng Images_products

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

9 Images_products Lưu trữ thông tin các ảnh chi tiết cho sản phẩm trong hệ thống

9.1 Id Mỗi ảnh chi tiết sản phẩm có mã này để phân biệt 9.2 Create_at Thời gian lúc tạo ảnh chi tiết sản phẩm

9.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin ảnh chi tiết sản phẩm 9.4 Product_id Mã của sản phẩm

9.5 Image Ảnh chi tiết sản phẩm

Chương 4: Thiết Kế Phần Mềm

Bảng 41 Thông tin các trường trong bảng Comments

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

Trong hệ thống, mỗi bình luận về sản phẩm được lưu trữ thông tin chi tiết, bao gồm mã định danh (Id) để phân biệt từng bình luận và thời gian tạo bình luận (Create_at) để ghi lại thời điểm bình luận được đăng.

10.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin bình luận 10.4 Content Nội dung bình luận

10.5 Rating Số sao đánh giá sản phẩm

10.6 User_id Mã của người bình luận

10.7 Product_id Mã của sản phẩm

Bảng 42 Thông tin các trường trong bảng Categories

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

11 Categories Lưu trữ thông tin danh mục trong hệ thống

11.1 Id Mỗi danh mục có mã này để phân biệt

11.2 Create_at Thời gian lúc tạo danh mục

11.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin danh mục

11.4 Name Tên của danh mục

11.5 Parent_id Mã của danh mục cha

11.6 Status Trạng thái của danh mục

Chương 4: Thiết Kế Phần Mềm

Bảng 43 Thông tin các trường trong bảng Carts_products

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

12 Carts_products Lưu trữ thông tin giỏ hàng của người dùng trong hệ thống

12.1 Id Mỗi thông tin giỏ hàng có mã này để phân biệt

12.2 Create_at Thời gian lúc thêm sản phẩm vào giỏ hàng

12.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin sản phẩm trong giỏ hàng 12.4 Color Màu của sản phẩm thêm vào giỏ hàng 12.5 Price Giá của sản phẩm thêm vào giỏ hàng

12.6 Quantity Số lượng của sản phẩm thêm vào giỏ hàng 12.7 Size Size của sản phẩm thêm vào giỏ hàng 12.8 Cart_id Mã giỏ hàng của người dùng

12.9 Product_id Mã sản phẩm thêm vào giỏ hàng

Bảng 44 Thông tin các trường trong bảng Carts

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

Lưu trữ giỏ hàng của người dùng trong hệ thống, mỗi giỏ hàng tương ứng với một người dùng

13.1 Id Mỗi giỏ hàng có mã này để phân biệt và liên kết 1:1 với mã của người dùng 13.2 Create_at Thời gian lúc tạo giỏ hàng

13.3 Update_at Thời gian lúc cập nhật/chỉnh sửa thông tin giỏ hàng

Chương 4: Thiết Kế Phần Mềm

Bảng 45 Thông tin các trường trong bảng Addresses

TT Tên bảng/Tên trường Mục đích bảng/Mục đích trường

14 Addresses Lưu trữ thông tin các địa chỉ giao hàng của người dùng trong hệ thống

14.1 Id Mỗi địa chỉ giao hàng có mã này để phân biệt

14.2 Add_default Kiểm tra xem có phải địa chỉ mặc định hay không

14.3 Address Địa chỉ giao hàng

14.4 Name Tên người nhận hàng

14.5 Note Ghi chú khi giao hàng

14.6 Phone_number Số điện thoại người nhận hàng

14.7 User_id Mã của người dùng

Chương 4: Thiết Kế Phần Mềm

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

Hình 35 Lược đồ ERD của hệ thống

Chương 4: Thiết Kế Phần Mềm

GIAO DIỆN NGƯỜI DÙNG

Mô tả: Trang chủ hiển thị giao diện đầu tiên khi người dùng truy cập vào website

Hình 36 Giao diện Trang chủ 1 - Người dùng

Hình 37 Giao diện Trang chủ 2 - Người dùng

Chương 4: Thiết Kế Phần Mềm

Hình 38 Giao diện Trang chủ 3 - Người dùng

Hình 39 Giao diện Trang chủ sau khi đăng nhập - Người dùng

Hình 40 Giao diện tìm kiếm sản phẩm bằng hình ảnh

Chương 4: Thiết Kế Phần Mềm

Bảng 46 Bảng mô tả chức năng Trang chủ - Người dùng

STT Tên Loại Điều kiện Chức năng

Hover “DANH MỤC” Hiển thị các danh mục của cửa hàng

2 SẢN PHẨM Thẻ

  • Click “SẢN

    Chuyển đến trang sản phẩm

    Chuyển đến trang giới thiệu cửa hàng

    Click “ĐĂNG NHẬP” Chuyển đến trang đăng nhập

    Click vào biểu tượng Giỏ hàng

    Chuyển đến trang giỏ hàng Nếu chưa đăng nhập sẽ chuyển đến trang đăng nhập

    Nhập từ khóa vào textbox tìm kiếm

    Hiển thị danh sách các sản phẩm tìm thấy

    7 Thẻ danh mục cụ thể

    Click thẻ danh mục cụ thể

    Chuyển đến trang sản phẩm thuộc danh mục đã click

    Click vào thẻ sản phẩm cụ thể

    Chuyển đến trang chi tiết của sản phẩm đã click

    Click vào “Đăng xuất” Đăng xuất tài khoản khỏi hệ thống

    10 Tìm kiếm sản phẩn bằng hình ảnh

    Click vào biểu tượng Camera Hiện dialog cho người dùng chọn ảnh sản phẩm cần tìm kiếm

    Chương 4: Thiết Kế Phần Mềm

    4.4.2 Sản phẩm và sản phẩm theo danh mục

    Trang sản phẩm của cửa hàng sẽ hiển thị toàn bộ các sản phẩm có sẵn, được phân loại theo từng danh mục cụ thể để người dùng dễ dàng tìm kiếm và lựa chọn.

    Hình 41 Hình ảnh sản phẩm theo danh mục

    Bảng 47 Bảng mô tả chức năng xem tất cả sản phẩm và xem theo danh mục

    STT Tên Loại Điều kiện Chức năng

    Click vào thẻ sản phẩm cụ thể

    Chuyển đến trang chi tiết của sản phẩm đã click

    2 Thẻ title sản phẩm Thẻ

    Click vào title của sản phẩm

    Chuyển đến trang chi tiết của sản phẩm đã click

    Click vào page number muốn chuyển đến

    Chuyển đến page number mà người dùng đã click

    Click vào “>” Chuyển đến trang kế tiếp Bị disable nếu trang hiện tại là trang cuối

    Chương 4: Thiết Kế Phần Mềm

    Click vào “

  • Ngày đăng: 05/12/2023, 10:00

    TÀI LIỆU CÙNG NGƯỜI DÙNG

    TÀI LIỆU LIÊN QUAN

    w