Hòa cùng với sự phát triển của tin học trên thế giới, ở Việt Nam ngành Công Nghệ Thông Tin tuy còn non trẻ nhưng tốc độ phát triển khá mạnh đã và đang dần được ứng dụng trong nhiều lĩnh
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN
Nhóm 7
Khoa: Công nghệ Thông tin
BÀI TẬP LỚN
Môn học: Java nâng cao
Đề tài: Quản lý khách sạn
Giáo viên hướng dẫn : Bùi Thị Như Nhóm sinh viên thực hiện: 1 Phạm Công Đức
2 Bùi Đình Sang
3 Phạm Ngọc Hơn
4 Chu Văn Hùng
Lớp: 72DCTT23
HÀ NỘI-2024
Trang 2 Nhiệm vụ phân công của các thành viên:
1 Phạm Công Đức
2 Bùi Đình Sang
3 Phạm Ngọc Hơn
4 Chu Văn Hùng
Trang 4LỜI MỞ ĐẦU
1 Lý do chọn đề tài
Hơn một thập kỷ qua, chúng ta đã được chứng kiến sự phát triển mạnh mẽ của khoa học công nghệ mà đặc biệt là các hệ thống nhúng đang được sử dụng ngày càng rộng rãi và dần trở thành một phần không thể thiết trong cuộc sống hang ngày của chúng ta Chính điều đó đã làm thay đổi sâu sắc trong đời sống xã hội và nhận thức của con người và là một bước tiến lớn của nhân loại với sự ra đời của các robot, máy móc Vì vậy, việc học tập và phát triển ứng dụng những thành quả của khoa học công nghệ là việc hết sức cần thiết
Các hệ thống nhúng ngày càng được ứng dụng phổ biến trong các lĩnh vực của đời sống và trở thành nhân tố chính trong cuộc “chạy đua” của các tập đoàn công nghệ toàn cầu Hễ có các thiết bị điện tử hay bất cứ thiết bị nào ta đều thấy có các phần mềm điện tử được tích hợp trên thiết bị đó
Cùng với sự phát triển chung của công nghệ thông tin trên thế giới đã và đang đóng góp phần nào vào việc giải quyết nhiều vấn đề trong cuộc sống mà lại nhiều hiệu quả đích thực và tính ứng dụng cao hơn Theo sự phát triển CNTT 4.0 hiện nay, ta có thể làm hiện đại hoá hơn qua các sản phẩm cũng như là về mọi lĩnh vực
có thể tiết kiệm thời gian lẫn sức lực của con người Hòa cùng với sự phát triển của tin học trên thế giới, ở Việt Nam ngành Công Nghệ Thông Tin tuy còn non trẻ nhưng tốc độ phát triển khá mạnh đã và đang dần được ứng dụng trong nhiều lĩnh vực của nền kinh tế, xã hội, giáo dục,… nhằm góp phần thúc đẩy sự phát triển của
xã hội
Trước những cơ sở đó, nhóm chúng em đã chọn bắt tay nghiên cứu đề tài:
“Quản lý phòng Gym” nhằm giúp cho bản thân chúng em cũng như chúng ta có thể hiểu được cách một hệ thống nhúng hoạt động cũng như thuật toán sẽ ứng dụng trong cuộc sống con người ra sao
Trang 52 Phạm vi đề tài
Phân tích, thiết kế các chức năng, tìm hiểu về thuật toán cũng như cách hoạt động của ứng dụng Java quản lý phòng Gym để sản phẩm có thể hoạt động Từ
đó hiểu được bài toán, thuật toán và áp dụng vào đời sống
3 Mục đích
- Nắm bắt được phương thức hoạt động của ứng dụng quản lý.
- Hoàn thiện tài liệu để phát triển sản phẩm.
- Phát triển, demo 1 sản phẩm để giải quyết yêu cầu của bài toán.
Trang 6CHƯƠNG I: KIẾN THỨC NỀN TẢNG
1 Trình bày về Java
Java là một ngôn ngữ lập trình và một nền tảng tích hợp, được phát triển bởi Sun Microsystems (hiện nay là một phần của Oracle Corporation) Ngôn ngữ này ra đời vào năm 1995 và nhanh chóng trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới
Java được thiết kế để có khả năng chạy trên nhiều nền tảng khác nhau mà không cần biên dịch lại, nhờ vào cơ chế "Write Once, Run Anywhere" (WORA) Điều này
có nghĩa là mã nguồn Java có thể được viết một lần và chạy trên bất kỳ thiết bị nào
hỗ trợ Java Virtual Machine (JVM), bao gồm cả máy tính cá nhân, điện thoại di động, máy tính bảng và thiết bị nhúng
Java được sử dụng rộng rãi trong các ứng dụng web, ứng dụng di động (Android), các ứng dụng máy tính cá nhân, phát triển game, hệ thống điều khiển và nhiều lĩnh vực công nghệ thông tin khác Java cung cấp một thư viện phong phú (Java Standard Edition - Java SE) và một loạt các framework và công cụ hỗ trợ phát triển, giúp các lập trình viên xây dựng các ứng dụng phức tạp một cách hiệu quả
Các phiên bản quan trọng của Java bao gồm Java 1.0 (1996), Java 2 (J2SE 1.2, 1998), Java 5 (2004), Java 7 (2011), Java 8 (2014), Java 9 (2017), Java 10 (2018), và Java 11 (2018) Mỗi phiên bản mang lại nhiều tính năng mới và cải tiến cho ngôn ngữ, từ hiệu suất đến tính bảo mật và các API mới
2 Trình bày về MySQL
SQL là viết tắt của “Struct Query Language” – là ngôn ngữ truy vấn có cấu trúc:
là ngôn ngữ theo chuẩn ANSI để định nghĩa và xử lý dữ liệu trong một cơ sở dữ liệu quan hệ Các phát biểu SQL dùng để truy tìm và cập nhật dữ liệu trong một cơ sở dữ liệu
SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ cơ sở dữ liệu
cung cấp cho người dùng bao gồm:
- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các
cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần
dữ liệu
Trang 7- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở
dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các
thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu
- Truy xuất và thao tác dữ liệu: Với SQL người dùng có thể dễ dàng thực hiện.
MySQL là một trong những hệ thống quản lý cơ sở dữ liệu (CSDL) mã nguồn
mở quan hệ SQL sử dụng trên web phổ biến nhất hiện nay
MySQL được sử dụng cho việc bổ trợ PHP và nhiều ngôn ngữ khác, là nơi lưu trữ
những thông tin trên các website viết bằng PHP
Các kiểu dữ liệu trong CSDL MySQL:
- Kiểu dữ liệu số nguyên: Int, tinyint, smallint, mediumint, bigint;
- Kiểu dữ liệu số thực:Float, double, decimail;
- Kiểu dữ liệu date và time: Date, datetime, timestamp, time, year;
- Kiểu dữ liệu chuỗi: Char, varchar, blob or text, tinyblob or tinytext,
mediumblob or mediumtext, longblol or longtext, enum
Ưu điểm:
- Là mã nguồn mở hoàn toàn miễn phí;
- Là một chương trình rất mạnh mẽ;
- Sử dụng form chuẩn của ngôn ngữ dữ liệu SQL;
- Làm việc được trên nhiều hệ điều hành cùng với nhiều ngôn ngữ phổ biến như:
PHP, PERL,C, C++, Java,…
- Làm việc nhanh và khỏe ngay cả với tệp dữ liệu lớn;
- Rất thân thiện với PHP, một ngôn ngữ dùng để phát triển web.
3 Các công cụ sử dụng
* Ứng dụng Xampp
Trang 8 Xampp là một ứng dụng phần mềm khá nổi tiếng và thường hay được các lập
trình viên sử dụng để xây dựng và phát triển các dựa án website ngôn ngữ PHP
Xampp được cài đặt và chạy trực tiếp trong môi trường Windows.
Xampp là một công cụ tích hợp đầy đủ các thành bao gồm:
Apache: Là một chương trình máy chủ, dùng để giao tiếp với các giao thức
HTTP Apache chạy tốt trên mọi hệ điều hành
MySql: Là hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ thông tin của một
website Mỗi website có thể sử dụng một hoặc nhiều cơ sở dữ liệu
PHP: Là ngôn ngữ kịch bản trên phía Server, dùng để xử lý các thao tác của
người dùng Và làm việc trực tiếp với cơ sở dữ liệu (Database)
Perl: Là một tầng cao hơn, một ngôn ngữ lập trình năng động hơn Sử dụng
rộng rãi trong lập trình mạng và quản trị hệ thống Ít phổ biến cho mục đích phát triển web, Perl thích hợp với rất nhiều ứng dụng
* Ứng dụng IDE NetBeans 20
- NetBeans 20 là một môi trường phát triển tích hợp (IDE) được sử dụng rộng rãi bởi các lập trình viên để phát triển ứng dụng trên nhiều nền tảng, bao gồm Java, PHP, C/C++, và HTML5
- Phiên bản NetBeans 20 là phiên bản mới nhất của IDE này, với nhiều cải tiến
và tính năng mới nhằm nâng cao trải nghiệm phát triển cho người dùng
- Tính năng và cải tiến của NetBeans 20:
a Hỗ trợ đa ngôn ngữ: NetBeans 20 tiếp tục cung cấp hỗ trợ cho nhiều ngôn ngữ lập trình như Java, PHP, C/C++, và HTML5, giúp lập trình viên phát triển các loại ứng dụng đa dạng
b Tích hợp mạnh mẽ: NetBeans 20 đi kèm với các công cụ tích hợp như trình biên tập mã nguồn, trình gỡ lỗi, quản lý phiên bản và các công cụ kiểm thử và triển khai, giúp lập trình viên tối ưu hóa quy trình phát triển
c Hỗ trợ Java EE: NetBeans 20 cung cấp một loạt các công cụ và mẫu để phát triển ứng dụng Java Enterprise Edition (Java EE), bao gồm hỗ trợ cho Servlets, JSP, EJB, JSF, JPA, và Web Services
Trang 9d Tích hợp Maven và Ant: NetBeans 20 hỗ trợ tích hợp với các công cụ quản lý dự
án như Apache Maven và Apache Ant, giúp tự động hóa quy trình phát triển và triển khai ứng dụng
e Tích hợp Git và SVN: NetBeans 20 tích hợp sẵn với các hệ thống quản lý phiên bản như Git và Subversion (SVN), giúp lập trình viên quản lý mã nguồn dễ dàng
- Lợi ích và ứng dụng của NetBeans 20:
+ NetBeans 20 mang lại một môi trường phát triển web đầy đủ và tiện ích, giúp lập trình viên tập trung vào việc phát triển ứng dụng một cách hiệu quả và linh hoạt + Với tính linh hoạt và đa dạng của các tính năng và công cụ, NetBeans 20 được sử dụng rộng rãi trong cộng đồng lập trình viên để phát triển ứng dụng web và ứng dụng desktop trên nhiều nền tảng khác nhau
Trang 10CHƯƠNG II: XÁC ĐỊNH CHỨC NĂNG
1 Xác định tác nhân
- Quản lý (Admin): người có toàn bộ quyền hạn: thêm, sửa , xóa và bảo trì, vận
hành ứng dụng,…
- Nhân viên: người có thể thực hiện các chức năng mà admin giao phó
2 Xác định chức năng
Quản lý (Admin) - Đăng nhập/Đăng xuất
- Quản lý thông tin:
+ Quản lý tài khoản + Quản lý khách hàng + Quản lý nhân viên + Quản lý chức vụ
- Phòng:
+ Quản lý phòng
+ Quản lý đặt phòng + Quản lý loại phòng + Quản lý phiếu đăng kí -Hóa đơn:
+ Quản lý hóa đơn + Thống kê
Nhân viên - Đăng nhập/Đăng xuất
- Phòng:
+ Quản lý phòng
+ Quản lý đặt phòng + Quản lý loại phòng + Quản lý phiếu đăng kí -Hóa đơn:
+ Quản lý hóa đơn + Thống kê
Trang 11CHƯƠNG III: CƠ SỞ DỮ LIỆU
1 dbo.DangNhap: Lưu trữ thông tin tài khoản
Id Varchar(10) Đánh số ID cho tài
khoản TenDangNhap Varchar(30) Tên đăng nhập
MatKhau Varchar(20) Mật khẩu Quyen Bit Phân quyền người dùng
2 dbo.NhanVien: Lưu trữ thông tin nhân viên
viên
nhân viên
3 tbl_class: Lưu trữ thông tin lớp tập
lớp tập
Trang 124 tbl_tool: Lưu trữ thông tin dụng cụ
dụng cụ
5 khachhang: Lưu trữ thông tin khách hàng
hàng
Trang 13CHƯƠNG IV: GIAO DIỆN ỨNG DỤNG
1 Giao diện đăng nhập
2 Giao diện Trang chủ
Trang 143 Giao diện Quản lý nhân viên
4 Giao diện Quản lý khách hàng
5 Giao diện Quản lý tài khoản
6 Giao diện Quản lý chức vụ
Trang 157 Giao diện Quản lý phòng
8 Giao diện Quản lý hóa đơn
Trang 169 Giao diện Quản lý thống kê
Trang 17ĐÁNH GIÁ
1 Những công việc làm được
Sau khi hoàn thành bài tập lớn hệ thống đã đạt được các tính năng đáp ứng được
nhu cầu của người dùng Xây dựng hệ thống bao gồm các chức năng: quản lý nhân
viên (tìm kiếm, thêm, sửa, xóa), quản lý lớp tập (tìm kiếm, thêm, sửa, xóa), quản lý dụng cụ (tìm kiếm, thêm, sửa, xóa), quản lý khách hàng (tìm kiếm, thêm, sửa, xóa) Thiết kế giao diện ứng dụng thân thiện, dễ sử dụng tích hợp cho laptop Thiết kế được mô hình cơ sở dữ liệu, giao diện thân thiện, dễ sử dụng cho người dùng
2 Hạn chế
Giao diện chưa tích hợp cho mobile, chưa tích hợp đăng nhập thông qua các tài khoản mạng xã hội, thời gian thực hiện còn hạn hẹp, chưa liên kết chặt chẽ, nghiệp
vụ chưa rõ ràng
Trang 18TÀI LIỆU THAM KHẢO
1 Giáo trình môn Java nâng cao trường Đại học Công nghệ GTVT