BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN MÔN HỌC PHÁT TRIỂN PHẦN MỀM MÃ NGUỒN MỞ WEBSITE BÁN ĐỒ ĐIỆN TỬ Ngành CÔNG NGHỆ THÔNG TIN Chuyên ngành CÔNG NGHỆ PH[.]
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC PHÁT TRIỂN PHẦN MỀM MÃ NGUỒN MỞ
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG 1 TỔNG QUAN 5
1.1 Tổng quan 5
1.1.1 Mục đích 5
1.1.2 Ưu và nhược điểm 5
1.2 Nhiệm vụ đồ án 5
1.2.1 Đối tượng 5
1.2.2 Phạm vi 5
1.2.2.1 Thông tin tổng quan 5
1.2.2.2 Mục tiêu 5
1.2.2.3 Lợi ích mang lại 6
1.2.2.4 Các bước để thực hiện 6
1.3 Cấu trúc đồ án 6
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 7
2.1 Các khái niệm và cơ chế hoạt động 7
2.1.1 Tổng quan về Apache Http Server 7
2.1.2 Tổng quan về MySQL 9
2.1.3 Tổng quan về Microsoft Visual code 10
2.2.1 Yêu cầu chức năng 10
2.2.2 Yêu cầu về công nghệ 12
2.2.4 Yêu cầu về khả năng phát triển 12
2.2 Cơ sở dữ liệu 12
2.3 Sơ đồ UseCase Diagram: 16
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 18
Trang 33.1 Các thành phần chức năng của hệ thống 18
3.2 Giao diện của hệ thống 19
3.2.1 Trang chủ 19
3.2.2 Trang Sản phẩm 19
3.2.3 Trang Giỏ hàng 20
3.2.4 Trang Đơn hàng 21
3.2.5 Trang Thông tin 21
3.2.6 Trang Yêu thích 22
3.2.7 Trang Liên hệ 22
3.2.9 Trang Đăng nhập Admin 23
3.2.10 Trang Admin 23
3.2.11 Trang Quản lý Danh mục sản phẩm 24
3.2.12 Trang Quản lý Thương hiệu sản phẩm 24
3.2.13 Trang Quản lý Sản phẩm 25
3.2.14 Trang Quản lý yêu cầu tư vấn 26
3.2.15 Trang Quản lý Slider 26
3.2.16 Trang Đơn hàng 27
CHƯƠNG 4 KẾT LUẬN 28
4.1 Kết quả đạt được 28
4.2 Đánh giá website 28
4.2.1 Ưu điểm 28
4.2.2 Nhược điểm 28
4.3 Hướng phát triển và mở rộng đề tài 28
TÀI LIỆU THAM KHẢO 29
Trang 4LỜI MỞ ĐẦU
Mã nguồn mở ra đời là một bước ngoặt lớn trong sự phát triển của ứng dụng công nghệ thông tin Ngày nay, các ứng dụng mã nguồn mở đã và đang trở thành một phong trào phát triển cực kỳ mạnh mẽ, có ứng dụng thực tế trong nhiều lĩnh vực khác nhau như kinh tế, an ninh, quốc phòng, học tập của sinh viên… Có thể nói trong tương lai mã nguồn mở sẽ phát triển hơn nữa và dần thay thế mã nguồn đóng
Ngoài ra phần mềm mã nguồn mở là những phần mềm miễn phí kể cả các phiên bản nâng cấp trong toàn bộ vòng đời sử dụng sản phẩm Do đó giảm chi phí đáng kể cho việc phát triển phần mềm để đáp ứng theo yêu cầu nghiệp vụ… Apache, PHP, MySQL là các phần của chương trình phần mềm mã nguồn mở Phần mềm này là sự hợp tác của những lập trình viên có đầu óc Bằng việc thay đổi trên những mã nguồn có sẵn, các lập trình viên trên thế giới tiếp tục hoàn thiện và phát triền nó ngày càng trở nên mạnh hơn và hiệu quả hơn Sự đóng góp của những người này được đưa ra công khai cho người khác sử dụng mã nguồn, tạo ra các phần mềm nổi tiếng trên thế giới
Xuất phát từ những lí do trên chúng em đã thực hiện đề tài “Website Bán đồ điện tử” liên quan tới phần mềm mã nguồn mở
Với sự hướng dẫn tận tình của GV Trịnh Đồng Thạch Trúc chúng em đã hoàn thành đề tài “Website Bán đồ điện tử” Tuy đã cố gắng hết sức tìm hiểu và phân tích thiết
kế, cũng như xây dựng hệ thống nhưng chắc chắn rằng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm cũng như góp ý của thầy
Chúng em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Nhật Lâm Nguyễn Võ Minh Khang Đào Tấn Phát
Trần Mai Anh Khoa
Trang 5CHƯƠNG 1 TỔNG QUAN
1.1 Tổng quan
1.1.1 Mục đích
Xây dựng một website bán đồ điện tử nhằm mục đích cho khách hàng, người dùng
có thể thuận tiện trong việc mua hàng online mà không cần đến tận cửa hàng Việc tạo ra website như vậy nhằm đáp ứng nhu cầu mua hàng của khách hàng một cách dễ dàng nhất
1.1.2 Ưu và nhược điểm
• Ưu điểm:
− Mang thương hiệu đến rộng rãi nhiều khách hàng hơn
− Gia tăng lợi thế cạnh tranh với các đối thủ
− Tìm kiếm và gia số tăng lượng khách hàng tiềm năng
− Tăng doanh thu bán hàng
• Nhược điểm:
− Tốn chi phí cho các thiết bị quản lí website
− Chi phí cho nhân sự thiết kế, xây dựng website
1.2.2.1 Thông tin tổng quan
− Đơn vị sử dụng: Cửa hàng K_Shop
− Tên dự án: Website Bán đồ điện tử
1.2.2.2 Mục tiêu
− Thể hiện được website có giao diện ấn tượng, hấp dẫn, hình ảnh chất lượng, sắc nét
Trang 6− Tích hợp đầy đủ các tính năng đặc trưng
1.2.2.3 Lợi ích mang lại
• Chương 1: Tổng quan, giới thiệu ngắn gọn về đề tài là website bán đồ điện tử
• Chương 2: Cơ sở lý thuyết, các khái niệm về công nghệ, phần mềm sử dụng cho website
• Chương 3: Kết quả thực nghiệm, các công việc thực nghiệm đã tiến hành và kết quả đạt được
• Chương 4: Kết luận và kiến nghị, kết lại khẳng định những kết quả đạt được và hướng phát triển cho website
Trang 7CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Các khái niệm và cơ chế hoạt động
2.1.1 Tổng quan về Apache Http Server
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (tiếng Anh: World Wide Web)
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn
mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm
1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang webServer Apache ban đầu đã là một sự thành công lớn, nhưng họ cho rằng mã ban đầu cần phải được kiểm tra kỹ lưỡng và thiết kế lại Trong suốt tháng 5 năm và tháng 6 năm 1995, Robert Thau đã thiết kế một kiến trúc server mới (mã được đặt tên là Shambhala) nó bao gồm một cấu trúc module và API cho việc mở rộng được tốt hơn
Theo đánh giá của Netcraft (http://www.netcraft.com/survey/) chỉ ra rằng ngày nay Apache được sử dụng một cách rộng rãi hơn so với tất cả các web server đã được tổng hợp
Trang 8Cấu hình apache:
+ File cấu hình chính là httpd.conf nằm trong thư mục {apache_dir} \conf Trong file này có thể chứa các khai báo include đến những file cấu hình khác
o Là khoảng trắng
o Là chú thích (bắt đầu bằng ký tự #)
dòng “Include conf/extra/httpd-manual.conf” trong file cấu hình chính (httpd.conf) và restart lại Apache
đặt (mặc định) cùng với Apache Có thể truy cập vào tài liệu này thông qua
thể khai báo nhiều lần
động Nên
dùng tự viết
tính qua DNS thì khai báo này bắt buộc phải có
bản trả về cho client
hệ thống gán lên thư mục này đối với account dùng để chạy Apache
định nghĩa quy tắc ứng xử của Apache đối với từng thư mục
Trang 9o VirtualHost: Là khai báo khối, dùng để định nghĩa các web server ảo theo tên trên một máy tính duy nhất
2.1.2 Tổng quan về MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell Net Ware, SGIIrix, solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,
+ MySQL là một hệ thống client/server bao gồm một SQL server đa luồng cho phép hỗ trợ nhiều thiết bị đầu cuối khác nhau, một vài chương trình client khác nhau và các thư viện, các công cụ quản trị và một vài giao diện lập trình
thể kết nối trong ứng dụng của ta để đạt tới một sản phẩm nhỏ hơn, nhanh hơn,
dễ dàng quản lý hơn
Trang 10+ Điều này thật sự thuận tiện cho ta trong việc tìm ứng dụng yêu thích của ta hoặc ngôn ngữ hỗ trợ MySQL
2.1.3 Tổng quan về Microsoft Visual code
Visual Studio Code là một trình biên tập mã được phát triển bởi Microsoft dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nó cũng cho phép tùy chỉnh, do đó, người dùng có thể thay đổi theme, phím tắt, và các tùy chọn khác
Nó miễn phí và là phần mềm mã nguồn mở theo giấy phép MIT,[4] mặc dù bản phát hành của Microsoft là theo giấy phép phần mềm miễn phí
Visual Studio Code được dựa trên Electron, một nền tảng được sử dụng để triển khai các ứng dụng Node.js máy tính cá nhân chạy trên động cơ bố trí Blink Mặc dù nó sử dụng nền tảng Electron[6] nhưng phần mềm này không phải là một bản khác của Atom, nó thực ra được dựa trên trình biên tập của Visual Studio Online (tên mã là "Monaco") Trong cuộc khảo sát vào năm 2018 trên Stack Overflow, Visual Studio Code được xếp hạng là trình biên tập mã phổ biến nhất, với 34.9% của 75398 người trả lời tuyên bố
sử dụng nó.2.2 Xác định yêu cầu
2.2.1 Yêu cầu chức năng
Website bán đồ điện tử gồm 2 phần chính:
• Phần người dùng gồm các trang chính:
− Trang Home: Chứa một vài sản phẩm điện tử
− Trang Liên hệ: Giới thiệu về website và có thể liên hệ với admin trang web
− Trang Yêu thích: Thông tin về các mặt hàng người dùng đã thêm vào yêu thích
− Trang Sản phẩm: Người dùng có thể xem các sản phẩm của trang web
Trang 11− Trang Đơn hàng: Trang này để người dùng có thể xem các đơn đã đặt mua vào thời gian nào, đã được đã được xác chưa
− Trang Thông tin: Người dùng có thể xem thông tin của mình và chỉnh sữa thông tin
− Trang So sánh: Người dùng có thể so sánh giữa các mặt hàng
− Trang Danh Mục: Xem chi tiết các mặt hàng hiện có của website
• Phần người quản trị: Xây dựng các trang quản lý thông tin
− Trang Thay đổi mật khẩu
− Trang Đơn hàng
− Trang website
− Trang Danh mục sản phẩm
+ Trang thêm danh mục
+ Trang danh sách danh mục
+ Trang chỉnh sửa danh mục
+ Trang xác nhận xóa danh mục
+ Trang Tìm kiếm danh mục
− Thương hiệu sản phẩm
+ Trang thương hiệu
+ Trang danh sách thương hiệu
+ Trang chỉnh sửa thương hiệu
+ Trang xác nhận xóa thương hiệu
+ Trang Tìm kiếm thương hiệu
+ Trang quản lý kho hàng
− Trang quản lý slider
Trang 12+ Thêm slider
+ Trang xác nhận thông tin muốn xóa
2.2.2 Yêu cầu về công nghệ
• Xây dựng website trên nền tảng Visual Studio Code bằng Html, Css, Js, Php
• Hệ quản trị cơ sở dữ liệu sử dụng là MySQL
• Giải pháp công nghệ phải mang lại sự thành công, nghĩa là hệ thống phải hoạt động tốt, đáp ứng được mục đích đề ra
• Giải pháp công nghệ lựa chọn phải đảm bảo hệ thống hoạt động với tính ổn định, liên tục, lâu dài và có tính bảo mật cao
2.2.4 Yêu cầu về khả năng phát triển
• Website dễ dàng nâng cấp mở rộng các chức năng mới nhằm phục vụ cho sự nhu cầu mua sắm của khách hàng
• Sơ đồ phân tích thiết kế rõ ràng
2.2 Cơ sở dữ liệu
Hình 2.1 Bảng cơ sở dữ liệu 2.2.1 Cấu trúc bảng Admin
Trang 13Hình 2.2 Bảng cấu trúc Admin 2.2.2 Cấu trúc bảng Brand
Hình 2.3 Bảng cấu trúc Brand
2.2.3 Cấu trúc bảng Cart
Hình 2.4 Bảng cấu trúc Cart 2.2.4 Cấu trúc bảng Category
Hình 2.5 Bảng cấu trúc Category 2.2.5 Cấu trúc bảng Compare
Trang 14Hình 2.6 Bảng cấu trúc Compare 2.2.6 Cấu trúc bảng Customer
Hình 2.7 Bảng cấu trúc Customer
2.2.7 Cấu trúc bảng Order
Hình 2.8 Bảng cấu trúc Order 2.2.8 Cấu trúc bảng Product
Trang 15Hình 2.9 Bảng cấu trúc Product 2.2.9 Cấu Trúc bảng Slider
Hình 2.10 Bảng cấu trúc Slider
2.2.10 Cấu trúc bảng Werehouse
Hình 2.11 Bảng cấu trúc Werehouse 2.2.11 `Cấu trúc bảng Wishlist
Trang 16Hình 2.12 Bảng cấu trúc Wishlist
2.3 Sơ đồ UseCase Diagram:
2.3.1 Tổng quan:
2.3.1 User:
Trang 172.3.1 Admin:
Trang 18CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM
3.1 Các thành phần chức năng của hệ thống
• Chức năng dành cho khách hàng: Khách hàng đăng nhập để thao tác trên trang của khách hàng:
− Xem sản phẩm
− Xem thông tin đơn hàng
− Xem thông tin của khách hàng
+ Hiện thông tin khách đã đặt hàng
+ Xử lí đơn đặt hàng, tìm kiếm đơn đặt hàng
− Quản lí danh mục:
+ Hiển thị thông tin danh mục
+ Thêm, sửa, xóa, tìm kiếm thông tin của danh mục
− Quản lí thương hiệu sản phẩm:
+ Hiển thị thông tin thương hiệu sản phẩm
+ Thêm, sửa, xóa, tìm kiếm thông tin của thương hiệu sản phẩm
− Quản lí sản phẩm:
+ Hiển thị thông tin sản phẩm
+ Thêm, sửa, xóa, tìm kiếm thông tin của sản phẩm
− Quản lí yêu cầu tư vấn:
+ Tìm kiếm yêu cầu tư vấn
+ Xóa thông tin yêu cầu tư vấn
− Quản lí kho hàng:
+ Xem thông tin kho hàng
− Quản lí slider:
Trang 19+ Tắt, xóa, sửa silder
3.2 Giao diện của hệ thống
3.2.1 Trang chủ
Hình 3.1 Trang chủ
Đây là trang hiển thị đầu tiên khi khách hàng truy cập vào Store website Tại đây trang sẽ thể hiện các sản phẩm mới nhất và khách hàng có thể truy cập đến các trang khác bao gồm:
Trang 20Hình 3.2 Trang Sản phẩm
Khi khách hàng click vào Trang sản phẩm sẽ chuyển đến các sản phẩm Tại đây trang sẽ chứa tất cả thông tin sản phẩm của các mặt hàng và khách hàng có thể lựa chọn những sản phẩm ưng ý
3.2.3 Trang Giỏ hàng
Hình 3.3 Trang Giỏ hàng
Trang 21Khi khách hàng click vào giỏ hàng sẽ chuyển đến trang giỏ hàng Tại đây khách hàng có thể xem thông tin sản phẩm, giá sản phẩm và có thể update số lượng cũng như có thể xóa sản phẩm và mua sản phẩm
3.2.4 Trang Đơn hàng
Hình 3.4 Trang Đơn hàng
Khi khách hàng click vào Đơn hàng sẽ chuyển đến trang Đơn hàng Tại đây sẽ chi tiết của bạn đã đặt hàng Nếu khách hàng click vào checkout thì chuyển đến phần thanh toán đơn hàng
3.2.5 Trang Thông tin
Hình 3.5 Trang thông tin
Trang 22Khi khách hàng click vào Thông tin sẽ chuyển đến trang Thông tin của khách hàng Tại đây khách hàng có thể xem thông tin của mình và có thể update lại thông tin của mình
3.2.6 Trang Yêu thích
Hình 3.6 Trang Yêu thích
Khi khách hàng click vào Yêu thích sẽ chuyển đến trang Yêu thích Tại đây khách hàng có thể xem sản phẩm mà khách hàng đã thêm vào yêu thích Khách hàng có thể xóa sản phẩm yêu thích hoặc mua hàng ngay
3.2.7 Trang Liên hệ
Hình 3.7 Trang Liên hệ