BaoCaoCuoiKiNMCNPM Nhom15

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 117

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

CƠ SỞ TẠI TP. HỒ CHÍ MINH


KHOA CÔNG NGHỆ THÔNG TIN 2
-

BÁO CÁO
MÔN HỌC: NHẬP MÔN CÔNG NGHỆ PHẦN
MỀM

Sinh viên thực hiện: Nguyễn Hữu Đức – N20DCAT015


Bế Trương Dương – N20DCAT007
Hoàng Dương – N20DCAT008
Trần Công Tài – N20DCAT050
Nguyễn Minh Huy – N20DCAT020
Trần Tiến Long – N20DCAT032
Lớp: D20CQAT01-N

Giảng viên hướng dẫn: GV. Huỳnh Lưu Quốc Linh


GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

MỤC LỤC

DANH MỤC HÌNH ẢNH ...................................................................................... 7


DANH MỤC BẢNG ............................................................................................... 9
CHƯƠNG I. GIỚI THIỆU.................................................................................... 11
1. Giới thiệu chung ................................................................................................ 11
2. Mục tiêu đề tài ................................................................................................... 11
CHƯƠNG II. PHÂN TÍCH YÊU CẦU ................................................................ 13
1. Mô tả dự án ....................................................................................................... 13
2. Actors và use cases............................................................................................ 15
2.1 Use case diagram ............................................................................................ 15
2.2 Mô tả actors ..................................................................................................... 18
2.3 Mô tả use cases ............................................................................................... 18
3. Môi trường vận hành ......................................................................................... 20
4. Các giả thiết và phụ thuộc ................................................................................. 20
CHƯƠNG III. YÊU CẦU CHỨC NĂNG ............................................................ 22
1. Usecase Đăng ký ............................................................................................... 22
2. Usecase Đăng nhập ........................................................................................... 23
3. Usecase Đăng xuất ............................................................................................ 24
4. Usecase Chỉnh sửa thông tin tài khoản ............................................................. 24
5. Usecase Cấp quyền tài khoản............................................................................ 25
6. Usecase Chỉnh sửa danh mục sản phẩm ........................................................... 26
7. Usecase Tra cứu sản phẩm ................................................................................ 27
8. Usecase Cập nhật thông tin sản phẩm ............................................................... 28
9. Usecase Chỉnh sửa ảnh sản phẩm ..................................................................... 29
10. Usecase Thêm sản phẩm ................................................................................. 29
11. Usecase Xem báo cáo thống kê ....................................................................... 30
12. Usecase Tra cứu mã đơn hàng ........................................................................ 31
13. Usecase Cập nhật đơn hàng ............................................................................ 32
14. Usecase Cập nhật thanh toán .......................................................................... 33

2
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
15. Usecase Lập hóa đơn ...................................................................................... 33
16. Usecase Thêm bài viết .................................................................................... 34
17. Usecase Chỉnh sửa thông tin cá nhân .............................................................. 35
18. Usecase Tra cứu sản phẩm .............................................................................. 36
19. Usecase Đặt hàng ............................................................................................ 37
20. Usecase Chỉnh sủa thông tin đặt hàng ............................................................ 38
21. Usecase Xác nhận đặt hàng............................................................................. 38
22. Usecase Thêm sản phẩm vào giỏ hàng ........................................................... 39
23. Usecase Chỉnh sửa giỏ hàng ........................................................................... 40
24. Usecase Thanh toán ........................................................................................ 41
25. Usecase Hủy đơn hàng .................................................................................... 42
26. Usecase Xem lịch sử mua hàng ...................................................................... 43
CHƯƠNG IV. THIẾT KẾ HỆ THỐNG ............................................................... 45
1 Kiến trúc hệ thống........................................................................................... 45
1.1. Sequence Diagram ........................................................................................ 45
1.1.1. Đăng Ký ................................................................................................. 45
1.1.2. Đăng nhập ............................................................................................... 46
1.1.3. Đăng xuất ................................................................................................ 46
1.1.4. Chỉnh sửa thông tin người dùng .............................................................. 47
1.1.5. Chỉnh sửa thông tin sản phẩm ................................................................. 47
1.1.6. Tra cứu sản phẩm .................................................................................... 48
1.1.7. Cập nhật thông tin sản phẩm ................................................................... 48
1.1.8. Cấp quyền tài khoản ................................................................................ 49
1.1.9. Xem báo cáo thống kê ............................................................................. 49
1.1.10. Đặt hàng ................................................................................................ 50
1.1.11. Thanh toán ............................................................................................. 50
1.1.12. Hủy đặt hàng ........................................................................................ 51
1.1.13. Chỉnh sửa giỏ hàng............................................................................... 51
1.1.14. Chỉnh sửa thông tin đặt hàng ................................................................ 52
1.1.15. Thêm sản phẩm vào giỏ hàng................................................................ 52
1.1.16. Xác nhận đặt hàng ................................................................................. 53

3
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1.1.17. Xem lịch sử mua hàng ........................................................................... 53
1.1.18. Tra cứu mã đơn hàng ............................................................................ 54
1.1.19. Cập nhật đơn hàng................................................................................. 55
1.1.20. Cập nhật thanh toán ............................................................................... 56
1.1.21. Thêm bài viết......................................................................................... 57
1.1.22. Chỉnh sửa thông tin cá nhân .................................................................. 58
1.1.23. Đặt hàng ................................................................................................ 59
1.2. Activity diagram............................................................................................. 60
1.2.1. Đăng kí .................................................................................................... 60
1.2.2. Đăng nhập ............................................................................................... 60
1.2.3. Tra cứu sản phẩm .................................................................................... 61
1.2.4. Thêm sản phẩm ....................................................................................... 61
1.2.5. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm ................. 62
1.2.6. Chỉnh sửa thông tin sản phẩm ................................................................. 62
1.2.7. Đặt hàng .................................................................................................. 63
1.2.8. Hủy đơn hàng .......................................................................................... 64
1.2.9. Chỉnh sửa thông tin đơn hàng ................................................................. 64
1.2.10. Chỉnh sửa thông tin giỏ hàng ................................................................ 65
1.2.11. Xem lịch sử mua hàng ........................................................................... 66
1.2.12. Tra cứu mã đơn hàng ............................................................................ 67
1.2.13. Cập nhật đơn hàng................................................................................. 67
1.2.14. Cập nhật thanh toán ............................................................................... 68
1.2.15. Lập hóa đơn ........................................................................................... 68
1.2.16. Thêm bài viết......................................................................................... 69
1.2.17. Chỉnh sửa thông tin cá nhân .................................................................. 69
1.3. State Machine Diagram.................................................................................. 70
1.3.1. Biểu đồ trạng thái khi đăng ký ................................................................ 70
1.3.2. Biểu đồ trạng thái khi đăng nhập ............................................................ 71
1.3.3. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng ............................... 72
1.3.4. Biểu đồ trạng thái khi thanh toán đơn hàng ............................................ 73
1.3.5. Biểu đồ trạng thái của đơn hàng.............................................................. 73

4
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2. Thiết kế dữ liệu ................................................................................................. 74
2.1. Sơ đồ ERD ..................................................................................................... 83
2.2. Class diagram ................................................................................................. 84
CHƯƠNG V. HIỆN THỰC CHƯƠNG TRÌNH .................................................. 85
1. Sử dụng CKEditor ............................................................................................. 85
2. Sử dụng CKFinder ............................................................................................ 86
3. Sử dụng Ajax..................................................................................................... 87
4. Sử dụng Pagelist ................................................................................................ 89
CHƯƠNG VI. GIAO DIỆN ................................................................................. 95
1. Giao diện khách hàng ........................................................................................ 95
1.1. Trang chủ ....................................................................................................... 95
1.2. Tin tức ............................................................................................................ 98
1.3. Sản phẩm ........................................................................................................ 99
1.4. Liên hệ.......................................................................................................... 100
1.5. Đăng nhập .................................................................................................... 101
2. Giao diện Admin ............................................................................................. 102
2.1. Đăng nhập .................................................................................................... 102
2.2. Trang chủ ..................................................................................................... 102
2.3. Danh mục ..................................................................................................... 103
2.4. Role .............................................................................................................. 104
2.5. Tin tức .......................................................................................................... 105
2.6. Bài viết ......................................................................................................... 106
2.7. Quản lý đơn hàng ......................................................................................... 107
2.8. Quảng cáo .................................................................................................... 109
2.9. Quản lý sản phẩm ......................................................................................... 110
2.10. Thống kê .................................................................................................... 112
2.11. Cấu hình hệ thống ...................................................................................... 113
2.12. Tài khoản.................................................................................................... 114
CHƯƠNG VII. TỔNG KẾT ............................................................................... 115
1. Kết quả đạt được ............................................................................................. 115
2. Những điểm còn thiếu sót ............................................................................... 115

5
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
TÀI LIỆU THAM KHẢO................................................................................... 116

6
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

DANH MỤC HÌNH ẢNH

Hình 1: Use Case Diagram Tổng quát ............................................................. 15


