


















Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VĂN LANG
KHOA KỸ THUẬT CƠ - ĐIỆN – MÁY TÍNH ĐỒỒ ÁN CUỒỐI KỲ
ĐỀ TÀI: THIẾT KẾ WINFORM CƠ SỞ LẬP TRÌNH QUẢN TRỊ KHÁCH SẠN M c L ụ c ụ
Sinh viên thực hiện:...................................................................................................1
NỘI DUNG...............................................................................................................2
1. Đặt Vấn Đề:.......................................................................................................2
2. Phân tích thiết kế:..............................................................................................3
3. Lập trình:.........................................................................................................10
TÀI LIỆU THAM KHẢO.......................................................................................12 NỘI DUNG 1. Đặt Vấn Đề:
Khi khách hàng có nhu cầu ở khách sạn thì khách hàng có thể liên hệ trực tiếp hoặc
qua điện thoại với bộ phận tiếp tân khách sạn để tiến hành làm thủ tục đăng ký thuê
phòng. Khi khách hàng làm thủ tục đăng ký nhận phòng thì khách hàng phải khai báo
đầy đủ thông tin về mình cũng như những thông tin cần thiết (khi đặt cũng có thể
cung cấp thông tin rồi) mà nhân viên tiếp tân yêu cầu. Đồng thời khách hàng phải gửi
cho bộ phận tiếp tân giấy tờ tùy thân của mình như: CMND, (Passport, Visa còn thời
hạn đối với người nước ngoài). Bộ phận tiếp tân sẽ giữ lại các loại giấy và các văn
bằng này cho đến khi khách hàng làm xong thủ tục trả phòng. Sau đó nhân viên tiếp
tân sẽ kiểm tra lại tình trạng phòng để tiến hành giao phòng cho khách. Trong thời gian
ở khách sạn, khách hàng có thể sử dụng các thức uống có sẵn trong phòng hoặc các
dịch vụ của khách sạn. Các dịch vụ sẽ được cung cấp một danh sách, khi khách trả
phòng khách phải thanh toán chi phí các dịch vụ đó nếu có sử dụng. Khi khách làm
thủ tục trả phòng, nhân viên lễ tân sẽ kiểm tra lại tình trạng phòng, chính sách trả
phòng, các dịch vụ đã sử dụng trong thời gian khách ở khách sạn. Sau đó sẽ tổng hợp
lại và in ra hoá đơn tổng để khách thanh toán đồng thời sẽ trả lại giấy tờ tùy thân cho
khách. Khách sạn có nhiều loại phòng, tuỳ theo từng loại phòng mà có giá phòng và
tiện nghi khác nhau. Mỗi tháng và sau mỗi năm khách sạn sẽ tiến hành tính công suất
phòng theo: Thống kê theo doanh thu phòng. Khách sạn cần trích xuất họ tên,
CMND ... hàng ngày nộp cho công an để họ tiện theo dõi về tình hình tạm trú - tạm vắng. 2. Phân tích thiết kế: *Chức năng:
Quản lý khách đặt phòng.
Thêm, Sửa, Xóa các danh mục. Quản lý nhân viên. Quản lý phòng * Thiết kế database:
Bảng HOIVIEN: dùng để lưu trữ thông tin hội viên Tên cột Kiểu dữ Ý nghĩa Nullable liệu ID int
Mã số hội viên, mỗi hội viên có 1 mã số duy No nhất (khóa chính) nvarchar(50) Tên của hội viên Yes TENHV
Bảng NHANVIEN: dùng để lưu trữ thông tin nhân viên Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số nhân viên, mỗi nhân No
viên có 1 mã số duy nhất (khóa chính) Ten nvarchar(200) Tên của nhân viên Yes NgaySinh nvarchar(50) Ngày sinh của nhân viên Yes GioiTinh nvarchar(5) Giới tính của nhân viên Yes DiaChi nvarchar(500) Địa chỉ của nhân viên Yes SDT nvarchar(15)
Số điện thoại của nhân viên Yes
Bảng KHACHHANG: dùng để lưu trữ thông tin của khách hàng Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số khách hàng, mỗi khách hàng có 1 mã số No duy nhất (khóa chính) Ten
nvarchar(200) Tên củ khách hàng Yes
NgaySin nvarchar(100) Ngày sinh của khách hàng Yes h GioiTinh nvarchar(5)
Giới tính của khách hàng Yes Email
nvarchar(500) Email của khách hàng Yes SDT
nvarchar(15) Số điện thoại của khách hàng Yes
QuocTich nvarchar(50) Quốc tịch của khách hàng No CMND
nvarchar(15) CMND của khách hàng No
Bảng LISTHOIVIEN: dùng để lưu trữ danh sách hội viên Tên cột Kiểu dữ Ý nghĩa Nullable liệu Id int
Mã số đánh dấu trong danh sách (khóa chính) No idkhachhan int Mã số khách hàng No g
Đây là khóa ngoại tham chiếu đến khóa chính của bảng KHACHHANG IDhoivien int Mã số hội viên No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng HOIVIEN
Bảng LOAIDICHVU: dùng để lưu trữ thông tin các loại dịch vụ Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số đánh dấu loại dịch vụ (khóa chính) No
TenLDV nvarchar(200) Tên của loại dịch vụ Yes
Bảng LOAIPHONG: dùng để lưu trữ thông tin loại phòng Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số đánh dấu loại phòng (khóa chính) No
TenLoaiPhong nvarchar(200) Tên của loại phòng Yes Gia int
Giá của từng loại phòng Yes SoNguoiToiDa int Số người ở tối đa Yes
Bảng PHONG: dùng để lưu trữ thông tin phòng Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số phòng, mỗi phòng có 1 mã số duy nhất No (khóa chính)
TenPhong nvarchar(200) Tên của phòng Yes IDLoai int Mã số loại phòng No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng LOAIPHONG status
nvarchar(100) Tình trạng phòng No
Bảng DICHVU: dùng để lưu trữ thông tin dịch vụ Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số dịch vụ, mỗi dịch vụ có 1 mã số duy No nhất (khóa chính)
TenDichVu nvarchar(200) Tên của dịch vụ Yes IDLoai int Mã số loại dịch vụ No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng LOAIDICHVU Gia int Giá của dịch vụ Yes
Bảng BANGTHUEPHONG: dùng để lưu trữ thông tin thuê phòng của khách hàng Tên cột Kiểu dữ Ý nghĩa Nullable liệu ID int
Mã số đánh dấu thuê phòng (khóa chính) No IDPhong int Mã số phòng No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng PHONG IDKhachHang int Mã số khách hàng No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng KHACHHANG Checkin date Cập nhật ngày vào phòng Yes Checkout date
Cập nhật ngày trả phòng Yes status int Trạng thái thuê phòng No
Bảng BILLINFO: dùng để lưu trữ thông tin của hóa đơn Tên cột Kiểu Ý nghĩa Nullable dữ liệu ID int
Mã số hóa đơn, mỗi hóa đơn có 1 mã số duy No nhất (khóa chính) idBangthuephong int Mã số thuê phòng No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng BANGTHUEPHONG iddv int Mã số dịch vụ No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng DICHVU count int Số lượng phòng đặt No
Bảng ACCOUNT: dùng để lưu trữ thông tin tài khoản nhân viên Tên cột Kiểu dữ liệu Ý nghĩa Nullable ID int
Mã số tài khoản, mỗi tài khoản có 1 mã số No duy nhất (khóa chính) PassWord
nvarchar(1000) Mật khẩu tài khoản No Username
nvarchar(100) Tên tài khoản Yes IDNhanVien int Mã số nhân viên No
Đây là khóa ngoại tham chiếu đến khóa chính của bảng NHANVIEN 3. Lập trình: * Giới thiệu ngôn ngữ: a) SQL Server:
SQL server còn có tên đầy đủ là Microsoft SQL Server là một phần mềm do Microsoft
phát triển và được sử dụng để lưu trữ dữ liệu dựa theo tiêu chuẩn RDBMS, bên cạnh
đó, SQL có thể kết hợp được nhiều nền tảng khác nhau chẳng hạn như C# để xây dựng
chương trình nhập liệu.
Cấu trúc mô hình Client - Server bao gồm:
Workstation: Được cài đặt trên các thiết bị vận hành
Server: Được cài đặt ở trên máy chủ chính
Ngoài mục đích chính dùng để lưu trữ dữ liệu, nó còn sở hữu những tính năng hỗ trợ người dùng như sau:
Duy trì dữ liệu lâu dài.
Giúp tạo ra nhiều cơ sở dữ liệu hơn.
Có khả năng phân tích dữ liệu bằng SSAS Khả năng bảo mật cao b) C#:
C# là một ngôn ngữ lập trình đơn giản và dễ tiếp cận với người dùng, đây là ngôn ngữ
lập trình hiện đại và được xây dựng trên nền tảng của hai ngôn ngữ lập trình là C++ và
Java. C# đồng thời là công cụ hiệu quả trong phát triển game, ứng dụng Web và ứng dụng di động (Mobile).
Các đặc trưng cơ bản có thể kể đến của ngôn ngữ lập trình C# như sau:
C# là ngôn ngữ đơn giản: loại bỏ độ phức tạp của Java và C++, dựa trên nền
tảng của C và C++ nhưng đơn giản hơn nhiều.
C# là một ngôn ngữ lập trình thuần hướng đối tượng: C# đảm bảo lập trình
hướng đối tượng với 4 tính chất. Tính trừu tượng (abstraction), tính đóng gói
(encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance).
C# là một ngôn ngữ ít từ khóa: Là ngôn ngữ giới hạn các từ khóa và phần lớn
các từ khóa được sử dụng để mô tả thông tin. * Thuật toán:
Dưới đây là hình ảnh biểu thị diagram trong SQL Server *Xây Dựng: Nút đặt quản lý khách sạn ở bảng thuật toán:
if( idbill chưa có) thì sẽ insert món mới. {
B1, viết 1 hàm insertbill để insert idphong và idkhachhang.
B2, viết 1 hàm insert billinfor để insert idbangthuephong, iddv,count. } Else (đã có món) {
viết 1 hàm check số lượng của dịch vụ đó qua id của dịch vụ trong bảng billinfor. nếu có món {
Update lại số lượng thông qua idbangthuephong, iddv và count. } nếu chưa có món {
Insert vào bill infor món mới. } } Nút chuyển phòng
lấy id của phòng khi chưa đổi phòng và lấy id của phòng mới.
viết 1 hàm checkout để biết phòng có số id cũ này bị trống.
viết 1 hàm update từ id phòng cũ sang id phòng mới.
viết 1 hàm checkin để biết phòng có số id mới này có người. Nút thêm:
xóa dữ liệu trong các textbox. Nút sửa:
lấy dữ liệu trong textbox rồi sau đó viết 1 hàm update để thay đổi giá trị. Nút xóa:
viết 1 hàm lấy id của đối tượng sau đó dùng lệnh delete. Nút đặt phòng
lấy giá trị thông tin của khách hàng từ textbox, combobox, sau đó dùng 1 lệnh insert khach hang vào bangthuephong.
bảng dịch vụ, danh mục, phòng, nhân viên, tài khoản, đều có nút thêm, sửa, xóa và
chèn mới như là bảng thuê phòng. Nút tìm:
dùng 1 câu lệnh select tên trong cả bảng của đối tượng. Chạy chương trình:
Sau khi đăng nhập thành công Đặt phòng:
Sau khi nhập thông tin khách hàng và phòng đã đặt thì chúng ta quay lại trang quản lý
khách sạn, giờ đây phòng đã có người .
Chúng ta có thể đặt các dịch vụ khách muốn sủ dụng và thanh toán
Sang bảng khách thì chúng ta sẽ có các thông tin của toàn bộ khách đã thuê phòng.
Ngoài ra chúng ta còn có thể thay đổi các loại danh mục, dịch vụ, nhân viên của khách sạn trong phần admin. TÀI LIỆU THAM KHẢO
- Tham khảo code C#: Full code phần mềm quản lý khách sạn C# + Báo cáo (sharecode.vn)
- Tham khảo SQL: (181) Hướng dẫn làm "Quản lý khách sạn" bằng sở dữ liệu trên SQL... ( New 2021) - YouTube