BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
ĐỒ ÁN MÔN PHÁT TRIỂN PHẦN MỀM MÃ NGUỒN MỞ
WEBSITE BÁN ĐIỆN THOẠI
CÔNG NGHỆ THÔNG TIN
Ngành:
Chuyên ngành:
CÔNG NGHỆ PHẦN MỀM
Giảng viên hướng dẫn:
Nguyễn Hữu Trung
Sinh viên thực hiện:
Họ Tên
Mã số sinh viên
Hồ Khánh Duy
1916061001
Nguyễn Thanh Duy
1915061001
Doan Chí Hạo
1915061005
Trương Huỳnh Anh Thơng
1916060002
TP. Hồ Chí Minh, 06/2022
LỜI CAM ĐOAN
Nhóm em xin cam đoan báo cáo này là nghiên cứu của tập thể nhóm em, được thực hiện
dưới sự hướng dẫn của Thầy ThS. Nguyễn Hữu Trung. Các số liệu, những kết luận nghiên
cứu được chúng em trình bày trong bài báo cáo này là hồn tồn trung thực. Ngồi ra, trong
bài báo cáo có sử dụng một số nguồn tài liệu tham khảo trên internet đã được trích dẫn
nguồn rõ ràng. Chúng em xin hồn tồn chịu trách nhiệm về lời cam đoan này !
TP.HCM, Ngày 30 Tháng 06 Năm 2022
Sinh viên thực hiện
Hồ Khánh Duy
Trương Huỳnh Anh Thơng
Doan Chí Hạo
Nguyễn Thanh Duy
1
LỜI CẢM ƠN
Lời đầu tiên, nhóm Amazing chúng em xin phép cảm ơn trường Đại Học Công Nghệ
TP.HCM – HUTECH, đã tạo điều kiện tốt nhất và hỗ trợ cho nhóm em và các bạn sinh
viên một mơi trường học tập an toàn, đảm bảo kiến thức qua khoảng thời gian khó khăn và
phức tạp do dịch bệnh vừa qua.
Tiếp đến, nhóm em cũng cảm ơn thầy ThS. Nguyễn Hữu Trung, chịu trách nhiệm
hướng dẫn lớp em trong học phần Phát Triển Phần Mềm Mã Nguồn Mở. Học phần này là
một trong bốn học phần quan trọng trong chuyên nghành Công Nghệ Phần Mềm của
nghành Công Nghệ Thông Tin. Đây là học phần mà khơng chỉ riêng nhóm chúng em, mà
có lẽ tất cả các bạn sinh viên khác cũng cảm thấy khá khó khăn vì khối lượng kiến thức
mới mẻ và quan trọng. Tuy nhiên, với sự hướng dẫn tận tình của thầy ThS. Nguyễn Hữu
Trung nhóm em đã có thể tự nghiên cứu và phát triển phần mềm bằng ngơn ngữ lập trình
PHP tự tin hơn.
Chúng em xin chân thành cảm ơn !
2
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
TP.HCM, ngày
tháng
năm 2022
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
ThS. Nguyễn Hữu Trung
3
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN .................................................................. 7
1.1 Giới thiệu đề tài ..........................................................................................................7
1.2 Mô tả nghiệp vụ ..........................................................................................................7
1.3 Mục tiêu đề tài ............................................................................................................7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...................................................... 8
2.1 Khái niệm ...................................................................................................................8
2.1.1 Phần mềm mã nguồn mở......................................................................................8
2.1.2 Các loại giấy phép ................................................................................................8
2.2 Tổng quan ...................................................................................................................9
2.2.1 Visual Studio code ...............................................................................................9
2.2.2 PHP ....................................................................................................................11
2.2.3 XAMPP ..............................................................................................................12
2.2.4 MySQL ...............................................................................................................14
CHƯƠNG 3: THIẾT KẾ & TỔ CHỨC CƠ SỞ DỮ LIỆU ............. 16
3.1 Sơ đồ Erd ..................................................................................................................16
3.2 Sơ đồ Use Case .........................................................................................................16
CHƯƠNG 4: KẾT QUẢ ...................................................................... 19
4.1 Kết quả đạt được .......................................................................................................19
4.2 Giao diện trang web..................................................................................................19
4.2.1 Users ...................................................................................................................19
4.2.2 Admin .................................................................................................................23
4.3 Đánh giá ứng dụng ...................................................................................................25
4.3.1 Ưu điểm ..............................................................................................................25
4.3.2 Nhược điểm ........................................................................................................25
CHƯƠNG 5: TÀI LIỆU THAM KHẢO ............................................ 26
4
DANH SÁCH HÌNH ẢNH
Hình 1: Visual Studio Code...............................................................................................9
Hình 2: PHP......................................................................................................................11
Hình 3: XAMPP ...............................................................................................................12
Hình 4: MySQL ................................................................................................................14
Hình 5: Sơ đồ ERD ..........................................................................................................16
Hình 6: Quy trình Login .................................................................................................16
Hình 7: Log Out ...............................................................................................................17
Hình 8: Chức năng quản lý nhân viên ...........................................................................17
Hình 9: Chức năng thống kê ...........................................................................................18
Hình 10: Giao diên trang chủ .........................................................................................19
Hình 11: Giao diện thể loại .............................................................................................20
Hình 12: Giao diện chi tiết sản phẩm .............................................................................20
Hình 13: Giao diện đăng nhập ........................................................................................21
Hình 14: Giao diện đăng ký ............................................................................................21
Hình 15: Giao diện giỏ hàng ...........................................................................................22
Hình 16: Giao diện profile ...............................................................................................22
Hình 17: Giao diện trang chủ- trang quản trị ...............................................................23
Hình 18: Giao diện quản lý tài khoản ............................................................................23
Hình 19: Giao diện quản lý sản phẩm............................................................................24
Hình 20: Giao diện quản lý .............................................................................................24
Hình 21: Form thêm tài khoản .......................................................................................25
5
LỜI MỞ ĐẦU
Hiện nay, Việt Nam chúng ta đang trong quá trình đổi mới kỹ thuật số. Nhu cầu sử
dụng các sản phẩm cơng nghệ và số hố mơi trường doanh nghiệp đang là một trong những
ưu tiên hàng đầu. Tiêu biểu như các phần mềm như MobileApp, Website, phần mềm nghiệp
vụ,… đều hỗ trợ rất nhiều cho các doanh nghiệp trong quá trình vận hành và giao tiếp với
khách hàng.
Riêng về Website, đây là một trong những sản phẩm công nghệ vô cùng quan trọng
và chủ chốt đối với các doanh nghiệp. Website hiện nay có thể hỗ trợ cho doanh nghiệp
các vấn đề như: giao tiếp với khách hàng,marketing sản phẩm, thương mại điện tử, thống
kê,..
Tuy nhiên, tình trạng thị trường Website hiện nay còn khá nhiều vấn đề về mặt chất
lượng, chưa đáp ứng được về các tiêu chí kỹ thuật như SEO, front-end chưa thân thiện với
người dùng.
Vì thế nhóm Amazing chúng em quyết định chọn đề tài là thiết kế Website, để có thể có
khả năng giải quyết các vấn đề trên và góp phần đóng góp vào sự phát triển thị trường
Website và nghành Công Nghệ Thông Tin ở nước nhà.
6
CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu đề tài
Ở thời đại công nghệ 4.0 phát triển như vũ bão, việc số hoá ở tất cả các lĩnh vực là một
điều tất yếu. Với nhu cầu kinh doanh và phát triển, bán hàng là một trong những bài toán
chưa bao giờ là dễ dàng.
Nhưng nhờ sự có mặt của Website, việc bán hàng cũng đã ngày càng dễ thở hơn.
Website thương mại điện tử giúp cho doanh nghiệp marketing sản phẩm, thông báo các
chương trình khuyến mãi, tiết kiệm chi phí vận chuyển và thống kê được trực quan và
chính xác hơn.
Với những lý do được nêu trên nên nhóm chúng em đã quyết định chọn đề tài thiết kế và
xây dựng Website bán điện thoại để hồn thành đồ án mơn học này. Qua Website, nhóm
chúng em mong muốn sẽ mang lại những lợi ích thiết thực cho người dùng khi sử dụng
Website.
1.2 Mơ tả nghiệp vụ
Với người dùng, có thể xem danh sách sản phẩm, có thể mua hàng, tra cứu thông tin
sản phẩm một cách trực quan và dễ sử dụng.
Hệ thống hỗ trợ người quản trị các tính năng đăng ký thành viên mới, đăng nhập, thêmxóa-sửa sản phẩm, thêm-xóa-sửa thành viên, thêm-xóa-sửa các danh mục, thanh tốn,
thống kê.
1.3 Mục tiêu đề tài
Website bán điện thoại do nhóm chúng em xây dựng hướng đến đối tượng là người có
nhu cầu ứng dụng và sử dụng cơng nghệ thơng tin vào website.
7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Khái niệm
2.1.1 Phần mềm mã nguồn mở
Phần mềm mã nguồn mở là phần mềm được xây dựng và phát hành ra thị trường
với toàn bộ thông tin về source code và các tài liệu đặc tả liên quan. Nó cho phép mọi
người có thể sử dụng tự do và kế thừa, phát triển.Bằng cách sửa đổi cẩu trúc source
code.
Để có thể phát hành ra thị trường thì phần mềm phải có một giấy phép Open
Source Initiative. Đối với giấy phép này, phần mềm cho phép người dùng tự do phân
phối và phát triển phần mềm dưới dạng mặc định hoặc đã thay đổi.
Lợi ích:
− Sao chép, sử dụng hồn tồn miễn phí.
− Mơ tả trực quan toàn bộ cấu trúc.
− Khả năng nâng cấp tốt.
− Cộng đồng sử dụng đông đảo.
− Phát triển vô cùng mạnh mẽ và hợp xu thế.
Nhược điểm:
− Khả năng bảo mật cịn nhiều hạn chế.
− Khơng có nhiều nét riêng và tính chuyên nghiệp.
− Mất thời gian khi nâng cấp, khi khơng thể hiểu rõ hết tồn bộ source
code.
2.1.2 Các loại giấy phép
Các loại giấy phép mã nguồn mở phổ biến hiện nay
−
Giấy phép Apache license 2.0.
−
Giấy phép MIT License.
−
Mozilla Public License 2.0 (MPL)
−
Giấy phép GNU General Public License (GPL)
−
BSD 3-Clause “New” or “Revised” license.
−
BSD 2-Clause “Simplified” or “FreeBSD” license.
8
2.2 Tổng quan
2.2.1 Visual Studio code
Hình 1: Visual Studio Code
Visual Studio Code (VS Code hay VSC) là một trong những trình soạn thảo mã
nguồn phổ biến nhất được sử dụng bởi các lập trình viên. Nhanh, nhẹ, hỗ trợ đa nền tảng,
nhiều tính năng và là mã nguồn mở chính là những ưu điểm vượt trội khiến VS Code ngày
càng được ứng dụng rộng rãi.
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting,
tự hồn thành mã thông minh, snippets, và cải tiến mã nguồn. Nhờ tính năng tùy chỉnh,
Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn
khác.
Hỗ trợ nhiều ngơn ngữ lập trình
9
Visual Studio Code hỗ trợ nhiều ngơn ngữ lập trình như C/C++, C#, F#, Visual
Basic, HTML, CSS, JavaScript, … Vì vậy, nó dễ dàng phát hiện và đưa ra thơng báo nếu
chương trình có lỗi.
Hỗ trợ đa nền tảng
Các IDE viết code thông thường chỉ hỗ trợ riêng lẻ cho các hê điều hành Windows,
Linux hoặc MacOS. Nhưng Visual Studio Code có thể hoạt động tốt trên cả ba nền tảng
trên.
Hỗ trợ web
Visual Studio Code hỗ trợ nhiều ứng dụng web. Ngồi ra, nó cũng có một trình soạn
thảo chun dụng dành cho công viêc thiết kế website.
Hỗ trợ viết code
Một số đoạn code có thể thay đổi chút ít để thuận tiện hơn. Visual Studio Code sẽ
đề xuất cho lập trình viên các tùy chọn thay thế nếu có.
Màn hình đa nhiệm
Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục mặc
dù chúng không hề liên quan với nhau.
10
2.2.2 PHP
Hình 2: PHP
PHP là viết tắt của cụm từ Personal Home Page nay đã được chuyển
thành Hypertext Preprocessor. Hiểu đơn giản thì PHP là một ngơn ngữ lập trình kịch
bản (scripting language) đa mục đích. PHP được dùng phổ biến cho việc phát triển các ứng
dụng web chạy trên máy chủ. Dó đó, ngơn ngữ lập trình PHP có thể xử lý các chức năng
từ phía server để sinh ra mã HTML trên client như thu thập dữ liệu biểu mẫu, sửa đổi cơ
sở dữ liệu, quản lý file trên server hay các hoạt động khác.
Hiện nay rất phổ biến việc sử dụng mã nguồn mở để nhúng vào trong HTML nhờ
sử dụng cặp thẻ PHP <?php?>. PHP khi áp dụng trong việc tối ưu hóa cho các ứng dụng
web đã đem lại những hiệu quả cao như nhanh, tiện lợi, ít lỗi mà cấu trúc tương tự như
Java hay C. Ngoài ra, PHP cũng được coi là một ngôn ngữ khá dễ học và thành thạo hơn
so với các ngơn ngữ khác. Vì vậy đây là lý do mà PHP ngày càng được áp dụng nhiều và
trở thành ngơn ngữ lập trình phổ biến nhất.
Ngơn ngữ lập trình PHP có thể được sử dụng trên nhiều hệ điều hành khác nhau bao
gồm Windows, Mac OS và Linux (Ubuntu, Linux Mint...). Phiên bản đầu tiên của PHP
được viết bởi Rasmus Lerdorf và cho ra mắt vào năm 1994. Hiện nay, PHP đang là một
trong những ngôn ngữ phổ biến hàng đầu được dùng trong lập trình web.
11
Ưu điểm:
− Sử dụng mã nguồn mở
− Có tính cộng đồng cao
− Hệ thống thư viện phong phú
− Tính bảo mật
Nhược điểm:
Cấu trúc ngữ pháp chính là vấn đề mà một người dùng tiếp xúc với ngôn ngữ này.
PHP không được đẹp mắt và gọn gàng như các loại ngôn ngữ lập trình khác và chỉ hoạt
động được trên các ứng dụng web.
2.2.3 XAMPP
Hình 3: XAMPP
XAMPP là một phần mềm cho phép giả lập môi trường server hosting ngay trên
máy tính của bạn, cho phép bạn chạy demo website mà khơng cần phải mua hosting hay
VPS. Chính vì vậy, XAMPP hay được phục vụ cho hoạt động học tập giảng dạy thực hành
và phát triển web.
XAMPP được viết tắt của X + Apache + MySQL + PHP + Perl vì nó được tích hợp
sẵn Apache, MySQL, PHP, FTP server, Mail Server. Còn X thể hiện cho sự đa nềnn tảng
12
của XAMPP vì nó có thể dùng được cho 4 hệ điều hành khác nhau: Windows, MacOS,
Linux và Solaris.
Ưu điểm:
− Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform,
Windows, MacOS, Linux.
− Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập
Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost.
− Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache,
PHP, MySql. Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ
mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh.
− Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng
luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ
theo thời gian phù hợp nhất.
Nhược điểm:
− Do cấu hình khá đơn giản cho nên Xampp hồn tồn khơng nhận được sự hỗ
trợ về cấu hình module, đồng thời cũng khơng có cả MySQL.
− Dung lượng tương đối nặng (141Mb).
− Khơng có nhiều phiên bản cho từng thành phần của server như PHP, Apache
mà phải cài đặt riêng.
13
2.2.4 MySQL
Hình 4: MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS)
hoạt động theo mơ hình client-server. Với RDBMS là viết tắt của Relational Database
Management System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông
qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL
cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được
phát hành từ thập niên 90s.
Ưu điểm:
− Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và 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.
− Độ 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 khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.
− Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ
quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
− Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế
nữa nó có thể được mở rộng nếu cần thiết.
− Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất
hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
14
Nhược điểm:
− Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tất cả và nó đi kèm với các
hạn chế về chức năng mà một vào ứng dụng có thể cần.
− Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham
khảo, các giao dịch, kiểm tốn,…) làm cho nó kém tin cậy hơn so với một số hệ
quản trị cơ sở dữ liệu quan hệ khác.
− Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu
của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng
tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo
cache MySQL.
15
CHƯƠNG 3: THIẾT KẾ & TỔ CHỨC CƠ SỞ DỮ LIỆU
3.1 Sơ đồ Erd
Hình 5: Sơ đồ ERD
3.2 Sơ đồ Use Case
Hình 6: Quy trình Login
16
Hình 7: Log Out
Hình 8: Chức năng quản lý nhân viên
17
Hình 9: Chức năng thống kê
18
CHƯƠNG 4: KẾT QUẢ
4.1 Kết quả đạt được
Xây dựng website bán điện thoại không chỉ là việc xây dựng đơn thuần mà địi hỏi
trước đó phải tiến hành một cách có hệ thống các giai đoạn khảo sát, phân tích thiết kế.
Đứng trước xu thế phát triển của công nghệ thơng tin như hiện nay thì việc xây dựng
một website là điều thiết yếu và mang tính thực tế cao. Qua việc nghiên cứu xây dựng đề
tài này, chúng em cịn nhiều khuyết điểm trong q trình tìm hiểu một ngơn ngữ lập trình
mới nhưng chúng em đã phần nào củng cố được các kiến thức về lập trình và nắm được
cách làm thế nào đề xây dựng được một website. Từ đó, chúng em có thể xây dựng một số
website: Website đặt thức ăn thức uống,….
4.2 Giao diện trang web
4.2.1 Users
Hình 10: Giao diên trang chủ
19
Hình 11: Giao diện thể loại
Hình 12: Giao diện chi tiết sản phẩm
20
Hình 13: Giao diện đăng nhập
Hình 14: Giao diện đăng ký
21
Hình 15: Giao diện giỏ hàng
Hình 16: Giao diện profile
22
4.2.2 Admin
Hình 17: Giao diện trang chủ- trang quản trị
Hình 18: Giao diện quản lý tài khoản
23
Hình 19: Giao diện quản lý sản phẩm
Hình 20: Giao diện quản lý
24