Hình 2: Use Case Diagram của Admin ............................................................ 16
Hình 3: Use Case Diagram của Nhân viên bán hàng ....................................... 17
Hình 4: Use Case Diagram của Khách hàng .................................................... 17
Hình 5 Sequence Diagram Đăng ký ................................................................. 45
Hình 6 Sequence Diagram Đăng nhập ............................................................. 46
Hình 7 Sequence Diagram Đăng xuất ............................................................. 46
Hình 8 Sequence Diagram Chỉnh sửa thông tin người dùng............................ 47
Hình 9 Sequence Diagram Chỉnh sửa thông tin sản phẩm ............................... 47
Hình 10 Sequence Diagram Tra cứu sản phẩm ................................................ 48
Hình 11 Sequence Diagram Cập nhật thông tin sản phẩm ............................... 48
Hình 12 Sequence Diagram Cấp quyền tài khoản ........................................... 49
Hình 13 Sequence Diagram Xem báo cáo thống kê ........................................ 49
Hình 14 Sequence Diagram Đặt hàng .............................................................. 50
Hình 15 Sequence Diagram Thanh toán .......................................................... 50
Hình 16 Sequence Diagram Hủy đặt hàng ....................................................... 51
Hình 17 Sequence Diagram Chỉnh sửa giỏ hàng ............................................. 51
Hình 18 Sequence Diagram Chỉnh sửa thông tin đặt hàng .............................. 52
Hình 19 Sequence Diagram Thêm sản phẩm vào giỏ hàng ............................. 52
Hình 20 Sequence Diagram Xác nhận đặt hàng............................................... 53
Hình 21 Sequence Diagram Xem lịch sử mua hàng ........................................ 53
Hình 22 Activity diagram đăng ký ................................................................... 60
Hình 23 Activity diagram đăng nhập ............................................................... 60
Hình 24 Activity diagram tra cứu sản phẩm .................................................... 61
Hình 25 Activity diagram thêm sản phẩm ....................................................... 61
Hình 26 Activity diagram cập nhật hình ảnh, danh mục sản phẩm ................. 62
Hình 27 Activity diagram chỉnh sửa thông tin sản phẩm ................................. 62

7
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 28 Activity diagram đặt hàng .................................................................. 63


Hình 29 State Machine Diagram biểu đồ trạng thái khi đăng ký ..................... 70
Hình 30 State Machine Diagram trạng thái khi đăng nhập .............................. 71
Hình 31 State Machine Diagram sản phẩm khi thêm vào giỏ hàng ................. 72
Hình 32 State Machine Diagram trạng thái khi thanh toán đơn hàng .............. 73
Hình 33 State Machine Diagram trạng thái của đơn hàng .............................. 73
Hình 34 Sơ đồ ERD ......................................................................................... 83
Hình 35 Class Diagram .................................................................................... 84

8
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

DANH MỤC BẢNG

Bảng 1 Mô tả actors ......................................................................................... 18


Bảng 2 Mô tả use cases .................................................................................... 20
Bảng 3 Đăng ký ................................................................................................ 22
Bảng 4 Đăng nhập ............................................................................................ 23
Bảng 5 Đăng xuất ............................................................................................. 24
Bảng 6 Chỉnh sửa thông tin tài khoản .............................................................. 25
Bảng 7 Cấp quyền tài khoản ............................................................................ 26
Bảng 8 Chỉnh sửa danh mục sản phẩm ............................................................ 27
Bảng 9 Tra cứu sản phẩm ................................................................................. 28
Bảng 10 Cập nhật thông tin sản phẩm.............................................................. 28
Bảng 11 Chỉnh sửa ảnh sản phẩm .................................................................... 29
Bảng 12 Thêm sản phẩm .................................................................................. 30
Bảng 13 Xem báo cáo thống kê ....................................................................... 31
Bảng 14 Tra cứu mã đơn hàng ......................................................................... 32
Bảng 15 Cập nhật đơn hàng ............................................................................. 32
Bảng 16 Cập nhật thanh toán ........................................................................... 33
Bảng 17 Cập nhật hóa đơn ............................................................................... 34
Bảng 18 Thêm bài viết ..................................................................................... 34
Bảng 19 Chỉnh sửa thông tin cá nhân ............................................................... 35
Bảng 20 Tra cứu sản phẩm ............................................................................... 36
Bảng 21 Đặt hàng ............................................................................................. 37
Bảng 22 Chỉnh sửa thông tin đặt hàng ............................................................. 38
Bảng 23 Xác nhận đặt hàng ............................................................................. 39
Bảng 24 Thêm sản phẩm vào giỏ hàng ............................................................ 40
Bảng 25 Chỉnh sửa giỏ hàng ............................................................................ 41
Bảng 26 Thanh toán ......................................................................................... 42
Bảng 27 Hủy đơn hàng ..................................................................................... 43
9
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Bảng 28 Xem lịch sử mua hàng ....................................................................... 44


Bảng 29 SystemSetting .................................................................................... 74
Bảng 30 Subscribe............................................................................................ 74
Bảng 31 ThongKes ........................................................................................... 75
Bảng 32 Contact ............................................................................................... 75
Bảng 33 Adv .................................................................................................... 76
Bảng 34 Order .................................................................................................. 77
Bảng 35 OrderDetail ........................................................................................ 77
Bảng 36 Product ............................................................................................... 78
Bảng 37 ProductImage ..................................................................................... 79
Bảng 38 ProductCategory ............................................................................... 79
Bảng 39 Category ............................................................................................. 80
Bảng 40 News .................................................................................................. 81
Bảng 41 Posts ................................................................................................... 82
Bảng 42 Account .............................................................................................. 82

10
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG I. GIỚI THIỆU

1. Giới thiệu chung


Xây dựng một website bán hàng online là một trong những công việc phổ biến và quan
trọng của các doanh nghiệp trong kỷ nguyên số hiện nay. Với việc ngày càng nhiều người
mua sắm trực tuyến, việc có một trang web bán hàng chuyên nghiệp và hiệu quả là điều vô
cùng quan trọng để tăng doanh số bán hàng và nâng cao uy tín thương hiệu.
Trang web bán hàng online giúp cho việc mua sắm của khách hàng dễ dàng hơn bao giờ
hết. Không còn phải đi đến các cửa hàng truyền thống để mua hàng, khách hàng có thể mua
sắm ngay tại nhà và thanh toán qua các phương thức trực tuyến. Bên cạnh đó, các doanh
nghiệp cũng có thể tiết kiệm được chi phí vận hành và thu nhập được nhiều khách hàng hơn
bằng cách mở rộng thị trường của mình.
Việc xây dựng một trang web bán hàng online tốt cần phải có thiết kế hấp dẫn, giao diện
thân thiện với người dùng, chức năng đầy đủ và dễ sử dụng. Điều này sẽ giúp cho khách hàng
dễ dàng tìm kiếm sản phẩm mình cần một cách nhanh chóng và tiện lợi. Bên cạnh đó, trang
web cần có hệ thống quản lý đơn hàng và thanh toán đáng tin cậy, bảo mật thông tin khách
hàng và hỗ trợ khách hàng nhanh chóng.
Tóm lại, xây dựng một trang web bán hàng online là một công việc quan trọng và cần
thiết để giúp các doanh nghiệp tăng cường doanh số bán hàng và nâng cao uy tín thương hiệu.
Với sự phát triển của kỷ nguyên số, việc có một trang web bán hàng online chuyên nghiệpvà
hiệu quả là điều cần thiết để cạnh tranh và phát triển trong thị trường kinh doanh ngày càng
cạnh tranh.

2. Mục tiêu đề tài


Mục tiêu của đề tài xây dựng website bán hàng online là tạo ra một trang web bán hàng
chuyên nghiệp, đáp ứng đầy đủ các yêu cầu của khách hàng và doanh nghiệp, từ việc thiết kế
hấp dẫn, giao diện thân thiện, tính năng đa dạng và dễ sử dụng cho đến việc bảo mật thông tin
khách hàng và cung cấp dịch vụ hỗ trợ khách hàng tốt nhất có thể.
Cụ thể, mục tiêu của đề tài bao gồm:

11
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

 Thiết kế và xây dựng trang web bán hàng online với giao diện đẹp, thân thiện với
người dùng và tối ưu cho trải nghiệm mua sắm của khách hàng.

 Cung cấp các tính năng và chức năng đầy đủ và tiện lợi cho khách hàng, bao gồm
tìm kiếm sản phẩm, đặt hàng, thanh toán trực tuyến, quản lý đơn hàng, theo dõi
đơn hàng và cung cấp thông tin sản phẩm đầy đủ và chính xác.

 Đảm bảo tính bảo mật của thông tin khách hàng bằng các biện pháp bảo vệ thông
tin và hệ thống bảo mật an toàn.

 Tối ưu hóa quy trình vận hành và quản lý đơn hàng để giảm thiểu các rủi ro và chi
phí liên quan đến việc bán hàng online.

 Tăng cường tương tác với khách hàng thông qua việc sử dụng các công nghệmới,
khai thác dữ liệu và phân tích thị trường, giúp cải thiện trải nghiệm mua sắm trên
trang web của doanh nghiệp.

Tổng thể, mục tiêu của đề tài là giúp các doanh nghiệp có một trang web bán hàng online
chuyên nghiệp, hiệu quả và tối ưu, giúp tăng doanh số bán hàng và cải thiện uy tín thương
hiệu của doanh nghiệp.

12
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG II. PHÂN TÍCH YÊU CẦU

1. Mô tả dự án
Hệ thống được xây dựng để phục vụ các chức năng cơ bản của một trang web bán hàng
online, tạo ra môi trường để chủ kinh doanh có thể tương tác với khách hàng và giúp khách
hàng có thể tiếp cận được các sản phẩm do website cung cấp.
Hệ thống được triển khai trên nền tảng website giúp bất kỳ người dùng nào cũng có thể
kết nối và sử dụng mà không yêu cầu cấu hình thiết bị quá cao.
Hệ thống cho phép bất kỳ khách hàng nào muốn mua sản phẩm trên website đều có thể
đăng ký tài khoản để sử dụng dịch vụ.
Hệ thống chỉ cho phép quản lý hoặc quản trị viên tạo tài khoản và phân quyền cho các
nhân viên làm việc trong website, các nhân viên không phải là quản lý hay quản trị viên chỉ
được phép chỉnh sửa thông tin cá nhân của bản thân và không được thay đổi chức vụ.
 Bộ phận kinh doanh: Bộ phận kinh doanh có trách nhiệm tìm kiếm khách hàng tiềm
