1. Trang chủ
  2. » Tất cả

Phần mềm quản lý đặt phòng khách sạn novotel

53 11 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phần mềm quản lý đặt phòng khách sạn novotel
Người hướng dẫn Hoàng Thị Thanh Hà
Trường học Đại Học Đà Nẵng
Chuyên ngành Khoa Thống Kê – Tin Học
Thể loại Báo cáo thực tập
Thành phố Đà Nẵng
Định dạng
Số trang 53
Dung lượng 1,5 MB
File đính kèm file dinh kem.rar (11 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI MỞ ĐẦU 1. Mục tiêu nghiên cứu của đề tài Phần mềm quản lý đặt phòng khách sạn xây dựng hệ thống thông tin trên cơ sở phục vụ cho việc đặt phòng của khách sạn được nhanh chóng, thuận tiện và hiệu quả. Xây dựng một phần mềm đặt phòng khách sạn có các chức năng cơ bản : Thêm, sửa, xóa, tìm kiếm thông tin và thống kê. 2. Nhiệm vụ của đề tài Hỗ trợ bộ phận quản lý kiểm soát và lưu trữ thông tin khách hàng, phòng và thống kê về số lượng phòng chưa được sử dụng, tổng số lượng đơn đặt phòng,tổng thời gian thuê, tổng số lượng khách hàng... một cách linh hoạt và tối ưu. 3. Kết cấu của đề tài Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận: Mở đầu Chương 1: Mô tả bài toán Chương 2: Thiết kế cơ sở dữ liệu Chương 3: Triển khai thiết kế và phát triển ứng dụng Kết luận

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KINH TẾ KHOA THỐNG KÊ – TIN HỌC

Trang 2

LỜI CẢM ƠN

Nhóm chúng em xin chân thành cảm ơn các thầy cô trong Khoa Thống Kê – TinHọc, Trường Đại học Kinh tế - Đại học Đà Nẵng, đặc biệt là giáo viên hướng dẫn HoàngThị Thanh Hà đã tận tình giúp đỡ chúng em rất nhiều trong quá trình thực tập thời gianqua

Vì còn thiếu nhiều kinh nghiệm cho nên trong quá trình thực tập không thể tráchđược sai sót Chúng em mong thầy, cô và nhà trường cho chúng em vài kinh nghiệm đểhoàn thiện kỹ năng của bản thân hơn

Một lần nữa, chúng em xin chân thành cảm ơn các thầy cô trong Khoa Thống Kê –Tin Học, Trường Đại học Kinh tế - Đại học Đà Nẵng, cảm ơn cô Hoàng Thị Thanh Hà

Trang 3

LỜI CAM ĐOAN

Nhóm chúng em xin cam đoan dự án Phần mềm quản lý đặt phòng khách sạnNovotel là kết quả nghiên cứu độc lập của chúng em dưới giúp đỡ tận tình của giáo viênhướng dẫn: Hoàng Thị Thanh Hà

Dự án dưới đây là kết quả mà chúng em đã nỗ lực nghiên cứu tìm hiểu trong quátrình học tập và đồng thời học hỏi tham khảo từ những video hướng dẫn của thầy cô chia

sẻ và những video tham khảo thêm trên mạng được trích dẫn rõ ràng

Trang 4

MỤC LỤC

Trang 5

2.1.1 Các thực thể có trong hệ thống: 7

CHƯƠNG 3 TRIỂN KHAI THIẾT KẾ VÀ PHÁT TRIỂN ỨNG DỤNG 17

Trang 8

Hình 10 Dữ liệu listview trên form đơn đặt phòng 20

Hình 15 Dữ liệu sau khi dùng thao tác Tìm kiếm 28 Hình 16 Thống kê các khách hàng theo ngày đến và ngày đi 31

DANH MỤC CÁC TỪ VIẾT TẮT

- CSDL: Cơ sở dữ liệu.

- GVHD: Giáo viên hướng dẫn.

Trang 9

- Form: Giao diện.

- Winform: Thư viện lớp đồ họa mã nguồn mở

Trang 10

LỜI MỞ ĐẦU

1 Mục tiêu nghiên cứu của đề tài

- Phần mềm quản lý đặt phòng khách sạn xây dựng hệ thống thông tin trên cơ sởphục vụ cho việc đặt phòng của khách sạn được nhanh chóng, thuận tiện và hiệuquả

- Xây dựng một phần mềm đặt phòng khách sạn có các chức năng cơ bản : Thêm,sửa, xóa, tìm kiếm thông tin và thống kê

2 Nhiệm vụ của đề tài

- Hỗ trợ bộ phận quản lý kiểm soát và lưu trữ thông tin khách hàng, phòng và thống

kê về số lượng phòng chưa được sử dụng, tổng số lượng đơn đặt phòng,tổng thờigian thuê, tổng số lượng khách hàng một cách linh hoạt và tối ưu

3 Kết cấu của đề tài

Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận:

- Mở đầu

- Chương 1: Mô tả bài toán

- Chương 2: Thiết kế cơ sở dữ liệu

- Chương 3: Triển khai thiết kế và phát triển ứng dụng

- Kết luận

Trang 11

CHƯƠNG 1 MÔ TẢ BÀI TOÁN

1.1 Mô tả tổng quan:

1.1.1 Giới thiệu bối cảnh đề tài:

Trong thực trạng hiện nay, dịch vụ du lịch ngày càng phát triển mạnh mẽ, các nhàđầu tư khách sạn khắp mọi nơi, và đương nhiên song song đó là lượng khách du lịchngày càng đông Và đặc biệt là “Cơn bão Covid-19” - Các khách sạn phải quản lýnhư thế nào là tối ưu nhất sau thời gian dịch bệnh

Theo phương thức truyền thống thì khi khách hàng có nhu cầu ở khách sạn thì có

2 phương án: Thứ nhất là gọi điện đến đặt phòng, Hai là đến trực tiếp khách sạn đểđặt phòng

1.1.2 Tính cấp thiết của đề tài:

Trên đà phát triển mạnh mẽ của dịch vụ du lịch, công việc quản lý bằng nhữngphương pháp thủ công truyền thống tốn rất nhiều thời gian và có nhiều sai sót trongviệc quản lý thông tin, cập nhật thông tin khách hàng, đặc biệt là vấn đề tổng hợpkhách hàng đặt phòng và lưu trữ hóa đơn Để giải quyết những vấn đề đó thì cần cómột phần mềm quản lý thông tin linh hoạt và theo quy trình

Qua thời gian nghiên cứu tìm hiểu, nhóm chúng em cũng thực hiện xây dựngphần mềm quản lý đơn giản có những chức năng sau:

- Quản lý thông tin khách hàng

Trang 12

1.2 Mô tả hệ thống

1.2.1 Tên hệ thống

Phần mềm quản lý đặt phòng khách sạn Novotel

1.2.2 Mô tả bài toán

Bài toán xây dựng phần mềm quản lý đặt phòng khách sạn sẽ thực hiện các thaotác thêm, sửa, xóa, tìm kiếm bảng khách hàng, phòng, loại phòng, đơn đặt phòng.Đồng thời thống kê được thông tin khách đến, khách đi và tính tổng tiền thanh toánhoặc tổng thời gian thuê phòng của khách hàng theo ngày hoặc tháng hoặc năm vàcòn phòng được đặt nhiều nhất Bên cạnh đó thống kê tổng số phòng đã thuê hoặctổng tiền đã trả hoặc tổng thời gian thuê của từng khách hàng

1.2.3 Môi trường triển khai:

● Triển khai trên phần mềm Visual Studio 2013

● Hệ quản trị cơ sở dữ liệu MS SQL Server 2014

● Ngôn ngữ lập trình C#

Trang 13

1.3 Mô tả các yêu cầu của ứng dụng

Phần mềm quản lý đặt phòng khách sạn được sử dụng nhằm phục vụ chủ yếu cho

bộ phận quản lý đặt phòng cho khách sạn

❖ Nhiệm vụ chính của hệ thống:

Bộ phận quản lý: Người thuộc phòng quản lý có thể lưu trữ thông tin về khách hàng, phòng và thống kê về số lượng phòng chưa được sử dụng, tổng số lượng khách hàng…

- Thông tin đầu vào

● Thông tin về khách hàng

● Thông tin về phòng cho thuê

● Thông tin về ngày đặt phòng, ngày nhận và trả phòng

● Các yêu cầu: Thêm, xóa, sửa và tìm kiếm…

- Thông tin đầu ra

● Thông tin về khách hàng

● Thông tin về phòng cho thuê

● Thông tin về ngày đặt phòng, ngày nhận và trả phòng

● Các báo cáo, thống kê, trích dẫn dữ liệu

❖ Các yêu cầu xây dựng hệ thống

- Đảm bảo tính nghiệp vụ, phù hợp với các nguyên tắc vận hành của cácquy trình nghiệp vụ

- Đảm bảo tính vận hành độc lập và tính tích hợp giữa các chức năng của hệthống

- Thông tin được đảm bảo toàn vẹn, chính xác qua các hoạt động vào/ ra tạimọi thời điểm, mọi người dùng

- Tự động hóa việc xử lý hàng ngày đến mức cao nhất, giảm thiểu thao tácthủ công

- Hệ thống có sự giúp đỡ tại chỗ, thông báo lỗi kịp thời, phân vùng lỗi

- Có khả năng dễ dàng thay đổi để phù hợp với các thay đổi của phần cứng

- Có khả năng bảo mật thông tin cao

Trang 14

1.4 Sơ đồ hệ thống

Hình 1 Sơ đồ hệ thống.

Trang 15

CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU

2.1 Phân tích mô hình cơ sở dữ liệu

2.1.2 Thuộc tính và khóa của các thực thể:

- PHONG(MaPhong, MaLoai Phong, TenPhong, MoTaPhong, TrangThai)

● MaLoaiPhong là khóa ngoại nối với bảng LOAIPHONG

- LOAIPHONG(MaLoaiPhong, LoaiPhong,SoGiuong,GiaPhong)

- DONDATPHONG(MaDonDatPhong, MaPhong, MaKhach, NgayDatPhong, NgayDen,NgayDi,HuyDon,ThoiGianThue, TienPhong, DatCoc, ConLai)

● MaPhong là khóa ngoại nối với bảng PHONG

● MaKhach là khóa ngoại nối với bảng KHACHHANG

- KHACHHANG(MaKhach, TenKhachHang, DiaChi, Email, SoDienThoai, GioiTinh)

- NGUOIDUNG(TaiKhoan, MatKhau)

*Lưu ý: Các thuộc tính được gạch chân là các thuộc tính được chọn làm khóa chính.

Trang 16

Khóa Diễn giải dữ

r

Bảng 1 Bảng NGUOIDUNG

Trang 17

Thuộc tính Kiểu

dữ liệu

Độ rộng

liệu

Key

Là khóa chính để phân biệt với các phòng khác, mỗi phòng có 1

mã phòng khác nhau.

phòng để phân biệt với các phòng khác

phòng Sẽ có nhiều loại phòng phù hợp với yêu cầu về số lượng và sở thích của từng khách hàng.

Trang 18

Khóa Diễn giải dữ

liệu

MaLoaiPhon

g

Varcha r

Key

Là khóa chính

để phân biệt với các phòng khác, mỗi phòng có 1 mã loại phòng khác nhau.

r

giúp khách hàng lựa chọn phù hợp với yêu cầu đặt ra.

trong phòng.

Mỗi phòng có

Trang 19

một mức giá khác nhau.

Bảng 3 Bảng LOAIPHONG

rộn g

Khóa Diễn giải dữ liệu

Key

Là khóa chính để phân biệt với các khách hàng khác, mỗi khách hàng

sẽ có 1 mã khách hàng khác nhau TenKhachHan

g

Nvarcha r

đặt phòng của khách sạn.

r

ứng với từng khách hàng.

Trang 20

Email Varchar 50 Email tương ứng

với từng khách hàng.

tương ứng với từng khách hàng.

ứng với mỗi khách hàng 1 là nam, 0 là nữ.

Bảng 4 Bảng KHACHHANG

rộng

Ràng buộc

Diễn giải

MaDonDatPho

ng

Varcha r

Key

Là khóa chính để phân biệt với các đơn đặt phòng khác, mỗi đơn sẽ

có 1 mã đơn đặt phòng khác nhau.

Trang 21

hàng đặt phòng.

hàng bắt đầu

sử dụng phòng.

trả phòng và lập hóa đơn.

phòng.1 là hủy, 0 là không hủy tiếp tục đặt.

Trang 22

ThoiGianThue Int Thời gian

thuê phòng của khách hàng (Ngày

đi – Ngày đến).

phòng(Thời gian thuê * Giá phòng)

phòng *0.3)

