-Phát triển một website có giao diện người dùng thân thiện, dễ sử dụng và tíchhợp các tính năng phong phú như tìm kiếm sản phẩm, đặt hàng trực tuyến, thanh toán và theo dõi đơn hàng.. -
Trang 1TRUYỀN THÔNG VIỆT HÀN
KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN CƠ SỞ 2
XÂY DỰNG TRANG WEB BÁN ĐỒ
THỂ THAO
Sinh viên thực hiện: Huỳnh Kim Nam
Nguyễn Đăng Đức Huy Giảng viên hướng dẫn: ThS Võ Ngọc Đạt
Đà Nẵng, tháng 11 năm 2024
Trang 2TRUYỀN THÔNG VIỆT HÀN
KHOA KHOA HỌC MÁY TÍNH
Trang 3
Ký tên
Trang 4Em xin gửi lời cảm ơn chân thành đến tất cả những người đã đóng góp và
hỗ trợ trong quá trình thực hiện đồ án của em Đây là một cơ hội quan trọng để
em chia sẻ những kiến thức và kỹ năng mà em đã tích lũy trong suốt thời gianhọc tập Em cũng xin chân thành cảm ơn đến giảng viên hướng dẫn của em với
sự chỉ dẫn và hỗ trợ tận tâm của cô đã giúp em có những hướng phân tích vànghiên cứu trong quá trình làm đồ án của mình Em cũng xin chân thành cảm ơnban lãnh đạo nhà trường đã cho em cơ hội được học hỏi những kiến thức kinhnghiệm từ các giảng viên ưu tú để em có thêm các kiến thức trong quá trình làm
đồ án
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên đồ
án “xây dựng website bán đồ thể thao” chắc chắn sẽ không tránh khỏi nhữngthiếu sót Em rất mong nhận được sự quan tâm, thông cảm và những lời góp ýcủa quý thầy cô và các bạn để đồ án có thể hoàn thiện tốt nhất Sau cùng, em xinkính chúc các thầy cô trong Khoa Công Nghệ Thông Tin dồi dào sức khỏe, niềmtin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt lạikiến thức chothế hệ mai sau
Em xin trân trọng cảm ơn
Sinh viên Sinh viên
Huỳnh Kim Nam Nguyễn Đăng ĐứcHuy
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN i
LỜI CẢM ƠN ii
MỤC LỤC iv
DANH MỤC CÁC HÌNH ẢNH v
DANH MỤC CÁC TỪ VIẾT TẮT v
MỞ ĐẦU 1
1 Giới thiệu đề tài 1
2 Mục tiêu và nhiệm vụ nguyên cứu 1
2.1 Mục tiêu 1
2.2 Nhiệm vụ 1
3 Đối tượng, phạm vi và phương pháp tiếp cận 2
3.1 Đối Tượng 2
3.2 Phạm Vi 2
3.3 Phương Pháp Tiếp Cận 2
4 Bố cục của đề tài 3
CHƯƠNG 1 TỔNG QUAN VỀ CÔNG CỤ VÀ CÔNG NGHỆ 4
1.1 TỔNG QUAN VỀ NGÔN NGỮ PHP 4
1.1.1 Khái niệm 4
1.1.2 Ưu điểm của PHP 4
1.1.3 Nhược điểm của PHP 4
1.3 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 6
1.3.1 Giới thiệu hệ quản trị cơ sở dữ liệu 6
1.3.2 Mục đích sử dụng MySQL 6
1.4 PHẦN MỀM XAMPP 7
1.4.1 Giới thiệu 7
1.4.2 Mục đích sử dụng 7
1.4.3 Ưu điểm của XAMPP 8
1.4.4 Nhược điểm của XAMPP 8
1.5 Phần mềm Visual Studio Code 8
1.5.1 Giới thiệu 8
Trang 61.5.2 Mục đích sử dụng 9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10
2.1 PHÂN TÍCH YÊU CẦU 10
2.1.1 Yêu cầu của người dùng 10
2.1.2 Yêu cầu chức năng 10
2.1.3 Yêu cầu phi chức năng 10
2.2 THIẾT KẾ HỆ THỐNG 11
2.2.1 Các tác nhân 11
2.2.2 Biểu đồ ca sử dụng 11
2.2.1.1 Ca sử dụng mức tổng quát 11
2.2.1.2 Ca sử dụng xem sản phẩm 12
2.2.1.3 Ca sử dụng tìm kiếm sản phẩm 12
2.2.1.4 Ca sử dụng xem giỏ hàng 12
2.2.1.5 Ca sử dụng thanh toán 13
2.2.1.6 Ca sử dụng quản lý sản phẩm 13
2.2.1.7 Ca sử dụng quản lý đơn hàng 13
2.2.3 Biểu đồ lớp 13
2.2.4 Biểu đồ tuần tự 13
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG QUẢN LÝ KHÁCH SẠN 16
3.1 Giao diện phần mềm 16
3.1.1 Trang đăng nhập 16
3.1.2 Trang chủ 16
3.1.3 Chức năng thuê phòng 16
3.1.4 Chức năng trả phòng 16
3.1.5 Chức năng thêm dịch vụ 17
3.1.6 Chức năng tạo hóa đơn – Tính tiền 18
3.1.7 Chức năng quản lý phòng 21
3.1.8 Chức năng quản lý khách hàng 21
3.1.9 Chức năng quản lý dịch vụ 22
3.1.10 Chức năng quản lý – Thống kê danh thu 22
3.1.11 Trang cài đặt 23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 25
1 Kết luận 25
Trang 72 Hướng phát triển 25
TÀI LIỆU THAM KHẢO 26
Trang 8Hình 1: Biểu đồ ca sử dụng tổng quát 11
Hình 2: Biểu đồ ca sử dụng xem sản phẩm 12
Hình 3: Biều đồ ca sử dụng tìm kiếm sản phẩm 12
Hình 4: Biều đồ ca sử dụng xem giỏ hàng 12
Hình 5: Biểu đồ ca sử dụng thanh toán 13
Hình 6: Biểu đồ ca sử dụng quản lý sản phẩm 13
Hình 7: Biểu đồ ca sử dụng quản lý đơn hàng 13
Hình 8: Biều đồ trình tự cho quá trình đăng nhập 14
Hình 9: Biều đồ trình tự cho quá trình xem thông tin sản phẩm 14
Hình 10: Biều đồ trình tự cho quá trình tìm kiếm 15
Hình 11: Biểu đồ trình tự chp quá trình xem thông tin giỏ hàng 15
Hình 12 Chức năng trả phòng 17
Hình 13 Chức năng thêm dịch vụ 18
Hình 14 Chi tiết dịch vụ 18
Hình 15 Thông tin khách hàng và các dịch vụ liên quan 19
Hình 16 Chức năng thanh toán 19
Hình 17 Chức năng thanh toán online 20
Hình 18 Chức năng tạo hóa đơn 20
Hình 19 Chức năng quản lý phòng 21
Hình 20 Chức năng quản lý khách hàng 21
Hình 21 Chức năng quản lý dịch vụ 22
Hình 22 Chức năng quản lý – Thống kê doanh thu 22
Hình 23 Trang đăng nhập cài đặt 23
Hình 24 Chức năng quản lý nhân sự 23
Hình 25 Chức năng quản lý thông tin ngân hàng 24
DANH MỤC CÁC TỪ VIẾT TẮT
ST
T
Cụm từ
Viết tắt
1 Structured Query Language SQL
2 Java Virtual Machine JVM
4 Integrated Development Environment IDE
Trang 9IntelliJ IDEA IDEA
Trang 10MỞ ĐẦU
1 Giới thiệu đề tài
Mạng Internet là một trong những thành tựu vĩ đại, không chỉ làm thay đổicách chúng ta sống mà còn trở thành nền tảng thiết yếu để kết nối và trao đổi thông tintrên phạm vi toàn cầu Nhờ Internet, con người có thể thực hiện công việc với tốc độvượt trội, chi phí thấp hơn nhiều so với các phương thức truyền thống Điều này đã trởthành động lực quan trọng thúc đẩy sự ra đời và phát triển mạnh mẽ của thương mạiđiện tử, góp phần thay đổi diện mạo văn hóa, nâng cao chất lượng cuộc sống và mở ranhững cơ hội mới cho mọi lĩnh vực, đặc biệt là sản xuất và kinh doanh
Trong môi trường kinh doanh hiện đại, thương mại điện tử đã khẳng định vaitrò quan trọng trong việc xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Với cáccửa hàng, việc quảng bá và giới thiệu sản phẩm trực tuyến không chỉ là phương tiệnđáp ứng nhu cầu ngày càng cao của khách hàng mà còn là yếu tố thiết yếu để cạnhtranh và phát triển bền vững
Xuất phát từ những giá trị này và với khát vọng ứng dụng kiến thức vào thựctiễn, chúng em - những sinh viên còn đang trên giảng đường - đã tận dụng những kiếnthức nhỏ bé mà mình đã học được dưới sự hướng dẫn tận tâm của thầy cô để thiết kếmột hệ thống “Quản lý khách sạn” quy mô nhỏ Mặc dù các chức năng ban đầu cònđơn giản, chúng em sẽ cố gắng xây dựng một hệ thống đầy đủ và hiệu quả nhất có thể.Đây không chỉ là cơ hội để chúng em nâng cao kiến thức chuyên môn mà còn là cách
áp dụng lý thuyết vào thực tiễn, góp phần chuẩn bị hành trang vững chắc cho chặngđường phát triển sau này
2.1 Mục tiêu
- Xây dựng website bán đồ thể thao với mục tiêu quảng bá và bán các sản phẩmthể thao trực tuyến, góp phần nâng cao hiệu quả kinh doanh của cửa hàng Websitekhông chỉ giúp tiếp cận khách hàng nhanh chóng mà còn thu hút người tiêu dùng ghéthăm cửa hàng, tạo nền tảng để mở rộng quy mô kinh doanh trong tương lai
-Tiếp cận và áp dụng kiến thức về phát triển ứng dụng web cũng như sử dụngcác ngôn ngữ lập trình, nhằm xây dựng một hệ thống tối ưu và hiệu quả
-Phát triển một website có giao diện người dùng thân thiện, dễ sử dụng và tíchhợp các tính năng phong phú như tìm kiếm sản phẩm, đặt hàng trực tuyến, thanh toán
và theo dõi đơn hàng
-Thiết kế và triển khai một cơ sở dữ liệu linh hoạt và hiệu quả để quản lý thôngtin khách hàng, sản phẩm, đơn hàng và các hoạt động kinh doanh khác, đảm bảo vậnhành hệ thống mượt mà và bảo mật thông tin tốt nhất
2.2 Nhiệm vụ
-Tìm hiểu về ngôn ngữ lập trình PHP
-Phân tích thiết kế cơ sở dữ liệu
Trang 11-Ứng dụng kiến thức đã học để xây dựng website “Bán đồ thể thao”.
3 Đối tượng, phạm vi và phương pháp tiếp cận
3.1 Đối Tượng
Trang web bán đồ thể thao phục vụ:
- Về người bán hàng: Có một trang thông tin để quảng bá thương hiệu và mở
rộng thị trường
- Về người tiêu dùng: Cần có những thông tin sản phẩm mà mình muốn mua mà
không cần tốn nhiều công sức, thời gian đi xem
• Xác định các tính năng cần thiết như tìm kiếm sản phẩm, giỏ hàng, thanhtoán, theo dõi đơn hàng và quản lý tồn kho
+ Phân tích nhu cầu:
• Đánh giá các vấn đề mà khách hàng gặp phải khi mua sắm trực tuyến, từ
đó đưa ra giải pháp tối ưu thông qua hệ thống
• Lên danh sách ưu tiên các chức năng cốt lõi và bổ sung
- Thiết Kế
+ Giao diện người dùng (UI/UX):
• Tạo giao diện trực quan và thân thiện với người dùng, sử dụng HTML,CSS và JavaScript
• Tối ưu hóa trải nghiệm khách hàng trên cả máy tính và thiết bị di động(responsive design)
+ Thiết kế cơ sở dữ liệu:
• Sử dụng XAMPP và MYSQL để xây dựng cơ sở dữ liệu
• Lưu trữ thông tin cần thiết
- Phát Triển
+ Sử dụng PHP làm ngôn ngữ lập trình chính:
+ Phát triển các tính năng quan trọng như:
• Quản lý sản phẩm: thêm, xóa, sửa sản phẩm trong cơ sở dữ liệu
• Giỏ hàng: cho phép khách hàng thêm sản phẩm, chỉnh sửa số lượng vàthanh toán
Khoa KHMT – Huỳnh Kim Nam, 23IT172 – Nguyễn Đăng Đức Huy, 23IT104 2
Trang 12• Đăng nhập/đăng ký: cung cấp hệ thống tài khoản cho khách hàng và quảntrị viên.
• Quản lý đơn hàng: cho phép người quản trị theo dõi và xử lý đơn hàng.+ Kết nối cơ sở dữ liệu MySQL thông qua PHP MySQLi hoặc PDO
+ Kiểm tra bảo mật:
• Ngăn chặn các lỗ hổng như SQL Injection bằng cách sử dụng các câu truyvấn chuẩn hóa (prepared statements)
• Đảm bảo mã hóa mật khẩu và dữ liệu nhạy cảm của người dùng.+ Triển khai trên máy chủ cục bộ (localhost):
• Chạy thử trên môi trường XAMPP để kiểm tra hiệu năng và tính tươngthích
- Đánh Giá và Cải Tiến
+ Thu thập phản hồi từ người dùng:
• Dựa trên phản hồi, điều chỉnh các tính năng chưa tối ưu
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
- Chương 1 Tổng quan về công cụ và công nghệ Trong chương này, báocáo trình bày các khái niệm, đặc điểm, công nghệ được sử dụng để làmứng dụng
- Chương 2 Phân tích thiết kế hệ thống Nội dung chương bao gồm cáccông đoạn để thiết kế ứng dụng và giải quyết các vấn đề
- Chương 3 Xây dựng trang web bán đồ thể thao Chương này báo cáokết quả, các chức năng được cài đặt trong hệ thống
- Cuối cùng là Kết luận Tài liệu tham khảo, liên quan đến quá trình làm
đồ án
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ CÔNG CỤ VÀ CÔNG NGHỆ
1.1 TỔNG QUAN VỀ NGÔN NGỮ PHP
1.1.1 Khái niệm
Ngôn ngữ PHP là từ viết tắt của Personal Home Page (hiện nay là HypertextPreprocessor) Thuật ngữ này chỉ chuỗi ngôn ngữ kịch bản hay mã lệnh, phù hợp đểphát triển cho các ứng dụng nằm trên máy chủ
Khi viết phần mềm bằng ngôn ngữ PHP, chuỗi lệnh sẽ được xử lý trên server để
từ đó sinh ra mã HTML trên client Và dựa vào đó, các ứng dụng trên website của bạn
sẽ hoạt động một cách dễ dàng
Người ta thường sử dụng PHP trong việc xây dựng và phát triển các ứng dụngwebsite chạy trên máy chủ Mã lệnh PHP có thể nhúng được vào trang HTML bằngcách sử dụng cặp thẻ PHP
Nhờ đó, website bạn phát triển dễ dàng kết nối được với các website khác trên
hệ thống mạng internet
PHP cũng là ngôn ngữ lập trình mã nguồn mở và miễn phí PHP tương thíchvới nhiều nền tảng khác nhau như Windows, MacOS và Linux, v.v
1.1.2 Ưu điểm của PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn,mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giốngnhau
Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP, Java, Perl vàmột số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí
do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với cácgiải pháp khác
PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu
có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, vàchính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có
ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này.Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất,vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu
1.1.3 Nhược điểm của PHP
Hiệu năng không tối ưu trong các ứng dụng lớn:
PHP không phải là lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu năng caohoặc xử lý phức tạp, như hệ thống thời gian thực
Bảo mật:
Khoa KHMT – Huỳnh Kim Nam, 23IT172 – Nguyễn Đăng Đức Huy, 23IT104 4
Trang 14 Do phổ biến, PHP thường trở thành mục tiêu tấn công Nếu không được lậptrình cẩn thận, các ứng dụng PHP dễ bị lỗ hổng bảo mật như SQL Injection,XSS.
Cấu trúc mã lộn xộn (spaghetti code):
Nếu không tuân thủ các quy chuẩn lập trình, PHP dễ dẫn đến mã nguồn không
rõ ràng, khó bảo trì
Hạn chế trong thiết kế hiện đại:
So với các ngôn ngữ như Python hay JavaScript, PHP thiếu một số tính nănghiện đại (dù đã cải thiện với các phiên bản gần đây)
HTML là ngôn ngữ đánh dấu được sử dụng để cấu trúc nội dung của trang web
Nó cung cấp một loạt các thẻ (tags) giúp xác định các phần tử như văn bản, hình ảnh,liên kết, biểu mẫu, bảng, danh sách và các yếu tố khác HTML là nền tảng cơ bản đểxây dựng một trang web, cung cấp cấu trúc mà các trình duyệt web có thể hiển thị chongười dùng
1.2.2 CSS
CSS là ngôn ngữ dùng để định dạng và thiết kế giao diện của các phần tửHTML Thông qua CSS, bạn có thể thay đổi màu sắc, kiểu chữ, bố cục, kích thước vàkhoảng cách giữa các phần tử trên trang CSS giúp cải thiện tính thẩm mỹ và tính dễ
sử dụng của trang web, đồng thời đảm bảo giao diện web có thể thích ứng với nhiềukích thước màn hình khác nhau
1.2.3 JAVASCRIPT
JavaScript là ngôn ngữ lập trình phía khách hàng cho phép trang web có tínhnăng động và tương tác Nó giúp bạn xử lý sự kiện người dùng (như nhấn nút, dichuột), thay đổi nội dung trang web mà không cần tải lại, và thực hiện các tác vụ phứctạp như gửi và nhận dữ liệu từ máy chủ (AJAX) JavaScript giúp tạo ra các trang webtương tác và cải thiện trải nghiệm người dùng
1.2.4 AJAX
AJAX (Asynchronous JavaScript and XML) là một kỹ thuật phát triển web chophép các trang web tải và gửi dữ liệu từ máy chủ mà không cần phải làm mới toàn bộtrang Điều này giúp tạo ra các ứng dụng web tương tác, nhanh chóng và mượt mà, cảithiện trải nghiệm người dùng
Trang 151.3 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
1.3.1 Giới thiệu hệ quản trị cơ sở dữ liệu
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theowww mysql com) và được sử dụng phối hợp với PHP Trước khi làm việc vớiMySQL cần xác định các nhu cầu cho ứng dụng
MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phép người
sử dụng có thể thao tác các hành động liên quan đến nó Việc tìm hiểu từng công nghệtrước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP vàMySQL là một công việc cần thiết và rất quan trọng
1.3.2 Mục đích sử dụng MySQL
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage),truy cập (accessibility), tổ chức (organization) và xử lý (manipulation)
• Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này
sang cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn
cơ sở dữ liệu nhỏ như:Microsoft Excel, Microsoft Access, MySQL,Microsoft Visual FoxPro, Nếu ứng dụng có quy mô lớn, bạn có thể chọn
cơ sở dữ liệu có quy mô lớn như :Oracle, SQL Server,
• Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử
dụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữliệu với nhau, nhằm trao đổi hay xử lý dữ liệu ngay bên trong chính nó,nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nênbạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dử liệu với nhaunhư:Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệuOracle
• Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mo hình cơ sở dữ liệu, phân
tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặcđiểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải
20 tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nhằm tăng tính tối
ưu khi truy cập và xử lý
• Xử lý: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích
khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phátbiểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lý
1.3.3 Phân loại câu lệnh MySQL
- SQL DDL (Data Definition Language):
DDL là ngôn ngữ định nghĩa dữ liệu Các lệnh DDL bao gồm:
• Lệnh CREATE: Tạo một bảng, một View của bảng, hoặc đối tượng kháctrong Database
• Lệnh ALTER: Sửa đổi một đối tượng Database đang tồn tại, ví dụ như mộtbảng
Khoa KHMT – Huỳnh Kim Nam, 23IT172 – Nguyễn Đăng Đức Huy, 23IT104 6
Trang 16• Lệnh DROP: Xóa toàn bộ một bảng, một View của bảng hoặc đối tượng kháctrong một Database.
- SQL DML (Data Manipulation Language):
DML là ngôn ngữ thao tác dữ liệu Các lệnh DML bao gồm:
• Lệnh SELECT: Lấy các bản ghi cụ thể từ một hoặc nhiều bảng
• Lệnh INSERT: Tạo một bản ghi
• Lệnh UPDATE: Sửa đổi các bản ghi
• Lệnh DELETE: Xóa các bản ghi
- SQL DCL (Data Control Language):
DCL là ngôn ngữ điều khiển dữ liệu Các lệnh DCL bao gồm:
• Lệnh GRANT: Trao một quyền tới người dùng
• Lệnh REVOKE: Thu hồi quyền đã trao cho người dùng
1.4 PHẦN MỀM XAMPP
1.4.1 Giới thiệu
XAMPP là một phần mềm mã nguồn mở, miễn phí, giúp người dùng dễ dàngcài đặt và sử dụng một máy chủ web ngay trên máy tính cá nhân Tên gọi "XAMPP" làviết tắt của các thành phần chính mà phần mềm này cung cấp:
X: Cross-platform (được hỗ trợ trên nhiều hệ điều hành, như Windows,macOS, và Linux)
A: Apache (máy chủ web)
M: MySQL (hệ quản trị cơ sở dữ liệu, hiện nay thường là MariaDB)
P: PHP (ngôn ngữ lập trình phía máy chủ)
P: Perl (ngôn ngữ lập trình khác, hỗ trợ sẵn trong XAMPP)
XAMPP giúp cài đặt tất cả các thành phần này chỉ trong một gói duy nhất, rấttiện lợi cho việc phát triển ứng dụng web hoặc học lập trình web
1.4.2 Mục đích sử dụng
Mục đích chính của XAMPP là cung cấp một môi trường phát triển web đơngiản và dễ sử dụng, giúp lập trình viên có thể cài đặt và thử nghiệm ứng dụng webngay trên máy tính của mình mà không cần phải sử dụng một máy chủ trực tuyến.Những mục đích sử dụng phổ biến của XAMPP bao gồm:
Phát triển web: Lập trình viên có thể phát triển và thử nghiệm ứng dụng webtrên máy tính cá nhân mà không cần phải triển khai trên máy chủ từ xa
Học lập trình web: Dành cho những người mới học lập trình web với cáccông nghệ như PHP, MySQL và Apache
Mô phỏng môi trường máy chủ: Cung cấp một môi trường giống như mộtmáy chủ web thực sự, giúp kiểm tra và thử nghiệm các ứng dụng trước khitriển khai lên các máy chủ trực tuyến
Trang 171.4.3 Ưu điểm của XAMPP
Dưới đây là một số ưu điểm của phần mềm NetBeans:
Dễ dàng cài đặt và sử dụng: XAMPP đi kèm với một trình cài đặt đơn giản,giúp người dùng dễ dàng cài đặt và thiết lập máy chủ web trên hệ điều hànhcủa mình mà không gặp phải nhiều khó khăn
Tất cả trong một gói: XAMPP cung cấp Apache, MySQL (MariaDB), PHP
và Perl trong một gói duy nhất, giúp tiết kiệm thời gian và công sức trongviệc cài đặt các phần mềm khác nhau
Cross-platform: Hỗ trợ trên nhiều hệ điều hành như Windows, macOS vàLinux, giúp người dùng có thể sử dụng trên nhiều nền tảng khác nhau
Miễn phí và mã nguồn mở: XAMPP là phần mềm miễn phí và mã nguồn mở,
vì vậy người dùng có thể tự do sử dụng, chỉnh sửa và phân phối
Tài liệu phong phú: XAMPP có nhiều tài liệu và hướng dẫn sử dụng, giúpngười mới bắt đầu dễ dàng làm quen với công cụ này
1.4.4 Nhược điểm của XAMPP
Một số nhược điểm được liệt kê dưới đây:
Không thích hợp cho môi trường sản xuất: Mặc dù XAMPP rất tốt cho việcphát triển ứng dụng, nhưng không nên sử dụng nó cho các ứng dụng trên môitrường sản xuất (production) vì một số cấu hình mặc định có thể không đảmbảo an toàn và hiệu suất
Yêu cầu tài nguyên hệ thống: XAMPP có thể tiêu tốn tài nguyên hệ thống(CPU, RAM) khi chạy nhiều thành phần như Apache, MySQL và PHP đồngthời, điều này có thể làm giảm hiệu suất của máy tính, đặc biệt là với cácmáy tính cấu hình thấp
Thiếu tính năng bảo mật: XAMPP có thể không được cấu hình với các tínhnăng bảo mật tối ưu, điều này có thể tạo ra lỗ hổng bảo mật nếu được sửdụng trong môi trường thực tế
Khó nâng cấp: Việc nâng cấp các thành phần như PHP, MySQL, hoặcApache trong XAMPP đôi khi có thể gặp khó khăn, yêu cầu người dùng phảithay đổi cấu hình hoặc cài đặt lại
1.5 Phần mềm Visual Studio Code
1.5.1 Giới thiệu
Visual Studio Code (VSCode) là một trình soạn thảo mã nguồn mã nguồn mởmiễn phí, được phát triển bởi Microsoft Nó hỗ trợ nhiều ngôn ngữ lập trình và môitrường phát triển khác nhau, bao gồm HTML, CSS, JavaScript, Python, C++, Java,PHP, và nhiều ngôn ngữ khác thông qua các extension VSCode được thiết kế để giúplập trình viên viết mã nhanh chóng, hiệu quả và dễ dàng với nhiều tính năng mạnh mẽ
Mặc dù là một trình soạn thảo mã nguồn nhẹ, VSCode cung cấp đầy đủ các tínhnăng của một IDE (Integrated Development Environment) như tự động hoàn thành mã,
Khoa KHMT – Huỳnh Kim Nam, 23IT172 – Nguyễn Đăng Đức Huy, 23IT104 8
Trang 18gỡ lỗi, và quản lý dự án Vì vậy, VSCode rất phổ biến trong cộng đồng lập trình viên
và được sử dụng rộng rãi trong phát triển phần mềm
1.5.2 Mục đích sử dụng
VSCode được sử dụng chủ yếu để phát triển phần mềm, viết mã nguồn cho cácứng dụng web, ứng dụng di động, và các ứng dụng phần mềm khác Một số mục đích
sử dụng phổ biến của VSCode bao gồm:
Phát triển ứng dụng web: Với các tính năng như hỗ trợ HTML, CSS, JavaScript
và các framework hiện đại như React, Angular, Vue, VSCode là một công cụtuyệt vời cho việc phát triển các ứng dụng web
Phát triển phần mềm: VSCode hỗ trợ nhiều ngôn ngữ lập trình khác nhau, vìvậy nó được sử dụng trong phát triển phần mềm cho nhiều nền tảng và hệ điềuhành khác nhau
Lập trình Python và các ngôn ngữ khác: Với các extension mạnh mẽ, VSCode
có thể hỗ trợ lập trình Python, Ruby, PHP, C++, Java, và các ngôn ngữ khác,giúp người dùng dễ dàng lập trình trong môi trường đa dạng
Xử lý mã nguồn: Các lập trình viên sử dụng VSCode để chỉnh sửa và quản lý
mã nguồn của các dự án phần mềm, đặc biệt là với sự hỗ trợ mạnh mẽ của Git
và các công cụ quản lý phiên bản
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Trang 192.1 PHÂN TÍCH YÊU CẦU
2.1.1 Yêu cầu của người dùng
a) Khách hàng
- Tìm kiếm thông tin
- Sử dụng trang web dễ dàng, phần hiển thị bắt mắt thu hút, giao diện hệthống phải dễ sử dụng, trực quan, thân thiện với người dùng
- Biết được các thông tin chi tiết của sản phẩm khi bấm vào
- Chọn lọc, lưu trữ thông tin sản phẩm yêu thích
- Đánh giá sản phẩm sau khi mua
b) Quản trị viên
- Quản lý các hoạt động của trang web như đặt hàng, thêm sản phẩm, thống
kê, tài khoản người dùng,
- Giao diện trang quản lý trực quan, dễ sử dụng
2.1.2 Yêu cầu chức năng
a) Hiển thị sản phẩm
- Hiển thị đa dạng các sản phẩm, bao gồm hình ảnh, giá, tên và nút đặt hàng
- Sản phẩm phải được liệt kê rõ ràng, khi click chuột vào sẽ hiện chi tiết sảnphẩm cũng như số lượng đặt hàng
- Sản phẩm có thể được người dùng thêm vào danh sách yêu thíchb) Chức năng tìm kiếm sản phẩm
- Cho phép người cho phép người dùng có thể tìm ra những sản phẩm có nộidung đúng với từ khóa hoặc liên quan đến từ khóa
c) Chức năng đăng nhập tài khoản
- Cho phép người dùng đăng nhập tài khoản để thực hiện đánh giá bìnhluận, lưu trữ sản phẩm cũng như mua hàng
- Cho phép người dùng chỉnh sửa thông tin cá nhân như tên, email, số điệnthoại, ngày sinh
- Người dùng có thể theo giỏi trạng thái đơn hàng sau khi đặt hàngd) Chức năng quản lý website (Người quản trị)
- Thêm, sửa, xóa sản phẩm
- Quản lý các chức năng như thống kê, tình trạng đơn hàng
- Các chức năng hổ trợ khác
2.1.3 Yêu cầu phi chức năng
- Giao diện nên được tối ưu hóa để người dùng có thể tìm kiếm thông tin vàtương tác với nội dung dễ dàng
- Có khả năng hiển thị tốt trên các thiết bị khác nhau như máy tính để bàn,điện thoại di động và máy tính bảng Điều này đảm bảo rằng người dùng
có trải nghiệm tốt nhất dù họ sử dụng thiết bị nào
Khoa KHMT – Huỳnh Kim Nam, 23IT172 – Nguyễn Đăng Đức Huy, 23IT104
10