năng, đàm phán và ký kết hợp đồng bán hàng, xây dựng và quản lý các kênh phân
phối sản phẩm. Bộ phận kinh doanh thường là bộ phận đầu tiên tiếp xúc với khách
hàng và đóng vai trò quan trọng trong việc tăng doanh số bán hàng.
 Bộ phận marketing: Bộ phận marketing có nhiệm vụ phát triển chiến lược quảng cáo,
xây dựng hình ảnh thương hiệu, giới thiệu sản phẩm đến khách hàng, phát triển và
quản lý các chương trình khuyến mãi để thu hút khách hàng.
 Bộ phận sản xuất: Bộ phận sản xuất có trách nhiệm sản xuất, đóng gói và vận chuyển
sản phẩm đến kho hàng. Bộ phận sản xuất cần đảm bảo sản phẩm được sản xuất đúng
chất lượng, đúng số lượng và được giao đúng thời gian để đáp ứng nhu cầu bán hàng.
 Bộ phận kế toán: Bộ phận kế toán có nhiệm vụ quản lý tài chính, lập báo cáo tài
chính, thực hiện thu chi và quản lý các khoản phải thu và phải trả.
 Bộ phận hỗ trợ khách hàng: Bộ phận hỗ trợ khách hàng có nhiệm vụ giải đáp thắc
mắc của khách hàng, xử lý các yêu cầu hỗ trợ kĩ thuật, giải quyết các khiếu nại và
phản hồi đóng góp của khách hàng.

13
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

 Bộ phận quản lý kho: Bộ phận quản lý kho có nhiệm vụ quản lý các kho hàng, kiểm
soát số lượng hàng tồn kho, xử lý đơn hàng, đảm bảo việc vận chuyển hàng hóa được
diễn ra đúng hạn và đúng chất lượng.
 Bộ phận IT: Bộ phận IT có nhiệm vụ phát triển và quản lý hệ thống thông tin, bảo
mật dữ liệu, giám sát và nâng cấp hệ thống để đảm bảo hệ thống hoạt động ổn định
và an toàn.

14
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2. Actors và use cases


2.1 Use case diagram

Hình 1. Use Case Diagram Tổng quát

15
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 2. Use Case Diagram của Admin

16
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 3. Use Case Diagram của Nhân viên bán hàng

Hình 4. Use Case Diagram của Khách hàng


17
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.2 Mô tả actors

STT Name Brief Description


1 Admin Người quản lý toàn bộ web bán quần áo Cafila, có quyền
cao nhất và có khả năng thao tác cũng như thực hiện mọi
chức năng trong hệ thống.
2 Nhân viên bán hàng Người bán hàng cho web Cafila, có thể thực hiện các
chức năng như quản lý trang homepage, quản lý bán
hàng, cập nhật thanh toán, lập hóa đơn và lập báo cáo
thống kê.
3 Khách hàng Có thể tra cứu và sử dụng các dịch vụ của Cafila cung
cấp như đặt hàng, thanh toán, chỉnh sửa thông tin, xem
lịch sửa đặt hàng,…
Bảng 1 Mô tả actors

2.3 Mô tả use cases

STT Code Name Brief Description


1 UC01 Đăng ký Đăng ký thông tin sử dụng trang
web
2 UC02 Đăng nhập Người dùng đăng nhập sử dụng hệ
thống
3 UC03 Đăng xuất Thoát tài khoản khỏi trang web
4 UC04 Chỉnh sửa thông tin tài khoản Admin chỉnh sửa thông tin các tài
khoản
5 UC05 Cấp quyền tài khoản Admin cấp quyền truy cập cho tài
khoản

18
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

6 UC06 Chỉnh sửa danh mục sản Admin, NVBH thêm, xóa, sửa danh
phẩm mục sản phẩm
7 UC07 Tra cứu sản phẩm Admin,NVBH tìm kiếm sản phẩm
8 UC08 Cập nhật thông tin sản phẩm Admin,NVBH xóa, sửa thông tin
sản phẩm
9 UC09 Chỉnh sửa ảnh sản phẩm Admin,NVBH thêm, xóa, sửa ảnh
sản phẩm
10 UC10 Thêm sản phẩm Admin,NVBH thêm sản phẩm mới
11 UC11 Xem báo cáo thống kê Admin xem báo cáo thống kê
12 UC12 Tra cứu mã đơn hàng Admin,NVBH tìm kiếm đơn hàng
bằng mã đơn hàng
13 UC13 Cập nhật đơn hàng Admin,NVBH cập nhật các thông
tin đặt hàng
14 UC14 Cập nhật thanh toán Admin,NVBH cập nhật các thông
tin thanh toán của đơn hàng
15 UC15 Lập hóa đơn Admin,NVBH lập hóa đơn cho các
đơn hàng đã thanh toán
16 UC16 Thêm bài viết NVBH thêm bài biết mới vào phần
tin tức
17 UC17 Chỉnh sửa thông tin cá nhân Khách hàng chỉnh sửa thông tin cá
nhân
18 UC18 Tra cứu sản phẩm Khách hàng tìm kiếm sản phẩm
19 UC19 Đặt hàng Khách hàng đặt mua sản phẩm
20 UC20 Chỉnh sửa thông tin đặt hàng Khách hàng chỉnh sửa thông tin đặt
hàng
21 UC21 Xác nhận đặt hàng Khách hàng xác nhận đặt hàng
22 UC22 Thêm sản phẩm vào giỏ hàng Khách hàng thêm sản phẩm vào giỏ
hàng

19
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

23 UC23 Chỉnh sửa giỏ hàng Khách hàng sửa, xóa sản phẩm
trong giỏ hàng
24 UC24 Thanh toán Khách hàng thanh toán đơn hàng
25 UC25 Hủy đơn hàng Khách hàng hủy đơn đặt hàng
26 UC26 Xem lịch sử mua hàng Khách hàng xem lịch sử mua hàng
Bảng 2 Mô tả use cases

3. Môi trường vận hành


Vận hành trên HĐH: Window 7, 8, 10 các phiên bản Home/Pro/Education.
Net Framework 4.5, 4.8, 5.0

Phần mềm máy chủ (server software): Là các phần mềm cần thiết để quản lý và phân
phối các tài nguyên trên máy chủ, bao gồm hệ điều hành, máy chủ web (Web Server), máy
chủ cơ sở dữ liệu (Database Server), máy chủ gửi email (Mail Server),...
Phần cứng máy chủ (server hardware): Gồm các thiết bị vật lý như máy chủ, bộ lưu điện
(UPS), hệ thống giải nhiệt,...
Tên miền (Domain Name): Là địa chỉ để truy cập vào website, được đăng ký thông qua
các công ty tên miền. Tên miền cần phải dễ nhớ và phù hợp với nội dung của website.
SSL (Secure Sockets Layer): Là giao thức mã hóa dữ liệu giữa máy khách và máy chủ,
giúp đảm bảo an toàn cho thông tin cá nhân của khách hàng.

4. Các giả thiết và phụ thuộc


Khi xây dựng một hệ thống website bán hàng online, có một số giả thiết và phụ thuộc
cần được xem xét
 Giả thiết về độ tin cậy của hệ thống: Giả sử rằng hệ thống website bán hàng online
được thiết kế để đáp ứng các yêu cầu của khách hàng, nhưng vẫn có thể xảy ra các
sự cố như mất kết nối internet, lỗi hệ thống hoặc tấn công từ hacker.

20
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

 Giả thiết về tốc độ truy cập: Giả sử rằng hệ thống sẽ được sử dụng bởi một số lượng
lớn khách hàng, và cần phải đáp ứng được tốc độ truy cập cao để đảm bảo trải nghiệm
tốt cho người dùng.
 Giả thiết về độ phức tạp của hệ thống: Giả sử rằng hệ thống website bán hàng online
sẽ được tích hợp với các hệ thống khác như hệ thống thanh toán, hệ thống quản lý
kho, hệ thống vận chuyển... và cần đảm bảo tính đồng bộ giữa các hệ thống này.
 Giả thiết về sự bảo mật của hệ thống: Giả sử rằng hệ thống website bán hàng online
cần đảm bảo tính bảo mật cao, để tránh các vấn đề liên quan đến việc lộ thông tin
khách hàng hoặc bị tấn công từ hacker.
 Giả thiết về khả năng mở rộng của hệ thống: Giả sử rằng hệ thống website bán hàng
online cần có khả năng mở rộng để đáp ứng nhu cầu của khách hàng trong tương lai.
 Những giả thiết và phụ thuộc này cần được xem xét kỹ để đảm bảo hệ thống website bán
hàng online hoạt động ổn định và đáp ứng được yêu cầu của khách hàng.

21
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG III. YÊU CẦU CHỨC NĂNG

1. Usecase Đăng ký
Name Đăng ký Code UC01
Description Người dùng chọn tính năng đăng ký để tạo tài khoản mới
Actor Người dùng (chưa Trigger Trong trang đăng nhập, người
xác minh) dùng chọn nút đăng ký
Pre-condition Người dùng đã truy cập website vào website cửa hàng thời trang
Post-condition Đăng ký tài khoản thành công
Error situations Tên đăng nhập đã tồn tại
Mật khẩu phải chứa các kí tự chữ thường, chữ hoa và số
System state in error Đăng ký thất bại
situations
Standard 1. Người dùng nhập thông tin username, password
flow/process 2. Hệ thống kiểm tra dữ liệu nhập vào, nếu đúng hệ thống sẽ
thông báo thành công và lưu thông tin user
3. Hệ thống thông báo đăng ký tài khoản hoàn tất và chuyển
người dùng về trang đăng nhập
Alternative Flow Tại bước 1: Hệ thống kiểm tra có trùng với username đã tồn tại
không, hệ thống sẽ yêu cầu người dùng thay đổi username
Tại bước 2: Nếu không lưu thông tin user thành công thì sẽ
quay lại trang đăng ký
Bảng 3 Đăng ký

22
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2. Usecase Đăng nhập