phòng – Đặt cọc)

Bảng 5 Bảng DONDATPHONG

Trang 23

2.2 Thực thi cơ sở dữ liệu:

2.2.1 Tạo bảng:

Sau khi đã thiết kế chi tiết cơ sở dữ liệu, ta tiến hành tạo lập các các bảng trên phầnmềm SQL Server Ta thực hiện như sau:

2.2.1.1 Tạo database: QUANLYDATPHONGKHACHSAN

Create database QUANLYDATPHONGKHACHSAN

2.2.1.4 Bảng Loại Phòng:

Create table LOAIPHONG(MaLoaiPhong varchar(5)notnull primary key,

LoaiPhong varchar (30)notnull, SoGiuong int notnull, GiaPhong int notnull )

2.2.1.5 Bảng Khách Hàng:

Create table KHACHHANG(MaKhach varchar(5) notnull primary key,

TenKhachHang nvarchar(100) notnull, DiaChi nvarchar(100)notnull,

Email varchar(50)notnull, SoDienThoai int notnull, GioiTinh bit notnull)

2.2.1.6 Bảng Đơn Đặt Phòng:

Create table DONDATPHONG (MaDonDatPhong varchar(10) notnull primary key,

MaPhong varchar(5)notnull, MaKhach varchar(5) notnull, NgayDatPhong date notnull, NgayDen date notnull, NgayDi date notnull, HuyDon bit notnull,

ThoiGianThue int, TienPhong int, DatCoc int, ConLai int)

