Mục tiêu và phạm vi của đề tài
Mục tiêu của đề tài
Xây dựng hoàn thành chương trình ứng dụng có thể đưa vào triển khai thực nghiệm cho khách có quy mô vừa và nhỏ.
Phạm vi của đề tài
Do thời gian hoàn thành hạn chế và số lượng thành viên trong nhóm ít, cùng với kinh nghiệm thực tế còn hạn chế, đồ án chỉ dừng lại ở mức báo cáo môn học Việc giao dịch với khách sạn thực tế để triển khai bàn giao sau khi hoàn tất chưa được thực hiện Hơn nữa, chương trình còn bị giới hạn bởi nhiều yếu tố khác.
- Chương trình chỉ triển khai được trên hệ điều hành Windows – Microsoft máy tính
- Áp dụng cho mô hình khách sạn vừa và nhỏ với số lượng tầng khoảng 3, trên dưới 30 phòng.
Phương pháp thực hiện đề tài
- Giai đoạn khảo sát: Tiến hành khảo sát tình hình sử dụng phần mềm quản lý của một số khách sạn trên Intermet.
- Giai đoạn phân tích thiết kế: Sử dụng phương pháp phân tích hướng đối tượng, sử dụng ngôn ngữ mô hình hóa UML.
- Giai đoạn xây dựng cơ sở dữ liệu: Sử dụng các công cụ hỗ trợ như MS Word,
Excel, … và đặc biệt là MS SQL server 2019 để thiết kế và cài đặt cơ sở dữ liệu.
- Giai đoạn cài đặt ứng dụng: Dùng ngôn ngữ lập trình C# để xây dựng giao diện và cài đặt chương trình.
Chức năng của hệ thống
Quản lý nhân viên
Hệ thống quản lý thông tin nhân viên khách sạn cung cấp dữ liệu chi tiết như họ tên, số điện thoại, địa chỉ và chức vụ Mỗi nhân viên được cấp một mã nhân viên duy nhất để dễ dàng theo dõi và quản lý.
Hệ thống cho phép người quản lý nhân sự thực hiện các chức năng như cập nhật, tra cứu và hủy bỏ thông tin cá nhân của nhân viên.
Hệ thống cho phép chủ khách sạn quản lý thông tin cá nhân của tất cả nhân viên, bao gồm mã nhân viên, họ tên, ngày sinh, địa chỉ và giới tính.
Quản lý khách hàng
Khi khách hàng thực hiện đặt phòng, bộ phận lễ tân sẽ ghi lại thông tin của họ Nhân viên lễ tân có quyền chỉnh sửa và cập nhật thông tin khách hàng Tuy nhiên, việc xóa thông tin khách hàng chỉ được thực hiện bởi người quản lý.
Quản lý phòng
Hệ thống giúp người nhân viên tiếp tân của khách sạn theo dõi tình trạng của tất cả các phòng.
Hệ thống hỗ trợ quản lý phòng hiệu quả với các chức năng tra cứu, thêm, cập nhật và xóa phòng Nhân viên lễ tân có thể dễ dàng tra cứu thông tin phòng và tình trạng hiện tại để thực hiện việc đặt phòng cho khách một cách nhanh chóng và chính xác.
Quản lý đặt phòng, nhận phòng
Khi khách hàng đến thuê phòng hoặc gọi điện đặt phòng, nhân viên lễ tân sẽ yêu cầu cung cấp thông tin cá nhân và loại phòng mong muốn Sau đó, nhân viên cần kiểm tra tình trạng các loại phòng để xác định số lượng phòng trống, phòng đã được đặt trước, phòng đang có khách lưu trú và phòng đang sửa chữa.
Và cuối cùng, nhân viên lễ tân cung cấp thông tin cho khách hàng và tiến hành bố trí phòng theo yêu cầu của khách hàng.
Quản lý dịch vụ đi kèm
Khách thuê phòng tại khách sạn thường sử dụng nhiều dịch vụ như ăn uống, giặt ủi, karaoke, điện thoại và thuê xe Mỗi dịch vụ phát sinh cần được ghi nhận hàng ngày để bộ phận tài chính có thể lập phiếu thu khi khách hàng trả phòng.
Hệ thống hỗ trợ người quản lý trong việc thực hiện các chức năng quản lý dịch vụ như tra cứu, thêm, cập nhật và xóa dịch vụ Nhân viên lễ tân sử dụng chức năng tra cứu để đặt dịch vụ cho khách hàng một cách nhanh chóng và hiệu quả.
Quản lý trả phòng, thanh toán
Vào ngày khách hàng trả phòng, nhân viên lễ tân sẽ lập hóa đơn cho khách thanh toán, bao gồm tiền phòng, các dịch vụ phát sinh và chương trình khuyến mãi (nếu có) Sau khi thanh toán, mã phòng của khách sẽ được đưa vào danh mục phòng trống, và quy trình đặt phòng, nhận phòng sẽ tiếp tục diễn ra.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Đặc tả yêu cầu đề tài
1.1.1 Yêu cầu về hệ thống
Hệ thống Quản Lý Khách Sạn là công cụ hiệu quả giúp lưu trữ, cập nhật và chỉnh sửa thông tin khách hàng cùng dịch vụ mà họ sử dụng một cách nhanh chóng, mang lại sự thuận lợi tối đa cho cả người sử dụng hệ thống và khách hàng.
+ Lập hợp đồng thuê phòng + Lập booking(đặt phòng trước), sắp xếp booking + Thanh toán phòng
+ In báo cáo doanh thu để theo dõi hoạt động kinh doanh
+ Cập nhật danh sách khách hàng + Xem danh sách khách hàng
- Quản lý phòng, thiết bị, dịch vụ
+ Thêm, xóa, sửa phòng, thiết bị, dịch vụ + In báo cáo phòng, thiết bị dịch vụ, tình trạng của chúng
- Quản lý dữ liệu của hệ thống
+ Sao lưu và phục hồi dữ liệu + Kết thúc chương trình
1.1.3 Yêu cầu phi chức năng
- Hệ thống có chức năng bảo mật và phân quyền.
Người sử dụng chương trình sẽ được cấp username và password, đồng thời được phân quyền sử dụng để đảm bảo quản lý hiệu quả Điều này giúp người quản lý theo dõi và kiểm soát chương trình, ngăn chặn các hành vi sửa đổi thông tin ngoài phạm vi quyền hạn.
- Người dùng có thể tự đổi password của mình.
Use case classdiagram
1.3.1 Xác định các actor của chương trình
- Actor Nhân viên lễ tân
1.3.2 Danh sách các use case của chương trình
- Ứng với actor khách hàng có: Thuê phòng, Thuê dịch vụ, Thanh toán.
Actor Admin có các chức năng quản lý người dùng, quản lý phòng, quản lý dịch vụ, thống kê báo cáo, sao lưu và phục hồi dữ liệu Ngoài ra, Admin còn kế thừa các use case từ actor Nhân viên.
- Ứng với actor Nhân viên có: Quản lý khách hàng, Quản lý thuê phòng, Quản lý thuê dịch vụ, Lập hóa đơn thanh toán.
1.3.3 Đặc tả tổng quan về các use case
STT Tên usecase Ghi chú
1 Đăng nhập Đăng nhập vào tài khoản người dùng để sử dụng chương trình
2 QL Người dùng Thêm, sửa, tra cứu, xóa nhân viên
3 QL Khách hàng Thêm, sửa, tra cứu, xóa khách hàng
4 QL Thuê phòng Tra cứu phòng, cập nhật tình trạng phòng
Lập, tra cứu, cập nhật, xóa phiếu thuê phòng
5 QL Thuê dịch vụ Lập, cập nhật, tra cứu, xóa phiếu thu dịch vụ
6 Lập HĐ Thanh toán Chức năng thực hiện với công việc lập kết xuất hóa đơn: Lập và tra cứu hóa đơn
7 QL Phòng Thêm, sửa, tra cứu, xóa phòng
8 QL dịch vụ Thêm, sửa, tra cứu, xóa dịch vụ
9 QL Thống kê doanh thu Tra cứu, tạo thống kê
10 KT Tình trạng phòng Xem 1 phòng khách hàng dự định đặt còn trống hay không
1.3.4 Sơ đồ tình huống tổng quát
1.3.5 Các Use case chi tiết 1.3.5.1 Nhóm use case Quản lý phòng, dịch vụ
Kịch bản use case Quản lý phòng
Tên use case Quản lý phòng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý phòng
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu các chức năng
2 Admin thực hiện các chức năng
2.1 Hệ thống hiển thị kết quả trên giao diện
Kịch bản use case Thêm phòng
Tên use case Thêm phòng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý phòng
Hành động tác nhân Phản ứng của hệ thống
1 Admin nhập thông tin phòng mới
1.1 Hệ thống kiểm tra tính hợp lệ của thông tin
2 Admin thực hiện các chức năng thêm phòng mới
2.1 Hệ thống hiển thị kết quả trên giao diện
Kịch bản use case Sửa thông tin phòng
Tên use case Sửa TT phòng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý phòng
Hành động tác nhân Phản ứng của hệ thống
1 Admin chọn thông tin phòng cần sửa
2 Admin nhập thông tin cần sửa
2.1 Hệ thống kiểm tra tính hợp lệ của thông tin
3 Admin yêu cầu chức năng sửa thông tin
3.1 Hệ thống thông báo trên giao diện 3.2 Cập nhật lại danh sách thông tin phòng
Kịch bản use case Xóa phòng
Tên use case Xóa phòng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý phòng
Hành động tác nhân Phản ứng của hệ thống
1 Admin chọn thông tin phòng cần xóa
2.1 Hệ thống kiểm tra tính hợp lệ của thông tin
3 Admin yêu cầu chức năng xóa phòng
3.1 Hệ thống thông báo trên giao diện
3.2 Cập nhật lại danh sách phòng
Tên use case Tìm kiếm phòng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý phòng
Hành động tác nhân Phản ứng của hệ thống
1 Admin nhập thông tin cần tìm
1.1 Hệ thống kiểm tra tính hợp lệ của thông tin
2.Admin yêu cầu chức năng tìm kiếm
2.1 Hệ thống hiển thị danh sách chứa thông tin phòng theo điều kiện tìm kiếm
Kịch bản use case Quản lý Dịch vụ
Tên use case Quản lý dịch vụ
Để đảm bảo quản lý dịch vụ hiệu quả, Admin cần đăng nhập vào hệ thống với các điều kiện tối thiểu Việc này không chỉ đảm bảo mức độ bảo mật mà còn giúp kích hoạt yêu cầu của người dùng một cách thành công.
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu các chức năng QL dịch vụ
1.1 Hệ thống kiểm tra tính hợp lệ của thông tin
2.Admin thực hiện các chức năng QL dịch vụ
2.1 Hệ thống trả lại kết quả trên giao diện người dùng 2.2 Hệ thống cập nhật lại dữ liệu
Kịch bản use case Thêm dịch vụ
Tên use case Thêm dịch vụ
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu Quản lý dịch vụ
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu thêm dịch vụ
2 Admin nhập thông tin về dịch vụ cần thêm
2.1 Hệ thống kiểm tra thông tin hợp lệ
3 Admin thực hiện chức năng thêm dịch vụ
3.1 Hệ thống thông báo kết quả trên giao diện 3.2 Hệ thống cập nhật lại danh sách thông tin dịch vụ
Kịch bản use case Sửa TT dịch vụ
Tên use case Sửa TT dịch vụ
Để quản lý dịch vụ hiệu quả, điều kiện đầu tiên là Admin phải đăng nhập vào hệ thống Điều này đảm bảo mức tối thiểu về bảo mật và quyền truy cập Để đảm bảo thành công trong việc kích hoạt, người dùng cần thực hiện các yêu cầu kích hoạt một cách chính xác.
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu sửa TT dịch vụ 2.1 Admin chọn dịch vụ cần sửa
2.2 Admin nhập thông tin dịch vụ mới
2.1 Hệ thống hiển thị thông tin dịch vụ trên giao diện 2.2 Hệ thống kiểm tra tính hợp lệ của thông tin
3 Admin thực hiện chức năng sửa TT dịch vụ
3.1 Hệ thống thông báo kết quả 3.2 Hệ thống cập nhật lại danh sách các dịch vụ
Kịch bản use case Xóa thông tin dịch vụ
Tên use case Xóa thông tin dịch vụ
Để truy cập vào hệ thống, Admin cần đăng nhập với điều kiện đảm bảo mức tối thiểu yêu cầu Điều này giúp đảm bảo thành công trong quá trình kích hoạt Người dùng sẽ thực hiện việc kích hoạt yêu cầu để quản lý dịch vụ một cách hiệu quả.
Hành động tác nhân Phản ứng của hệ thống
1 Admin chọn dịch vụ cần 1.1 Hệ thống kiểm tra xóa 2.Admin thực hiện các chức năng QL dịch vụ
2.1 Hệ thống trả lại kết quả trên giao diện người dùng 2.2 Hệ thống cập nhật lại dữ liệu
Kịch bản use case Tra cứu dịch vụ
Tên use case Tìm kiếm dịch vụ
Để đảm bảo thành công trong việc quản lý dịch vụ, điều kiện tiên quyết là Admin phải đăng nhập vào hệ thống Ngoài ra, cần đảm bảo mức tối thiểu cho các yêu cầu kích hoạt từ người dùng.
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu các chức năng QL dịch vụ 2.Admin nhập thông tin cần tìm
2.1 Hệ thống kiểm tra tính hợp lệ của thông tn
3 Admin thực hiện chức năng tìm kiếm dịch vụ
3.1 Hệ thống thông báo kết quả 3.2 Hệ thống hiển thị danh sách các dịch vụ thỏa yêu cầu
1.3.2.2 Nhóm use case Quản lý người dùng
Kịch bản use case Quản lý người dùng
Tên use case Quản lý người dùng
Để đảm bảo quản lý người dùng hiệu quả, Admin cần đăng nhập vào hệ thống và đáp ứng các điều kiện tối thiểu Việc kích hoạt yêu cầu từ người dùng là bước quan trọng để đảm bảo thành công trong quá trình quản lý.
Hành động tác nhân Phản ứng của hệ thống
1 Admin yêu cầu các chức năng
2 Admin thực hiện các chức năng
2.1 Hệ thống hiển thị kết quả trên giao diện
Kịch bản use case Thêm người dùng
Tên use case Thêm người dùng
Tên điều kiện Admin đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Người dùng kích hoạt yêu cầu QL người dùng
Hành động tác nhân Phản ứng của hệ thống
1 Admin nhập thông tin người dùng
2 Người dùng yêu cầu chức năng Thêm người dùng
2.1 Hệ thống hợp lệ hóa thông tin 2.2 Hệ thống hiển thị kết quả trên giao diện
Kịch bản use case Xóa người dùng
Tên use case Xóa người dùng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Admin yêu cầu chức năng QL Người dùng
Hành động tác nhân Phản ứng của hệ thống
1 Chọn thông tin người dùng cần xóa
1.1 Hệ thống hợp lệ hóa thông tin
2 Yêu cầu chức năng xóa thông tin khách hàng
2.1 Hệ thống xuất thông báo “Đã xóa thành công”
Kịch bản use case Sửa thông tin người dùng
Tên use case Sửa thông tin người dùng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Admin yêu cầu chức năng QL Người dùng
Hành động tác nhân Phản ứng của hệ thống
1 Admin chọn thông tin người dùng cần sửa
2 Admin nhập thông tin cần sửa
2.1 Hệ thống kiểm tra tính hợp lệ của thông tin
3 Admin yêu cầu chức năng sửa thông tin
3.1 Hệ thống thông báo trên giao diện
Kịch bản use case Tìm kiếm người dùng
Tên use case Tìm kiếm người dùng
Tên điều kiện Admin phải đăng nhập vào hệ thống Đảm bảo mức tối thiểu Đảm bảo thành công
Kích hoạt Admin yêu cầu chức năng QL Người dùng
Hành động tác nhân Phản ứng của hệ thống
1 Chọn thông tin người dùng cần tìm
1.1 Hệ thống hợp lệ hóa thông tin
2 Yêu cầu chức năng xem thông tin người dùng
2.1 Hiển thị danh sách thông tin người dùng theo điều kiện tìm
1.3.2.3 Nhóm use case Báo cáo thống kê
Kịch bản use case Báo cáo thống kê
Tên use case Báo cáo thống kê
Để quản lý hiệu quả, người dùng cần đăng nhập vào hệ thống với tên điều kiện cụ thể Hệ thống yêu cầu đảm bảo mức tối thiểu để đạt được thành công Đặc biệt, Admin cần kích hoạt các chức năng báo cáo thống kê để theo dõi và phân tích dữ liệu một cách chính xác.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân viên Lễ tân yêu cầu các chức năng
Hệ thống hiển thị thông tin ra ngoài giao diện
2 Nhân viên Lễ tân thực hiện các chức năng
Kịch bản use case Thống kê doanh thu dịch vụ
Tên use case Thống kê doanh thu dịch vụ
Để quản lý hiệu quả, người dùng cần đăng nhập vào hệ thống, đảm bảo mức tối thiểu để đạt được thành công Đồng thời, Admin cũng yêu cầu kích hoạt chức năng báo cáo thống kê để theo dõi và phân tích dữ liệu.
Hành động tác nhân Phản ứng của hệ thống
1 Admin thực hiện chức năng thống kê theo doanh thu dịch vụ
Hệ thống hiển thị các hóa đơn dịch vụ ra ngoài giao diện
Kịch bản use case Thống kê doanh thu phòng
Tên use case Thống kê doanh thu phòng
Để quản lý hiệu quả, người dùng cần đăng nhập vào hệ thống với các điều kiện nhất định Điều này đảm bảo rằng mức tối thiểu về bảo mật và quyền truy cập được duy trì, từ đó nâng cao khả năng thành công trong việc sử dụng hệ thống Ngoài ra, Admin cũng yêu cầu kích hoạt chức năng báo cáo thống kê để theo dõi và phân tích dữ liệu một cách chính xác.
Hành động tác nhân Phản ứng của hệ thống
1 Admin thực hiện chức năng thống kê theo doanh thu dịch vụ
Hệ thống hiển thị các hóa đơn dịch vụ ra ngoài giao diện
Kịch bản use case Tra cứu thống kê
Tên use case Tra cứu thống kê
Để quản lý hiệu quả, người dùng cần đăng nhập vào hệ thống và đảm bảo đạt mức tối thiểu yêu cầu Điều này sẽ giúp đảm bảo thành công trong việc kích hoạt các chức năng cần thiết, bao gồm cả yêu cầu của Admin về báo cáo thống kê.
Hành động tác nhân Phản ứng của hệ thống
1 Admin chọn thời gian cần tra cứu
2 Admin thực hiện yêu cầu tra cứu
2.1 Hệ thống hiển thị kết quả tra cứu ra màn hình
1.3.2.4 Quản lý thuê phòng, dịch vụ, thanh toán
Kịch bản use case Quản lý thuê dịch vụ
Tên use case Quản lý thuê dịch vụ
Tên actor Nhân viên Lễ tân
Nhân viên Lễ tân cần đăng nhập vào hệ thống để đảm bảo đạt mức tối thiểu và thành công trong việc kích hoạt chức năng quản lý thuê dịch vụ.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân viên Lễ tân yêu cầu các chức năng
2 Nhân viên Lễ tân thực hiện các chức năng
2.1 Hệ thống sẽ trả lại kết quả trên giao diện 2.2 Hệ thống cập nhật lại dữ liệu
Kịch bản use case Lập phiếu thuê dịch vụ
Tên use case Quản lý thuê dịch vụ
Tên actor Nhân viên Lễ tân
Nhân viên Lễ tân cần đăng nhập vào hệ thống để phục vụ khách hàng có nhu cầu sử dụng dịch vụ Để đảm bảo mức tối thiểu và thành công trong việc cung cấp dịch vụ, nhân viên Lễ tân phải yêu cầu chức năng quản lý thuê dịch vụ.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân việc yêu cầu lập phiếu thuê dịch vụ
2 Nhân viên thêm dịch vụ vào hóa đơn
2.1 Hệ thống kiểm tra tính hợp lệ
3 Nhân viên thực hiện chức năng thêm dịch vụ
3.1 Hệ thống hiển thị kết quả trên giao diện 3.2 Hệ thống cập nhật lại danh sách thông tin các dịch vụ khách hàng đang sử dụng
Kịch bản use case Cập nhật phiếu thuê dịch vụ
Tên use case Cập nhật phiếu thuê dịch vụ
Tên actor Nhân viên Lễ tân
Nhân viên Lễ tân cần đăng nhập vào hệ thống để xử lý yêu cầu của khách hàng về dịch vụ bổ sung Để đảm bảo thành công trong việc cung cấp dịch vụ, cần đảm bảo mức tối thiểu được quy định Khi khách hàng có nhu cầu, nhân viên Lễ tân sẽ kích hoạt chức năng quản lý thuê dịch vụ.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân viên yêu cầu thêm dịch vụ
2 Nhân viên thêm dịch vụ cho khách hàng
2.1 Hệ thống thông báo kết quả 2.2 Hệ thống cập nhật lại danh sách các dịch vụ khách hàng đang sử dụng
Kịch bản use case Tra cứu phiếu thuê dịch vụ
Tên use case Tra cứu phiếu thuê dịch vụ
Tên actor Nhân viên Lễ tân
Nhân viên Lễ tân cần đăng nhập vào hệ thống để đảm bảo mức tối thiểu và thành công trong việc kích hoạt chức năng quản lý thuê dịch vụ.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân viên yêu cầu chức năng tra cứu
2 Nhân viên thực hiện chức năng tra cứu
2.1 Hệ thống hiển thị chi tiết thông tin phiếu thuê của khách hàng lên giao diện
Kịch bản use case Quản lý Thuê phòng
Tên use case Quản lý thuê phòng
Tên actor Nhân viên Lễ tân
Nhân viên Lễ tân cần đăng nhập vào hệ thống để đảm bảo mức tối thiểu và thành công trong việc kích hoạt chức năng quản lý thuê phòng.
Hành động tác nhân Phản ứng của hệ thống
1 Nhân viên Lễ tân yêu cầu các chức năng
2 Nhân viên Lễ tân thực hiện các chức năng
2.1 Hệ thống sẽ trả lại kết quả trên giao diện 2.2 Hệ thống cập nhật lại dữ liệu
Kịch bản use case Lập phiếu thuê phòng
Tên use case Lập phiếu thuê phòng
Tên actor Nhân viên Lễ tân
THIẾT KẾ CƠ SỞ DỮ LIỆU
Lược đồ quan hệ
DIACHI_KH, SDT_KH, CMND)
PHIEUTHUEPHONG (MA_PTP, MA_PDP, SONGUOI) CTPHIEUTHUE (MA_PTP, MA_PHONG, HOTEN_KH, CMND, NGAYNHAN,
NHANVIEN (TENDANGNHAP, MATKHAU, HOTEN, DIACHI, SDT, EMAIL,
PHONG (MA_PHONG, TEN, GIA, TINHTRANG, SONGUOITOIDA, PHONG_KM, MOTA)
PHIEUDATPHONG (MA_PDP, MA_KH, SONGUOI)
CTPHIEUDAT (MA_PDP, MA_PHONG, Ngay_DK, Ngay_Nhan, TienCoc) DICHVU (MA_DV, TEN, GIA)
HOADONDV (MA_HOADONDV, MA_PTP, TONGTIEN) CHITIETDV (MA_HOADONDV, MA_DV, SOLUONGSUDUNG, THANHTIEN) GIAMGIA (MA_KM, TEN_KM, DISCOUNT, NGAY_BD, NGAY_KT)
HOADON (MA_HOADON, TENDANGNHAP, MA_KH, TONGTIEN, MA_PTP,
CTHOADON (MA_HOADON MA_PHONG, SONGAYTHUE, TIENTHUE,
Chi tiết các bảng
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 TENDANGNHAP varchar 20 Tên đăng nhập
2 MATKHAU varchar 20 Mật khẩu đăng nhập
3 HOTEN nvarchar 50 Họ & tên nhân viên
4 DIACHI nvarchar 100 Địa chỉ nhân viên
5 SDT varchar 10 Số điện thoại nhân viên
6 EMAIL varchar 50 Email của nhân viên
7 PHANQUYEN nvarchar 10 Xem tài khoản là Admin hay
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_KH varchar 10 Mã khách hàng
2 HOTEN_KH nvarchar 50 Họ tên khách hàng
3 DIACHI_KH nvarchar 100 Địa chỉ khách hàng
4 SDT_KH varchar 10 Số điện thoai khách hàng
5 EMAIL_KH varchar 50 Email của khách hàng
6 CMND_KH varchar 13 CMND của khách hàng
7 GIOITINH_KH nvarchar 6 Khách hàng là nam hay nữ
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_PHONG varchar 10 Mã phòng
3 GIA int Mã loại phòng
4 TINHTRANG nvarchar 10 Còn trống hay không?
5 SONGUOITOIDA int Số người tối đa
6 PHONG_KM nvarchar 10 Có phải là phòng khuyến mãi hay không
7 MOTA nvarchar max Một số thông tin về phòng
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_PDP varchar 10 Mã đặt phòng
2 MA_KH nvarchar 50 Mã khách hàng
3 SONGUOI int Số người đăng ký ở
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_PDP varchar 10 Mã đặt phòng
2 MA_PHONG varchar 10 Mã phòng
3 Ngay_DK datetime Ngày đăng ký ở
4 Ngay_Nhan datetime Ngày bắt đầu ở
5 TienCoc int Tiền đặt cọc
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_PTP varchar 10 Mã phiếu thuê phòng
2 MA_PDP varchar 10 Mã phiếu đặt phòng
3 MA_KH varchar 10 Mã khách hàng
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_PTP varchar 10 Mã thuê phòng
2 MA_PHONG varchar 10 Mã phòng
3 HOTEN_KH nvarchar 50 Họ tên khách hàng
4 NGAYNHAN datetime Ngày bắt đầu ở
5 NGAYTRA_DK datetime Ngày dự kiến trả phòng
6 NGAYTRA_TT datetime Ngày trả phòng thực tế
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_DV varchar 10 Mã dịch vụ
2 TEN nvarchar 50 Tên dịch vụ
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_HOADONDV varchar 10 Mã hóa đơn dịch vụ
2 MA_PTP varchar 10 Mã phiếu thuê phòng
3 TONGTIEN int Tổng tiền cho hóa đơn
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_HOADONDV varchar 10 Mã hóa đơn dịch vụ
2 MA_DV varchar 10 Mã dịch vụ
4 SOLUONGSUDUNG int Số lượng dùng
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_HOADON varchar 10 Mã hóa đơn
2 TENDANGNHAP varchar 20 Tên nhân viên lập đơn
3 MA_KH varchar 10 Mã khách hàng
4 TONGTIEN int Tổng tiền thanh toán
5 MA_PTP varchar 10 Mã phiếu thuê phòng
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_HOADON varchar 10 Mã hóa đơn
2 MA_HOADONDV varchar 10 Mã dịch vụ
3 MA_PHONG varchar 10 Mã phòng
4 SONGAYTHUE int Số ngày thuê phòng
6 TIENDV int Tiền sử dụng dịch vụ
7 GIAMGIA_KH int Giảm giá
STT Tên thuộc tính Kiểu dữ liệu Kích thước Mô tả
1 MA_KM varchar 10 Mã khuyến mãi
2 TEN_KM nvarchar 100 Tên khuyến mãi
3 DISCOUNT varchar Phần tram giảm giá
4 NGAY_BD datetime Ngày bắt đầu
5 NGAY_KT datetime Ngày kết thúc
Môi trường cài đặt và công nghệ sử dụng
Trong đề tài lần này, nhóm chúng em quyết định chọn môi trường Visual studio 2017 để cài đặt chương trình vì những ưu điểm nổi bật như sau:
- Hỗ trợ viết mã nguồn nhanh chóng.
- Công cụ debug mạnh mẽ.
- Go To Definition to class và function.
- Cài đặt thư viện nhanh chóng thông qua Nuget.
Nhóm em quyết định sử dụng công nghệ ADO.NET viết bằng ngôn ngữ C# để xây dựng hệ thống quản lý khách sạn, nhằm tận dụng các tính năng tối ưu từ dữ liệu kết nối với SQL server.
- Đáp ứng mô hình lập trình mới trên nền NET.
- Hỗ trợ rất tốt SQL server.
Chúng tôi đã áp dụng kiến trúc 3 lớp trong quá trình cài đặt chương trình, giúp mã nguồn trở nên rõ ràng, dễ hiểu và thuận tiện cho việc phục hồi khi gặp sự cố.
Tổ chức các lớp trong chương trình
Lớp này chủ yếu chịu trách nhiệm giao tiếp với người dùng, bao gồm các thành phần giao diện Winform Nó thực hiện các chức năng như nhập dữ liệu, hiển thị dữ liệu và kiểm tra tính chính xác của dữ liệu trước khi tương tác với các lớp trong tầng nghiệp vụ.
Mô tả chi tiết các lớp:
FrmDoanhThuDV.cs: Doanh thu dịch vụ
FrmDoiMatKhau.cs: Đổi mật khẩu
FrmNhanVien.cs: Nhân viên (Người dùng)
FrmPhieuDatPhong.cs: Phiếu đặt phòng
FrmPhongDaThue.cs: Phòng đã có người thuê
3.2.2 Tầng nghiệp vụ Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của các lớp giao diênnj, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL. Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về lớp Presentation.
Tầng này đảm nhận vai trò giao tiếp với hệ quản trị cơ sở dữ liệu, thực hiện các tác vụ liên quan đến lưu trữ và truy vấn dữ liệu như tìm kiếm, thêm, xóa và sửa.
Danh sách giao diện của hệ thống
3.3.3 Giao diện đổi mật khẩu
3.3.4 Giao diện quản lý người dùng
3.3.5 Giao diện quản lý phòng
3.3.6 Giao diện quản lý dịch vụ
3.3.7 Giao diện quản lý khách hàng
3.3.8 Giao diện thống kê doanh thu
3.3.9 Giao diện thống kê doanh thu dịch vụ
3.3.10 Giao diện phòng chưa có người ở
3.3.11 Giao diện phòng đang có người ở
3.3.12 Giao diện sử dụng dịch vụ
3.3.15 Giao diện mã khuyến mãi