Name Đăng nhập Code UC02
Description Người dùng chọn tính năng đăng nhập để đăng nhập vào
website
Actor Người dùng Trigger Trong trang chủ, người dùng
(chưa xác minh) chọn nút đăng nhập
Pre-condition Người dùng đã có tài khoản
Post-condition Đăng nhập thành công
Error situations Tên tài khoản hoặc mật khẩu bị sai

System state in error Đăng nhập không thành công


situations
Standard flow/process 1. Người dùng nhập tài khoản và mật khẩu
2. Hệ thống kiểm tra tài khoản và mật khẩu mà người dùng
nhập xem đúng hay chưa và lưu token mới
3. Mật khẩu và tài khoản đúng, chuyển sang trang chủ
Alternative Flow Tại bước 1: Nếu người dùng nhập sai tài khoản hoặc mật khẩu
thì hệ thống sẽ thông báo sai và yêu cầu người dùng nhập lại
Bảng 4 Đăng nhập

23
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

3. Usecase Đăng xuất


Name Đăng xuất Code UC03
Description Người dùng chọn tính năng đăng xuất để đăng xuất ra khỏi hệ
thống hoặc website
Actor Người dùng (đã Trigger Trong trang chủ, người dùng
xác minh) nhấn đăng xuất
Pre-condition Người dùng đã đăng nhập vào hệ thống
Post-condition Đăng xuất thành công
Error situations
System state in error
situations
Standard 1. Người dùng ấn đăng xuất
flow/process 2. Hệ thống xóa access token và chuyển người dùng về trang
đăng nhập
3. Hệ thống thông báo đăng xuất thành công
Bảng 5 Đăng xuất

4. Usecase Chỉnh sửa thông tin tài khoản


Name Chỉnh sửa thông Code UC04
tin tài khoản
Description Người dùng chọn tính năng cập nhật Profile để chỉnh sửa
thông tin cá nhân
Actor Người dùng Trigger Trong trang Profile, người
admin (đã xác dùng ấn chọn cập nhật Profile
minh)
Pre-condition Người dùng đã đăng nhập vào hệ thống
Post-condition Cập nhật Profile thành công

24
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Error situations Cập nhật thất bại

System state in error Lưu thất bại


situations Mất kết nối với DB
Standard flow/process Người dùng ấn chọn cập nhật profile
Hiển thị form cập nhật thông tin người dùng
Nhập thông tin
Hệ thống kiểm tra và xác nhận
Yêu cầu cập nhật thông tin người dùng
Cập nhật thông tin người dùng
Thông báo cập nhật thành công
Alternative Flow Mất kết nối với DB và thông báo lỗi
Tại bước 4: Thông tin nhập vào không hợp lệ thì hệ thống sẽ
báo không hợp lệ -> thất bại
Bảng 6 Chỉnh sửa thông tin tài khoản

5. Usecase Cấp quyền tài khoản


Name Cấp quyền tài Code UC05
khoản
Description Người dùng admin chọn cấp quyền truy cập tài khoản cho các
người dùng khác
Actor Người dùng Trigger Trong trang admin, người dùng
admin (đã xác ấn chọn cấo quyền truy cập cho
minh) tài khoản
Pre-condition Người dùng đã đăng nhập vào hệ thống
Post-condition Cấp quyền tài khoản thành công
Error situations Cấp quyền thất bại

25
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

System state in error Add quyền thất bại


situations
Standard flow/process Người dùng admin ấn chọn cấp quyền cho user khác
Hệ thống kiểm tra và xác thực quyền
Cấp quyền cho người dùng
Thông báo cấp quyền thành công
Alternative Flow Thông báo lỗi không cấp quyền được
Thông báo user đã có quyền, thất bại
Bảng 7 Cấp quyền tài khoản

6. Usecase Chỉnh sửa danh mục sản phẩm


Name Chỉnh sửa danh Code UC06
mục sản phẩm
Description Người dùng chọn vào chức năng chỉnh sửa danh mục sản
phẩm
Actor Admin, NVBH Trigger Người dùng ấn chọn vào tính
năng chỉnh sửa danh mục sản
phẩm
Pre-condition Người dùng đã truy cập vào trang quản lý

Post-condition Check trên UI: hệ thống hiển thị chi tiết thông tin danh mục
sản phẩm
Check trên DB: Chỉnh sửa danh mục trong DB
Error situations Chỉnh sửa thất bại
System state in error Không kết nối được với DB
situations

26
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Standard flow/process 1. Người dùng chọn vào tính năng chỉnh sửa danh mục sản
phẩm
2. Nhập thông tin danh mục cần chỉnh hoặc thêm, xoá danh
mục
3. Yêu cầu cập nhật thông tin danh mục
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Yêu cầu chỉnh sửa danh mục thất bại
Tại bước 4: Thông tin không hợp lệ, thông báo thất bại
Bảng 8 Chỉnh sửa danh mục sản phẩm

7. Usecase Tra cứu sản phẩm


Name Tra cứu sản Code UC07
phẩm
Description Admin, NVBH chọn tra cứu tìm kiếm sản phẩm
Actor Admin, NVBH Trigger Sau khi admin, NVBH nhấn
vào nút thông tin sản phẩm, thì
nhấn chọn tra cứu sản phẩm
Pre-condition Admin, NVBH đã đăng nhập vào hệ thống và có quyền tra
cứu sản phẩm
Post-condition Check trên UI: hệ thống đi tới trang tra cứu sản phẩm
Check trên DB: danh sách sản phẩm được hiển thị
Error situations Không tải được dữ liệu
System state in error Mất kết nối DB, không có dữ liệu
situations
Standard flow/process Admin, NVBH nhấn chọn tra cứu sản phẩm
Server yêu cầu truy vấn DB

27
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Truy vấn dữ liệu thành công


Hiển thị kết quả tra cứu lên màn hình
Alternative Flow Tại bước 3: Truy vấn dữ liệu không tìm thấy dữ liệu, thông
báo lỗi
Bảng 9 Tra cứu sản phẩm

8. Usecase Cập nhật thông tin sản phẩm

Name Cập nhật thông Code UC08


tin sản phẩm
Description Người dùng chọn vào chức năng cập nhật thông tin sản phẩm
Actor Admin, NVBH Trigger Người dùng ấn chọn vào tính
năng chỉnh sửa danh mục sản
phẩm
Pre-condition Người dùng đã truy cập vào trang quản lý

Post-condition Check trên UI: hệ thống hiển thị chi tiết thông tin sản phẩm
Check trên DB: Chỉnh sửa, thêm, xoá sản phẩm trong DB
Error situations Chỉnh sửa thất bại
System state in error Không kết nối được với DB
situations
Standard flow/process 1. Người dùng chọn vào tính năng cập nhật thông tin sản phẩm
2. Nhập thông tin cần chỉnh hoặc thêm, xoá sản phẩm
3. Kiểm tra thông tin nhập vào
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Thông tin nhập vào không hợp lệ
Bảng 10 Cập nhật thông tin sản phẩm

28
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

9. Usecase Chỉnh sửa ảnh sản phẩm


Name Chỉnh sửa ảnh Code UC09
sản phẩm
Description Người dùng chọn vào chức năng chỉnh sửa ảnh sản phẩm
Actor Admin, NVBH Trigger Người dùng ấn chọn vào tính
năng chỉnh sửa ảnh sản phẩm
Pre-condition Người dùng đã truy cập vào trang quản lý

Post-condition Hệ thống hiển thị chi tiết thông tin sản phẩm, chỉnh sửa ảnh
Error situations Chỉnh sửa thất bại
System state in error Không chỉnh sửa, thêm, xoá được ảnh của sản phẩm
situations
Standard flow/process 1. Người dùng chọn vào tính năng chỉnh sửa ảnh sản phẩm
2. Nhập hình ảnh cần chỉnh hoặc thêm, xoá ảnh sản phẩm
3. Yêu cầu cập nhật hình ảnh sản phẩm
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Yêu câu chỉnh sửa ảnh thất bại
Tại bước 4: Ảnh không hợp lệ, thông báo thất bại
Bảng 11 Chỉnh sửa ảnh sản phẩm

10. Usecase Thêm sản phẩm


Name Thêm sản phẩm Code UC10
Description Admin, NVBH chọn vào chức năng thêm sản phẩm
Actor Admin, NVBH Trigger Người dùng ấn chọn vào tính
năng thêm sản phẩm
Pre-condition Người dùng đã truy cập trang web quản lý sản phẩm

29
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Post-condition Check trên UI: hệ thống hiển thị form thêm sản phẩm
Check trên DB: món ăn chưa tồn tại
Error situations Không kết nối được DB
System state in error Truy vấn thất bại
situations
Standard flow/process 1. Người dùng chọn vào tính năng thêm sản phẩm mới
2. Yêu cầu thêm sản phẩm
3. Yêu cầu hiện fom thêm sản phẩm
4. Thông báo thêm sản phẩm thành công
Alternative Flow 1 Yêu cầu thêm sản phẩm thất bại
Alternative Flow 2 Yêu cầu hiện form thất bại
Alternative Flow 3 Thông báo thất bại
Bảng 12 Thêm sản phẩm

11. Usecase Xem báo cáo thống kê


Name Xem báo cáo Code UC11
thống kê
Description Admin chọn tính năng xem báo cáo thống kê
Actor Admin Trigger Sau khi có nhiều đơn đặt hàng,
admin chọn xem báo cáo thống

Pre-condition Admin đã đăng nhập vào hệ thống/ website
Đã có nhiều đơn mua hàng
Post-condition Check trên UI: hệ thống hiển thị báo cáo thống kê
Check trên DB: Thông tin thống kê hiện lên
Error situations Không tải được dữ liệu

30
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

System state in error Mất kết nối DB


situations
Standard flow/process Người dùng chọn tính năng xem báo cáo thống kê
Yêu cầu xem báo cáo thống kê
Kiểm tra quyền của admin
Truy vấn dữ liệu thành công
Hiển thị báo cáo thống kê
Alternative Flow 1 Tại bước 3: Thông báo admin không có quyền xem báo cáo
Bảng 13 Xem báo cáo thống kê