Trang 24

2.2.2 Tạo ràng buộc khóa

2.2.2.1 Phòng – Loại Phòng:

ALTER TABLE dbo.PHONG

ADD CONSTRAINT FK_LOAIPHONG FOREIGN KEY (MaLoaiPhong)

REFERENCES dbo.LOAIPHONG(MaLoaiPhong)

2.2.2.2 Đơn Đặt Phòng – Phòng:

ALTER TABLE dbo.DONDATPHONG

ADD CONSTRAINT FK_PHONG FOREIGN KEY (MaPhong) REFERENCESdbo.PHONG(MaPhong)

2.2.2.3 Đơn Đặt Phòng – Khách Hàng:

ALTER TABLE dbo.DONDATPHONG

ADD CONSTRAINT FK_KHACHHANG FOREIGN KEY (MaKhach)

REFERENCES dbo.KHACHHANG(MaKhach)

Trang 25

FROM DONDATPHONG INNERJOIN PHONG ON

DONDATPHONG.MaPhong = PHONG.MaPhong

INNER JOIN LOAIPHONG ON LOAIPHONG.MaLoaiPhong =

Set ConLai = TienPhong - DatCoc

2.3 Mô hình dữ liệu quan hệ:

Hình 2 Mô hình dữ liệu quan hệ.

