Đặc biệt, em muốn gửilời cảm ơn đến thầy Nguyễn Hữu Nhật Minh - người đã trực tiếp hướng dẫn em trongquá trình thực hiện đồ án này.Em cũng muốn gửi lời cảm ơn đến toàn thể các bạn trong
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
Khoa Kỹ Thuật Máy Tính & Điện Tử
ĐỒ ÁN CƠ SỞ 2
Website Cửa Hàng Thiên Văn
Sinh viên thực hiện: Nguyễn Thành Trung (22NS075) Lớp: 22NS
Giảng viên hướng dẫn: TS.Nguyễn Hữu Nhật Minh
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
Khoa Kỹ Thuật Máy Tính & Điện Tử
ĐỒ ÁN CƠ SỞ 2
Website Cửa Hàng Thiên Văn
Sinh viên thực hiện: Nguyễn Thành Trung (22NS075) Lớp: 22NS
Giảng viên hướng dẫn: TS.Nguyễn Hữu Nhật Minh
Đà Nẵng, tháng 12 năm 2022
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Đ N ng, ng y……tháng……năm 2023
Giảng viên hướng dẫn
Trang 4LỜI CẢM ƠN
Trong quá trình thực hiện và hoàn thành đồ án này, em đã nhận được sự giúp đỡ vàhướng dẫn rất tận tình và hữu ích từ các thầy cô thuộc Khoa Khoa học máy tính,Trường Đại học Công Nghệ Thông Tin và Truyền Thông Việt - Hàn Em xin gửi lờicảm ơn chân thành đến các thầy cô đã cung cấp cho em những kiến thức, thông tin, tàiliệu và hướng dẫn quý báu trong suốt thời gian thực hiện đồ án Đặc biệt, em muốn gửilời cảm ơn đến thầy Nguyễn Hữu Nhật Minh - người đã trực tiếp hướng dẫn em trongquá trình thực hiện đồ án này
Em cũng muốn gửi lời cảm ơn đến toàn thể các bạn trong Ngành Công Nghệ ThôngTin, đặc biệt là các bạn cùng lớp của em, đã ủng hộ, giúp đỡ và chia sẻ kiến thức, kinhnghiệm với em trong suốt quá trình nghiên cứu và thực hiện đồ án Ngoài ra, em cũngxin cảm ơn Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Việt - Hàn đãcung cấp cho em môi trường học tập và nghiên cứu tốt nhất
Tuy nhiên, do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thực tiễn,
đề tài không tránh khỏi những sai sót Em rất mong nhận được sự thông cảm của quýthầy cô cũng như những góp ý, đánh giá và phản hồi của các thầy cô và các bạn để em
có thể tiếp tục hoàn thiện và phát triển trong các dự án nghiên cứu và thực hiện tiếptheo
Một lần nữa, em xin gửi lời cảm ơn chân thành đến tất cả các thầy cô, bạn bè và cácđối tác đã hỗ trợ và giúp đỡ em trong suốt quá trình thực hiện đồ án này
Sinh viên,Nguyễn Th nh Trung
Trang 5MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
LỜI CẢM ƠN 3
MỤC LỤC 4
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC BẢNG BIỂU 6
DANH MỤC HÌNH VẼ 7
LỜI MỞ ĐẦU 11
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 12
1 CƠ SỞ LÝ THUYẾT 12
1.1 Ngôn Ngữ PHP 12
1.1.1 PHP là gì 12
1.2.2 Lịch sử phát triển 12
1.2 JavaScript 14
1.2.1 Khái niệm 14
1.2.2 Lợi ích 14
1.3 Chart.js 15
1.3.1 Khái niệm 15
1.3.2 Lợi ích 15
1.4 Visual Studio Code 16
1.4.1 Khái niệm 16
1.4.2 Lợi ích 16
1.5 Hệ quản trị cơ sở dữ liệu 17
1.5.1 Khái quát chung 17
1.6 Bootstrap 18
1.6.1 Tìm hiểu chung 18
2 CƠ SỞ THỰC HIỆN 19
2.1 Lý do chọn đề tài 19
Trang 63 KẾT CHƯƠNG 1 19
CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 20
1 CÁC ĐỐI TƯỢNG VÀ CHỨC NĂNG 20
2 PHÂN TÍCH HỆ THỐNG 21
2.1 Yêu cầu chất lượng 21
2.2 Yêu cầu chức năng 21
2.2.1 Yêu cầu tổng quát 21
3 THIẾT KẾ HỆ THỐNG 22
3.1 Biểu đồ 22
3.1.1 Sơ đồ use-case 22
3.1.2 Sơ đồ hoạt động 23
3.1.3 Sơ đồ tuần tự 25
3.1.4 Sơ đồ chức năng hệ thống 27
3.1.5 Sơ đồ quan hệ 27
3.2 Thiết kế hệ thống 28
3.2.1 Thiết kế cơ sở dữ liệu 28
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 33
1 Giao Diện 33
2 Giao Diện Quản Trị 38
KẾT LUẬN 43
Kết Quả 43
Hướng Nghiên Cứu 43
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
HTML HyperText Markup Language
PHP Hypertext Preprocessor
MVC Mô Hình Model View Controller
DANH MỤC BẢNG BIỂU
Table 1 - Các tác nhân và miêu tả 20
Table 2 - Bảng Khách Hàng 27
Table 3 - Bảng Nhân Viên 27
Table 4 - Bảng Sản Phẩm 28
Table 5 - Bảng Chi Tiết Sản Phẩm 28
Table 6 - Bảng Danh Mục 28
Table 7 - Bảng Nhà Cung Cấp 28
Table 8 - Bảng Ảnh Sản Phẩm 29
Table 9 - Bảng Khuyến Mãi 29
Table 10 - Bảng Sản Phẩm Khuyến Mãi 29
Table 11 - Bảng Bình Luận 30
Table 12 - Bảng Hóa Đơn 30
Trang 8DANH MỤC HÌNH VẼ
Hình 1 - PHP 11
Hình 2 - JS 13
Hình 3 - Chart.js 14
Hình 4 - Visual Studio Code 15
Hình 5 - MySQL 16
Hình 6 - Bootstrap 17
Hình 7 - Sơ đô use-case 21
Hình 8 - Sơ đồ hoạt động mua hàng 22
Hình 9 - Sơ đồ hoạt động bán sản phẩm 22
Hình 10 - Sơ đồ hoạt đông quản lý sản phẩm 23
Hình 11 - Sơ đồ hoạt động quản lý sản phẩm 2 23
Hình 12 - Sơ đồ tuần tự mua hàng 24
Hình 13 - sơ đồ tuần tự xử lý mua hàng 24
Hình 14 - Sơ đồ tuần tự thêm sản phẩm 25
Hình 15 - Sơ đồ tuần tự cập nhật sản phẩm 25
Hình 16 - Sơ đồ chức năng hệ thống 26
Hình 17 - Sơ đồ quan hệ 26
Hình 18 - Giao diện trang người dùng 31
Hình 19 - Giao diện trang đăng nhập 32
Hình 20 - Giao diện trang đăng ký 33
Hình 21 - Giao diện trang tri tiết sản phẩm 34
Hình 22 - Giao diện trang giỏ hàng 35
Hình 23 - Giao diện trang thanh toán đặt hàng 36
Hình 24 - Giao diện trang chủ 37
Hình 25 - Giao diện quản lý sản phẩm 38
Hình 26 - Giao diện quản lý đơn hàng 39
Hình 27 - Giao diện quản lý giao hàng 39
Hình 28 - Giao diện quản lý danh thu 40
Hình 29 - Giao diện khuyến mãi sản phẩm 41
Trang 9LỜI MỞ ĐẦU
1 Giới thiệu
● Trong thế giới kỹ thuật số ngày nay, việc tạo ra một trang web về thiên vănkhông chỉ là một dự án công nghệ, mà còn là cửa sổ mở ra vũ trụ rộng lớn đểmọi người có thể khám phá và tìm hiểu về các hành tinh, ngôi sao, và các thiênthể khác trong không gian
● Đây không chỉ là một trang web bán các sản phẩm liên quan đến thiên văn, màcòn là một nền tảng để khám phá vũ trụ thông qua việc trực quan hóa thông tin,cung cấp kiến thức và khuyến khích tư duy sáng tạo về không gian vô tận
● Trong dự án này, em đã đặt mục tiêu xây dựng một giao diện thân thiện, đồngthời cung cấp thông tin sâu rộng về thiên văn, từ các hành tinh quen thuộc đếnnhững phát hiện mới nhất trong ngành
2 Mục tiêu, nhiệm vụ của đề tài
● Mục tiêu của đề tài là sử dụng những kiến thức từ các môn học đã học xuyênsuốt qua các kì và tạo ra cái nhìn trực quan về môi trường web
● Nhiệm vụ của đề tài là tận dụng những kiến thức đã học và đưa người dùng vàocái nhìn thú vị về thiên văn học
3 Nội dung và kế hoạch thực hiện
● Nội dung giao diện cho người dùng :
○ Xem thông tin khách hàng
○ Mua các sản phẩm của cửa hàng
○ Đăng nhập đăng ký vào trang web
● Nội dung giao diện cho người quản lý :
○ Sắp xếp xác nhận các đơn hàng cho người dùng
○ Quản lý sản phẩm, quản lý nhân viên, quản lý doanh thu, quản lý giao
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứngdụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọingười xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
12
Trang 11PHP 3.0 được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lạihoàn toàn bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họnhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mạiđiện tử PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt pháttriển PHP/FI 2.0.PHP 3.0 cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽdùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau Cho phép người dùng cóthể mở rộng theo modul Chính điều này làm cho PHP3 thành công so với PHP2 Lúcnày họ chính thức đặt tên ngắn gọn là 'PHP' ( Hypertext Preprocessor ).
PHP 4: Được công bố năm 2000 tốc độ xử lý được cải thiện rất nhiều, PHP 4.0đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tinngười sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu địađiểm đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn ngườikhác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kỹthuật cho PHP
PHP 5: Bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khádài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây là phiênbản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xácthực HTTP
PHP 6: Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản
sử dụng thử đã có thể được download tại địa chỉ snaps.php.net Phiên bản PHP 6 được
kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại
PHP 7 : Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanhgấp 2 lần Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tính năng mớigiúp cho PHP trở nên mạnh mẽ hơn Những tính năng mới quan trọng có thể kể đếnnhư:
● Khai báo dữ liệu cho biến
● Xác định kiểu dữ liệu sẽ trả về cho 1 hàm
● Thêm các toán tử mới(??, ,…)
Trang 121.2 JavaScript
1.2.1 Khái niệm
JavaScript là một ngôn ngữ lập trình phía máy khách được sử dụng để tạo racác ứng dụng web tương tác.Nó được sử dụng để thêm các tính năng tương tác vào cáctrang web, bao gồm các hiệu ứng động, kiểm soát hành vi của người dùng trên trangweb và thực hiện các yêu cầu đến máy chủ một cách bất đồng bộ JavaScript cũngđược sử dụng để phát triển các ứng dụng web đơn trang (Single Page Application -SPA), cho phép người dùng tương tác với nội dung trên trang mà không cần tải lạitrang JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới vàđược sử dụng rộng rãi trong các dự án phát triển web
và thực hiện các yêu cầu đến máy chủ một cách bất đồng bộ
● Tăng tính động: JavaScript cho phép tạo ra các ứng dụng web động, cho phépngười dùng tương tác với nội dung trên trang mà không cần tải lại trang
● Tăng tính tương thích: JavaScript là một trong những ngôn ngữ lập trình phổbiến nhất trên thế giới và được hỗ trợ trên hầu hết các trình duyệt web
● Tăng tính linh hoạt: JavaScript có thể tích hợp với các thư viện và frameworkkhác để tạo ra các ứng dụng web phức tạp hơn
14
Trang 13● Tăng tính tiện lợi: JavaScript là một ngôn ngữ lập trình dễ học và dễ sử dụng,giúp tiết kiệm thời gian.
sử dụng, cho phép bạn tùy chỉnh các biểu đồ của mình để phù hợp với nhu cầu củabạn
1.3.2 Lợi ích
Các lợi ích của Chart.js bao gồm:
● Dễ sử dụng: Chart.js là một thư viện JavaScript đơn giản và dễ sử dụng, chophép bạn tạo các biểu đồ trực quan một cách nhanh chóng và dễ dàng
● Đa dạng: Chart.js cung cấp nhiều loại biểu đồ khác nhau như biểu đồ đường,biểu đồ cột, biểu đồ tròn, biểu đồ vùng và nhiều loại biểu đồ khác
● Tính tương thích: Chart.js tương thích với nhiều trình duyệt khác nhau và cácthiết bị di động
Trang 14Hình 15 - Sơ đồ tuần tự cập nhật sản phẩm
26
Trang 153.1.4 Sơ đồ chức năng hệ thống
Hình 16 - Sơ đồ chức năng hệ thống
3.1.5 Sơ đồ quan hệ
Hình 17 - Sơ đồ quan hệ
Trang 163.2 Thiết kế hệ thống
3.2.1 Thiết kế cơ sở dữ liệu
Bảng KhachHang
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaKH Mã khách hàng Int Tự tăng, uniqueTenKH Tên khách hàng Varchar
Email Địa chỉ email Varchar Khóa chínhSDT Số điện thoại bigInt
MatKhau Mật khẩu Varchar
Table 2 - Bảng Khách H ngBảng Nhanvien
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaNV Mã nhân viên Int Tự tăng, uniqueTenNV Tên nhân viên Varchar
Email Địa chỉ email Varchar Khóa chínhSDT Số điện thoại bigInt
MatKhau Mật khẩu Varchar
Table 3 - Bảng Nhân Viên
28
Trang 17Bảng Sanpham
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaSP Mã sản phẩm Int khóa chính, tự tăngTenSP Tên sản phẩm Varchar
SoLuong Số lượng Int
Table 4 - Bảng Sản PhẩmBảng Chitietsanpham
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaSP Mã sản phẩm Int Khóa chính, khóa
ngoạiThuctai Mã Thực tại Int Khóa chính, khóa
ngoạiSoLuong Số lượng Int
Table 5 - Bảng Chi Tiết Sản PhẩmBảng Danhmuc
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaDM Mã sản phẩm Int khóa chính, tự tăngTenDM Tên danh mục Varchar
Table 6 - Bảng Danh MụcBảng NhaCC
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaNCC Mã nhà cung cấp Int khóa chính, tự tăngTenNCC Tên nhà cung cấp Varchar
Table 7 - Bảng Nh Cung Cấp
Trang 18Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaKM Mã khuyến mãi Int khóa chính, tự tăngTenKH Tên khuyến mãi Varchar
KM_PT % khuyến mãi Int
TienKM Tiền khuyến mãi Decimal
NgayBT Ngày bắt đầu Date
NgayKT Ngày kết thúc Date
Table 9 - Bảng Khuyến Mãi
Bảng SanPhamKhuyenMai
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaSP Mã sản phẩm Int khóa chính,khóa ngoạiMaKM Mã khuyến mãi Int Khóa chính, khóa ngoại
Table 10 - Bảng Sản Phẩm Khuyến Mãi
30
Trang 19Bảng BinhLuan
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaBL Mã bình luận Int khóa chính, tự tăng
chínhMaKH Mã khách hàng Int Khóa ngoại,khóa
chínhNoiDung Nội dung Varchar
ThoiGian Thời gian datetime
Table 11 - Bảng Bình Luận
Bảng HoaDon
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
MaHD Mã hóa đơn Int khóa chính, tự tăng
NgayDat Ngày đặt Datetime
NgayGiao Ngày giao Datetime
TinhTrang Tình trạng Varchar
TongTien Tổng tiền Decimal
MaNVGH Mã nhân viên giao
hàng
Int
Table 12 - Bảng Hóa ĐơnBảng ChiTietHoaDon
Thuộc tính Giải thích Kiểu dữ liệu Ghi chú
Trang 20chínhSoLuong Số lượng Int
DonGia Đơn giá Decimal
ThanhTien Thành tiền Decimal
Table 13 - Bảng Chi Tiết Hóa Đơn
DiaChiNN Địa chỉ người nhận Varchar
SDTNN Số điện thoại người
nhận
Int
Table 14 - Bảng Người Nhận
32
Trang 21CHƯƠNG 3 XÂY DỰNG HỆ THỐNG
1 Giao Diện
Dưới đây là một số giao diện mà trang web đã có
● Trang người dùng :
Trang 22● Trang đăng nhập :
34
Trang 23● Trang đăng ký :
Hình 20 - Giao diện trang đăng ký
● Trang chi tiết sản phẩm :
Trang 2436
Trang 25● Trang Giỏ Hàng :
Hình 22 - Giao diện trang giỏ h ng
Trang 26● Trang Thanh Toán Đặt Hàng :
Hình 23 - Giao diện trang thanh toán đặt h ng
38
Trang 272 Giao Diện Quản Trị
● Trang Chủ :
Hình 24 - Giao diện trang chủ
Trang 28● Quản lý sản phẩm :
Hình 25 - Giao diện quản lý sản phẩm
40
Trang 30● Doanh thu :
Hình 28 - Giao diện quản lý danh thu
42
Trang 31● Khuyến mãi :
Hình 29 - Giao diện khuyến mãi sản phẩm
Trang 32KẾT LUẬN
Kết Quả
● Giao diện người dùng :
○ Đáp ứng được các quy trình mua sản phẩm
○ Giao diện thân thiện với người dùng
○ Đánh giá phản hồi và đánh giá từ người dùng về giao diện
● Giao diện quản lý :
○ Đáp ứng được các nhu cầu quản lý tối thiểu
○ Giao diện dễ sử dụng
○ Mô tả rõ hình thức bán hàng và mua hàng giữa người mua và người bán
● Ưu điểm :
○ Đã hoàn thành các chức năng cơ bản của website
○ Giao diện đơn giản, dễ nhìn, dễ sử dụng
● Hạn chế :
○ Phương thức thanh toán trực truyến
○ Xác thực đơn hàng qua email
○ Liên kết tài khoản với bên thứ 3 như Facebook, Google
○ Phần giao diện chưa được chỉnh chu và hoàn thiện bài bản
○ Chức năng vẫn còn hơi ít
Hướng Nghiên Cứu
Với những hạn chế và tồn tại nêu trên, hướng nghiên cứu của đề tài trang web “Cửahàng thiên văn” dự kiến như sau :
● Tìm hiểu triệt để về mô hình MVC, các mô hình trang web khác , các chứcnăng khác,các framework khác như Laravel, Symfony… cũng như xây dựngmột miền riêng cho trang web
● Khai thác nguồn tri thức về công nghệ thông tin một cách triệt để và đưa ra conđường phát triển trang web như sau :
○ Tích hợp API của Google Map để phát triển chức năng định vị và nghiệp
Trang 33○ Nâng cấp và hoàn thiện giao diện người dùng, các chức năng và tính bảomật của hệ thống
● Tích hợp kiến thức thiên văn học vào quản lý thời gian:
○ Phân tích tính khả thi và hiệu quả của việc tích hợp kiến thức thiên vănhọc trong quản lý thời gian cá nhân
○ Đánh giá đóng góp và tác động của tích hợp kiến thức thiên văn học đốivới trải nghiệm người dùng