12. Usecase Tra cứu mã đơn hàng


Name Tra cứu mã đơn Code UC12
hàng
Description Admin, NVBH chọn tính năng tra cứu mã đơn hàng
Actor Admin, NVBH Trigger Sau khi Admin, NVBH nhấn
chọn tra cứu mã đơn hàng
Pre-condition Admin, NVBH đã đăng nhập vào hệ thống và có quyền tra
cứu mã đơn hàng
Post-condition Check trên UI: hệ thống đi tới thông tin đơn hàng của mã đơn
đó
Check trên DB: thông tin mã đơn hàng được hiển thị ra
Error situations 1. Không tìm thấy thông tin mã đơn hàng
2. Không tải được DB
System state in error Mất kết nối DB
situations

Standard flow/process Admin, NVBH nhấn chọn vào tra cứu mã đơn hàng
Nhập mã đơn hàng muốn tra cứu
Server yêu cầu truy vấn DB

31
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Truy vấn dữ liệu thành công


Hiển thị thông tin của mã đơn hàng đó
Alternative Flow Không tìm thấy mã đơn hàng
Truy vấn thất bại
Bảng 14 Tra cứu mã đơn hàng

13. Usecase Cập nhật đơn hàng


Name Cập nhật đơn Code UC13
hàng
Description Admin, NVBH chọn vào tính năng cập nhật đơn hàng
Actor Admin, NVBH Trigger Người dùng nhấn chọn vào
tính năng cập nhật đơn hàng
Pre-condition Người dùng đã truy cập vào website
Đã có đơn hàng
Post-condition Check trên UI: hệ thống hiển thị trang cập nhật đơn hàng
Check trên DB: Trạng thái đã được khởi tạo
Error situations Cập nhật thất bại

System state in error Cập nhật đơn hàng thất bại


situations Mất kết nối DB
Standard flow/process 1. Người dùng chọn vào tính năng cập nhật đơn hàng
2. Yêu cầu truy vấn DB
3. Cập nhật đơn hàng thành công và lưu vào DB
4. Thông báo cập nhật thành công

Alternative Flow 1 Cập nhật đơn hàng thất bại


Alternative Flow 2 Thông báo lỗi
Bảng 15 Cập nhật đơn hàng
32
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

14. Usecase Cập nhật thanh toán


Name Cập nhật thanh Code UC14
toán
Description Nhân viên muốn cập nhật lại thanh toán
Actor Nhân viên Trigger Nhân viên muốn cập nhật lại
thanh toán của khách hàng
Pre-condition Nhân viên đăng nhập vào hệ thống
Post-condition Thông báo cập nhập lại thành công
Error situations Cập nhật thất bại
System state in error Mất kết nối DB
situations

Standard flow/process Nhân viên đăng nhập vào hệ thông


Chọn chức năng cập nhật đơn hàng
Cập nhật lại phương thức thanh toán
Chọn nút lưu, lưu vào DB
Bảng 16 Cập nhật thanh toán

15. Usecase Lập hóa đơn


Name Lập hóa đơn Code UC15
Description Nhân viên muốn lập hóa đơn của đơn hàng
Actor Nhân viên Trigger Nhân viên muốn lập hóa đơn
sau khi đặt hàng
Pre-condition Nhân viên đăng nhập vào hệ thống
Post-condition Thông báo lập hóa đơn thành công
Error situations Lập hóa đơn thất bại

33
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

System state in error Mất kết nối DB


situations

Standard flow/process Nhân viên đăng nhập vào hệ thông


Chọn chức năng lập hóa đơn
Truy vấn dữ liêu hóa đơn
Truy vấn thành công
Lập hóa đơn cho đơn hàng
Bảng 17 Cập nhật hóa đơn

16. Usecase Thêm bài viết


Name Thêm bài viết Code UC16
Description Nhân viên muốn thêm bài viết
Actor Nhân viên Trigger Nhân viên muốn thêm bài viết
vào phần tin tức
Pre-condition Nhân viên đăng nhập vào hệ thống
Post-condition Thêm bài viết thành ccoong
Error situations Thêm bài viết thất bại
System state in error Mất kết nối DB
situations

Standard flow/process Nhân viên đăng nhập vào hệ thông


Chọn chức năng bài viết
Thêm bài viết mới
Bấm nút lưu, lưu vào DB

Bảng 18 Thêm bài viết

34
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

17. Usecase Chỉnh sửa thông tin cá nhân


Name Chỉnh sủa thông Code UC17
tin cá nhân
Description Khách hàng muốn chỉnh sửa thông tin cá nhân
Actor Khách hàng Trigger Khách hàng muốn chỉnh thông
tin cá nhân
Pre-condition Khách hàng đăng nhập trang website
Post-condition Chỉnh sửa thành công
Error situations Cập nhật thất bại
System state in error Mất kết nối DB
situations

Standard flow/process Khách hàng đăng nhập


Chọn phần thông tin cá nhân
Chinh sửa thông tin cá nhân
Chỉnh sửa các thông tin cần thiết
Nhấn nút Lưu
Thông báo thành công
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra yêu cầu sửa đổi thông tin cá
nhân
Tại bước 3: Nếu nhập thiếu hoặc sai thông tin hệ thống sẽ
thông báo nhập lại
Bảng 19 Chỉnh sửa thông tin cá nhân

35
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

18. Usecase Tra cứu sản phẩm


Name Tra cứu sản Code UC18
phẩm
Description Khách hàng chọn tính năng tra cứu sản phẩm
Actor Khách hàng Trigger Sau khi khách hàng ấn chọn tra
cứu sản phẩm sẽ hiện ra danh
sách sản phẩm cần tra cứu
Pre-condition
Post-condition Hiện danh sách sản phẩm
Error situations Không tìm thấy sản phẩm cần kiếm
System state in error Mất kết nối DB
situations Không có dữ liêu trong DB

Standard flow/process Người dùng tìm kiếm sản phẩm


Hệ thống kiểm tra thông tin sản phẩm
Sever yêu cầu truy vấn DB.
Truy vấn dữ liệu thành công
Hiển thị thông tin của sản phẩm
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra yêu cầu tra cứu và dữ liệu trong
server
Tại bước 3: Nếu không có dữ liệu hay nhập sai hệ thống sẽ
không xuất danh sách sản phẩm
Bảng 20 Tra cứu sản phẩm

36
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

19. Usecase Đặt hàng


Name Đặt hàng Code UC19
Description Khách hàng muốn đặt hàng
Actor Khách hàng Trigger Khách hàng muốn đặt hàng sản
phẩm
Pre-condition Khách hàng đăng nhập trang website
Post-condition Đặt hàng thành công
Error situations Đặt hàng thất bại
System state in error Mất kết nối DB
situations

Standard flow/process Khách hàng đăng nhập


Chọn sản phẩm
Bấm nút đặt hàng
Thêm thông tin khách hàng
Đặt hàng
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra đầy đủ hoặc thiếu thông tin đơn
hàng của khách hàng, hệ thống yêu cầu nhập lại
Tại bước 3: Nếu đặt hàng thành công. Hệ thống thông báo cho
khách hàng
Bảng 21 Đặt hàng

37
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

20. Usecase Chỉnh sủa thông tin đặt hàng


Name Chỉnh sửa thông Code UC20
tin đặt hàng
Description Khách hàng muốn chỉnh sửa thông tin mua hàng
Actor Khách hàng Trigger Khách hàng chọn vào các
thông tin mua hàng cần sửa
Pre-condition Người dùng đã truy cập vào trang website
Post-condition Chỉnh sửa thông tin đặt hàng
Error situations Không thể thay đổi được thông thi đặt hàng
System state in error Mất kết nối DB
situations

Standard flow/process Người dùng vào chỉnh sửa thông tin đặt hàng
Nhập các thông tin cần chỉnh sửa
Cập nhập lại hệ thống
Lưu vào DB
Bảng 22 Chỉnh sửa thông tin đặt hàng

21. Usecase Xác nhận đặt hàng


Name Xác nhận đặt Code UC21
hàng
Description Khách hàng xác nhận đặt hàng
Actor Khách hàng Trigger Khách hàng bấm
vào nút đặt hàng
Pre-condition Người dùng đã truy cập vào trang website để bấm
nút

38
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Post-condition Xác nhận đơn hàng


Error situations Không điển đủ thông tin đơn hàng hoặc điền thiếu
System state in Mất kết nối DB
error situations

Standard Người dùng vào đơn hàng để bấm xác nhận


flow/process Hệ thống kiểm tra đơn hàng
Xác nhận đặt hàng, lưu vào DB
Alternative Tại bước 1: Hệ thống kiểm tra yêu cầu xác nhận
Flow 1 đơn hàng
Tại bước 3: Nếu kiểm tra thông qua, hệ thống hiện
thị xác nhận đặt hàng
Bảng 23 Xác nhận đặt hàng

22. Usecase Thêm sản phẩm vào giỏ hàng


Name Thêm sản phẩm Code UC22
vào giỏ hàng
Description Khách hàng thêm sản phẩm vào giỏ hàng
Actor Khách hàng Trigger Khách hàng bấm nút thêm sản
phẩm
Pre-condition Người dùng đã truy cập vào trang website để bấm nút
Post-condition Đã thêm sản phẩm vào
Error situations Không thêm được sản phẩm
Sản phẩm đã hết hàng

39
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

System state in error Mất kết nối DB


situations

Standard flow/process Người dùng chọn thêm sản phảm vào giỏ hàng
Hệ thống kiểm tra và thêm vào giỏ hàng cho khách hàng
Xác nhận, lưu vào giỏ hàng
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra số lượng sản phẩm trong server
Tại bước 3: Nếu còn hàng hệ thống thông báo thêm vào thành
công
Bảng 24 Thêm sản phẩm vào giỏ hàng