Trang 26

CHƯƠNG 3 TRIỂN KHAI THIẾT KẾ VÀ PHÁT TRIỂN ỨNG DỤNG

3.1 Giao diện đăng nhập:

Để bảo mật thông tin cũng như thuận tiện cho các thao tác, tất cả các nhà quản lý

và nhân viên phải đăng nhập chính xác tài khoản và mật khẩu Nếu nhập chính xác

hệ thống sẽ vào trang đơn đặt phòng Nếu sai tài khoản hệ thống sẽ báo "Tài khoản bạn vừa nhập không đúng!" và sai mật khẩu hệ thống sẽ báo "Mật khẩu bạn vừa nhập không đúng!"

Hình 3 Giao diện đặng nhập.

Trang 27

private void btnLogin_Click( object sender, EventArgs e)

{

if (login())

{

fGiaodienchinh f = new fGiaodienchinh();

this Visible = false ;

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Trang 29

3.2 Các giao diện:

Tại tab quản lý, người dùng có khả năng thêm, sửa, xóa và tìm kiếm trực tiếptrên mỗi trường tạo sẵn Giao diện ứng dụng đơn giản, mỗi người đều có thể dùngmột cách dễ dàng mà không gặp bất kì khó khăn nào Khi thực hiện các thao tác quản

lý, ứng dụng sẽ tự động cập nhật và hiển thị thông tin vào bảng của giao diện

3.2.1 Form Quản lý đơn đặt phòng:

Hình 4 Form quản lý đơn đặt hàng.

Trang 30

3.2.2 Form Quản lý khách hàng:

Hình 5 Form quản lý khách hàng.

3.2.3 Form Quản lý phòng:

Hình 6 Form quản lý phòng.

Trang 31

3.2.4 Form Báo cáo thống kê:

Hình 7 Form Báo cáo thống kê.

3.3 Kết nối cơ sở dữ liệu:

Tại mỗi form quản lý, ta tạo một listview để chứa dữ liệu Khi muốn đổ dữ liệuvào listview trên winform, ta cần dùng một câu lệnh chứa liên kết với SQL Server đểkết nối hai phần mềm với nhau Tiếp đó, ta thực hiện các bước như sau để có thể lấyđược dữ liệu:

- Tạo một kho ảo để lưu dữ liệu

- Lấy hết dữ liệu trong bảng bên SQL Server

- Chuyển dữ liệu về

- Đổ dữ liệu vào kho

- Đổ dữ liệu vào listview

Trang 32

Ta có ví dụ về đổ dữ liệu vào listview trên form Quản lý loại phòng như bên dưới.

String sql = "SELECT * FROM LOAIPHONG";

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Trang 33

}

Hình 8 Dữ liệu trên Form loại phòng

Tương tự các bảng Phòng, Đơn đặt phòng, Khách hàng theo thứ tự như hình

Hình 9 Dữ liệu listview trên form phòng.

Trang 34

Hình 10 Dữ liệu listview trên form đơn đặt phòng.

Hình 11 Dữ liệu listview trên form khách hàng

3.4 Thao tác và quản lý ứng dụng:

3.4.1 Thao tác Thêm:

Để thêm dữ liệu vào bảng, người dùng nhập thông tin trực tiếp vào mỗi trường rồinhấn vào button “Thêm” ở phía trên ứng dụng Ví dụ, người dùng muốn thêm thôngtin Phòng sẽ nhập lần lượt vào các trường Mã phòng (“MP034”), Mã Loại phòngchọn C1002, Tên Phòng (“Phong 609”), Trạng Thái chọn “Còn phòng”, Mô tả(“Phòng Superior có không gian khiêm tốn”) sau đó bấm vào button “Thêm” thì dữliệu sẽ hiện lên listview (Hình ) Tại đây, ta xử lý dữ liệu bằng cách chuyển câu lệnh

Trang 35

Insert từ SQL thành C# rồi lần lượt thêm dữ liệu đã nhập từ trường vào listview theothứ tự tương ứng Để rõ ràng, ta lập trình như sau:

private void bttThemPhong_Click( object sender, EventArgs e)

Trang 36

string strMaPhong = tbMaPhong.Text;

if (checkMaPhong(strMaPhong) == false ) {

MessageBox.Show("Mã phòng đã tô?n tại!", "Thông báo"); return ;

}

if (checkData(strMaLoaiPhong) == false ) {

MessageBox.Show("Mã loại phòng không tô?n tại!", "Thông báo");

return ; }

if (strMaPhong.Length > 5) {

MessageBox.Show("Mã phòng pha=i bé hơn 6!", "Thông báo"); return ;

} else

{ int trangthai = 0;

Trang 37

string sql = "INSERT INTO PHONG (MaPhong,

MaLoaiPhong,TenPhong, MoTaPhong, TrangThai) VALUES ('" + tbMaPhong.Text + "','" + strMaLoaiPhong + "','" + tbTenPhong.Text +

"',N'" + tbMoTa.Text + "'," + trangthai + ")";

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Trang 38

Hình 12 Dữ liệu trước khi dùng thao tác Thêm.

3.4.2 Thao tác Sửa:

Khi muốn sửa dữ liệu, người dùng click chuột vào dòng thông tin muốn sửa vàcác thông tin sẽ xuất hiện tương ứng các trường phía dưới Tại đây, ta chỉnh lại cácthông tin cần sửa và nhấn vào button “Sửa” Thông tin sẽ được cập nhật và hiển thịlên bảng listview bên trên Ví dụ, người dùng muốn chỉnh sửa Trạng thái có Mãphònglà MP034, ta click chuột vào thông tin Phòng đó và sửa vào click chuột vàoTrạng thái “Hết phòng” (Hình Thuật toán “Sửa” như sau:

private void btnSuaLoaiPhong_Click( object sender, EventArgs e)

Trang 39

bool isNumeric = int TryParse(txtSoGiuong.Text, out n);

bool isNumeric1 = int TryParse(txtGiaPhong.Text, out n);

string strMaLoaiPhong = txtMaLoaiPhong.Text;

if (checkData(strMaLoaiPhong) == false )

Trang 40

String sql = "UPDATE LOAIPHONG SET LoaiPhong = '" +

txtLoaiPhong.Text + "', SoGiuong = " + txtSoGiuong.Text + ", GiaPhong = '" + txtGiaPhong.Text + "' WHERE MaLoaiPhong = '" + txtMaLoaiPhong.Text + "'"; DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Trang 41

Hình 13 Dữ liệu sau khi dùng thao tác Sửa.

DialogResult dialogResult = MessageBox.Show("Bạn có muôZn xóa phòng này

không", "Thông báo", MessageBoxButtons.YesNo);

Trang 42

public void deletePhong(String MaPhong)

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Trang 43

Hình 14 Dữ liệu sau khi dùng thao tác Xóa.

Trang 44

3.4.4 Thao tác Tìm kiếm:

Chức năng tìm kiếm này cho phép người dùng tìm kiếm được toàn bộ thông tinnhanh chóng và hiệu quả

Ví dụ tìm Đơn đặt phòng như sau:

Người dùng nhập Mã đơn phòng, nhấn vào button Tìm để tìm kiếm Lúc này,việc tìm kiếm sẽ được hệ thống chạy chương trình và hiển thị tất cả thông tin liênquan đến ‘Mã đơn phòng’ trên bảng listview

private void btTimFgiaodienchinh_Click( object sender, EventArgs e)

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

Ngày đăng: 26/01/2023, 22:11

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w