Phần mềm quản lý khách sạn từng được đánh giá 9 điểm, cho ngôn ngữ lập trình java của trường đại học công nghiệp hà nội, chạy trên phần mềm netbean, tài liệu bao gồm file doc và file code cho các bạn tham khảo và làm theo, chúc các bạn thành công
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO HỌC PHẦN LẬP TRÌNH JAVA
Tên đề tài: PHẦN MỀM QUẢN LÝ KHÁCH SẠN
Giảng viên hướng dẫn: TS NGÔ VĂN BÌNH
Nhóm sinh viên thực hiện:
Nguyễn Trọng Tuyển Bùi Chiến Thắng Khuất Quang Ngọc Trần Thị Hoan
Hà Nội, tháng 06 năm
Trang 2Quá trình thống kê, kiểm tra phòng ,tình trạng phòng dễ dàng thuận tiệncho việc đặt phòng Qua đây gia tăng khách hàng thân thiết và thu hút đượcnhiều khách hàng
Trang 3Chương 2 Kết quả nghiên cứu
2.1Giới thiệu
Tên bài toán sẽ xây dựng: phần mềm quản lý khách sạn
2.2Khảo sát hệ thống
2.2.1 Khảo sát sơ bộ
2.2.1.1 Địa điểm khảo sát
Bình An hotel số 12- Võ Nhai - Thái nguyên
2.2.1.2 Lịch trình khảo sát
Tìm hiểu cơ cấu quản lý khách sạn
Thu thập thông tin về nhân viên, khách hàng và các dịch vụ của khách sạn
2.2.1.3 Cơ cấu quản lý khách sạn hiện tại
Hệ thống sử dụng truyền thống trên giấy tờ ghi chép, chưa sử dụng hệ thốngquản lý bằng phần mềm
Nhược điểm:
- Khách hàng không thể đặt phòng online qua mạng internet
- Hê thống quản lý được ghi chép trên giấy có thể gây thất thoát thông tin, khi
có nhiều thông tin dữ liệu khó bảo quản được dữ liệu
- Thống kê hoàn toàn bằng thủ công gây lãng phí thời gian, có thể xảy ra sai sóttính toán trong lúc thống kê
- Khó tìm kiếm thông tin khách hàng và các thông tin khác khi có yêu cầu
Trang 4 Hệ thống lỗi thời, không còn hiệu quả.
Để phục vụ cho quá trình quản lý hoạt động kinh doanh của khách sạn thìđặt ra yêu cầu là cần phải xây dựng một hệ thống quản lý tự động giúp dễ dàngquản lý thông tin khách hàng, các đơn đặt phòng, quản lý hoạt động của kháchsạn dễ dàng hơn
Trang 52.2.1.4 Một số tài liệu thu thập được
Hình 1.1: Phiếu đặt phòng
Trang 62.2.2 Tài liệu đặc tả yêu cầu người dùng
• Quản lý thông tin phòng:thông tin phòng được lưu trữ trong hệ thống
và được chỉnh sửa bởi người quản lý khách sạn Các thông tin này baogồm: room_id, name, number_bed,tivi, type_room,number_personal,price,status
• Quản lý việc đăng kí thuê và trả phòng(booking_room):khi có kháchđến thuê phòng thì người quản lý/nhân viên sẽ nhập thông tin đặt phòngvào phiếu đặt phòng với thông tin id, customer_id,room_name,number_guest, check_in, check_out, has_checked_in, has_check_out,create_at, update_at, staff_id, booking_type để quản lý
• Quản lý hóa đơn: Hệ thống lưu trữ thông tin sẽ giúp người quảnlý/nhân viên theo dõi và in các hóa đơn để kiểm tra khi thanh toán Cácthông tin về hóa đơn bao gồm: payment_id, booking_id,item,price,quantity,total,staff_id,payment_dat,last_update
2.2.2.2 Các yêu cầu chức năng
•Người quản lý khách sạn :
o Đăng nhập vào hệ thống
o Quản lý các tài khoản đăng nhập trong khách sạn
o Quản lý thông tin của tất cả nhân viên làm việc trong khách sạn
o Quản lý tất cả thông tin khách hàng đã khai báo khi vào khách sạn
o Quản lý tất cả thông tin phòng trong khách sạn
o Đặt phòng cho khách hàng, thông tin đặt phòng sẽ được lưu vào hệ thống
Trang 7o In hóa đơn cho khách hàng, thông tin hóa đơn sẽ được lưu vào hệ thống.
2.2.2.3 Các yêu cầu phi chức năng
• Tốc độ thực hiện của phần mềm phải nhanh và chính xác
• Giao diện dễ dùng, trực quan, gần gũi với người sử dụng
• Ngôn ngữ trong hệ thống phải phổ biến phù hợp với nhiều người dùng
2.3Phân tích hệ thống
2.3.1 Biểu đồ use case
2.3.1.1 Use case tổng quát
Trang 8Hình 1.2: Biểu đồ usecase
2.3.1.2 Phân tích use case của Nhân Viên
Hình 1.3: Nhóm usecase của NhanVien
- UseCase “Quản Lý Hóa Đơn”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép nhân viên thực hiện xuất hóa đơn
Trang 92.3.1.3 Phân tích use case của Quản Lý
Hình 1.4: Nhóm usecase của QuanLy
- UseCase “Quản lý khách hàng”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép người quản lý thực hiện việc quản lý thông tin khách hàng
- UseCase “Quản Lý Phòng”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép người quản lý thực hiện việc quản lý thông tin các phòng trong khách sạn
- UseCase “Đặt Phòng”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép nhân viên thực hiện việc đặt phòng
Trang 10- UseCase “Xem Phòng”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép nhân viên thực hiện việc xem thông tin các phòng đã đặt.
- UseCase “Quản Lý Hóa Đơn”: Sau khi đăng nhập vào hệ thống thì usecase này sẽ cho phép nhân viên thực hiện xuất hóa đơn
2.3.2 Mô hình hóa chức năng hệ thống
Hình 1.4: Biểu đồ lớp
Trang 112.3.2.1 Đặc tả use case Đăng nhập
• Mô tả: usecase này cho phép người dùng ( quản lí, nhân viên) đăng
nhập vào hệ thống bằng tên tài khoản đăng nhập(user_id) và mậtkhẩu(password) được lấy từ bảng user để sử dụng các chức năng
• Tác nhân: Quản lí, nhân viên.
• Luồng sự kiện:
• Luồng cơ bản :
Bước 1: Use case này bắt đầu khi Người dùng khởi chạychương trình Hệ thống hiển thị một màn hình Đăng nhập Bước 2: Người dùng nhập tên đăng nhập và mật khẩu vàcác trường tương ứng và ấn nút “ Đăng nhập” Hệ thống kiểmtra chi tiết người dùng trong bảng và hiển thị Menu lựa chọncác chức năng tương ứng với quyền của người dùng Use casekết thúc
• Luồng rẽ nhánh :
1 Sai tên hoặc mật khẩu : Tai bước 2 trong luồng cơ bản ,nếu người dùng nhập sai tên đăng nhập hay mật khẩu thì hệthống sẽ thông báo lỗi Người dùng có thể nhập lại và tiếp tụcbước 2 hoặc chọn hủy bỏ để kết thúc use case
2 Không kết nối được với cơ sở dữ liệu : Tại bất kỳ thờiđiểm nào trong quá trình thực hiện use case nếu không kết nốiđược với sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi vàuse case kết thúc
• Các yêu cầu đặc biệt:
Các yêu cầu đặc biệt Use case này được dùng để phân quyền củangười dùng theo tên đăng nhập Các quyền được kiểm soát theo vaitrò nhân viên và người quản lý
• Tiền điều kiện :
Người dùng cần phải có một tài khoản trong hệ thống
• Hậu điều kiện :
Nếu use case thành công thì người dùng sẽ đăng nhập được vào hệthống và có thể sử dụng các chức năng ứng với vai trò của mình ,ngược lại trạng thái của hệ thống không thay đổi
Trang 12• Điểm mở rộng:
Không có
2.3.2.2 Đặc tả use case quản lý người dùng
a. Đặc tả usecase thêm tài khoản
• Tóm tắt: Admin sử dụng use case “Thêm tài khoản” để thực hiện chức năng thêm tài khoản đăng nhập vào hệ thống, tài khoản được thêm sẽ lưu vào bảng user
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý người dùng
Nhập các thông tin vào trong các textbox :
Chọn nút thêm ở giao diện
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Hệ thống xảy ra lỗi trong quá trình thêm tài khoản
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
•Trạng thái hệ thống trước khi use case “Thêm tài khoản” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
•Trạng thái hệ thống sau khi use case “Thêm tài khoản” được thực hiện:
o Trường hợp thành công: thông tin về tài liệu được lưu vào hệ thống
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về tài liệukhông được lưu vào hệ thống
Trang 13• Điểm mở rộng: không có.
b. Đặc tả use case Sửa tài khoản
• Tóm tắt: Admin sử dụng use case “Sửa tài khoản” để thực hiện chức năng sửa thông tin tài khoản thông tin tài khoản được sửa sẽ đượ lưu trong bảng user
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý tài khoản người dùng
Admin chọn tài khoản người dùng cần sửa bằng cách bấm vào hàng trên bảng
Hệ thống hiển thị thông tin tài khoản vào các text box
Thay đổi các thông tin :
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin thay đổi vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Thông tin nhập vào không hợp lệ
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
• Trạng thái hệ thống trước khi use case “Sửa tin tài khoản” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
• Trạng thái hệ thống sau khi use case “Sửa tài khoản” được thực hiện:
o Trường hợp thành công: thông tin về tài khoản được cập nhập lại
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về tài khoản không được thay đổi
Trang 14• Điểm mở rộng: Không có.
c. Đặc tả use case Xóa tài khoản
• Tóm tắt: Admin sử dụng use case “Xóa tài khoản” để xóa tài khoản khỏi hệ thống
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý người dùng
Admin chọn tài khoản cần xoá bằng cách bấm vào hàng trênbảng
Hệ thống hiển thị thông tin tài khoản vào các text box
Bấm nút xoá
Hệ thống xác nhận và xóa tài khoản đó ra khỏi hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Dòng thứ nhất:
• Admin hủy bỏ xóa tài khoản
• Hệ thống bỏ qua giao diện xóa tài khoản và trở về giao diện “quản lí người dùng”
• Kết thúc use case
Dòng thứ hai:
• Hệ thống xảy ra lỗi trong quá trình xử lý dữ liệu
• Hệ thống hiển thị thông báo lỗi
• Kết thúc use case
• Trạng thái hệ thống trước khi use case “Xóa tài khoản” được thực hiện:
Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
Trang 15• Trạng thái hệ thống sau khi use case “Xóa tài khoản” được thực hiện:
o Trường hợp thành công: tài khoản đó được xóa ra khỏi hệ thống
o Trường hợp thất bại: hệ thống thông báo lỗi và tài khoản không xóa được
• Điểm mở rộng: không có
2.3.2.3 Đặc tả use case quản lý nhân viên
a. Đặc tả usecase thêm nhân viên
• Tóm tắt: Admin sử dụng use case “Thêm nhân viên” để thực hiện chức năng thêm nhân viên vào hệ thống, thông tin về nhân viên được thêm sẽ lưu vào bảng staff
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý nhân viên
Nhập các thông tin vào trong các textbox :
Chọn nút thêm ở giao diện
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Hệ thống xảy ra lỗi trong quá trình thêm nhân viên
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
•Trạng thái hệ thống trước khi use case “Thêm nhân viên” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
•Trạng thái hệ thống sau khi use case “Thêm nhân viên ” được thực hiện:
Trang 16o Trường hợp thành công: thông tin về tài liệu được lưu vào hệ thống
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về tài liệukhông được lưu vào hệ thống
• Điểm mở rộng: không có
b. Đặc tả use case Sửa nhân viên
• Tóm tắt: Admin sử dụng use case “Sửa nhân viên” để thực hiện chức năng sửa thông tin nhân viên Thông tin nhân viên được sửa sẽ được lưu vào bảng dữ liệu staff
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý nhân viên
Admin chọn nhân viên cần sửa bằng cách bấm vào hàng trên bảng
Hệ thống hiển thị thông tin tài nhân viên
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin thay đổi vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Thông tin nhập vào không hợp lệ
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
• Trạng thái hệ thống trước khi use case “Sửa nhân viên” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
• Trạng thái hệ thống sau khi use case “Sửa nhân viên” được thực hiện:
o Trường hợp thành công: thông tin về nhân viên được cập nhập lại
Trang 17o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về nhân viên không được thay đổi
• Điểm mở rộng: Không có
c. Đặc tả use case Xóa tài khoản
• Tóm tắt: Admin sử dụng use case “Xóa nhân viên” để xóa nhân viên khỏi hệ thống khi nhân viên đó không còn làm việc tại khách sạn nữa
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý nhân viên
Admin chọn nhân viên cần xoá bằng cách bấm vào hàng trên bảng
Hệ thống hiển thị thông tin nhân viên vào các text box
Bấm nút xoá
Hệ thống xác nhận và xóa nhân viên đó ra khỏi hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Dòng thứ nhất:
• Admin hủy bỏ xóa nhân viên
• Hệ thống bỏ qua giao diện xóa nhân viên và trở về giao diện “quản lí nhân viên”
• Kết thúc use case
Dòng thứ hai:
• Hệ thống xảy ra lỗi trong quá trình xử lý dữ liệu
• Hệ thống hiển thị thông báo lỗi
• Kết thúc use case
Trang 18• Trạng thái hệ thống trước khi use case “Xóa nhân viên” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
• Trạng thái hệ thống sau khi use case “Xóa nhân viên” được thực hiện:
o Trường hợp thành công: nhân viên đó được xóa ra khỏi hệ thống
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin nhân viênkhông xóa được
• Điểm mở rộng: không có
2.3.2.4 Đặc tả use case quản lý khách hàng
a.Đặc tả usecase thêm khách hàng
• Tóm tắt: Admin sử dụng use case “Thêm khách hàng” để thực hiện chức năngthêm tông tin khách hàng vào hệ thống, thông tin về khách hàng được thêm sẽ lưu vào bảng customer
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý khách hàng
Nhập các thông tin vào trong các textbox :
Chọn nút thêm ở giao diện
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Hệ thống xảy ra lỗi trong quá trình thêm khách hàng
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
•Trạng thái hệ thống trước khi use case “Thêm khách hàng” được thực hiện:
Trang 19•Trạng thái hệ thống sau khi use case “Thêm khách hàng ” được thực hiện:
o Trường hợp thành công: thông tin về tài liệu được lưu vào hệ thống
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về tài liệukhông được lưu vào hệ thống
• Điểm mở rộng: không có
b. Đặc tả use case Sửa khách hàng
• Tóm tắt: Admin sử dụng use case “Sửa khách hàng” để thực hiện chức năng sửa thông tin khách hàng Thông tin khách hàng được sửa sẽ được lưu vào bảng dữ liệu customer
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý khách hàng
Admin chọn khách hàng cần sửa bằng cách bấm vào hàng trên bảng
Hệ thống hiển thị thông tin khách hàng
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin thay đổi vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Thông tin nhập vào không hợp lệ
Hệ thống hiển thị thông báo lỗi
Kết thúc use case
• Trạng thái hệ thống trước khi use case “Sửa khách hàng” được thực hiện:Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
• Trạng thái hệ thống sau khi use case “Sửa khách hàng” được thực hiện:
Trang 20o Trường hợp thành công: thông tin về khách hàng được cập nhập lại
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin về khách hàng không được thay đổi
• Điểm mở rộng: Không có
c. Đặc tả use case Xóa khách hàng
• Tóm tắt: Admin sử dụng use case “Xóa khách hàng” để xóa thông ti n khách hàng khỏi hệ thống
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý khách hàng
Admin chọn khách hàng cần xoá bằng cách bấm vào hàng trên bảng
Hệ thống hiển thị thông tin khách hàng vào các text box
Bấm nút xoá
Hệ thống xác nhận và xóa khách hàng đó ra khỏi hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Dòng thứ nhất:
• Admin hủy bỏ xóa khách hàng
• Hệ thống bỏ qua giao diện xóa nhân viên và trở về giao diện “quản lí khách hàng”
• Kết thúc use case
Dòng thứ hai:
• Hệ thống xảy ra lỗi trong quá trình xử lý dữ liệu
Trang 21• Kết thúc use case.
• Trạng thái hệ thống trước khi use case “Xóa khách hàng” được thực hiện: Admin phải đăng nhập vào hệ thống trước khi thực hiện chức năng này
• Trạng thái hệ thống sau khi use case “Xóa khách hàng” được thực hiện:
o Trường hợp thành công: khách hàng đó được xóa ra khỏi hệ
thống
o Trường hợp thất bại: hệ thống thông báo lỗi và thông tin khách hàng không xóa được
• Điểm mở rộng: không có
2.3.2.5 Đặc tả use case quản lý phòng
a.Đặc tả usecase thêm phòng
• Tóm tắt: Admin sử dụng use case “Thêm phòng” để thực hiện chức năng thêm tông tin phòng vào hệ thống, thông tin về phòng được thêm sẽ lưu vào bảng room
• Dòng sự kiện:
o Dòng sự kiện chính:
Tại giao diện Quản lý phòng
Nhập các thông tin vào trong các textbox :
Chọn nút thêm ở giao diện
Hệ thống kiểm tra sự hợp lệ của thông tin đưa vào, xác nhận
và lưu thông tin vào hệ thống
Kết thúc use case
o Dòng sự kiện phụ:
Hệ thống xảy ra lỗi trong quá trình thêm phòng
Hệ thống hiển thị thông báo lỗi