23. Usecase Chỉnh sửa giỏ hàng


Name Chỉnh sửa giỏ Code UC23
hàng
Description Khách hàng muốn chỉnh sửa giỏ hàng
Actor Khách hàng Trigger Khách hàng chọn vào các
thông tin mua hàng cần sửa
Pre-condition Người dùng đã truy cập vào trang website
Post-condition Chỉnh sửa giỏ hàng
Error situations Lỗi không thể kết nối DB

System state in error Không thể thay đổi thông tin giỏ hàng
situations

Standard flow/process Chọn sủa giỏ hàng

40
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Nhập các thông tin cần sửa


Cập nhật lại hệ thống
Lưu vào DB
Alternative Flow 1 Tại bước 1: Hệ thông kiểm tra yêu cầu chỉnh sửa giỏ hàng
Tại bước 3: Nếu hết hàng hệ thống báo lại không thành công
Bảng 25 Chỉnh sửa giỏ hàng

24. Usecase Thanh toán


Name Thanh toán Code UC24
Description Khách hàng thanh toán đơn hàng
Actor Khách hàng Trigger Khách hàng thanh toán đơn
hàng đã đặt
Pre-condition Khách hàng đăng nhập trang website
Post-condition Thanh toán thành công
Error situations Thanh toán thất bại
System state in error Mất kết nối DB
situations

Standard flow/process -Thanh toán trực tiếp


1. Khách hàng đăng nhập
2. Bấm vào đơn hàng
3. Thanh toán trực tiếp qua các hệ thống thanh toán
4. Xác nhận thanh toán
- Thanh toán khi nhận hàng
1. Khách hàng đăng nhập
2. Bấm vào đơn hàng

41
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

3. Chọn thanh toán khi nhận hàng


4. Xác nhận thanh toán

Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra thông tin thanh toán của khách
hàng
Tại bước 3: Nếu thiếu thông tin hệ thống thông báo nhập lại
Bảng 26 Thanh toán

25. Usecase Hủy đơn hàng


Name Hủy đơn hàng Code UC25
Description Khách hàng muốn hủy đơn hàng
Actor Khách hàng Trigger Khách hàng sau khi xác nhận
đặt hàng, Khách hàng muốn
hủy đơn
Pre-condition Người dùng đã truy cập vào trang website
Đã xác nhận đặt hàng
Post-condition Hủy tiệt thành công
Error situations Hủy thất bại

System state in error Mất kết nối với DB


situations

Standard flow/process Chưa tới trạng thái lập hóa đơn


Người dùng yêu cầu hủy tiệc
Xử lý yêu cầu hủy tiệc
Cập nhật trạng thái hủy cho phiếu tiệc

42
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Cập nhật thành công


Thông báo hủy thành công

Đã lập hóa đơn


Người dùng yêu cầu hủy
Xử lý yêu cầu hủy
Cập nhật trạng thái hủy cho hóa đơn
Cập nhật trạng thái cho hóa đơn thành công
Cập nhật trạng thái hủy cho phiếu tiệc
Cập nhật trạng thái cho phiếu tiệc thành công
Thông báo hủy thành công và số tiền sẽ được trả
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra yêu cầu hủy đặt hàng, hệ thống
thông báo cho khách hàng
Tại bước 3: Nếu hủy đơn thất bại , hệ thống báo lại cho khách
hàng
Bảng 27 Hủy đơn hàng

26. Usecase Xem lịch sử mua hàng


Name Xem lịch sử đặt Code UC26
hàng
Description Khách hàng muốn xem lịch sử đã mua hàng
Actor Khách hàng Trigger Khách hàng chọn vào phần lịch
sử mua hàng để xem
Pre-condition Người dùng đã truy cập vào trang website
Đã đặt hàng
Post-condition Hiện thông tin lịch sử mua hàng
Error situations Mất kết nối với DB

43
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

System state in error Không thể thấy đơn hàng


situations

Standard flow/process Người dùng đăng nhập vào hệ thống


Bấm vào chức năng lịch sử mua hàng
Hệ thống kiểm tra các thông tin mua hàng
Hiện danh sách lịch sử đơn hàng
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra yêu cầu xem lịch sự mua hàng
Tại bước 3:Nếu kiểm tra được thông qua hệ thông hiện danh
sách lịch sử mua hàng
Bảng 28 Xem lịch sử mua hàng

44
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG IV. THIẾT KẾ HỆ THỐNG

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


1.1. Sequence Diagram
1.1.1. Đăng Ký

Hình 5. Đăng ký

45
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.2. Đăng nhập

Hình 6. Đăng nhập

1.1.3. Đăng xuất

Hình 7. Đăng xuất

46
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

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

Hình 8. Chỉnh sửa thông tin người dùng

1.1.5. Chỉnh sửa thông tin sản phẩm

Hình 9. Chỉnh sửa thông tin sản phẩm

47
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.6. Tra cứu sản phẩm

Hình 10. Tra cứu sản phẩm

1.1.7. Cập nhật thông tin sản phẩm

Hình 11. Cập nhật thông tin sản phẩm

48
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.8. Cấp quyền tài khoản

Hình 12. Cấp quyền tài khoản

1.1.9. Xem báo cáo thống kê

Hình 13. Xem báo cáo thống kê

49
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.10. Đặt hàng

Hình 14. Đặt hàng

1.1.11. Thanh toán

Hình 15. Thanh toán

50
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.12. Hủy đặt hàng

Hình 16. Hủy đặt hàng

1.1.13. Chỉnh sửa giỏ hàng

Hình 17. Chỉnh sửa giỏ hàng

51
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.14. Chỉnh sửa thông tin đặt hàng

Hình 18. Chỉnh sửa thông tin đặt hàng

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

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

52
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.16. Xác nhận đặt hàng

Hình 20. Xác nhận đặt hàng

1.1.17. Xem lịch sử mua hàng

Hình 21. Xem lịch sử mua hàng

53
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.18. Tra cứu mã đơn hàng

Hình 22. Tra cứu mã đơn hàng

54
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.19. Cập nhật đơn hàng

Hình 23. Cập nhật đơn hàng

55
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.20. Cập nhật thanh toán

Hình 24. Cập nhật thanh toán

Hình 25. Lập hóa đơn

56
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.21. Thêm bài viết

Hình 26. Thêm bài viết

57
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

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

Hình 27. Chỉnh sửa thông tin cá nhân

58
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.1.23. Đặt hàng

Hình 28. Đặt hàng

59
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2. Activity diagram


1.2.1. Đăng kí

Hình 22. Đăng ký

1.2.2. Đăng nhập

Hình 23. Đăng nhập

60
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.3. Tra cứu sản phẩm

Hình 24. Tra cứu sản phẩm

1.2.4. Thêm sản phẩm

Hình 25. Thêm sản phẩm

61
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.5. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm

Hình 26. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm

1.2.6. Chỉnh sửa thông tin sản phẩm

Hình 27. Chỉnh sửa thông tin sản phẩm

62
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.7. Đặt hàng

Hình 28. Đặt hàng

63
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.8. Hủy đơn hàng

Hình 29. Hủy đơn hàng

1.2.9. Chỉnh sửa thông tin đơn hàng

Hình 30. Chỉnh sửa thông tin đơn hàng

64
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.10. Chỉnh sửa thông tin giỏ hàng

Hình 31. Chỉnh sửa thông tin giỏ hàng

65
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.11. Xem lịch sử mua hàng

Hình 32. Xem lịch sử mua hàng

66
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.12. Tra cứu mã đơn hàng

Hình 33. Tra cứu mã đơn hàng

1.2.13. Cập nhật đơn hàng

Hình 34. Cập nhật đơn hàng

67
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.14. Cập nhật thanh toán

Hình 35. Cập nhật thanh toán

1.2.15. Lập hóa đơn

Hình 36. Lập hóa đơn

68
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.2.16. Thêm bài viết

Hình 37. Thêm bài viết

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

Hình 38. Chỉnh sửa thông tin cá nhân

69
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.3. State Machine Diagram


1.3.1. Biểu đồ trạng thái khi đăng ký

Hình 39. Biểu đồ trạng thái khi đăng ký

70
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.3.2. Biểu đồ trạng thái khi đăng nhập

Hình 40. Biểu đồ trạng thái khi đăng nhập

71
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.3.3. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng

Hình 41. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng

72
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

1.3.4. Biểu đồ trạng thái khi thanh toán đơn hàng

Hình 42. Biểu đồ trạng thái khi thanh toán đơn hàng

1.3.5. Biểu đồ trạng thái của đơn hàng

Hình 43. Biểu đồ trạng thái của đơn hàng


73
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2. Thiết kế dữ liệu

TT Tên thuộc tính (Field Kiểu dữ Độ Not Ràng Mã Diễn


name) liệu rộng NUL buộc / hóa giải
L Miền
giá trị
1 SettingKey nvarchar 50 Yes
2 SettingValue nvarchar 4000 No
3 SettingDescription nvarchar 4000 No
Bảng 29. SystemSetting

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Email nvarchar Yes
3 CreatedDate datetime Yes
Bảng 30. Subscribe

74
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 ThoiGian datetime Yes
3 SoTruyCap bigint Yes
Bảng 31. ThongKe

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Name nvarchar 150 Yes
3 Email nvarchar 150 No
4 Website nvarchar max No
5 Message nvarchar 4000 No
6 IsRead bit Yes
7 CreatedBy nvarchar max No
8 CreatedDate datetime Yes
9 ModifiedDate datetime Yes
10 ModifiedBy nvarchar max No
Bảng 32 Contact

