Với đề tài này, em mong muốn áp dụng các kiến thức đã được học trong trường cùng với việc tìm hiểu nghiên cứu ngôn ngữ và môi trường lập trình để xây dựng một ứng dụng quản lý đặt phòng
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
KHOA CÔNG NGHỆ THÔNG TIN
Hà Nội, ngày 23 tháng 02 năm 2024
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3
NỘI DUNG 4
CHƯƠNG I : GIỚI THIỆU CƠ SỞ LÝ THUYẾT 4
1 Mục đích 4
2 Phạm vi 4
3 Đối tượng sử dụng: 4
4 Công nghệ sử dụng: 4
CHƯƠNG II : CÀI ĐẶT VÀ TRIỂN KHAI 5
1 Cài đặt môi trườngpháttriển 5
2 Triển khai ứng dụng: 5
CHƯƠNG III: MÔ TẢ NGHIỆP VỤ 5
1 Yêucầuchungđối với chương trình 5
1.1 Yêu cầu chức năng: 5
1.2 Yêucầuphichức năng: 6
2 Tổngquanchức năng của chương trình 6
2.1 Sơ đồ chức năng của chương trình 6
2.2 Tác nhân adminvới đối với hệ thống: 8
CHƯƠNG IV: GIAO DIỆN HỆ THỐNG 9
1 Giao diện đăng nhập 9
2 Giao diệntrangchủ: 9
CHƯƠNG V: BIỂU ĐỒ HOẠT ĐỘNG 10
1 Biểu đồ đăng nhập 10
2 Biểu đồ hoạt động “Quản lý khách hàng” 10
CHƯƠNG VI XÂY: DỰNG SƠ DỒ LỚP 14
1 Lớp “Phong” 14
2 Lớp “ThoiGianThuePhong” 15
3 Lớp Nguoi “ ” 15
4 Lớp KhachHang “ ” 17
5 Lớp NhanVien “ ” 17
6 Lớp KhachSan “ ” 18
7 Lớp “ThongKe” 19
8 Một số điểm chú ý 19
CHƯƠNG VII: KẾT QUẢ 20
KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
Trang 3
LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển của khoa học công nghệ, các ứng dụng tin học đang là một phần không thể thiếu trong cuộc sống con người ,nó góp phần đẩy mạnh công nghiệp hóa hiện đại hóa đất nước Máy tính cùng với những phần mềm
là công cụ đắc lực giúp ta quản lý, tổ chức, sắp xếp và xử lý công việc một cách nhanh chóng và chính xác
Ở Việt Nam hiện nay, máy tính điện tử đặc biệt là máy vi tính trong nhiều năm qua đã được sử dụng rộng rãi Sự phát triển của công nghệ phần mềm, phần cứng đã đưa chúng ta từng bước tiếp cận với công nghệ thông tin trong mọi lĩnh vực nhằm đáp ứng những nhu cầu của con người Một trong số đó là việc đưa tin học vào ứng dụng để quản lý rất hữu ích vì chúng ta bỏ ra ít thời gian mà lại thu được hiệu quả cao, chính xác và tiện lợi
Quản lý khách sạn là một trong những công việc tương đối phức tạp, tốn nhiều thời gian và công sức Chính vì vậy, tin học hóa trong lĩnh vực quản lí khách sạn là một yêu cầu tất yếu Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phải đảm bảo được độ bảo mật cao, dễ sử dụng và nhiều tiện ích Đề tài là một yêu cầu thiết thực trong quản lý của hầu hết các khách sạn đang hoạt độnghiện nay
Từ lâu bài toàn về quản lý đã được ứng dụng rộng rãi trong hầu hết các lịch vực Hiểu được tầm quan trọng của môn học cùng với các kiến thức đã tích lũy được
trong suốt học kỳ em xin lựa chọn đề tài “Ứng dụng quản lý đặt phòng khách sạn”
Trang 4Với đề tài này, em mong muốn áp dụng các kiến thức đã được học trong trường cùng với việc tìm hiểu nghiên cứu ngôn ngữ và môi trường lập trình để xây dựng một ứng dụng quản lý đặt phòng khách sạn được hiệu quả.
NỘI DUNG CHƯƠNG I : GIỚI THIỆU CƠ SỞ LÝ THUYẾT
1 Mục đích:
- Bài tập lớn “Ứng dụng quản lý đặt phòng khách sạn” được thực hiện với mục
đích xây dựng một ứng dụng quản lý đặt phòng khách sạn hiện đại , hiệu quả,
dễ sử dụng, tiết kiệm thời gian cho người dùng Đồng thời, bài tập lớn cũng giúp sinh viên nắm chắc kiến thức về lập trình hướng đối tượng và ngôn ngữ Java
2 Phạm vi:
- Phạm vi của bài tập lớn bao gồm việc xây dựng quản lý đặt phòng khách sạn trên nền tảng ngôn ngữ Java, hỗ trợ quản lý thông tin khách hàng, thông tin phòng Ứng dụng này hướng tới đối tượng người dùng là quản trị viên
3 Đố i tư ng sử dụng: ợ
- Đối tượng sử dụng chính của quản lý khách sạn là quản trị viên (admin) Quản trị có quyền truy cập vào toàn bộ hệ thống, quản lý thông tin của khách hàng, của phòng thêm, sửa, xóa, đặt phòng, trả phòng
4 Công ngh s dệ ử ụng:
- Apache NetBeans IDE là một môi trường phát triển tích hợp (IDE) mã nguồn
mở mạnh mẽ và đa nền tảng, được phát triển bởi cộng đồng Apache NetBeans cung cấp một loạt các công cụ và tính năng để hỗ trợ quá trình phát triển phần mềm, bao gồm biên tập mã, gỡ lỗi, quản lý dự án, kiểm thử và triển khai
Trang 5- Với giao diện trực quan và dễ sử dụng, NetBeans là sự lựa chọn phổ biến cho các nhà phát triển ứng dụng Java, C/C++, PHP và nhiều ngôn ngữ lập trình khác Nó cung cấp tích hợp với nền tảng Git và hỗ trợ cho việc phát triển ứng dụng đa nền tảng, cho phép bạn xây dựng ứng dụng chạy trên nhiều hệ điều hành và môi trường khác nhau
- NetBeans IDE là một công cụ linh hoạt và mạnh mẽ cho việc phát triển phần mềm, đồng thời được hỗ trợ và duy trì bởi cộng đồng nguồn mở rộng lớn
CHƯƠNG II : CÀI ĐẶT VÀ TRIỂN KHAI
1 Cài t môi đặ trường phát triển:
- Cài đặt Apache Netbeans IDE 20
2 Tri n khai ể ứng d ng: ụ
- Tạo cấu trúc thư mục dự án theo cấu trúc gói (package) và lớp (class) đãthiết
kế
- Tạo các lớp (class) viết mã code cho các chức năng
- Triển khai giao diện người dùng cho các chức năng liên quan nội dung đề tài
- Thêm các sự kiện, xử lý sự kiện cho các thành phần giao diện
CHƯƠNG III: MÔ TẢ NGHIỆP VỤ
1 Yêu c u chung i v i ầ đố ớ chương trình:
Ứng dụng quản lý đặt phòng khách sạn cần cung cấp một giao diện đơn giản trực quan để quản lý thông tin liên quan đến phòng và khách hàng Hệ thống cho phép quản trị viên (admin) thực hiện các công việc sau
Trang 6- Đăng nhập vào hệ thống để truy cập các chức năng quản lý
- Thêm, sửa, xóa thông tin phòng, khách hàng
- Tìm kiếm thông tin khách hàng
- Đặt phòng cho khách hàng
- Trả phòng cho khách hàng
- Thống kê phòng và doanh thu
1.2 Yêu c u phi ầ chứ năng: c
- Giao diện thân thiện: Hệ thống phải có giao diện người dùng thân thiện,
dễ sử dụng để người dùng có thể sử dụng một cách thuận tiện và nhanh chóng
- Đáp ứng nhu cầu của người sử dụng: Hệ thống cần đáp ứng nhu cầu của người sử dụng bao gồm các chức năng và tính năng cần thiết để quản lý thông tin phòng và khách hàng
- Bảo mật thông tin: Hệ thống cần đảm bảo tính bảo mật thông tin để bảo
vệ thông tin khách hàng và tránh những trường hợp mất mát dữ liệu
- Hiệu suất cao: Hệ thống cần có hiệu suất cao để xử lý nhanh các yêu cầu của người dùng đảm bảo tính ổn định
2 Tổng quan chứ năng ủ chươngc c a trình:
2.1 Sơ đồ chứ năng c a c ủ chương trình:
Mô tả sơ đồ chức năng:
Trang 7- Đăng nhập: Người quản trị đăng nhập vào hệ thống bằng tài khoản đăng nhập
- Quản khách hàng: lý
• Thêm thông tin khách hàng
• Cập nhật lại thông tin khách hàng
• Lưu thông tin khách hàng
• Tìm kiếm thông tin khách hàng
• Xóa thông tin khách hàng khỏi danh sách
Trang 82.2 Tác nhân admin v i i v i h ớ đố ớ ệ thống:
Trang 9CHƯƠNG IV: GIAO DIỆN HỆ THỐNG
1 Giao diệ đăng nhập:n
2 Giao diện trang chủ:
Trang 10CHƯƠNG V: BIỂU ĐỒ HOẠT ĐỘNG
1 Biểu đồ hoạt động “Đăng nhập”
2. Biểu đồ hoạt động “Quản lý khách hàng”
2.1 Biểu dồ hoạt động “Thêm khách hàng”
Trang 112.2 Biểu đồ hoạt động “Sửa khách hàng”
Trang 122.3 Biểu đồ hoạt động “Xóa khách hàng”
Trang 132.4 Biểu đồ hoạt động “Tìm kiếm khách hàng”
Trang 14CHƯƠNG VI: XÂY DỰNG SƠ ĐỒ LỚP
1 Lớp “Phong”
Phong
- tenPhong: String
- giaThue: double
+ Phong(tenPhong: String, giaThue: double, thoiGianThue:
+ getTenPhong(): String
+ setTenPhong(tenPhong: String): void
+ getGiaThue(): double
+ setGiaThue(giaThue: double): void
+ getThoiGianThue(): int setThoiGianThue(thoiGianThue: int): void +
Trang 15• Đây là lớp đại diện cho thông tin về một phòng trong khách sạn
• Lớp Phong chứa một đối tượng thuộc lớp ThoiGianThuePhong, điều này cho phép lưu trữ thông tin về thời gian thuê của phòng
• Lớp Phong cũng chứa một đối tượng thuộc lớp Nguoi, có nghĩa là mỗi đối tượng Phong có một đối tượng Nguoi đi kèm để lưu thông tin về người đang thuê phòng đó
2. Lớp “ThoiGianThuePhong”
• Đây là một lớp đại diện cho thông tin về thời gian thuê phòng
• Lớp Phong chứa một đối tượng thuộc lớp ThoiGianThuePhong, có nghĩa là mỗi đối tượng Phong có một đối tượng
ThoiGianThuePhong đi kèm để lưu thông tin về thời gian thuê
Trang 16• Đây là lớp cơ sở đại diện cho thông tin về một người
• Lớp Nguoi có mối quan hệ kế thừa với lớp Phong, có nghĩa là lớp Nguoi là một lớp con của lớp Phong Điều này cho phép kế thừa các thuộc tính và phương thức từ lớp Phong
• Lớp Nguoi cũng có mối quan hệ kế thừa với lớp KhachHang, có nghĩa là lớp Nguoi là lớp cha của lớp KhachHang Điều này cho phép lớp KhachHang kế thừa các thuộc tính và phương thức từ lớp Nguoi
• Lớp Nguoi cũng có mối quan hệ kế thừa với lớp NhanVien, có nghĩa là lớp Nguoi là lớp cha của lớp NhanVien Điều này cho phép lớp NhanVien kế thừa các thuộc tính và phương thức từ lớp Nguoi
+ Nguoi(Ten: String, soDienThoai: String, soCCCD: String, diaChi: String, tenPhong: String, giaThue: double, thoiGianThuint)
Trang 174. Lớp “KhachHang ”
• Đây là lớp đại diện cho thông tin về một khách hàng
• Lớp KhachHang có mối quan hệ kế thừa với lớp Nguoi, điều này cho phép kế thừa các thuộc tính và phương thức từ lớp Nguoi
• Lớp KhachHang cũng chứa một đối tượng thuộc lớp Phong, có nghĩa là mỗi đối tượng KhachHang có một đối tượng Phong đi kèm để lưu thông tin về phòng mà khách hàng đang thuê
NhanVien
- chucVu: String
+ NhanVien(Ten : String, soDienThoai : String, soCCCD : StridiaChi : String, tenPhong : String, giaThue : double, thoiGianThint, chucVu : String)
+ getChucVu() : String
setChucVu(chucVu : String) +
Trang 18• Đây là lớp đại diện cho thông tin về một nhân viên
• Lớp NhanVien có mối quan hệ kế thừa với lớp Nguoi, điều này cho phép kế thừa các thuộc tính và phương thức từ lớp Nguoi
6. Lớp “KhachSan”
• Đây là lớp đại diện cho thông tin về một khách sạn
• Lớp KhachSan chứa một đối tượng thuộc lớp KhachHang, có nghĩa là mỗi đối tượng KhachSan có một đối tượng KhachHang đi kèm để lưu thông tin về khách hàng đang ở trong khách sạn
KhachSan
Trang 197. Lớp “ThongKe ”
• Lớp Thongke là một lớp độc lập trong sơ đồ và chứa các phương thức và thuộc tính liên quan đến việc thống kê dữ liệu trong hệ thống
• Lớp ThongKe đại diện cho các chức năng liên quan đến thống kê
và hiển thị kết quả thống kê Nó chứa một phương thức
initComponents() để khởi tạo giao diện và một phương thức thayFontChuArea() để thay đổi kích thước chữ trong khu vực hiển thị
8. Một số điểm chú ý
• Lớp Phong chứa một đối tượng thuộc lớp ThoiGianThuePhong để lưu trữ thông tin về thời gian thuê phòng và một đối tượng thuộc lớp Nguoi để lưu trữ thông tin về người đang thuê phòng
• Lớp Nguoi là lớp cha của lớp KhachHang và lớp NhanVien, cho phép kế thừa các thuộc tính và phương thức
• Lớp KhachHang chứa một đối tượng thuộc lớp Phong để lưu trữ thông tin về phòng khách hàng đang thuê
• Lớp NhanVien là một lớp con của lớp Nguoi
• Lớp KhachSan chứa một đối tượng thuộc lớp KhachHang để lưu trữ thông tin về khách hàng đang ở trong khách sạn
ThongKe
+ ThongKe(thongKeResult: String)
+ initComponents(thongKeResult: String): void
+ thayFontChuArea(size: int): void
Trang 20CHƯƠNG VII: KẾT QUẢ
- Thiết kế giao diện đơn giản, các chức năng thân thiện và dễ dàng sử dụng
- Ứng dụng mới chỉ có những chức năng cơ bản cho quản trị viên: chức năng thêm, sửa, xóa, tìm kiếm, thống kê và lưu thông tin của khách hàng
- Chương trình hoạt động không xảy ra lỗi, đáp ứng tốt các yêu cầu cơ bản
KẾT LUẬN
Do chưa có nhiều kinh nghiệm nên ứng dụng của em còn có nhiều hạn chế và thiếu sót Tuy nhiên, em dự định phát triển nhiều tính năng mới khác trong tương lai như chức năng: Quản lý phòng, Quản lý Nhân viên, Quản lý dịch vụ, Chức năng thanh toán,
Trang 21TÀI LIỆU THAM KHẢO
1 https://www.youtube.com/watch?v=xfOp0izFnu0&list=PLyxSzL3F748401hW FgJ8gKMnN6MM8QQ7F
2 https://stackoverflow.com/
3 https://giasutinhoc.vn/lap-trinh/lap-trinh-java-co-ban/doc- -ghi-va
file-trong- java-bai-5-2/
4 https://www.academia.edu/32457137/X%C3%A2y_d%E1%BB%B1ng_ph%E
1%BA%A7n_m%E1%BB%81m_Qu%E1%BA%A3n_l%C3%BD_th
%C6%B
0_vi%E1%BB%87n_B%C3%A1o_c%C3%A1o_BTL_PTTK_H%E1%BB%8 7_Th%E1%BB%91ng_Th%C3%B4ng_Tin
5 https://viettuts.vn/java/tinh- -thua-trong-javake
6 ChatGpt