Đặ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
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 để emcó 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 51.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
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
HTML HyperText Markup Language
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 8Hì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, đồng
thờ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 ● Kế hoạch thực hiện :
○ Nghiên cứu và thu thập kiến thức về thiên văn học và công nghệ pháttriển website.
○ Thiết kế giao diện người dùng cho trang web theo mô hình mvc cho cảngười dùng và người quản lý
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1 CƠ SỞ LÝ THUYẾT
1.1 Ngôn Ngữ PHP1.1.1 PHP là gì
PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữlập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụngviết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụngweb, tốc độ nhanh, nhỏ gọn, cú pháp giống C và java, dễ học và thời gian xây dựngsản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trởthành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Hình 1 - PHP
1.2.2 Lịch sử phát triển
Ngôn ngữ lập trình PHP là một trong các ngôn ngữ lập trình web được biết đếnnhiều nhất ngày nay PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FIdo Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giảncủa các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ôngtrên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khicần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để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ảnsử dụng thử đã có thể được download tại địa chỉ snaps.php.net Phiên bản PHP 6 đượckỳ 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 JavaScript1.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.
● 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.
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ống3.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 VarcharTable 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óangoại
Thuctai Mã Thực tại Int Khóa chính, khóangoại
SoLuong Số lượng IntTable 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 IntTienKM Tiền khuyến mãi DecimalNgayBT Ngày bắt đầu DateNgayKT 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
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 DatetimeNgayGiao Ngày giao DatetimeTinhTrang Tình trạng VarcharTongTien Tổng tiền DecimalMaNVGH Mã nhân viên giao
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á DecimalThanhTien Thành tiền Decimal
Table 13 - Bảng Chi Tiết Hóa Đơn
DiaChiNN Địa chỉ người nhận VarcharSDTNN Số điện thoại người
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ệpvụ giao hàng.
○ Tích hợp khung chat để hổ trợ trực tuyến khách hàng khi cần biết nhữngthông tin không rõ trên website
○ Tích hợp an toàn thông tin , để bảo mật trang web cũng như người dùng○ Khắc phục các điểm hạn chế ở trên
○ Xây dựng thêm một số chức năng như thanh toán qua thẻ và hỗ trợ thanhtoán trực tuyến
44
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.
Trang 34TÀI LIỆU THAM KHẢO
[1] Phạm Nguyễn Văn (2009), Giáo trình PHP, Trường ĐH Sư Phạm Kỹ Thuật.[2] Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, HannesMagnusson, Georg Richter, Damien Seguy, Jakub Vrana và nhiều người khác.PHP manual Bản quyền thuồc về PHP Documentation Group
[3] Xây dựng ứng dụng web bằng PHP và My SQL - Phạm Hữu Khang, HoàngĐức Hải chủ biên; Phương Lan hiệu đính (2006)
[4] Lập trình cơ sở dữ liệu mysql Nhà xuất bản lao động – xã hội,2000
[5] Bài giảng Phân tích và thiết kế hệ thống thông tin quản lý PGS.TS ĐặngMinh Ất
[6]Các trang web, diễn đàn:http://www.phpvn.orghttp://www.ddth.comhttp://sinhvienit.nethttp://3c.com.vnhttp://javascriptbank.com
https://getbootstrap.com/docs/4.4/getting-started/introduction/https://3hundred.vn/collections/shoes
46