75
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Title nvarchar 150 Yes
3 Description nvarchar 500 Yes
4 Image nvarchar 500 No
5 Link nvarchar 500 No
6 Type int 500 Yes
7 CreatedBy nvarchar max No
8 CreatedDate datetime Yes
9 ModifiedDate datetime Yes
10 ModifiedBy nvarchar max No
Bảng 33 Adv

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Code nvarchar max Yes
3 CustomerName nvarchar max Yes
4 Phone nvarchar max Yes
5 Address nvarchar max Yes
6 Email nvarchar max No

76
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

7 TotalAmount decimal (18, Yes


2)
8 Quantity int Yes
9 TypePayment int No
10 CreatedBy nvarchar max No
11 CreatedDate datetime Yes
12 ModifiedDate datetime Yes
13 ModifiedBy nvarchar max No
Bảng 34 Order

TT Tên thuộc tính Kiểu Độ Not Ràng Mã Diễn


(Field name) dữ liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 OrderId int Yes
3 ProductId int Yes
4 Price decimal (18, 2) Yes
5 Quantity int Yes
Bảng 35 OrderDetail

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes

77
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2 Title nvarchar 250 Yes


3 Alias nvarchar 250 No
4 ProductCode nvarchar 50 No
5 Description nvarchar max No
6 Detail nvarchar max No
7 Image nvarchar 250 No
8 Price decimal (18, 2) Yes
9 PriceSale decimal (18, 2) No
10 Quantity int Yes
11 ViewCount int Yes
12 IsHome bit Yes
13 IsSale bit Yes
14 IsFeature bit Yes
15 IsHot bit Yes
16 IsActive bit Yes
17 ProductCategoryId int Yes
18 SeoTitle nvarchar 250 No
18 SeoDescription nvarchar 500 No
19 SeoKeywords nvarchar 250 No
20 CreatedBy nvarchar max No
21 CreatedDate datetime Yes
22 ModifiedDate datetime Yes
23 Modifiedby nvarchar max No
24 OriginalPrice decimal (18, 2) Yes
Bảng 36 Product

78
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 ProductId int Yes
3 Image nvarchar max No
4 IsDefault bit Yes
Bảng 37 ProductImage

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Title nvarchar 150 Yes
3 Alias nvarchar 150 Yes
4 Description nvarchar max No
5 Icon nvarchar 250 No
6 SeoTitle nvarchar 250 No
7 SeoDescription nvarchar 500 No
8 SeoKeywords nvarchar 250 No
9 CreatedBy nvarchar max No
10 CreatedDate datetime Yes
11 ModifiedDate datetime Yes
12 ModifiedBy nvarchar max No
Bảng 38 ProductCategory

79
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Title nvarchar 150 Yes
3 Alias nvarchar max No
4 Description nvarchar max No
5 SeoTitle nvarchar 150 No
6 SeoDescription nvarchar 250 No
7 IsActive bit Yes
8 Position int Yes
9 CreatedBy nvarchar max No
10 CreatedDate datetime Yes
11 ModifiedDate datetime Yes
12 ModifiedBy nvarchar max No
Bảng 39 Category

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Title nvarchar 150 Yes
3 Alias nvarchar max No
4 Description nvarchar max No
5 Detail nvarchar max No

80
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

6 Image nvarchar max No


7 CategoryId int Yes
8 SeoTitle nvarchar max No
9 SeoDescription nvarchar max No
10 SeoKeywords nvarchar max No
11 IsActive bit Yes
12 CreatedBy nvarchar max No
13 CreatedDate datetime Yes
14 ModifiedDate datetime Yes
15 ModifiedBy nvarchar max No
Bảng 40 News

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 Title nvarchar 150 Yes
3 Alias nvarchar 150 No
4 Description nvarchar max No
5 Detail nvarchar max No
6 Image nvarchar 250 No
7 CategoryId int Yes
8 SeoTitle nvarchar 250 No
9 SeoDescription nvarchar 500 No
10 SeoKeywords nvarchar 250 No
11 IsActive bit Yes

81
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

12 CreatedBy nvarchar max No


13 CreatedDate datetime Yes
14 ModifiedDate datetime Yes
15 ModifiedBy nvarchar max No
Bảng 41 Posts

TT Tên thuộc tính Kiểu dữ Độ Not Ràng Mã Diễn


(Field name) liệu rộng NULL buộc / hóa giải
Miền
giá trị
1 Id int Yes
2 UserName nvarchar 150 Yes
3 FullName nvarchar 150 Yes
4 Password nvarchar max Yes Ít nhất
8 kí tự,
phải có
một kí
tự viết
hoa.
5 Email nvarchar 256 No
6 Phone nvarchar Max Yes
7 Address nvarchar Max Yes
Bảng 42 Account

82
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.1. Sơ đồ ERD

Hình 44 Sơ đồ ERD

83
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.2. Class diagram

Hình 45 Class Diagram

84
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG V. HIỆN THỰC CHƯƠNG TRÌNH

1. Sử dụng CKEditor
Ứng dụng CKEditor, một trình soạn thảo HTML được phát triển bởi CKSource ở các
chức năng như: Viết chi tiết bài viết, viết mô tả chi tiết sản phẩm
Ở đây có chức năng thêm chi tiết cho bài viết:
<div class="form-group">
<label for="exampleInputPassword1">Chi tiết</label>
@Html.TextAreaFor(x => x.Detail, new { @class = "form-control", @id =
"txtDetail" })
</div>

@section scripts{
<script>
$(document).ready(function () {
CKEDITOR.replace('txtDetail', {
customConfig: '/content/ckeditor/config.js',
extraAllowedContent: 'span',
});
});
function BrowseServer(field) {
var finder = new CKFinder();
finder.selectActionFunction = function (fileUrl) {
document.getElementById(field).value = fileUrl;
};
finder.popup();
}
</script>
}

85
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2. Sử dụng CKFinder
Sử dụng CKFinder, một công cụ quản lý tệp được sử dụng trong các ứng dụng web để
quản lí và tải lên các tệp hình ảnh, tài liệu, video,..
Ở đây là chức năng tải ảnh cho sản phẩm
<input type="button" value="Tải ảnh" class="btn btn-success"
onclick="BrowseServer('txtImage');" />
<script>
$(document).ready(function () {
function BrowseServer(field) {
var finder = new CKFinder();
finder.selectActionFunction = function (fileUrl) {
debugger;
AddImage(@ViewBag.productId, fileUrl);
};
finder.popup();
}
// Sử dụng Ajax để gửi nhận thông tin dữ liệu mà không phải tải lại trang
function AddImage(id, url) {
debugger;
$.ajax({
url: '/admin/productimage/AddImage',
type: 'POST',
data: { productId: id, url: url },
success: function (rs) {
if (rs.Success) {
window.location.reload();
}
}
86
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

});
}
});
</script>

3. Sử dụng Ajax
Ứng dụng Ajax trong việc gửi nhận dữ liệu mà không phải load lại trang trong các tính
năng như tick chọn hiện hoạt, hoặc xóa.
Ở đây là tính năng xóa bài viết:
<a href="#" data-id="@item.Id" class="btn btn-sm btn-danger
btnDelete">Xóa</a>
<script>
$(document).ready(function () {
$('body').on('click', '.btnDelete', function () {
var id = $(this).data("id");
var conf = confirm('Bạn có muốn xóa bản ghi này không?');
if (conf === true) {
$.ajax({
url: '/admin/posts/delete',
type: 'POST',
data: { id: id },
success: function (rs) {
if (rs.success) {
$('#trow_' + id).remove();
}
}
});
}
});
87
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

});
</script>

Hoặc tính năng hiện hoạt sản phẩm ở giao diện người dùng
<td class="text-center">
<a href='#' data-id="@item.Id" class="btnActive">@Html.Raw(strCheck)</a>
</td>
<script>
$(document).ready(function () {
$('body').on('click', '.btnActive', function (e) {
e.preventDefault();
var btn = $(this);
var id = btn.data("id");
$.ajax({
url: '/admin/Products/IsActive',
type: 'POST',
data: { id: id },
success: function (rs) {
if (rs.success) {
if (rs.isAcive) {
btn.html("<i class='fa fa-check text-success'></i>");
} else {
btn.html("<i class='fas fa-times text-danger'></i>");
}
}

}
});
});

88
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

});
</script>

4. Sử dụng Pagelist
Sử dụng Pagelist để phân trang bài viết hoặc phân trang sản phẩm, ở đây ta phân Ptrang
bài viết mỗi trang hiển thị 10 tin
public class NewsController : Controller
{
var pageSize = 10;
if (page == null)
{
page = 1;
}
IEnumerable<News> items = db.News.OrderByDescending(x => x.Id);
if (!string.IsNullOrEmpty(Searchtext))
{
items = items.Where(x => x.Alias.Contains(Searchtext) ||
x.Title.Contains(Searchtext));
}
var pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;
items = items.ToPagedList(pageIndex, pageSize);
ViewBag.PageSize = pageSize;
ViewBag.Page = page;
return View(items);
}
}

89
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Tìm kiếm tin tức theo tiêu đề


Code ở Controller
public class NewsController : Controller
{
var pageSize = 10;
if (page == null)
{
page = 1;
}
IEnumerable<News> items = db.News.OrderByDescending(x => x.Id);

Tìm kiếm theo tiêu đề


if (!string.IsNullOrEmpty(Searchtext))
{
items = items.Where(x => x.Alias.Contains(Searchtext) ||
x.Title.Contains(Searchtext));
}
var pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;
items = items.ToPagedList(pageIndex, pageSize);
ViewBag.PageSize = pageSize;
ViewBag.Page = page;
return View(items);
}
}

Code ở View
<div class="col-6">
@using (Html.BeginForm("index", "News", FormMethod.Get, new { }))
{

90
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

<div class="input-group input-group-sm">


@Html.TextBox("Searchtext", null, new { @class = "form-control" })
@*<input type="text" name="searchtext" class="form-control">*@
<span class="input-group-append">
<button type="submit" class="btn btn-info btn-flat">Tìm kiếm</button>
</span>
</div>
}
</div>

