BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THƠNG TIN
XÂY DỰNG WEBSITE
BÁN LINH KIỆN MÁY TÍNH
GVHD: ThS. NGUYỄN ĐĂNG QUANG
SVTH : PHẠM TRƯỜNG GIANG
SKL010681
Tp. Hồ Chí Minh, tháng 5/2023
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
--- ---
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN LINH KIỆN MÁY TÍNH
SVTH: PHẠM TRƯỜNG GIANG
MSSV: 15110036
Khóa: 2015
Ngành: CƠNG NGHỆ THƠNG TIN
GVHD: ThS. NGUYỄN ĐĂNG QUANG
Tp. Hồ Chí Minh, tháng 5 năm 2023
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
Tp. Hồ Chí Minh, ngày tháng 06 năm 2023
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Phạm Trường Giang
MSSV: 15110036
Ngành: Công nghệ thông tin
Lớp: 15110CL2A
Giảng viên hướng dẫn: ThS. Nguyễn Đăng Quang ĐT: 0963636170
Ngày nhận đề tài: 20/02/2023
Ngày nộp đề tài: 29/05/2023
1. Tên đề tài:
XÂY DỰNG WEBSITE BÁN LINH KIỆN MÁY TÍNH.
2. Các số liệu, tài liệu ban đầu:
Tài liệu mô tả nội dung, yêu cầu thực hiện đề tài.
3. Nội dung thực hiện đề tài:
Khảo sát hiện trạng của các phần mềm quản lý cửa hàng, tìm hiểu về
nghiệp vụ và quy trình thực hiện trong khâu quản lý một cửa hàng như nhập
hàng, bán hàng, quản lý kho, thống kê doanh thu.
Sau khi tiếp nhận đầy đủ yêu cầu từ khách hàng sẽ bắt đầu các bước xây
dựng một phần mềm quản lý gồm vẽ sơ đồ use case cho từng yêu cầu, mô hình
hóa yêu cầu, vẽ sơ đồ luồng dữ liệu, thiết kế cơ sở dữ liệu, thiết kế giao diện và
cài đặt các chức năng cho phần mềm. Hoàn thành phần mềm sẽ tiến hành kiểm
thử và bàn giao cho khách hàng.
4. Sản phẩm:
Ứng dụng website thương mại điện tử bán các mặt hàng linh kiện máy
tính và mặt hàng liên quan.
i
TRƯỞNG NGÀNH
ThS. NGUYỄN ĐĂNG QUANG
GIẢNG VIÊN HƯỚNG DẪN
ThS. NGUYỄN ĐĂNG QUANG
ii
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Phạm Trường Giang
MSSV: 15110036
Ngành: Công nghệ thông tin
Lớp: 15110CL2A
Tên đề tài: Xây dựng website bán linh kiện máy tính.
Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Đăng Quang
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
...............................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
2. Ưu điểm:
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
3. Khuyết điểm:
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
iii
...............................................................................................................................
...............................................................................................................................
4. Đề nghị cho bảo vệ hay không?
...............................................................................................................................
5. Đánh giá loại:
...............................................................................................................................
6. Điểm: ................................ (Bằng chữ: .......................................................... )
.............................................................................................................................
Tp. Hồ Chí Minh, ngày
tháng
năm 2023
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
ThS. Nguyễn Đăng Quang
iv
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên: Phạm Trường Giang
MSSV: 15110036
Ngành: Công nghệ thông tin
Lớp: 15110CL2A
Tên đề tài: Xây dựng website bán linh kiện máy tính.
Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Đăng Quang.
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
2. Ưu điểm:
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
3. Khuyết điểm:
...........................................................................................................................
...........................................................................................................................
v
...........................................................................................................................
...........................................................................................................................
4. Đề nghị cho bảo vệ hay không?
...........................................................................................................................
5. Đánh giá loại:
...........................................................................................................................
6. Điểm: ........................................ (Bằng chữ: ......................................................)
................................................................................................................................
Tp. Hồ Chí Minh, ngày
tháng
năm 2022
Giáo viên phản biện
(Ký & ghi rõ họ tên)
ThS. Lê Thị Minh Châu
vi
LỜI CẢM ƠN
Trong học kỳ này, được sự phân công của quý thầy cô khoa Đào tạo Chất
lượng cao, Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM, em đã hoàn thành Khóa
luận tốt nghiệp “XÂY DỰNG WEBSITE BÁN LINH KIỆN MÁY TÍNH”.
Em xin chân thành cảm ơn thầy ThS Nguyễn Đăng Quang, người đã hướng
dẫn cho nhóm em trong suốt q trình hồn thành khóa luận. Thầy khơng ngần ngại
chỉ dẫn em, định hướng đi cho em, để em hoàn thành tốt nhiệm vụ. Một lần nữa em
chân thành cảm ơn thầy và chúc thầy dồi dào sức khoẻ.
Em chân thành cảm ơn quý thầy, cô trong khoa Đào tạo Chất lượng cao,
Trường Đại Học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã tận tình truyền đạt
kiến thức trong những tháng năm em học tập tại trường. Với vốn kiến thức được tiếp
thu trong q trình học khơng chỉ là nền tảng cho q trình nghiên cứu khóa luận mà
còn là hành trang quý giá để em bước vào đời một cách vững chắc và tự tin.
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên,
bài báo cáo này không thể tránh được những thiếu sót. Em rất mong nhận được sự
chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiện bổ sung, nâng cao ý
thức của mình, phục vụ tốt hơn cơng tác thực tế sau này.
Cuối cùng em kính chúc q thầy, cơ dồi dào sức khỏe và thành công trong sự
nghiệp cao quý.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Phạm Trường Giang
vii
MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
i
iii
v
LỜI CẢM ƠN
vii
MỤC LỤC
viii
DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ
xiii
DANH MỤC CÁC BẢNG BIỂU
xvi
DANH MỤC CÁC TỪ VIẾT TẮT
xvii
Chương 1: PHẦN MỞ ĐẦU
18
1.1. Tính cấp thiết của đề tài
18
1.2. Ý nghĩa khoa học và thực tiễn của đề tài
18
1.3. Mục tiêu đề tài
19
1.4. Đối tượng nghiên cứu
19
1.5. Phạm vi nghiên cứu
19
1.6. Kết quả dự kiến
19
Chương 2: CƠ SỞ LÝ THUYẾT
20
2.1. Tìm hiểu lý thút và cơng nghệ sử dụng trong đề tài:
20
2.2. Công Nghệ Back-End
21
2.2.1. Ngôn ngữ lập trình Java
21
2.2.2. Spring Framework
24
viii
2.2.3. Spring MVC
26
2.2.4. Spring Boot
29
2.2.5. Spring Security
30
2.3. Công Nghệ Front-End
31
2.3.1 HTML
31
2.3.2 CSS
32
2.3.3. JavaScript
33
2.3.4. Bootstrap
34
2.4. Hệ quản trị cơ sở dữ liệu MySQL
35
2.5. RESTful API
37
2.5.1. Giới thiệu
37
2.5.2. REST, RESTful API là gì?
37
2.5.2. Kiến trúc của REST
38
2.5.3. Tại sao nên sử dụng REST?
39
2.5.4. Resources
39
2.5.5. Mã phản hồi HTTP
39
2.6. JSON Web Token
40
2.7. Git & Github
44
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
46
3.1. Khảo sát hiện trạng
46
3.1.1. Trang GEARVN
46
3.1.2. Trang Tin học ngôi sao
47
3.1.3. Trang An Phát Computer
48
3.1.4. Tổng kết khảo sát
49
3.2. Nội dung phân tích và thiết kế
49
3.3. Xác định yêu cầu
50
ix
3.3.1. Yêu cầu chức năng về nghiệp vụ
50
3.3.2. Yêu cầu phi chức năng
54
3.4. Đặc tả hệ thống
54
3.5. Biểu đồ Use case
55
3.6. Đặc tả Use case
55
3.6.1 Use case chức năng đăng ký
55
3.6.2. Use case đăng nhập hệ thống
56
3.6.3. Use case tìm kiếm sản phẩm
57
3.6.4. Use case xem thông tin sản phẩm
58
3.6.5. Use case thêm sản phẩm vào giỏ hàng
59
3.6.6. Use case khách hàng tương tác hệ thống
60
3.6.7. Use case chức năng quản lý danh mục sản phẩm
62
3.6.8. Use case chức năng quản lý sản phẩm
64
3.6.9. Use case chức năng quản lý khách hàng
66
3.6.10. Use case chức năng quản lý đơn hàng
67
3.6.11. Use case chức năng thống kê
69
3.7. Biểu đồ tuần tự
71
Chương 4: THIẾT KẾ VÀ XÂY DỰNG WEBSITE
76
4.1. Xây dựng các chức năng
76
4.1.1. Các chức năng hệ thống
76
4.1.2. Các chức năng phần người dùng
76
4.1.3. Các chức năng phần quản trị
77
4.1.4. Sơ đồ ERD
78
4.2. Biểu đồ lớp
80
4.3. Biểu đồ hoạt động.
81
4.4. Xây dựng RESTful API
85
x
4.5. Thành phần giao diện
91
4.6. Giao diện trang quản lý
93
4.6.1. Chức năng quản lý thể loại
93
4.6.2. Chức năng quản lý sản phẩm
94
4.6.3. Chức năng quản lý khách hàng
95
4.6.4. Chức năng quản lý đơn hàng
96
4.6.5. Chức năng thống kê
97
4.7. Giao diện trang mua sắm
98
4.7.1. Chức năng trang chủ
98
4.7.2. Chức năng xem mục sản phẩm
100
4.7.3. Chức năng xem chi tiết sản phẩm
101
4.7.4. Chức năng yêu thích
102
4.7.5. Chức năng giỏ hàng
103
4.7.6. Chức năng đặt hàng
104
Chương 5: TRIỂN KHAI VÀ KIỂM THỬ
106
5.1. Cài đặt hệ thống
106
5.1.1. Thiết lập dự án
106
5.1.2. Cài đặt ứng dụng
107
5.2. Triển khai ứng dụng
108
5.3. Chiến lược kiểm thử
108
5.4. Kế hoạch kiểm thử
109
Chương 6: KẾT LUẬN
112
6.1. Kết quả đạt được
112
6.2. Hạn chế của đề tài
112
6.3. Hướng phát triển của đề tài
113
xi
TÀI LIỆU THAM KHẢO
114
xii
DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ
Hình 1 Thành phần chính trong hệ thống ................................................................20
Hình 2 Các thành phần trong Java SE của JDK Oracle ...........................................23
Hình 3 Spring Framework logo ................................................................................24
Hình 4 Tổng quan Spring Framework .....................................................................25
Hình 5 Các module chính trong Spring Framework ................................................26
Hình 6 Mơ hình MVC .............................................................................................. 26
Hình 7 Mô hình MVC thường đi cùng với kiến trúc 3 lớp ......................................27
Hình 8 Luồng xử lý trong Spring MVC ................................................................... 28
Hình 9 Luồng xử lý request và response bởi DispatcherServlet .............................. 29
Hình 10 Kiến trúc Spring Boot ................................................................................30
Hình 11 Cấu trúc của một thành phần CSS ............................................................32
Hình 12 Hệ quản trị cơ sở dữ liệu MySQL ..............................................................35
Hình 13 Mơ hình Client - Server ..............................................................................36
Hình 14 REST API Design ...................................................................................... 37
Hình 15 Sơ lược về luồng xử lý của JWT ................................................................ 44
Hình 16 Mơ hình hoạt động của DVCS ................................................................... 45
Hình 17 Trang chủ GEARVN ..................................................................................46
Hình 18 Trang chủ Tin học ngơi sao........................................................................ 47
Hình 19 Xây dựng cấu hình trong Tin học ngơi sao ................................................ 48
Hình 20 Trang chủ An Phát .....................................................................................49
Hình 21 Use case tổng quan .....................................................................................55
Hình 22 Use case chức năng của khách hàng ..........................................................60
Hình 23 Biểu đồ Use case chức năng quản lý danh mục sản phẩm .........................62
Hình 24 Biểu đồ Use case chức năng quản lý sản phẩm ......................................... 64
Hình 25 Biểu đồ use case chức năng quản lý khách hàng .......................................66
Hình 26 Biểu đồ use case phân rã chức năng quản lý đơn hàng ..............................67
Hình 27 Biểu đồ use case phân rã chức năng thống kê............................................ 69
Hình 28 Biểu đồ tuần tự đăng ký .............................................................................71
xiii
Hình 29 Biểu đồ tuần tự đăng nhập ......................................................................... 72
Hình 30 Biểu đồ tuần tự tìm kiếm ............................................................................73
Hình 31 Biểu đồ tuần tự xem sản phẩm ................................................................... 73
Hình 32 Biểu đồ tuần tự thêm giỏ hàng ...................................................................74
Hình 33 Biểu đồ t̀n tự thêm ưa thích ....................................................................74
Hình 34 Biểu đồ t̀n tự thanh toán ......................................................................... 75
Hình 35 Sơ đồ ERD ................................................................................................. 78
Hình 36 Tạo thực cơ sở dữ liệu bằng MySQL Workbench ..................................... 79
Hình 37: Biểu đồ lớp ................................................................................................ 80
Hình 38 Biểu đồ hoạt động đăng ký ........................................................................ 81
Hình 39 Biểu đồ hoạt động đăng nhập .....................................................................82
Hình 40 Biểu đồ hoạt động xem sản phẩm .............................................................. 82
Hình 41 Biểu đồ hoạt động xem sản phẩm ..............................................................83
Hình 42 Biểu đồ hoạt động đặt hàng COD ..............................................................83
Hình 43 Biểu đồ hoạt động đặt hàng Paypal ............................................................84
Hình 44 Biểu đồ hoạt động xác nhận đơn hàng .......................................................84
Hình 45 Sơ đồ thành phần giao diện quản lý ...........................................................91
Hình 46 Sơ đồ thành phần giao diện người dùng ....................................................92
Hình 47 Trang quản trị .............................................................................................93
Hình 48 Trang quản lý thể loại ................................................................................94
Hình 49 Giao diện chức năng quản lý sản phẩm .....................................................95
Hình 50 Giao diện chức năng quản lý khách hàng ..................................................96
Hình 51 Giao diện chức năng quản lý đơn hàng ......................................................97
Hình 52 Giao diện chức năng thống kê .................................................................... 98
Hình 53 Giao diện trang chủ ..................................................................................100
Hình 54 Tất cả sản phẩm trong cửa hàng ...............................................................101
Hình 55 Giao diện chi tiết sản phẩm ......................................................................102
Hình 56 Giao diện trang u thích .........................................................................103
Hình 57 Giao diện giỏ hàng ...................................................................................103
xiv
Hình 58 Giao diện xem đơn đặt hàng ....................................................................104
Hình 59 Thông tin đặt hàng gồm địa chỉ giao và phương thức thanh tốn ............105
Hình 60 Giao diện xác nhận đặt hàng ....................................................................105
Hình 61 Cấu trúc một dự án Spring Boot ..............................................................106
Hình 62 Kiến trúc các tầng trong đồ án web ..........................................................107
xv
DANH MỤC CÁC BẢNG BIỂU
Bảng 1 Bộ phận quản trị............................................................................................50
Bảng 2 Người sử dụng ..............................................................................................52
Bảng 3 Yêu cầu chức năng hệ thống .........................................................................53
Bảng 4 Use case chức năng của khách hàng .............................................................60
Bảng 5 Use case chức năng quản lý danh mục sản phẩm .........................................62
Bảng 6 Use case quản lý sản phẩm cửa hàng............................................................64
Bảng 7 Mô tả Use case quản lý khách hàng .............................................................66
Bảng 8 Use case Chức năng quản lý hóa đơn ...........................................................67
Bảng 9 Use case chức năng thống kê ........................................................................69
Bảng 10 Chức năng phần hệ thống ...........................................................................76
Bảng 11 Chức năng phía người dùng........................................................................76
Bảng 12 Chức năng phần quản trị .............................................................................77
Bảng 13 Chức năng thêm: .......................................................................................109
Bảng 14 Chức năng sửa ..........................................................................................110
Bảng 15 Chức năng xóa ..........................................................................................110
Bảng 16 Chức năng tìm kiếm thông tin ..................................................................111
xvi
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
Từ đầy đủ
1
ERD
Entity-Relationship Diagram
2
UML
Unified Modeling Language
3
MVC
Model – View – Controller
4
API
Application Programming Interface
5
REST
REpresentational State Transfer
6
JWT
JSON Web Token
7
Java EE
Java Platform, Enterprise Edition
8
JDK
Java Developement Kit
9
JSON
JavaScript Object Notation
10
ORM
Object Relational Mapping
11
JSP
Java Server Pages
12
CSDL
Cơ sở dữ liệu
STT
xvii
Chương 1: PHẦN MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
Hiện nay với sự bùng nổ của công nghệ và cuộc cách mạng công nghiệp 4.0 tạo ra
thúc đẩy nhảy vọt về sản xuất và tiêu dùng. Nhờ tác nhân đó mà thương mại điện tử bùng
nổ mạnh mẽ mà mua hàng online đang là xu thế của toàn cầu. Việc phát triển ứng dụng
quản lý bán hàng sẽ giúp cho người bán, người mua có thể bn bán, mua hàng được mọi
lúc, mọi nơi, bất cứ khi nào, tiết kiệm được chi phí thuê mặt bằng kinh doanh chỉ cần có
máy tính hoặc điện thoại smartphone kết nối Internet. Người quản trị cũng dễ dàng quản
lý các thông tin bài đăng cũng như các thông tin đơn hàng một cách nhanh chóng.
Với mong muốn góp một phần cơng sức nhỏ bé của mình trong việc giúp đỡ người
mua, người bán dễ dàng tiếp cận với hình thức mua bán online, trong phạm vi làm đồ án
tốt nghiệp này em đã quyết định lựa chọn đề tài “Xây dựng website bán linh kiện máy
tính” để trau dồi kiến thức cũng như áp dụng các kiến thức đã được học vào xây dựng lên
hệ thống.
1.2. Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học
Là sự nghiên cứu tiếp cận mạng tính thực hành để phát triển ra các sản phẩm phần
mềm hiệu quả phục vụ nhu cầu ngành Cơng nghệ thơng tin nói chung và các ngành kỹ
thuật nói riêng trong thời kỳ bùng nổ cơng nghệ như hiện nay.
Tiếp xúc với các công nghệ hiện đại, mới mẻ.
Ý nghĩa thực tiễn
Em nhận thấy việc có website thương mại sẽ giúp:
• Người quản trị: Thấy được tổng quan tất cả quá trình mua bán. Theo dõi, đưa
ra quyết định và xử lý các vấn đề phát sinh một cách kịp thời. Quản lý khách
hàng, sản phẩm, đơn hàng chặt chẽ, thuận tiện.
• Người mua hàng: Đáp ứng mua hàng qua mạng, đặt hàng dễ dàng, đem đến
cho khách hàng sự thuận tiện khi mua sắm.
18