Gửi mail đơn hành cho khách hàng và admin khi thanh toán thành công
public class ShoppingCartController : Controller
{
public ActionResult CheckOut(OrderViewModel req)
{
var code = new { Success = false, Code = -1 };
if (ModelState.IsValid)
{
ShoppingCart cart = (ShoppingCart)Session["Cart"];
if (cart != null)
{
Order order = new Order();
order.CustomerName = req.CustomerName;
order.Phone = req.Phone;
order.Address = req.Address;
order.Email = req.Email;
cart.Items.ForEach(x => order.OrderDetails.Add(new OrderDetail
{
ProductId = x.ProductId,

91
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Quantity = x.Quantity,
Price = x.Price
}));
order.TotalAmount = cart.Items.Sum(x => (x.Price * x.Quantity));
order.TypePayment = req.TypePayment;
order.CreatedDate = DateTime.Now;
order.ModifiedDate = DateTime.Now;
order.CreatedBy = req.Phone;
Random rd = new Random();
order.Code = "DH" + rd.Next(0, 9) + rd.Next(0, 9) + rd.Next(0, 9) +
rd.Next(0, 9);
//order.E = req.CustomerName;
db.Orders.Add(order);
db.SaveChanges();
//send mail cho khachs hang
var strSanPham = "";
var thanhtien = decimal.Zero;
var TongTien = decimal.Zero;
foreach (var sp in cart.Items)
{
strSanPham += "<tr>";
strSanPham += "<td>" + sp.ProductName + "</td>";
strSanPham += "<td>" + sp.Quantity + "</td>";
strSanPham += "<td>" +
WebBanHangOnline.Common.Common.FormatNumber(sp.TotalPrice, 0) + "</td>";
strSanPham += "</tr>";
thanhtien += sp.Price * sp.Quantity;
}
TongTien = thanhtien;

92
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

string contentCustomer =
System.IO.File.ReadAllText(Server.MapPath("~/Content/templates/send2.html"));
contentCustomer = contentCustomer.Replace("{{MaDon}}",
order.Code);
contentCustomer = contentCustomer.Replace("{{SanPham}}",
strSanPham);
contentCustomer = contentCustomer.Replace("{{NgayDat}}",

DateTime.Now.ToString("dd/MM/yyyy"));
contentCustomer = contentCustomer.Replace("{{TenKhachHang}}",
order.CustomerName);
contentCustomer = contentCustomer.Replace("{{Phone}}",
order.Phone);
contentCustomer = contentCustomer.Replace("{{Email}}",
req.Email);
contentCustomer =

contentCustomer.Replace("{{DiaChiNhanHang}}", order.Address);
contentCustomer = contentCustomer.Replace("{{ThanhTien}}",
WebBanHangOnline.Common.Common.FormatNumber(thanhtien, 0));
contentCustomer = contentCustomer.Replace("{{TongTien}}",
WebBanHangOnline.Common.Common.FormatNumber(TongTien, 0));
WebBanHangOnline.Common.Common.SendMail("ShopOnline",
"Đơn hàng #" + order.Code, contentCustomer.ToString(), req.Email);

string contentAdmin =
System.IO.File.ReadAllText(Server.MapPath("~/Content/templates/send1.html"));

93
GV. Huỳnh Lưu Quốc LinchontentAdmin = contentAdmin.Replace("{{M
HKaDIIonnă}m}h",ọco2r0d2e2r-.C
20o2d3e);

contentAdmin = contentAdmin.Replace("{{SanPham}}",
strSanPham);

94
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

contentAdmin = contentAdmin.Replace("{{NgayDat}}",
DateTime.Now.ToString("dd/MM/yyyy"));
contentAdmin = contentAdmin.Replace("{{TenKhachHang}}",
order.CustomerName);
contentAdmin = contentAdmin.Replace("{{Phone}}", order.Phone);
contentAdmin = contentAdmin.Replace("{{Email}}", req.Email);
contentAdmin = contentAdmin.Replace("{{DiaChiNhanHang}}",
order.Address);
contentAdmin = contentAdmin.Replace("{{ThanhTien}}",
WebBanHangOnline.Common.Common.FormatNumber(thanhtien, 0));
contentAdmin = contentAdmin.Replace("{{TongTien}}",
WebBanHangOnline.Common.Common.FormatNumber(TongTien, 0));
WebBanHangOnline.Common.Common.SendMail("ShopOnline",
"Đơn hàng mới #" + order.Code, contentAdmin.ToString(),
ConfigurationManager.AppSettings["EmailAdmin"]);
cart.ClearCart();
return RedirectToAction("CheckOutSuccess");
}
}
return Json(code);
}
}

95
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG VI. GIAO DIỆN

1 Giao diện khách hàng


1.1. Trang chủ

Hình 46 Giao diện trang chủ 1

Hình 47 Giao diện trang chủ 2

96
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 48 Giao diện trang chủ 3

Hình 49 Giao diện trang chủ 4

97
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 50 Giao diện trang chủ 5

Hình 51 Giao diện trang chủ 6

98
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 52 Giao diện trang chủ 7

1.2. Tin tức

Hình 53 Giao diện tin tức 1

99
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 54 Giao diện tin tức 2

1.3. Sản phẩm

Hình 55 Giao diện Sản Phẩm 1

100
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 56 Giao diện Sản Phẩm 2

1.4. Liên hệ

Hình 57 Giao diện liên hệ 1

101
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 58 Giao diện liên hệ 2

1.5. Đăng nhập

Hình 59 Giao diện đăng nhập


102
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2. Giao diện Admin


2.1. Đăng nhập

Hình 60 Giao diện đăng nhập

2.2. Trang chủ

Hình 61 Giao diện Admin trang chủ

103
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.3. Danh mục

Hình 62 Giao diện Admin danh mục

Hình 63 Giao diện Admin thêm danh mục mới 1

104
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 64 Giao diện Admin thêm danh mục mới 2

2.4. Role

Hình 65 Giao diện Admin Role

105
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 66 Giao diện Admin thêm mới Role

2.5. Tin tức

Hình 67 Giao diện Admin Tin tức

106
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.6. Bài viết

Hình 68 Giao diện Admin Bài Viết

Hình 69 Giao diện Admin Thêm bài viết mới 1

107
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 70 Giao diện Admin thêm bài viết mới 2

2.7. Quản lý đơn hàng

Hình 71 Giao diện Admin quản lý đơn hàng

108
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 72 Giao diện Admin xem đơn hàng

Hình 73 Giao diện Admin cập nhật đơn hàng

109
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.8. Quảng cáo

Hình 74 Giao diện Admin Quảng Cáo

Hình 75 Giao diện Admin Thêm mới bài viết 1

110
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 76 Giao diện Admin Thêm mới bài viết 2

2.9. Quản lý sản phẩm

Hình 77 Giao diện Admin Quản lý sản phẩm

111
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 78 Giao diện Admin Thêm mới sản phẩm 1

Hình 79 Giao diện Admin thêm mới sản phẩm 2

112
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

Hình 80 Giao diện Admin Quản lý sản phẩm

2.10. Thống kê

Hình 81 Giao diện Admin Thống kê

113
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.11. Cấu hình hệ thống

Hình 82 Giao diện Admin Cấu hình hệ thống ( Thông tin chung )

Hình 83 Giao diện Admin Cấu hình hệ thống (SEO)

114
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

2.12. Tài khoản

Hình 84 Giao diện Admin Quản lý tài khoản

Hình 85 Giao diện Admin Thêm mới tài khoản

115
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

CHƯƠNG VII. TỔNG KẾT

1. Kết quả đạt được


Với đề tài Xây dựng Website bán hàng online, chúng em đã xây dựng các tính năng
cho cả trang quản trị và cả trang giao diện khách hàng.
 Về phía quản trị: Hệ thống cung cấp các tính năng như quản lí danh mục, bài viết,
quảng cáo, sản phẩm, quản lí các đơn hàng cũng như theo dõi được danh thu.
 Về phía khách hàng: Website cung cấp các tính năng cơ bản cho khách hàng như
đăng nhập, đăng kí, mua hàng, xem hóa đơn mua, tin tức cho khách hàng, liên
hệ,…

2. Những điểm còn thiếu sót


- Những vấn đề khó khăn mắc phải khi làm việc:
 Lượng kiến thức của cả đội vẫn chưa được đều và có thể chưa đáp ứng được
hoàn toàn tốt với đề tài này
 Tốc độ làm việc chưa được nhanh và chính xác
 Kinh nghiệm trong việc phân tích và thiết kế còn hạn chế
- Các tính năng chưa thực hiện được:
 Hệ thống còn nhiều thiếu sót, đáp ứng được các nhu cầu cơ bản, chưa linh động
trong việc bảo trì cập nhật.
 Hệ thống chưa hỗ trợ tính năng đa ngôn ngữ
 Chức năng thanh toán chưa hỗ trợ đầy đủ các kênh thanh toán
 Chưa hiện thực được các tính năng như thêm vào danh mục yêu thích cũng như
phân tích, đề xuất các sản phẩm gợi ý cho khách hàng.

Tuy nhiên, chúng em sẽ hoàn thiện các tính năng trong tương lai, lấy đó làm động lực
và đánh giá bản thân để có thể chuẩn bị cho nhưng chương trình sau được tốt hơn cả về số
lượng và chất lượng.

116
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023

TÀI LIỆU THAM KHẢO

[1] E. J.Braude and M. E.Bernstein, Software Engineering - Modern Approach 2nd


edition, Waveland Press, 2016.

[2] R. S.Pressman, Software Engineering - A Practitioner's Approach, Mc Graw Hill


Higher Education, 2015.

[3] Ths. Bùi Thanh Tú, Tài liệu môn học Công nghệ phần mềm nâng cao..

[4] A. Freeman, Pro ASP.NET Core 6 - Develop Cloud-Ready Web Applications.

117

You might also like