You are on page 1of 78

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN


ĐỒ ÁN LẬP TRÌNH .NET

Đề tài: XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÁCH SẠN

Sinh viên thực hiện : CÙ THỊ PHƯƠNG THẢO

Giảng viên hướng dẫn : PHƯƠNG VĂN CẢNH

Ngành : CÔNG NGHỆ THÔNG TIN

Chuyên ngành : CÔNG NGHỆ PHẦN MỀM

Lớp : D12CNPM1

Khóa : 2017 – 2022

Hà Nội, tháng 6 năm 2021


TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ


ĐỒ ÁN LẬP TRÌNH .NET

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÁCH SẠN

Sinh viên thực hiện : CÙ THỊ PHƯƠNG THẢO

Giảng viên hướng dẫn : PHƯƠNG VĂN CẢNH

Ngành: : CÔNG NGHỆ THÔNG TIN

Lớp : D12CNPM1

Hà Nội, tháng 10 năm 2019


PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:

STT Họ và tên Chữ ký Nhiệm vụ

1 Cù Thị Phương Thảo


Mã sinh viên: 1781310069

Giảng viên chấm:

Họ và tên Chữ ký Ghi chú


Giảng viên chấm 1:

Giảng viên chấm 2:


MỤC LỤC

CHƯƠNG 1: TÌM HIỂU VỀ LINQ TO SQL.......................................................2


1.1 Khái niệm.........................................................................................................2
1.2 LinQ to SQL....................................................................................................3
1.3 Truy vấn sử dụng LINQ to SQL...................................................................3
CHƯƠNG 2: KHẢO SÁT HỆ THỐNG VÀ XÁC ĐỊNH YÊU CẦU.................8
2.1 Mục tiêu, nhiệm vụ của đề tài........................................................................8
2.2 Phạm vi thực hiện của đề tài..........................................................................8
2.3 Khảo sát hiện trạng.....................................................................................8
2.3.1 Cơ cấu tổ chức...........................................................................................8
2.3.2 Quy trình hoạt động............................................................................11
2.3.3 Lĩnh vực...............................................................................................12
2.4 Khảo sát phần cứng, phần mềm...............................................................12
2.5 Các chức năng của hệ thống.....................................................................12
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG.............................................14
3.1 Các loại tài khoản sử dụng ứng dụng..........................................................14
3.2 Các chức năng của hệ thống.........................................................................14
3.3 Sơ đồ phân rã chức năng..........................................................................15
3.4 Biểu đồ Use case.........................................................................................16
3.4.1 Gói đăng nhập.........................................................................................16
3.4.2 Gói quản lý tài khoản.............................................................................16
3.4.3 Gói quản lý khách hàng..........................................................................17
3.4.4 Gói quản lý dịch vụ.................................................................................17
3.4.5 Gói quản lý phòng...................................................................................18
3.4.6 Gói quản lý thuê phòng / trả phòng......................................................18
3.5 Đặc tả các ca sử dụng................................................................................19
3.5.1 Đăng nhập................................................................................................19
3.5.2 Quản lý tài khoản....................................................................................20
3.5.3 Quản lý khách hàng................................................................................23
3.5.4 Quản lý phòng.........................................................................................27
3.5.5 Quản lý dịch vụ.......................................................................................33
3.5.6 Quản lý thuê phòng / trả phòng.............................................................38
3.6 Xây dựng biểu đồ tương tác.........................................................................43
3.6.1 Biểu đồ trình tự.......................................................................................43
3.6.2 Biểu đồ cộng tác...................................................................................48
3.6.3 Biểu đồ lớp tổng quát..........................................................................50
Chương 4: LẬP TRÌNH........................................................................................51
4.1. Tạo database.................................................................................................51
4.2. Tạo bảng.......................................................................................................51
4.3. Mô hình dữ liệu............................................................................................52
4.3.1. Chi tiết các bảng dữ liệu........................................................................52
4.3.2. Tạo diargram liên kết............................................................................54
4.4. Thiết kế giao diện chương trình..................................................................55
4.4.1 Giao diện đăng nhập...............................................................................55
4.4.2 Giao diện trang chủ................................................................................56
4.4.3 Giao diện quản lý khách.........................................................................61
4.4.4 Giao diện quản lý phòng........................................................................62
4.4.5 Giao diện quản lý dịch vụ.......................................................................63
4.4.6 Giao diện thuê phòng..............................................................................64
4.4.7 Giao diện trả phòng................................................................................65
4.4.8 Giao diện sử dụng dịch vụ......................................................................68
4.4.9 Giao diện chức năng tìm kiếm...............................................................70
KẾT LUẬN.............................................................................................................72
TÀI LIỆU THAM KHẢO.....................................................................................73
LỜI MỞ ĐẦU
Ngày nay, nhu cầu đi lại, công tác dài ngày, nhu cầu du lịch của con người
cũng như những nhu cầu về nơi ăn chốn ở, nghỉ ngơi thư giãn và yêu cầu về chất
lượng của các dịch vụ này ngày càng tăng. Bắt kịp những đòi hỏi đó các khách sạn
ngày càng nâng cao chất lượng quản lý và phục vụ để đạt được mục tiêu kinh
doanh cũng như để có thể tồn tại ở môi trường kinh doanh khách sạn đầy cạnh
tranh. Song song đó, các khách sạn này cần phải có một hệ thống quản lý để bảo
đảm quy trình quản lý và phục vụ khách hàng một cách tốt nhất. Để giải quyết vấn
để này các khách sạn đều trang bị cho mình những mô hình quản lý riêng phù hợp
với quy mô của từng khách sạn.
Với một quy mô lớn như trên thì việc xây dựng một ứng dụng để quản lý chặt
chẽ là rất quan trọng. Nắm bắt được nhu cầu đó em thực hiện đề tài “Hệ thống
quản lý khách sạn” để tìm hiểu sâu hơn kiến thức về lĩnh vực này.

Sinh viên thực hiện


Cù Thị Phương Thảo

1
CHƯƠNG 1: TÌM HIỂU VỀ LINQ TO SQL
1.1 Khái niệm
LINQ (Language Integrated Query) ngôn ngữ tích hợp truy vấn là một sự đổi
mới trong Visual Studio 2008 và .Net Framework 3.5 là cầu nối khoảng cách giữa
thế giới của đối tượng và thế giới dữ liệu.
Theo truyền thống các câu lệnh truy vấn trên dữ liệu được thể hiện một cách
dễ dàng giống như các chuỗi ký tự đơn giản mà không cần đến kiểm tra tại thời
điểm diễn ra biên dịch hoặc sự hỗ trợ của trình hỗ trợ trực quan. Hơn nữa cần phải
tìm hiểu một ngôn ngữ truy vấn khác nhau cho mỗi loại dữ liệu nguồn khác nhau
như: Cơ sở dữ liệu SQL, tài liệu XML( Extensible Markup Language), các dịch vụ
của LINQ hỗ trợ truy vấn một lớp đầu tiên xây dụng trong ngôn ngữ C# và Visual
Basic. Sử dụng câu lệnh truy vấn dựa trên tập hợp của các đối tượng bằng cách sử
dụng ngôn ngữ, các từ khóa và các toán tử quen thuộc.
Trong Visual Studio có thể viết câu lệnh truy vấn LINQ trong Visual Basic
hoặc C# với cơ sở dữ liệu SQL Server, các tài liệu XML, ADO.NET databasets và
bát kỳ đối tượng nào được hỗ trợ IEnumerable hoặc có đặc điểm giống giao diện
Ienumerable<T>. LINQ hỗ trợ cho các thực thể ADO.NET framework và LINQ
đang được các nhà cung cấp hiện nay viết bởi bên thứ ba cho nhiuef dịch vụ và
triển khai dữ liệu hóa. Có thể sử dụng các truy vấn LINQ trong các dự án mới hoặc
các dự án hiện có. Một yêu cầu duy nhât là các dự án đó phải được xây dựng
trên .NET framework 3.5.
LinQ có nhiều loại: LinQ to SQL, LinQ to Entities, LinQ to Object. Trong
Project này sẽ sử dụng LinQ to SQL
Các Namespace hỗ trợ của LINQ:
 System.Linq: Hỗ trợ sử dụng các Objects;
 System.Data.Linq: Hỗ trợ sử dụng các cơ sở dữ liệu quan hệ;
 System.Data.Objects: Hỗ trợ sử dụng các Entities;
 System.XML.Linq: Hỗ trợ sử dụng XML;

2
1.2 LinQ to SQL
LinQ to SQL cung cấp một cơ sở hạ tầng cho việc quản lý các dữ liệu quan
hệ như các đối tượng. Nó là một thành phần của version 3.5 .NET Framework và
LInQ to SQL là một phiên bản hiện thực hoá của O/RM (object relational mapping)
có bên trong .NET Framework. Nó cho phép người dùng mô hình hoá một cơ sở dữ
liệu dùng các lớp .NET. Sau đó, có thể truy vấn chúng bằng cách dùng LInQ – tất
nhiên nó cho phép các thao tác: Insert, Update, Delete, View, Store Procedure ,
Transaction. LInQ to SQL chỉ hỗ trợ cho SQL Server, và người dùng là người mới
bắt đầu nghiên cứu thì LInQ to SQL là sự lựa chọn tuyệt vời nhất

Mô hình LinQ to SQL


1.3 Truy vấn sử dụng LINQ to SQL
a) Cấu trúc của câu truy vấn LInQ to SQL
Một câu lệnh truy vấn trong linq to sql luôn gồm có 3 đối tượng: nguồn dữ
liệu, tạo câu truy vấn, thực hiện câu truy vấn.
Nguồn dữ liệu ở đây là một danh sách các item.

3
Câu lệnh truy vấn bao gồm có from là xác định dữ liệu lấy từ bảng nào,
where là thỏa mãn điều kiện gì thì lấy ra, select là lựa chọn các trường nào của đối
tượng hay là chọn cả đối tượng.

Thực hiện câu truy vấn ở đây có thể là: thêm, sửa, xóa. Thêm, sửa, xóa ở đây
có thể là một hoặc nhiều đối tượng.
b) Cơ chế làm việc với cơ sở dữ liệu của LINQ to SQL
LINQ thông qua ứng dụng hỗ trợ biên dịch lin để dịch thành các câu lệnh
tương ứng trong Sql để thực hiện thao tác với cơ sở dữ liệu.Các câu lệnh thao tác
với cơ sở dữ liệu thì khi gọi đến các câu lệnh thì nó chưa thực hiện. Nó chỉ thực
hiên khi gọi đến phương thức Submitchage(). Các câu lệnh thao tác này cũng phải
thông qua ứng dụng hỗ trợ biên dịch các câu lệnh linq thành các câu lệnh sql tương
ứng để thao tác với cơ sở dữ liệu.
c) Các từ khoá để tạo ra các câu truy vấn
from itemName in srcEX
join itemName in srcEx on keyEx equal keyEX (into ItemName)
4
where predExpr
group SelExpr by keyEX
into itemName query-body
orderby(keyEX(ascending descending)?)*
select selExpr
Trong đó:
 From là chọn đối tượng từ nguồn nào
 Join là thực hiện tham gia liên kết với bảng nào để lấy ra các trường dữ liệu
mong muốn
 Where để ghi điều kiện các đối tượng trong nguồn phải thỏa mãn điều kiện
này thì mới được lấy ra
 Group là thực hiện gom nhóm các đối tượng lấy ra theo một trường nào đó.
Ví dụ có một danh sách các sinh viên thì các bạn sẽ muốn các sinh viên
thuộc cùng 1 lớp sẽ đứng gần nhau. Để làm được điều này trong Linq dùng
group
 Orderby là thực hiện sắp xếp các đối tượng được lấy ra theo 1 trường nào đó
và theo thứ tự giảm dần hay tăng dần.
d) Các đối tượng hay sử dụng trong LINQ to SQL

5
 Các hàm Sum/ Min/ Max/ Average là các hàm tính tổng, lấy giá trị
nhỏ nhất, lấy giá trị lớn nhất, lấy giá trị trung bình.
 Hàm Take, Skip là hàm lấy ra bao nhiêu bản ghi được hiển thị trong
danh sách các bản ghi và lấy ra từ bản ghi thử mấy.
 Hàm First, FirstOrDefault là hàm dùng để lấy ra phần tử đầu tiên trong
danh sách các phần tử:
- First: khi dùng mà phần tử lấy ra rỗng thì nó sẽ xảy ra lỗi.
- FirstOrDefault : có thể cho phép đối tượng lấy ra là null nhưng
nhớ khi thực hiện thì kiểm tra nó khác null thì mới thực hiên câu
lênh bên trong if là được
 Tương tự như FirstOrDefault thì Last, LastOrDefault là lấy ra phần tử
cuối cùng.
e) Cấu trúc các truy vấn sử dụng LINQ to SQL trong C#
 Hiển thị dữ liệu lên một GridView
List<Khach> list = new List<Khach>();
var query = (from n in db.Khaches
select n);
list = query.ToList<Khach>();
DataGridView1.DataSource = list;

 Tìm kiếm dữ liệu từ CSDL


var query1 = (from phong in db.Phongs
where phong.LoaiP == cbb_loai.Text
select phong);
list = query1.ToList<Phong>();
DataGridView1.DataSource = list;

 Thêm một bản ghi vào CSDL


Khach khachs = new Khach();
khachs.CMT = txt_cmt.Text;
khachs.Hoten = txt_ten.Text;

6
khachs.Diachi = txt_dchi.Text;
khachs.GT = cbb_gtinh.Text;
khachs.SDT = txt_dt.Text;
db.Khaches.InsertOnSubmit(khachs);
db.SubmitChanges();

 Sửa một bản ghi trong CSDL


Khach khachs = db.Khaches.FirstOrDefault(s => s.CMT ==
txt_cmt.Text);
khachs.Hoten = txt_ten.Text;
khachs.GT = cbb_gtinh.Text;
khachs.Diachi = txt_dchi.Text;
khachs.SDT = txt_dt.Text;
db.SubmitChanges();

 Xóa một bản ghi trong CSDL


Khach dskhach = (from Khach in db.Khaches
where Khach.CMT == txt_cmt.Text
select Khach).SingleOrDefault();
if (dskhach != null)
{
db.Khaches.DeleteOnSubmit(dskhach);
db.SubmitChanges();
MessageBox.Show("Xóa thành công", "Xóa khách hàng");
}

 Tìm kiếm dữ liệu từ nhiều bảng


var query = (from kh in db.Khaches
join th in db.ThuePs on kh.CMT equals th.CMT
where th.CMT == txt_input.Text
select th);
khachBindingSource.DataSource = query.ToList();

7
CHƯƠNG 2: KHẢO SÁT HỆ THỐNG VÀ XÁC ĐỊNH
YÊU CẦU
2.1 Mục tiêu, nhiệm vụ của đề tài
Quản lý khách sạn là một khối nghiệp vụ hết sức phức tạp, đòi hỏi một hệ
thống quản lý chặt chẽ, thuận tiện và có hiệu quả cao. Đề tài vừa có giá trị trong
thực tế vừa có giá trị trong việc học tập của những sinh viên như chúng em. Vì sau
khi thực hiện đề tài, sinh viên vừa nắm được vững hơn kiến thức môn học vừa bồi
dưỡng cho bản thân thêm kiến thức về nghiệp vụ quản lý trong các doanh nghiệp,
công ty góp phần nâng cao trình độ chuyên môn của mỗi cá nhân.
Trong khuôn khổ đề tài môn học này, mục tiêu chính yếu là để rèn luyện
chúng em thực hiện hệ thống với các nhiệm vụ cơ bản: thực hiện việc đăng ký
phòng, làm thủ tục nhận phòng cũng như thanh toán cho khách một cách nhanh
chóng. Cung cấp các dịch vụ khi khách có yêu cầu, đem lại sự thoải mái hài lòng
cho khách hàng. Bên cạnh đó là sự hổ trợ cho việc quản lý các danh mục trong hệ
thống và thống kê báo cáo.
2.2 Phạm vi thực hiện của đề tài
Đề tài tập chủ yếu tập trung vào các nghiệp vụ chính của một khách sạn chứ
không đi sâu vào chi tiết hay thực hiện nhiều nghiệp vụ quá phức tạp do vấn đề về
thời gian cũng như là kinh nghiệm vẫn còn ít. Tuy nhiên, với những nghiệp vụ
trong đề tài đã đủ để triển khai ra một dự án thực tế dành cho các khách sạn, doanh
nghiệp vừa và nhỏ.
2.3 Khảo sát hiện trạng
2.3.1 Cơ cấu tổ chức
Khách sạn được hình thành từ các phòng, tổ quan hệ mật thiết hỗ trợ nhau.
Mỗi phòng ban có tổ chức rõ ràng không chồng chéo. Mọi hoạt động kinh doanh
của khách sạn đều chịu sự điều hành quản lý của Ban giám đốc.

8
Hình 1.1: Cơ cấu tổ chức của khách sạn.
 Giám đốc: chịu trách nhiệm với hội đồng quản trị và chịu trách nhiệm trước
tập thể nhân viên của khách sạn.
 Phó giám đốc: chịu trách nhiệm trước giám đốc, là người chịu trách nhiệm
về công tác tổ chức lao động, khen thưởng kỷ luật, tuyển dụng nhân sự, quản
trị hành chính lưu trữ văn thư.
 Phòng kinh doanh: chịu trách nhiệm trước ban giám đốc về quản lý kinh
doanh, tổ chức điều hành các hoạt động kinh doanh nhằm đạt được mục tiêu,
đem lại lợi nhuận cao cho khách sạn.
 Phòng kế toán: chịu trách nhiệm trước ban giám đốc, bộ phận này có kế toán
trưởng và các kế toán viên chuyên thực hiện các kế hoạch về tài chính và
công tác kế toán cụ thể là lập kế hoạch tài chính và báo cáo cuối kỳ, tính

9
lương cho nhân viên, dự trù ngân sách hàng năm, theo dõi việc thu chi của
khách sạn, định giá thành và kiểm soát các kế hoạch tài chính.
 Bộ phận lễ tân, bộ phận nhà phòng, bộ phận dịch vụ, bộ phận văn phòng, bộ
phận an ninh, bộ phận nhân sự: các bộ phận này chịu trách nhiệm trực tiếp
với phòng kinh doanh và giám đốc, là cầu nối giữa khách hàng và khách sạn:
+ Bộ phận lễ tân: Bộ phận này có thể gọi là bộ mặt của khách sạn, những
nhân viên ở bộ phận này phải có kỹ năng giao tiếp tốt, thông thạo nhiều ngoại ngữ,
công việc của họ là lưu thông các hoạt động của khách sạn đáp ứng các nhu cầu của
khách.
+ Bộ phận nhà phòng: họ có trách nhiệm giữ cho phòng sạch sẽ, luôn sẵn
sàng để khách ở, trong thời gian khách ở khách sạn họ sẽ dọn vệ sinh phòng hằng
ngày, họ còn có trách nhiệm kiểm tra, xem xét tình trạng phòng (vệ sinh, trang thiết
bị, ...) trước và sau khi khách tới ở.
+ Bộ phận dịch vụ: đáp ứng các nhu cầu của khách như giặt ủi, thuê xe, nhà
hàng, spa, massage, xông hơi, phòng tập (gym), quầy bar, tiệc tùng, cưới hỏi, ...
+ Bộ phận an ninh: bảo vệ tài sản và sự an toàn cho khách sạn và khách
hàng, đảm bảo uy tín cho khách sạn. Bảo vệ có nhiệm vụ giữ xe, khuân hành lý và
giữ gìn an ninh trật tự trong khách sạn. Theo dõi các thiết bị của khách sạn và chịu
trách nhiệm về hệ thống ánh sáng.
Khách sạn có các tiện nghi như sau:
 Tiện nghi trong phòng
Buổi tối, quý khách có thể thứ giãn bằng cách nghỉ ngơi ở các spa, massage
và phòng xông hơi hoặc ở các phòng nghỉ rộng rãi và sang trọng. Đặc biệt, tất cả
các phòng đều nhìn ra hướng biển.
Tất cả các phòng đều có:
- Bồn tắm, vòi sen, phòng vệ sinh, áo tắm
- Máy sấy tóc, bàn là quần áo
- Điều hòa nhiệt độ

10
- Ti vi, dàn âm thanh, hệ thống ánh sáng, truyền hình cáp thu qua vệ tinh
- Điện thoại bàn khi có yêu cầu sử dụng các dịch vụ của khách sạn
- Tủ lạnh, các loại nước giải khát.
- Giường cỡ King, ga nệm, gối, chăn chất lượng cao.
 Nhà hàng & quán Bar
Khách sạn có hai nhà hàng phục vụ các món ăn Việt Nam và các món ăn Âu
kết hợp với chất lượng phục vụ hoàn hảo. Chúng tôi phục vụ các buổi chiêu đãi lớn
cho đến các bữa tiệc gia đình hoặc họp mặt với bạn bè.
 Trung tâm thương vụ, giao dịch và hội nghị
Khách sạn có các phòng họp rộng từ 129m2 đến 380m2. Đối với các buổi
chiêu đãi lớn, khả năng phục vụ lên tới 400 khách. Trung tâm giao dịch luôn sẵn
sàng phục vụ khách thương nhân.
 Tiện nghi khách sạn
- Máy rút tiền tự động (ATM) và đáp ứng các loại thẻ tín dụng quốc tế như:
VISA, MASTER CARD, PLUS
- Hồ bơi sân thượng ngoài trời
- Trung tâm dịch vụ
- Dịch vụ truy cập mạng internet
- Dịch vụ giặt ủi
- Dịch vụ thuê xe ô tô, xe máy, xe đạp, xe xích lô, …
2.3.2 Quy trình hoạt động
- Khi khách hàng đến khách sạn, nhân viên bảo vệ sẽ tiếp nhận giữ xe,
trông coi và khuân hành lý cho khách, chỉ dẫn khách đến bộ phận tiếp tân.
- Bộ phận tiếp tân sẽ tiếp nhận, kiểm tra những phòng trống phù hợp với
yêu cầu của khách, lập phiếu đăng kí, cập nhật thông tin về khách hàng
vào hệ thống quản lý như hình 1.2.
- Khi khách yêu cầu sử dụng dịch vụ, nhân viên phục vụ sẽ cung cấp, chỉ
dẫn cho khách.

11
- Khi khách yêu cầu trả phòng nhân viên bộ phận tiếp tân sẽ lập chi tiết
phiếu thanh toán rồi chuyển sang bộ phận kế toán lập hóa đơn thanh toán
cho khách hàng như hình 1.3.
Hàng tháng nhân viên kế toán sẽ tiến hành kiểm kê thu chi, đóng thuế
kinh thuế kinh doanh.
- Giám đốc khách sạn sẽ quản lý, chịu trách nhiệm về mọi công việc của
các nhân viên, và cũng là người chịu thuế.
2.3.3 Lĩnh vực
Khách sạn chuyên về kinh doanh, phục vụ khách hàng một cách chuyên
nghiệp, uy tín cao để đạt lợi nhuận như mong muốn. Bên cạnh đó khách sạn cung
cấp nhiều dịch vụ tốt nhất “Vui lòng khách đến, vừa lòng khách đi”.
2.4 Khảo sát phần cứng, phần mềm
 Giao diện thân thiện, dễ sử dụng với người dùng.

 Khả năng sao lưu phục hồi dữ liệu khi có sự cố.

 Đảm bảo tốc độ và an toàn trong lưu trữ và xử lý dữ liệu.

 Yêu cầu phân quyền người dùng.

 Yêu cầu phần cứng:


+ CPU: Intel Core i5-8400 trở lên.
+ RAM: 4GB.
 Yêu cầu phần mềm:
+ Hệ điều hành: Microsoft Windows 2010 trở lên.
+ NET Framework 4.0
+ Microsoft SQL Server.
2.5 Các chức năng của hệ thống
Chương trình thực hiện được các chức năng sau:
- Đăng nhập / Đăng xuất

12
- Quản lý tài khoản
- Quản lý khách
- Quản lý phòng
- Quản lý dịch vụ
- Quản lý thuê phòng/trả phòng

13
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Các loại tài khoản sử dụng ứng dụng
STT Tên tài khoản Ý nghĩa và nhiệm vụ
1 Quản trị viên (Admin) Admin là người giữ vai trò chính của hệ thống,
là người điều hành, quản lý và theo dõi mọi
hoạt động của hệ thống.
Admin có thể thực hiện tất cả các chức năng có
trong hệ thống của quản trị như: đăng nhập,
quản lý tài khoản, quản lý khách hàng, quản lý
phòng, quản lý dịch vụ, quản lý phòng.
2 Nhân viên (User) User được xem như là nhân viên trong hệ
thống khách sạn, có quyền hạn truy cập ngang
với admin để dễ quản lý trừ việc quản lý tài
khoản ra

Bảng 3.1: Các loại tài khoản


3.2 Các chức năng của hệ thống
STT Tên chức năng Mô tả
1 Đăng nhập Giúp giám đốc và nhân viên có trong khách sạn
thao tác với hệ thống. Đảm bảo xác thực thông
tin người sử dụng và an toàn bảo mật hệ thống.
2 Quản lý tài khoản Chỉ admin mới thực hiện các thao tác:
- Thêm tài khoản
- Sửa tài khoản
- Xóa tài khoản
3 Quản lý khách hàng Thực hiện các thao tác:
- Thêm khách hàng.
- Sửa khách hàng.
- Xóa khách hàng.
- Tìm kiếm khách hàng
4 Quản lý dịch vụ Thực hiện các thao tác:
14
- Thêm mới dịch vụ.
- Sửa dịch vụ.
- Xóa dịch vụ.
- Sử dụng dịch vụ
5 Quản lý phòng Thực hiện các thao tác:
- Thêm phòng
- Sửa phòng
- Xóa phòng
- Thuê phòng
- Tìm kiếm phòng
6 Quản lý thuê phòng/trả Thực hiện các thao tác:
phòng - Thuê phòng
- Trả phòng
Bảng 3.2: Chức năng trong hệ thống.

3.3 Sơ đồ phân rã chức năng

QUẢN LÝ KHÁCH SẠN

1. ĐĂNG 3. QUẢN 4. QUẢN 5. QUẢN 6. QUẢN


2. QUẢN LÝ LÝ DỊCH LÝ LÝ
NHẬP/ LÝ TÀI KHÁCH VỤ PHÒNG THUÊ/TRẢ
ĐĂNG KHOẢN PHÒNG
HÀNG
XUẤT
4.1. Quản
lý danh 5.1. Quản
2.1. Quản 3.1. Cập mục dịch lý phòng 6.1. Thuê
1.1. Đăng lý tài nhân nhật thông vụ phòng
nhập viên tin khách
4.2. Cung 5.2. Tra
3.2. Tra cấp sử dụng cứu thông 6.2. Trả
1.2. Đăng 2.4. Phân dịch vụ
cứu thông tin phòng phòng
xuất quyền tin khách
4.3. Lập 5.3. Quản
3.3. Quản hóa đơn lý tình
lý khách dịch vụ trạng phòng
lưu trú
5.4. Lập
hoá đơn
phòng

15
3.4 Biểu đồ Use case
3.4.1 Gói đăng nhập

GiamDoc
(from Use Case Vi ew)

DangNhap
(from Use Case Vi ew)

NhanVienQuanLy
(from Use Case Vi ew)

Hình 2.1: Đăng nhập.

3.4.2 Gói quản lý tài khoản

Hình 2.2: Quản lý tài khoản.

16
3.4.3 Gói quản lý khách hàng

Hình 2.2: Quản lý khách hàng.


3.4.4 Gói quản lý dịch vụ

Hình 2.3: Quản lý dịch vụ.


17
3.4.5 Gói quản lý phòng

Hình 2.5: Quản lý phòng.


3.4.6 Gói quản lý thuê phòng / trả phòng

Hình 2.6: Quản lý tìm kiếm

18
3.5 Đặc tả các ca sử dụng
3.5.1 Đăng nhập
Use case 1. Đăng nhập
- Tên ca sử dụng: Đăng nhập.
- Tác nhân: Giám đốc và nhân viên quản lý.
- Mục đích: Đảm bảo xác thực thông tin người sử dụng và an toàn bảo mật
hệ thống, tránh việc truy cập tràn lan từ bên ngoài.
- Mô tả khái quát: Nhân viên có trong khách sạn khi muốn thao tác với hệ
thống phải đăng nhập vào hệ thống.
- Tiền điều kiện: Nhân viên quản lý và giám đốc phải có tài khoản (user
name) và mật khẩu (password) riêng được hệ thống cấp trước đó.
- Luồng sự kiện chính cho use case đăng nhập
1. Nhân viên quản lý hoặc giám đốc truy cập hệ thống.
2. Nhập thông tin đăng nhập (tài khoản, mật khẩu).
3. Gửi thông tin đã nhập đến hệ thống.
4. Hệ thống hiển thị form đăng nhập.
5. Hệ thống kểm tra thông tin đăng nhập, nếu đúng thì cho phép truy cập
vào hệ thống, sai thì chuyển sang thực hiện luồng nhánh A1.
6. Use case kết thúc.
- Luồng nhánh A1: Nhân viên quản lý hoặc giám đốc đăng nhập không
thành công
1. Hệ thống thông báo quá trình đăng nhập hệ thống không thành công.
2. Chọn đăng nhập lại hay hủy đăng nhập. Nếu hủy đăng nhập thì thực
hiện bước 6.
3. Hệ thống yêu cầu nhập lại tài khoản và mật khẩu nhưng chỉ trong giới
hạn cho phép.
4. Tiếp tục bước 2.
5. Use case kết thúc.
- Hậu điều kiện: Nếu use case thành công thì actor lúc này đã đăng nhập
vào hệ thống. Nếu không trạng thái hệ thống không thay đổi.

19
- Các điểm mở rộng: Đăng nhập thành công và có thể sử dụng các chức
năng mà hệ thống cung cấp.
3.5.2 Quản lý tài khoản
Use case 2. Thêm tài khoản
- Tên ca sử dụng: Thêm tài khoản
- Tác nhân: Giám đốc, Quản trị viên
- Mục đích: Cập nhật thông tin về tài khoản hoặc của nhân viên mới vào hệ
thống
- Mô tả khái quát: Nghiệp vụ này diễn ra khi các thông tin về nhân viên có
sự thay đổi, ví dụ như thay đổi số điện thoại, địa chỉ liên lạc, tình trạng.
Khi cần sửa thông tin nhân viên, giám đốc sẽ đăng nhập vào Danh mục
quản lý tài khoản nhập tên hoặc mã tài khoản cần được sửa thông tin và
yêu cầu xem danh sách. Màn hình sẽ hiển thị tất cả thông tin về tài khoản
cần sửa. Quản trị viên sẽ sửa đổi các thông tin cần thiết và yêu cầu hệ
thống thực hiện.
- Luồng sự kiện chính cho use case thêm tài khoản
1. Quản trị viên đăng nhập vào hệ thống Quản lý khách sạn
2. Quản trị viên chọn danh mục quản lý nhân viên
3. Quản trị viên nhập tên tài khoản cần thêm và yêu cầu xem danh sách.
4. Hệ thống xử lý và trả ra màn hình danh sách tài khoản cần thêm
5. Giám đốc hoặc quản trị viên nhập các thông tin cần thiết và yêu cầu hệ
thống thêm tài khoản này
6. Hệ thống tự động cập nhật thêm tài khoản mới và hiển thị kết quả
7. Use case kết thúc.
- Luồng nhánh: Lỗi không thực hiện được do trùng tên tài khoản
1. Màn hình báo lỗi “Trùng tên tài khoản không thêm được”.
2. Nhân viên nhập lại tên tài khoản và tiếp tục bước 3.
3. Use case kết thúc
Use case 3. Sửa thông tin tài khoản
- Tên ca sử dụng: Sửa tài khoản
20
- Tác nhân: Giám đốc, Quản trị viên
- Mục đích: Sửa các thông tin về một tài khoản đang tồn tại trong hệ thống
- Mô tả khái quát: Nghiệp vụ này diễn ra khi các thông tin về tài khoản có
sự thay đổi, ví dụ như thay đổi về tên tài khoản, mật khẩu. Khi cần sửa
thông tin tài khoản, giám đốc sẽ đăng nhập vào danh mục quản lý tài
khoản nhập tên tài khoản cần được sửa thông tin và yêu cầu xem danh
sách. Màn hình sẽ hiển thị tất cả thông tin về tài khoản cần sửa hoặc tất cả
các tài khoản trong phòng ban đã nhập ở trên. Giám đốc sẽ sửa đổi các
thông tin cần thiết và yêu cầu hệ thống thực hiện.
- Luồng sự kiện chính cho use case sửa tài khoản
1. Quản trị viên đăng nhập vào hệ thống Quản lý khách sạn
2. Quản trị viên chọn danh mục quản lý tài khoản
3. Quản trị viên nhập các thông tin của tài khoản cần sửa thông tin và
yêu cầu xem danh sách.
4. Hệ thống xử lý và trả ra màn hình danh sách tài khoản của phòng ban
có tài khoản cần sửa, hoặc thông tin của tài khoản cần sửa.
5. Giám đốc chọn tài khoản cần sửa, sửa các thông tin cần sửa của tài
khoản đó và yêu cầu hệ thống thực hiện.
6. Hệ thống xử lý và trả ra kết quả ra màn hình.
7. Use case kết thúc
- Luồng nhánh: Không tìm được tài khoản / phòng ban
1. Màn hình báo lỗi “Không tìm thấy tài khoản” / “Không tìm thấy
phòng ban nào”
2. Nhân viên nhập lại tên tài khoản đúng / tên phòng ban đúng, tiếp tục
use case từ bước 3.
3. Use case kết thúc.
Use case 4. Xóa tài khoản
- Tên ca sử dụng: Xóa tài khoản
- Tác nhân: Giám đốc
- Mục đích: Xóa tất cả các thông tin trong hệ thống mà liên quan đến tài
khoản cần xóa.
21
- Mô tả khái quát: Nghiệp vụ này diễn ra khi các thông tin về một nhân
viên hay tài khoản hoàn toàn không có liên quan gì tới tất cả các nghiệp
vụ của khách sạn trong hiện tại lẫn tương lai. Khi cần xóa một tài khoản
trong danh mục quản lý tài khoản, giám đốc sẽ đăng nhập vào hệ thống và
nhập tên hoặc mã tài khoản cần xóa và yêu cầu xem danh sách. Màn hình
sẽ hiển thị thông tin về tài khoản cần xóa hoặc danh sách tài khoản của
phòng ban có tài khoản cần xóa, giám đốc chọn nhân viên hay tài khoản
cần xóa và yêu cầu hệ thống thực hiện.
- Luồng sự kiện chính cho use case xóa tài khoản
1. Giám đốc đăng nhập vào hệ thống quản lý khách sạn.
2. Giám đốc chọn danh mục quản lý tài khoản.
3. Giám đốc điền thông tin Tên tài khoản cần xóa và yêu cầu xem danh
sách.
4. Hệ thống xử lý và hiển thị ra màn hình danh sách tài khoản của phòng
ban có nhân viên muốn xóa hoặc thông tin về tài khoản muốn xóa.
5. Giám đốc xem lại tài khoản này có cần xóa hay không, chọn tài khoản
muốn xóa và yêu cầu hệ thống thực hiện.
6. Hệ thống xử lý và trả kết quả ra màn hình.
7. Use case kết thúc.
- Luồng nhánh:
Luồng nhánh A1: Không tìm được tài khoản / phòng ban
1. Màn hình báo lỗi “Không tìm thấy tài khoản” / “Không tìm thấy
phòng ban nào”
2. Nhân viên nhập lại tên tài khoản đúng/ tên phòng ban đúng, tiếp
tục use case từ bước 3.
3. Use case kết thúc.
Luồng nhánh A2: Khi quản trị viên kiểm tra lại nếu tài khoản cần xóa có
đúng là cần xóa hay không và phát hiện nhân viên này không thể xóa
1. Quản trị viên kiểm tra lỗi, nếu nhân viên đã xóa còn làm việc thì
giám đốc ghi chú lại trong danh sách tài khoản cần xóa.
2. Giám đốc báo lại cho bên có trách nhiệm liên quan.

22
3. Use case kết thúc.
3.5.3 Quản lý khách hàng
Use case 5. Thêm khách hàng
- Tên ca sử dụng: Thêm mới khách hàng.
- Tác nhân: Giám đốc và nhân viên quản lý.
- Mục đích: Nghiệp vụ này cho phép người sử dụng thêm một hay nhiều
khách hàng vào danh sách khách hàng của khách sạn. Các thông tin cần
thêm vào của khách sạn gồm có: mã khách hàng, họ tên khách hàng, địa
chỉ, giới tính, …
- Mô tả khái quát: Khi nhân viên quản lý đã có danh sách các khách hàng
mới của khách sạn thì nhân viên có nhu cầu thêm khách hàng vào danh
sách, nhân viên sẽ chọn chức năng quản lý khách hàng, khi đó màn hình
quản lý khách hàng sẽ xuất hiện, nhân viên cần nhập vào những thông tin
về khách hàng mới và thực thi chức năng thêm khách hàng, cứ tiếp tục
như vậy cho những khách hàng kế tiếp. Sau khi hoàn tất công việc nhân
viên thoát khỏi màn hình quản lý khách hàng.
- Luồng sự kiện chính cho use case thêm khách hàng:
1. Use case bắt đầu khi nhân viên yêu cầu thêm khách hàng chọn vào
chức năng quản lý khách hàng.
2. Màn hình quản lý khách hàng xuất hiện.
3. Nhân viên nhập vào thông tin khách hàng cần thêm vào.
4. Thực thi chức năng thêm khách hàng. Nếu chức năng không được thực
thi thì thực hiện luồng nhánh A1.
5. Thoát khỏi màn hình quản lý khách hàng. Nếu muốn thêm nhiều
khách hàng nữa thì thực hiện luồng nhánh A2.
6. Kết thúc use case.
- Luồng nhánh
Luồng nhánh A1: Chức năng thêm khách hàng không được thực thi.
1. Thông báo có lỗi ràng buộc.
2. Nhập lại thông tin khách hàng.

23
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Thêm nhiều khách hàng.
1. Tiếp tục bước 3.
2. Kết thúc use case.
Use case 6. Cập nhật khách hàng.
- Tên ca sử dụng: Cập nhật thông tin khách hàng.
- Tác nhân: Giám đốc và nhân viên quản lý.
- Mục đích: Cập nhật thông tin khách hàng cho phép người sử dụng thay
đổi những thông tin hiện có hoặc có thể thêm những thông tin chưa đầy
đủ, các thông tin được thay đổi gồm có: họ tên khách hàng, giới tính, địa
chỉ, số điện thoại,…
- Mô tả khái quát: Khi nhân viên có nhu cầu cập nhật thông tin của một
khách hàng thì nhân viên chọn chức năng quản lý khách hàng, khi đó màn
hình quản lý khách hàng sẽ xuất hiện, trước khi nhân viên thực thi chức
năng cập nhật thông tin khách hàng thì nhân viên cần thực thì chức năng
tra cứu thông tin khách hàng cần cập nhật, bằng cách là nhập vào mã
khách hàng và họ tên khách hàng. Sau đó thông tin khách hàng sẽ hiển thị
trên màn hình và nhân viên thực hiện thao tác cập nhật thông tin khách
hàng. Cuối cùng nhân viên thoát khỏi màn hình quản lý khách hàng.
- Luồng sự kiện chính cho use case cập nhật khách hàng
1. Use case bắt đầu khi nhân viên có nhu cầu cập nhật thông tin khách
hàng bằng cách chọn vào chức năng quản lý khách hàng.
2. Màn hình quản lý khách hàng xuất hiện.
3. Nhân viên nhập vào mã khách hàng hoặc là tên khách hàng.
4. Thực thi chức năng tra cứu khách hàng. Khi chức năng tra cứu khách
hàng không được thực thi thì thực hiện luồng nhánh A1.
5. Hiển thị thông tin khách hàng cần cập nhật.
6. Thực hiện thao tác cập nhật thông tin khách hàng.
7. Thực thi chức năng cập nhật thông tin khách hàng.

24
8. Thoát khỏi màn hình quản lý khách hàng. Nếu muốn cập nhật nhiều
khách hàng thì thực hiện luồng nhánh A2.
9. Kết thúc use case.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu khách hàng không được thực thi.
1. Thông báo thông tin khách hàng không có thực,yêu cầu nhập lại
mã khách hàng.
2. Nhập lại mã khách hàng hoặc họ tên khách hàng.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Cập nhật thêm nhiều khách hàng.
1. Tiếp tục bước 3.
2. Kết thúc use case.
Use case 7. Xóa khách hàng
- Tên ca sử dụng: Xóa thông tin khách hàng.
- Tác nhân: Giám đốc và nhân viên quản lý.
- Mục đích: Xóa khách hàng cho phép người sử dụng xóa một hay nhiều
khách hàng khỏi danh sách khách hàng của khách sạn, thông tin bị xóa
của khách hàng gồm có: mã khách hàng, họ tên khách hàng, giới tính và
địa chỉ,…
- Mô tả khái quát: Khi nhân viên có nhu cầu xóa một hay nhiều khách hàng
từ danh sách khách hàng của khách sạn thì nhân viên chọn chức năng
quản lý khách hàng, khi đó màn hình quản lý khách hàng sẽ xuất hiện.
Trước khi thực thi việc xóa thông tin về một khách hàng thì nhân viên cần
thao tác tra cứu về thông tin khách hàng bị xóa, bằng cách là nhập thông
tin mã khách hàng hoặc họ tên khách hàng và thực thi chức năng tra cứu
khách hàng, khi đó thông tin khách hàng sẽ hiển thị và nhân viên thực thi
chức năng xóa khách hàng. Nếu muốn xóa thêm nhiều khách hàng nữa thì
nhân viên làm theo trình tự như trên. Cuối cùng nhân viên thoát khỏi màn
hình quản lý khách hàng.
- Luồng sự kiện chính cho use case xóa khách hàng
25
1. Use case bắt đầu khi nhân viên có nhu cầu thêm khách hàng vào danh
sách bằng cách chọn vào chức năng quản lý khách hàng.
2. Màn hình quản lý khách hàng xuất hiện.
3. Nhân viên nhập vào mã khách hàng hoặc họ tên khách hàng.
4. Thực thi chức năng tra cứu thông tin khách hàng. Nếu chức năng tra
cứu không được thực thi thì thực hiện luồng nhánh A1.
5. Hiển thị thông tin khách hàng.
6. Thực thi chức năng xóa thông tin khách hàng. Nếu việc xóa không
được thực thi thì thực hiện luồng nhánh A2.
7. Thoát khỏi màn hình quản lý khách hàng. Nếu muốn xóa thêm nhiều
khách hàng thì thực hiện luồng nhánh A3.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu khách hàng không được thực thi.
1. Thông báo thông tin khách hàng không có thực, yêu cầu nhập lại
mã khách hàng.
2. Nhập lại mã khách hàng hoặc họ tên khách hàng.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Việc xóa không được thực thi.
1. Thông báo lỗi ràng buộc.
2. Nhập lại mã khách hàng.
3. Tiếp tục bước 6.
4. Kết thúc use case.
Luồng nhánh A3: Muốn xóa thêm nhiều khách hàng.
1. Tiếp tục bước 3.
2. Kết thúc use case.
Use case 8. Tìm kiếm khách hàng
- Tên ca sử dụng: Tra cứu khách hàng
- Tác nhân: Giám đốc và nhân viên quản lý.
- Mục đích: Nghiệp vụ này cho phép người quản lý tra cứu nhanh chóng
thông tin một khách hàng hay một nhóm các khách hàng nếu thuê theo
26
đoàn, các thông tin trợ giúp cho việc tra cứu có thể theo mã khách hàng
và theo tên khách hàng. Các thông tin đươc hiển thị khi tra cứu là mã
khách hàng, họ tên khách hàng, địa chỉ, số điện thoại,…
- Mô tả khái quát: Khi nhân viên quản lý có nhu cầu tra cứu thông tin
khách hàng thì nhân viên vào chức năng quản lý khách hàng, màn hình
quản lý khách hàng xuất hiện, nhân viên sẽ nhập mã khách hàng hoặc họ
tên khách hàng cần tra cứu và thực thi chức năng tra cứu khách hàng, sau
khi đã xem tất cả thông tin cần biết nhân viên thoát khỏi màn hình quản lý
khách hàng.
- Luồng sự kiện chính cho use case tra cứu khách hàng
1. Use case bắt đầu khi nhân viên yêu cầu tra cứu khách hàng bằng cách
chọn chức năng quản lý khách hàng.
2. Màn hình quản lý khách hàng xuất hiện.
3. Nhân viên nhập vào mã khách hàng hoặc là tên khách hàng.
4. Thực thi chức năng tra cứu khách hàng. Nếu chức năng tra cứu không
đươc thực thi thực hiện luồng nhánh A1.
5. Hiển thị thông tin khách hàng tra cứu.
6. Thoát khỏi màn hình quản lý khách hàng. Nếu muốn tra cứu khách
hàng khác thì thực hiện luồng nhánh A2.
7. Kết thúc use case.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu không được thực thi
1. Thông báo thông tin khách hàng không có thực, yêu cầu nhập lại
mã khách hàng.
2. Nhập lại mã khách hàng hoặc họ tên khách hàng.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Tra cứu thông tin khách hàng khác.
1. Tiếp tục ở bước 3.
2. Kết thúc use case.

27
3.5.4 Quản lý phòng
Use case 9. Cập nhật phòng
- Tên ca sử dụng: Cập nhật phòng.
- Tác nhân: Khách hàng.
- Mục đích: Nghiệp vụ này đáp ứng cho việc khách hàng muốn thay đổi
thời gian đến và đi tại khách sạn. Khách hàng sẽ gọi điện thoại tới khách
sạn và nhân viên lễ tân sẽ giúp khách sạn thực hiện nghiệp vụ này.
- Mô tả khái quát: Nghiệp vụ này xảy ra khi khách đã đặt phòng nhưng
muốn thay đổi thời gian đến và đi. Khách gọi điện đến yêu cầu thay đổi
thời gian đã đặt, khách cung cấp thông tin cần thiết theo yêu cầu của nhân
viên. Nhân viên sẽ kiểm tra và xác nhận thông tin trong hồ sơ đặt phòng.
Nhân viên sẽ kiểm tra tình trạng các phòng theo loại phòng mà khách đã
đặt có phù hợp với thời gian hay yêu cầu mà khách thay đổi. Nếu thời
gian khách thay đổi là phù hợp thì cho thay đổi. Nếu thời gian thay đổi
không phù hợp (ví dụ thời gian đi sẽ lâu hơn dự kiến mà phòng loại này
đã được đặt hết sau thời gian mà khách thuê phòng tại khách sạn) thì sẽ
xin lỗi và từ chối yêu cầu của khách hàng.
- Luồng sự kiện chính cho use case thay đổi thông tin đặt phòng
1. Khách gọi điện đến và yêu cầu thay đổi thông tin đặt phòng.
2. Nhân viên nhận yêu cầu và yêu cầu khách cung cấp thông tin.
3. Nhân viên kiểm tra thông tin trong hồ sơ đặt phòng.
4. Xác nhận lại thông tin với khách.
5. Khách yêu cầu thông tin thời gian cần thay đổi.
6. Kiểm tra thông tin khách hàng thay đổi có phù hợp.
7. Nếu phù hợp, xác nhận lại với khách thông tin sẽ được thay đổi theo
yêu cầu.
8. Cập nhật lại thông tin vào hồ sơ đặt phòng.
9. Use case kết thúc.
- Luồng nhánh: Nếu không phù hợp
1. Giới thiệu các giải pháp khác tới khách.
2. Nếu khách đồng ý thay đổi loại phòng thì cập nhật lại.
28
3. Use case kết thúc.
Use case 10. Thêm phòng
- Tên ca sử dụng: Thêm phòng
- Tác nhân: Nhân viên quản lý
- Mục đích: Nghiệp vụ này cho phép người dùng thay đổi thông tin của
một phòng, thông tin cần thay đổi bao gồm: thêm phòng, gia hạn phòng,
tên phòng, hạng phòng, loại phòng, giá thuê, tình trạng phòng, danh sách
các tiện nghi trong phòng,…
- Mô tả khái quát:
Khi có yêu cầu thay đổi thông tin của các phòng, nhân viên quản lý chọn
chức năng quản lý phòng, khi chọn chức năng quản lý phòng thì màn hình quản lý
phòng sẽ xuất hiện, sau đó nhân viên quản lý sẽ tra cứu mã phòng cần cập nhật
bằng cách nhập vào mã phòng và tìm thông tin phòng đó, thông tin phòng đó được
hiển thị, sau đó nhân viên quản lý sẽ thực hiện thao tác cập nhật thông tin. Sau khi
đã hoàn tất việc nhập liệu nhân viên quản lý sẽ thực thi chức năng cập nhật phòng.
Cuối cùng nhân viên quản lý sẽ thoát khỏi màn hình quản lý phòng.
- Luồng sự kiện chính cho use case thêm phòng
1. Use case bắt đầu khi nhân viên quản lý yêu cầu thêm thông tin phòng
bằng cách chọn chức năng quản lý phòng.
2. Màn hình quản lý phòng xuất hiện.
3. Nhân viên quản lý nhập mã phòng và các thông tin phòng cần thêm
4. Chọn chức thêm phòng.
5. Thông tin phòng tra cứu hiển thị. Nếu thông tin không hiển thị thực
hiện luồng A1.
6. Nhân viên quản lý thao tác thêm phòng.
7. Thực thi chức năng thêm phòng.
8. Thoát khỏi màn hình cập nhật phòng. Nếu muốn cập nhật mã phòng
khác thì thực hiện luồng nhánh A2.
9. Kết thúc use case.
- Luồng nhánh
29
Luồng nhánh A1: Thông tin không hiển thị.
1. Nhập lại mã phòng.
2. Tiếp tục bước 5.
3. Kết thúc use case.
Luồng nhánh A2: Cập nhật thêm mã phòng khác.
1. Chọn chức năng tiếp tục cập nhật thêm phòng.
2. Tiếp tục bước 2.
3. Kết thúc use case.
Use case 11. Xóa phòng
- Tên ca sử dụng: Xóa phòng.
- Tác nhân: Nhân viên quản lý.
- Mục đích: Nghiệp vụ này cho phép người sử dụng xóa một hay nhiều
dịch vụ khỏi danh sách phòng của khách sạn, thông tin bị xóa của phòng
gồm có: mã phòng, tên phòng, loại phòng giá,...
- Mô tả khái quát:
Khi nhân viên có nhu cầu xóa một hay nhiều phòng từ danh sách phòng của
khách sạn thì nhân viên chọn chức năng quản lý phòng, khi đó màn hình quản lý
phòng sẽ xuất hiện. Trước khi thực thi việc xóa thông tin về một dịch vụ thì nhân
viên cần thao tác tra cứu về thông tin phòng bị xóa, bằng cách là nhập thông tin mã
phòng hoặc tên phòng và thực thi chức năng tra cứu phòng, khi đó thông tin phòng
sẽ hiện thị và nhân viên thực thi chức năng xóa phòng. Nếu muốn xóa thêm nhiều
phòng nữa thì nhân viên làm theo trình tự như trên. Cuối cùng nhân viên thoát khỏi
màn hình quản lý phòng.
- Luồng sự kiện chính cho use case xóa phòng
1. Use case bắt đầu khi nhân viên có nhu cầu thêm phòng vào danh sách
bằng cách chọn vào chức năng quản lý phòng.
2. Màn hình quản lý phòng xuất hiện.
3. Nhân viên nhập vào mã phòng hoặc tên phòng.
4. Thực thi chức năng tra cứu thông tin phòng. Nếu chức năng tra cứu
không được thực thi thì thực hiện luồng nhánh A1.
30
5. Hiển thị thông tin phòng.
6. Thực thi chức năng xóa thông tin phòng. Nếu việc xóa không được
thực thi thì thực hiện luồng nhánh A2.
7. Thoát khỏi màn hình quản lý phòng. Nếu muốn xóa thêm nhiều phòng
thì thực hiện luồng A3.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu phòng không được thực thi.
1. Thông báo thông tin phòng không có thực, yêu cầu nhập lại mã
phòng.
2. Nhập lại mã phòng hoặc họ tên phòng.
3. Tiếp tục bước 4.
4. Kết thúc use case
Luồng nhánh A2: Việc xóa không được thực thi.
1. Thông báo lỗi ràng buộc.
2. Nhập lại mã phòng.
3. Tiếp tục bước 6.
4. Kết thúc use case.
Luồng nhánh A3: Muốn xóa thêm nhiều phòng.
1. Tiếp tục bước 3.
2. Kết thúc use case.
Use case 12. Tìm kiếm phòng
- Tên ca sử dụng: Tra cứu thông tin phòng
- Tác nhân: Nhân viên quản lý
- Mục đích: Use case này cho phép nhân viên quản lý tra cứu thông tin
phòng. Thông tin phòng cần hiển thị gồm có: mã phòng, tên phòng, hạng
phòng, loại phòng, giá thuê, tình trạng phòng, danh sách các tiện nghi
trong phòng.
- Mô tả khái quát:
Một câu hỏi được đặt ra là “Tại sao lại có nghiệp tra cứu thông tin phòng?”
Để trả lời cho câu hỏi này, đó là nếu có một trường hợp xảy ra như: Khi có thông

31
báo từ bộ phận tạp vụ là có một phòng luôn khóa chặt cửa nhân viên tạp vụ không
thể làm vệ sinh thì nhân viên sẽ tra cứu thông tin về phòng để biết thông tin về
phòng để đưa ra hướng giải quyết. Vì vậy nghiệp vụ tra cứu thông tin phòng sẽ rất
có ích trong một số trường hợp không những là trường hợp trên. Nghiệp vụ này
giúp nhân viên tìm thông tin nhanh chóng và chính xác, việc trả lời về phòng cho
các nhân viên khác được thuận tiện và nhanh chóng hơn.
Khi nhân viên có nhu cầu tra cứu thông tin phòng, nhân viên sẽ chọn chức
năng quản lý phòng. Khi chọn chức năng quản lý phòng tức là nhân viên đã yêu
cầu gọi màn hình quản lý phòng, màn hình quản lý phòng xuất hiện với mã phòng
cần tra cứu, nhân viên nhập vào mã phòng cần tra cứu, lúc này nhân viên thực hiện
chức năng tra cứu tức là nhân viên đã gọi yêu cầu từ cơ sở dữ liệu về những thông
tin mà nhân viên cần xem. Khi đó thông tin hiển thị bao gồm: mã phòng, loại
phòng, vị trí phòng, tình trạng phòng (thông tin về phòng đã có người ở hay chưa
nếu có thì sẽ hiện tất cả thông tin về khách hàng đang ở) sẽ hiển thị lên màn hình để
quản lý.
- Luồng sự kiện chính cho use case tra cứu phòng
1. Use case bắt đầu khi nhân viên tiếp tân yêu cầu tra cứu thông tin
phòng bằng cách chọn vào chức năng quản lý phòng.
2. Màn hình quản lý phòng xuất hiện.
3. Nhân viên tiếp tân nhập vào mã số phòng cần tra cứu.
4. Thực hiện chức năng tra cứu. Nếu thông tin phòng không có thực,
thực hiện luồng nhánh.
5. Hiện thông tin phòng.
6. Use case kết thúc khi nhân viên tiếp tân thoát khỏi màn hình quản lý
phòng.
Luồng nhánh
1. Thông báo thông tin phòng không có thực,yêu cầu nhập lại mã
phòng.
2. Nhập lại mã phòng
3. Tiếp tục bước 4.
32
4. Kết thúc use case.

3.5.5 Quản lý dịch vụ


Use case 13. Thêm dịch vụ
- Tên ca sử dụng: Thêm mới dịch vụ.
- Tác nhân: Nhân viên quản lý.
- Mục đích: Nghiệp vụ thêm dịch vụ này cho phép người sử dụng thực hiện
thao tác thêm một hay nhiều dịch vụ vào danh sách dịch vụ của khách
sạn, các thông tin cần thêm vào cho một dịch vụ gồm có: mã dịch vụ, tên
dịch vụ, loại dịch vụ, giá dịch vụ.
- Mô tả khái quát:
Khi nhân viên đã có danh sách các dịch vụ mới của khách sạn thì nhân viên
có nhu cầu thêm dịch vụ vào danh sách dịch vụ của khách sạn, nhân viên sẽ chọn
chức năng quản lý dịch vụ khi đó màn hình quản lý dịch vụ sẽ xuất hiện, nhân viên
cần nhập vào những thông tin về dịch vụ mới và thực thi chức năng thêm dịch vụ,
cứ tiếp tục như vậy cho những dịch vụ kế tiếp. Sau khi hoàn tất công việc nhân
viên thoát khỏi màn hình quản lý dịch vụ.
- Luồng sự kiện chính cho use case thêm mới dịch vụ
1. Use case bắt đầu khi nhân viên yêu cầu thêm dịch vụ chọn vào chức
năng quản lý dịch vụ.
2. Màn hình quản lý dịch vụ xuất hiện.
3. Nhân viên nhập vào thông tin dịch vụ cần thêm vào.
4. Thực thi chức năng thêm dịch vụ. Nếu chức năng không được thực thi
thì thực hiện luồng nhánh A1.
5. Thoát khỏi màn hình quản lý dịch vụ. Nếu muốn thêm nhiều dịch vụ
nữa thì thực hiện luồng nhánh A2.
6. Kết thúc use case.
- Luồng nhánh
Luồng nhánh A1: Chức năng thêm dịch vụ không được thực thi.

33
1. Thông báo có lỗi ràng buộc
2. Nhập lại thông tin dịch vụ.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Thêm nhiều dịch vụ.
1. Tiếp tục bước 3
2. Kết thúc use case.
Use case 14. Cập nhật dịch vụ
- Tên ca sử dụng: Cập nhật dịch vụ.
- Tác nhân: Nhân viên quản lý.
- Mục đích: Nghiệp vụ này cập nhật thông tin dịch vụ cho phép người sử
dụng thay đổi những thông tin hiện có hoặc có thể thêm những thông tin
chưa đầy đủ, các thông tin được thay đổi gồm có: tên dịch vụ ,loại dịch
vụ, giá dịch vụ,…
- Mô tả khái quát:
Khi nhân viên có nhu cầu cập nhật thông tin của một dịch vụ thì nhân viên
chọn chức năng quản lý dịch vụ khi đó màn hình quản lý dịch vụ sẽ xuất hiện,
trước khi nhân viên thực thi chức năng cập nhật thông tin dịch vụ thì nhân viên cần
thực thì chức năng tra cứu thông tin dịch vụ cần cập nhật, bằng cách là nhập vào
mã dịch vụ và tên dịch vụ sau đó thông tin dịch vụ sẽ hiện thị trên màn hình và sau
đó nhân viên thực hiện thao tác cập nhật thông tin dịch vụ. Cuối cùng nhân viên
thoát khỏi màn hình quản lý dịch vụ.
- Luồng sự kiện chính cho use case cập nhật dịch vụ
1. Use case bắt đầu khi nhân viên có nhu cầu cập nhật thông tin dịch vụ
bằng cách chọn vào chức năng quản lý dịch vụ.
2. Màn hình quản lý dịch vụ xuất hiện.
3. Nhân viên nhập vào mã dịch vụ hoặc là tên dịch vụ.
4. Thực thi chức năng tra cứu dịch vụ. Khi chức năng tra cứu dịch vụ
không được thực thi thì thực hiện luồng nhánh A1.
5. Hiển thị thông tin dịch vụ cần cập nhật.
34
6. Thực hiện thao tác cập nhật thông tin dịch vụ.
7. Thực thi chức năng cập nhật thông tin dịch vụ.
8. Thoát khỏi màn hình quản lý dịch vụ. Nếu muốn cập nhật nhiều dịch
vụ thì thực hiện luồng nhánh A2.
9. Kết thúc use case.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu dịch vụ không được thực thi.
1. Thông báo thông tin dịch vụ không có thực, yêu cầu nhập lại mã
dịch vụ.
2. Nhập lại mã dịch vụ hoặc tên dịch vụ.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Cập nhật thêm nhiều dịch vụ.
1. Tiếp tục bước 3.
2. Kết thúc use case.
Use case 15. Xóa dịch vụ
- Tên ca sử dụng: Xóa dịch vụ.
- Tác nhân: Nhân viên quản lý.
- Mục đích: Nghiệp vụ này cho phép người sử dụng xóa một hay nhiều
dịch vụ khỏi danh sách dịch vụ của khách sạn, thông tin bị xóa của dịch
vụ gồm có: mã dịch vụ, tên dịch vụ, loại dịch vụ, giá dịch vụ,…
- Mô tả khái quát:
Khi nhân viên có nhu cầu xóa một hay nhiều dịch vụ từ danh sách dịch vụ
của khách sạn thì nhân viên chọn chức năng quản lý dịch vụ, khi đó màn hình quản
lý dịch vụ sẽ xuất hiện. Trước khi thực thi việc xóa thông tin về một dịch vụ thì
nhân viên cần thao tác tra cứu về thông tin dịch vụ bị xóa, bằng cách là nhập thông
tin mã dịch vụ hoặc họ tên dịch vụ và thực thi chức năng tra cứu dịch vụ, khi đó
thông tin dịch vụ sẽ hiện thị và nhân viên thực thi chức năng xóa dịch vụ. Nếu
muốn xóa thêm nhiều dịch vụ nữa thì nhân viên làm theo trình tự như trên. Cuối
cùng nhân viên thoát khỏi màn hình quản lý dịch vụ.

35
- Luồng sự kiện chính cho use case xóa dịch vụ
8. Use case bắt đầu khi nhân viên có nhu cầu thêm dịch vụ vào danh sách
bằng cách chọn vào chức năng quản lý dịch vụ.
9. Màn hình quản lý dịch vụ xuất hiện.
10.Nhân viên nhập vào mã dịch vụ hoặc họ tên dịch vụ.
11.Thực thi chức năng tra cứu thông tin dịch vụ. Nếu chức năng tra cứu
không được thực thi thì thực hiện luồng nhánh A1.
12.Hiển thị thông tin dịch vụ.
13.Thực thi chức năng xóa thông tin dịch vụ. Nếu việc xóa không được
thực thi thì thực hiện luồng nhánh A2.
14.Thoát khỏi màn hình quản lý dịch vụ. Nếu muốn xóa thêm nhiều dịch
vụ thì thực hiện luồng A3.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu dịch vụ không được thực thi.
5. Thông báo thông tin dịch vụ không có thực, yêu cầu nhập lại mã
dịch vụ.
6. Nhập lại mã dịch vụ hoặc họ tên dịch vụ.
7. Tiếp tục bước 4.
8. Kết thúc use case
Luồng nhánh A2: Việc xóa không được thực thi.
5. Thông báo lỗi ràng buộc.
6. Nhập lại mã dịch vụ.
7. Tiếp tục bước 6.
8. Kết thúc use case.
Luồng nhánh A3: Muốn xóa thêm nhiều dịch vụ.
3. Tiếp tục bước 3.
4. Kết thúc use case.
Use case 16. Sử dụng dịch vụ
- Tên ca sử dụng: Sử dụng dịch vụ.
- Tác nhân: Nhân viên quản lý

36
- Mục đích: Nghiệp vụ này cho phép người sử dụng chọn dịch vụ cần dùng,
thông tin về một hay nhiều dịch vụ mà khi được yêu cầu từ khách hàng
một cách tiện lợi và nhanh chóng, thông tin cần để truy vấn là mã dịch vụ
hoặc tên dịch vụ, các thông tin xuất hiện khi được tra vấn gồm: mã dịch
vụ, tên dịch vụ, loại dịch vụ, giá dịch vụ,…
- Mô tả khái quát:
Khi nhân viên có nhu cầu tra cứu thông tin về dịch vụ hiện có trong khách
sạn chẳng hạn như loại dịch vụ đó thuộc loại nào, giá của dịch vụ đó là bao nhiêu?
Loại dịch vụ đó có trống hay không? Để sử dụng dịch vụ nhân viên cần đăng nhập
vào hệ thống quản lý khách sạn của khách sạn và kích hoạt chức năng quản lý dịch
vụ, khi đó màn hình quản lý dịch vụ sẽ xuất hiện và để tra cứu nhân viên cần nhập
vào mã dịch vụ hoặc là tên dịch vụ sau đó thực thi chức năng tra cứu, khi đó các
thông tin về dịch vụ sẽ được hiển thị trên màn hình, sau khi đã biết được về các
thông tin đó nếu không cần tra cứu thêm thì nhân viên thoát khỏi màn hình.
- Luồng sự kiện chính cho use case sử dụng dịch vụ
1. Use case bắt đầu khi nhân viên có nhu cầu sử dụng dich vụ.
2. Màn hình quản lý dịch vụ xuất hiện.
3. Khách hàng chọn mã dịch vụ hoặc là tên dịch vụ cần sử dụng.
4. Thực thi chức năng tra cứu thông tin. Nếu chức năng không được thực
thi thì thực hiện luồng nhánh A1.
5. Hiển thị thông tin dịch vụ cần tra cứu.
6. Thoát khỏi màn hình quản lý dịch vụ. Nếu muốn tra cứu thêm nhiều
khách hàng thì thực hiện luồng A2.
- Luồng nhánh
Luồng nhánh A1: Chức năng tra cứu không được thực thi.
1. Thông báo thông tin dịch vụ không có thực, yêu cầu nhập lại mã
dịch vụ hoặc tên dịch vụ.
2. Nhập lại mã dịch vụ hoặc là tên dịch vụ.
3. Tiếp tục bước 4.
4. Kết thúc use case.
Luồng nhánh A2: Tra cứu thêm nhiều dịch vụ.
37
1. Tiếp tục bước 3.
Kết thúc use case.
3.5.6 Quản lý thuê phòng / trả phòng
Use case 17. Thuê phòng
- Tên ca sử dụng: Đăng ký phòng
- Tác nhân: Admin
- Mục đích: Khi khách hàng có nhu cầu thuê phòng đến khách sạn đăng ký
thuê phòng.
- Mô tả khái quát:
Khi khách hàng có nhu cầu đăng ký thuê phòng trực tiếp tại khách sạn thì
khách hàng sẽ đến quầy tiếp tân đặt tại sảnh lớn của khách sạn, đối diện với cổng
chính của khách sạn để khách hàng có thể dễ dàng tìm kiếm, ngay lúc đó nhân viên
tiếp tân sẽ đón chào khách với một nụ cười trên môi.
Tiếp theo khách hàng sẽ yêu cầu đăng ký phòng, khách hàng sẽ đưa ra những
thông số yêu cầu về phòng như: phòng đơn, phòng đôi, phòng nhiều người, số
lượng người, số lượng phòng, phòng VIP hay phòng bình thường,…. Nhưng thông
tin này được nhân viên ghi chép lại vào một notebook để việc kiểm tra không bị sai
sót.
Với những thông số được ghi trên notebook nhân viên sẽ mở danh sách
phòng để tìm kiếm những thông số khách yêu cầu.Việc kiểm tra thông tin phòng
phải được thực hiện nhanh chóng, chính xác, khi việc kiểm tra được thực hiên xong
thì danh sách phòng được truy vấn sẽ trả ra kết quả, nhân viên dựa vào đó để thông
báo đến khách hàng để khách hàng lựa chọn. Nếu việc kiểm tra không trả kết quả
thì việc đăng ký phòng không được chấp nhận và thông báo đến khách hàng lý do
về tình trạng phòng hoặc có thể đưa ra giải pháp khác. Ví dụ như thay đổi một số
thông số yêu cầu của khách hàng. Nếu việc thay đổi thông số của khách hàng vẫn
không được chấp nhận đành xin lỗi khách hàng.

38
Khi thông số yêu cầu của khách hàng được chấp nhận thì danh sách phòng
theo yêu cầu được xuất ra, các thông tin của phòng bao gồm: mã phòng, số phòng,
tình trạng phòng, giá phòng,…
Khi nhân viên thông báo đến khách hàng thông tin phòng mà có chú ý đến
giá phòng thì khách hàng có thể quyết định thuê hay không thuê. Nếu khách hàng
không đồng ý thuê với những lý do nào đó thì nhân viên thuyết phục khách hàng,
nếu vẫn không được thì việc đăng ký phòng không được thực hiện và kết thúc
nghiệp vụ.
Khi khách hàng đã đồng ý đăng ký thuê phòng, nhân viên có nhiệm vụ phát
cho khách hàng một bảng thông tin khách hàng và yêu cầu khách điền vào đầy đủ
thông tin cần thiết bao gồm: tên khách hàng, số chứng minh nhân dân, ngày sinh,
quốc tịch, mã passport, số tài khoản ngân hàng, số thẻ tín dụng (để tiện kiểm tra
trong việc thanh toán),… Khách hàng điền thông tin vào bảng thông tin khách hàng
và nộp lại cùng với giấy chứng minh nhân dân hoặc là passport nếu là người nước
ngoài.
Sau khi đã nhận bảng thông tin khách hàng trên tay nhân viên thực hiện việc
tìm kiếm khác hàng đã có trong danh sách khách hàng hay chưa? Bằng cách dựa
vào tên khách hàng và số chứng minh nhân dân để tìm. Nếu tên khách hàng đã có
trong danh sách khách hàng thì nhân viên hỏi khách hàng là có phải đã ở khách sạn
rồi đúng không? Việc hỏi này chỉ nhằm mục đích là xác định lại thông tin khách
hàng đã có là chính xác, sau đó nhân viên cập nhật những thông tin đã được thay
đồi, ví dụ số điện thoại, địa chỉ, tình trạng sức khỏe, ngày nhận phòng, số lần đến ở
(+1)….và nhân viên xác nhận cập nhật thông tin khách hàng.
Khi tìm kiếm khách hàng mà không thấy thông tin khách hàng tức là khách
hàng chưa bao giờ đến ở khách sạn hoặc đã ở từ rất lâu cớ sở dữ liệu đã bị xóa.
Nhân viên dựa vào bảng thông tin khách hàng để nhập vào những thông tin của
khách hàng mới, và xác nhận việc thêm khách hàng vào danh sách khách hàng.
Sau khi đã nhập vào thông tin khách hàng thì nhân viên cần nhập vào thông
tin phòng mà khách hàng sẽ thuê, đánh dấu vào phòng chưa được đăng ký thuê

39
thành phòng đã được đăng ký, những dịch vụ mà khách sẽ sử dụng tại khách sạn sẽ
được lưu lại.
- Tiền điều kiện: Nhân viên phải đăng nhập vào hệ thống để use case này
thực hiện.
- Luồng sự kiện chính cho use case đăng ký phòng
1. Use case bắt đầu khi khách hàng đến quầy tiếp tân.
2. Khách hàng yêu cầu đăng ký phòng.
3. Nhân viên kiểm tra thông tin yêu cầu, nếu yêu cầu không được chấp
nhận thì thực hiện luồng nhánh A1.
4. Đưa danh sách phòng theo yêu cầu.
5. Khách hàng đưa ra quyết định, nếu khách hàng không đồng ý thuê
thực hiện luồng nhánh A2.
6. Yêu cầu thông tin khách hàng trên bảng thông tin khách hàng.
7. Khách hàng đưa thông tin.
8. Kiểm tra thông tin khách hàng, nếu thông tin khách hàng đã có thực
hiện luồng nhánh A3.
9. Nhập thông tin khách hàng.
10. Nhập thông tin phòng đăng ký thuê.
11. Khách hàng ký tên.
12. Kết thúc use case.
- Luồng nhánh:
Luồng nhánh A1: Khi yêu cầu thuê phòng của khách hàng không được
chấp nhận
1. Thông báo yêu cầu phòng không được chấp nhận.
2. Kết thúc use case.
Luồng nhánh A2: Khi khách hàng không đồng ý thuê phòng.
1. Khách hàng từ chối thuê.
2. Thuyết phục khách hàng.
3. Tiếp tục use case ở bước 6.
4. Kết thúc use case.
Luồng nhánh A3: Thông tin khách hàng đã tồn tại.
40
1. Xác định lại rằng thông tin khách hàng đã tồn tại.
2. Cập nhật thông tin khách hàng (ngày đến, lần ở hiện tại là lần thứ
mấy, bổ sung số điện thoại đã thay đổi hoặc những thông tin đã
thay đổi, tình trạng sức khỏe hiện tại).
3. Tiếp tục use case ở bước 9.
4. Kết thúc use case.
- Hậu điều kiện: Trạng thái hệ thống thay đổi, thông tin về tình hình phòng
và thông tin khách hàng đến đăng ký phòng được cập nhật.
Use case 18: Trả phòng
- Tên ca sử dụng: Trả phòng
- Tác nhân: Admin
- Mục đích: Khi khách hàng có nhu cầu trả phòng
- Mô tả khái quát:
Khi việc lưu thông tin phòng thuê được hoàn thành thì nhân viên sẽ đưa chìa
khoá phòng cho khách hàng, hướng dẫn và xách đồ cho khách hàng lên đến tận
phòng. Sau khi hết thời gian thuê phòng, khách hàng sẽ thu dọn đồ đạc và đến quầy
lễ tân tiến hành trả phòng. Nhân viên sẽ yêu cầu khách hàng cung cấp tên, sau đó
nhập vào ô tìm kiếm, hiện ra thông tin khách và phòng mà khách đã thuê. Tiến
hành ấn nút “Trả phòng”, sau đó ấn “Thanh toán”.
Màn hình hoá đơn sẽ xuất hiện, nhân viên tiến hành đọc số tiền thuê phòng
cùng lúc với in hoá đơn đưa cho khách hàng
Với những thông tin đã có như: thông tin khách hàng, phòng đã đăng ký, tên
nhân viên đăng ký phòng, thì nhân viên có thể in ra biên lai thu tiền thanh toán, ta
sẽ có 2 giấy biên lai giống nhau tất cả điều có chữ ký của 2 bên, một giao cho
khách hàng, một được kẹp vào hồ sơ đăng ký phòng của khách hàng (bao gồm
bảng thông tin khách hàng).
Việc cuối cùng là cả nhân viên và khách hàng cần làm là ký tên vào bảng
thông tin khách hàng. Sau đó nhân viên sẽ tập hợp những tập hồ sơ đăng ký này
này để chuyển sang phòng tài chính để hoàn tất việc thanh toán cuối cùng. Các

41
thông tin về khách hàng cũng như phòng đặt được cập nhật vào cơ sở dữ liệu của
khách sạn và việc nhận chìa khóa của khách hàng sẽ được nhân viên giao nhận
phòng thực hiện dựa trên những thông tin của khách hàng.
- Tiền điều kiện: Nhân viên phải đăng nhập vào hệ thống để use case này
thực hiện.
- Luồng sự kiện chính cho use case đăng ký phòng
1. Use case bắt đầu khi khách hàng đến quầy tiếp tân.
2. Khách hàng yêu cầu trả phòng, nhân viên xin tên của khách hàng để
nhập vào hệ thống
3. Nhân viên in hoá đơn
4. Khách hàng thanh toán số tiền
5. Nhân viên nhận tiền và kiểm tra lại.
6. Nhân viên in biên lai thu tiền và đưa cho khách hàng.
7. Kết thúc use case

42
3.6 Xây dựng biểu đồ tương tác
3.6.1 Biểu đồ trình tự
3.6.1.1 Chức năng đăng nhập

Form : : ManHinh : TaiKhoan


DangNhap
Admin :
NhanVienQuanLy
1: chon dang nhap

2: hien thi form dang nhap

3: nhap thong tin dang nhap

4: gui thong tin

5: truy van

6: tra ve ket qua

7: xac nhan thong tin

8: tra ve ket qua

Hình 2.9: Biểu đồ trình tự đăng nhập.

43
3.6.1.2 Chức năng quản lý tài khoản

Form : Form : Form : : HeThongXuLy : NhanVien


DangNhap QLNhanVien NhanVien
: GiamDoc

1: dang nhap

2: xac nhan dang nhap

3: dang nhap thanh cong

4: xem danh sach nhan vien

5: lay danh sach nhan vien

6: lay thong tin nhan vien

7: ket qua

8: hien thi danh sach nhan vien

9: xem chi tiet nhan vien

10: xem chi tiet nhan vien

11: tim kiem nhan vien

12: xem thong tin nhan vien

13: chi tiet nhan vien

14: chi tiet nhan vien

15: hien thi

16: them chi tiet nhan vien

17: them nhan vien

18: them nhan vien

19: sua chi tiet nhan vien

20: sua nhan vien

21: sua nhan vien

22: xoa chi tiet nhan ...

23: xoa nhan vien

24: xoa nhan vien

25: cham cong

26: ghi xuong may chu

27: thong bao ket qua

44
3.6.1.3 Chức năng quản lý khách hàng

: Form : Form : Form : : HeThong : KhachHang


NhanVien... DangNhap QLKha... KhachHang

1: dang nhap

2: kiem tra dang nhap

3: dang nhap thanh cong

4: xem danh sach khach hang

5: lay danh sach khach hang

6: lay thong tin khach hang

7: ket qua

8: hien thi danh sach

9: xem chi tiet khach hang

10: xem CT khach hang

11: tim kiem khach hang

12: tim kiem khach hang

13: chi tiet khach hang

14: chi tiet khach hang

15: hien thi

16: them khach hang

17: them khach hang

18: them khach hang

19: sua khach hang

20: sua khach hang

21: sua khach hang

22: xoa khach hang

23: xoa khach hang

24: xoa khach hang

Hình 2.10: Biểu đồ trình tự quản lý khách hàng.

45
3.6.1.4 Chức năng quản lý phòng

Form: Form: :HeThongXuLy :Phong


DangNhap QLPhong
:
NhanVienQuanLy
1: yeu cau dang nhap

2: kiem tra dang nhap

3: dang nhap thanh cong

4: dang ky phong khi KH den khach san

5: lay thong tin phong

6: kiem tra phong

7: tra ve ket qua

8: hien thi danh sach phong

9: nhan phong va giao chia khoa phong cho KH

10: KH co yeu cau thay doi thong tin dat phong

11: tra cuu phong

12: kiem tra lai phong

13: tra ve ket qua

14: hien thi ket qua

15: cap nhat lai thong tin phong

Hình 2.11: Biểu đồ trình tự quản lý phòng.

46
3.6.1.5 Chức năng quản lý dịch vụ

Form : Form : : HeThongXuLy : DichVu


: DangNhap QLDichVu
NhanVienQuanLy

1: yeu cau dang nhap

2: kiem tra dang nhap

3: dang nhap thanh cong

4: xem danh sach dich vu

5: lay danh sach dich vu

6: lay thong tin ve dich vu

7: ket qua

8: hien thi danh sach

9: them dich vu

10: them dich vu

11: them dich vu

12: tra cuu dich vu

13: tra cuu dich vu

14: tra cuu dich vu

15: cap nhat dich vu

16: cap nhat dich vu

17: cap nhat dich vu

18: xoa dich vu

19: xoa dich vu

20: xoa dich vu

Hình 2.12: Biểu đồ trình tự quản lý dịch vụ.

47
3.6.2 Biểu đồ cộng tác
3.6.2.1 Quản lý đăng nhập
2: 2: hien thi form dang nhap 7: 7: xac nhan thong tin

1: 1: chon dang nhap


3: 3: nhap thong tin dang nhap 4: 4: gui thong tin 5: 5: truy van
Form : : ManHinh : TaiKhoan
DangNhap
8: 8: tra ve ket qua 6: 6: tra ve ket qua
Admin :
NhanVienQuanLy

Hình 2.16: Biểu đồ cộng tác đăng nhập.


3.6.2.2 Quản lý khách hàng

2: 2: kiem tra dang nhap

Form :
DangNhap 15: 15: hien thi
1: 1: dang nhap
16: 16: them khach hang
19: 19: sua khach hang
22: 22: xoa khach hang
3: 3: dang nhap thanh cong
Form :
KhachHang

:
NhanVienQuanLy 10: 10: xem CT khach hang
4: 4: xem danh sach khach hang
9: 9: xem chi tiet khach hang

Form :
QLKhachHang
14: 14: chi tiet khach hang

11: 11: tim kiem khach hang


17: 17: them khach hang
20: 20: sua khach hang
8: 8: hien thi danh sach
23: 23: xoa khach hang

5: 5: lay danh sach khach hang


6: 6: lay thong tin khach hang
12: 12: tim kiem khach hang
18: 18: them khach hang
21: 21: sua khach hang
24: 24: xoa khach hang
: HeThong : KhachHang

7: 7: ket qua
13: 13: chi tiet khach hang

Hình 2.17: Biểu đồ cộng tác quản lý khách hàng.

48
3.6.2.3 Quản lý phòng

2: 2: kiem tra dang nhap

Form:
DangNhap

1: 1: yeu cau dang nhap

3: 3: dang nhap thanh cong

10: 10: KH co yeu cau thay doi thong tin dat phong
4: 4: dang ky phong khi KH den khach san
Form:
QLPhong
9: 9: nhan phong va giao chia khoa phong cho KH
: NhanVienQuanLy 15: 15: cap nhat lai thong tin phong
8: 8: hien thi danh sach phong
5: 5: lay thong tin phong
14: 14: hien thi ket qua
11: 11: tra cuu phong

7: 7: tra ve ket qua


13: 13: tra ve ket qua
:Phong :HeThon
gXuLy
6: 6: kiem tra phong
12: 12: kiem tra lai phong

Hình 2.18: Biểu đồ cộng tác quản lý phòng.

3.6.2.4 Quản lý dịch vụ


5: 5: lay danh sach dich vu
10: 10: them dich vu
2: 2: kiem tra dang nhap 13: 13: tra cuu dich vu
4: 4: xem danh sach dich vu 6: 6: lay thong tin ve dich vu
9: 9: them dich vu 16: 16: cap nhat dich vu 11: 11: them dich vu
12: 12: tra cuu dich vu 19: 19: xoa dich vu 14: 14: tra cuu dich vu
15: 15: cap nhat dich vu 17: 17: cap nhat dich vu
3: 3: dang nhap thanh cong 18: 18: xoa dich vu 20: 20: xoa dich vu
Form : Form : : HeThongXuLy : DichVu
DangNhap QLDichVu
1: 1: yeu cau dang nhap 7: 7: ket qua
: NhanVienQuanLy
8: 8: hien thi danh sach

Hình 3.19: Biểu đồ cộng tác quản lý dịch vụ.

49
3.6.3 Biểu đồ lớp tổng quát

Hình 3.20: Class Diagram hệ thống khách sạn KajimaL

50
Chương 4: LẬP TRÌNH
4.1. Tạo database

4.2. Tạo bảng


Tạo các bảng cần thiết để lưu trữ dữ liệu và setup các khóa chính (Primary
Key) và khóa phụ (Foreign Key) rồi liên kết các bảng lại với nhau.

51
4.3. Mô hình dữ liệu
4.3.1. Chi tiết các bảng dữ liệu
 Bảng Khach

 Bảng Phòng

 Bảng ThueP

 Bảng Dichvu

52
 Bảng SDDV

 Bảng Taikhoan

53
4.3.2. Tạo diargram liên kết

54
4.4. Thiết kế giao diện chương trình
4.4.1 Giao diện đăng nhập

- Khi người dùng đăng nhập vào hệ thống thì hệ thống sẽ kiểm tra username
và password nhập vào có đúng không.

- Nếu sai sẽ đưa ra thông báo, còn nếu đúng sẽ vào giao diện trang chủ để có
thể sử dụng phần mềm, quyền sử dụng tùy vào từng tài khoản.

- Admin sẽ là tài khoản có quyền cao nhất

- Nếu người dùng ấn Thoát thì sẽ hỏi có muốn thoát không. Nếu chọn Yes thì
sẽ thoát khỏi phần mềm.

55
4.4.2 Giao diện trang chủ

56
a) Menu hệ thống

- Chỉ có tài khoản Admin mới hiện chức năng quản lý tài khoản. Các tài khoản
khi đăng nhập vào sẽ không hiển thị
b) Menu quản lý dữ liệu

57
58
c) Menu chức năng

59
d) Menu Tìm kiếm

4.4.3 Giao diện quản lý khách

60
- Chức năng Thêm sẽ cho phép thêm thông tin một khách mới vào bảng
Khach.
- Chức năng Sửa cho phép sửa lại thông tin của một khách hàng đã có trong
bảng Khach.

- Chức năng Xóa cho phép xóa đi thông tin của 1 khách chọn trên bảng hiển
thị và xóa thông tin khách đó trong bảng dữ liệu Khach.

- Chức năng Thoát cho phép trở về giao diện trang chủ.

4.4.4 Giao diện quản lý phòng

- Chức năng Thêm cho phép thêm thông tin của một phòng mới vào bảng
Phong.

61
- Chức năng Sửa cho phép sửa lại thông tin của một phòng đã có trong bảng
Phong.

- Chức năng Xóa cho phép xóa đi thông tin của 1 phòng chọn trên bảng hiển
thị và xóa thông tin phòng đó trong bảng dữ liệu Phong.

- Chức năng Thoát cho phép trở về giao diện trang chủ.

62
4.4.5 Giao diện quản lý dịch vụ

- Chức năng Thêm cho phép thêm thông tin của một dịch vụ mới vào bảng
Dichvu.
- Chức năng Sửa cho phép sửa lại thông tin của một dịch vụ đã có trong bảng
Dichvu.

- Chức năng Xóa cho phép xóa đi thông tin của 1 dịch vụ chọn trên bảng hiển
thị và xóa thông tin dịch vụ đó trong bảng dữ liệu Dichvu.

- Chức năng Thoát cho phép trở về giao diện trang chủ.

63
4.4.6 Giao diện thuê phòng

- Khi người dùng điền số CMND của khách vào ô Số CMND thì bảng thông
tin khách hàng sẽ tự động lọc ra khách có số CMND đó

- Nếu chưa có thông tin khách thì có thể thêm thông tin khách bằng nút Thêm
khách. Sau khi chọn khách xong, ấn nút Chọn khách thì thông tin về Số
CMND của khách đó tự động được điền xuống bảng Danh sách thuê phòng,
mã hợp đồng mới sẽ tự sinh ra.

- Bảng thông tin phòng thuê sẽ chỉ hiện ra những phòng chưa có khách thuê
(phòng trống).

- Sau khi đã chọn được phòng phù hợp thì ấn Chọn phòng, thông tin về mã
phòng, ngày đến sẽ được điền xuống bảng Danh sách thuê phòng

- Người dùng điền tên nhân viên vào ô Nhân viên rồi chọn Thuê phòng là
hoàn tất quá trình đăng ký thuê phòng cho khách hàng.
64
4.4.7 Giao diện trả phòng

- Khi người dùng điền tên khách hàng vào ô tên khách rồi chọn Tìm kiếm thì
danh sách khách có tên giống như vậy sẽ hiện ra bảng bên cạnh.

- Sau khi chọn được đúng khách thì thông tin của khách sẽ được hiển thị đầy
đủ bên dưới, và danh sách các phòng mà khách đó đang thuê tại nhà nghỉ.

- Sau khi chọn một mã hợp đồng ở bảng bên dưới, tên phòng sẽ tự động hiển
thị lên ô Tên phòng.

- Sau khi chọn một mã hợp đồng và chọn Trả phòng thì hệ thống sẽ hỏi là có
muốn thực hiện trả phòng tương ứng với hợp đồng đó hay không. Nếu chọn
Yes thì ngày đi sẽ tự động được điền vào bảng là ngày hiện tại, Thông tin về
tình trạng phòng trong bảng Phong tự động chuyển từ “Có khách” sang
“Trống”.

- Sau khi chọn Thanh toán thì hóa đơn thuê phòng của những phòng vừa trả sẽ
được in ra để thu ngân làm việc về tài chính với khách hàng.
65
66
67
4.4.8 Giao diện sử dụng dịch vụ

- Danh sách khách hàng sẽ được hiển thị ở TreeView bên trái. Trong từ tên
khách hàng sẽ là danh sách phòng mà khách hàng đó đang thuê mà chưa trả

- Khi chọn một tên khách hàng thì trong bảng Danh sách sử dụng sẽ hiện ra tất
cả những dịch vụ mà khách này sử dụng trong quá trình ở tại nhà nghỉ.
- Khi chọn một phòng của khách hàng đó thì bảng Danh sách sử dụng sẽ hiện
ra tất cả những dịch vụ mà khách hàng này sử dụng tại phòng đó trong quá
trình ở tại nhà nghỉ.
- Bảng chọn dịch vụ sẽ là tất cả các dịch vụ mà nhà nghỉ cung cấp cho khách
hàng
- Khi chọn khách, chọn phòng và chọn một dịch vụ rồi chọn Thêm, hệ thống
sẽ ghi nhận là khách đăng ký sử dụng dịch vụ vừa chọn tại phòng vừa chọn

68
và sẽ hiện thông báo hỏi số lượng muốn sử dụng là bao nhiêu. Sau khi ấn lưu
thì quá trình đăng ký dịch vụ hoàn tất, hiện ra thông báo đăng ký thành công.
- Chức năng Sửa cho phép sửa lại số lượng dịch vụ đã đăng ký tăng lên hoặc
giảm đi.
- Chức năng Xóa cho phép xóa đi thông tin của một hóa đơn dịch vụ đã chọn
trong bảng Danh sách sử dụng.
- Chức năng Thoát cho phép trở về giao diện trang chủ

69
4.4.9 Giao diện chức năng tìm kiếm
a) Tìm kiếm thông tin khách hàng

- Có quyền tìm kiếm theo số CMND hoặc theo tên khách hàng

- Sau khi chọn xong và điền giá trị so sánh vào ô Text, chọn Tìm kiếm thì
thông tin khách hàng phù hợp sẽ hiển thị xuống bảng Kết quả tìm kiếm.

- Chức năng Thoát cho phép trở về giao diện trang chủ.

70
b) Tìm kiếm thông tin phòng

- Cho phép tìm kiếm theo loại phòng, tình trạng phòng, hoặc cả hai điều kiện
trên bằng cách chọn vào CheckBox tương ứng.

- Sau khi chọn giá trị tìm kiếm xong và chọn Tìm kiếm thì kết quả phù hợp sẽ
được hiển thị xuống bảng Kết quản tìm kiếm bên dưới.

- Chức năng thoát cho phép trở về giao diện trang chủ.

71
KẾT LUẬN
Tác động mạnh mẽ của Công nghệ thông tin đã tạo ra nhiều thay đổi trong
đời sống kinh tế xã hội. Trong nền kinh tế thị trường, nền văn hóa xã hội Việt Nam,
việc giảm thiểu tối đa nguồn lực và tối ưu hóa hiệu suất làm việc trở thành vấn đề
sống còn, việc ứng dụng tin học vào công tác quản lý trở thành sự tất yếu.
Trong đề tài “Xây dựng hệ thống quản lý khách sạn”, đã nêu lên thực
trạng, đánh giá về công tác tổ chức quản lý khách sạn và đưa ra giải pháp xây dựng
hệ thống quản lý trong khách sạn. Trong điều kiện nhất định, em thực hiện được
một số module, ngôn ngữ lập trình C#.
Dù cố gắng hết sức tối ưu hóa, song do nhận thức có hạn, báo cáo không thể
tránh khỏi những hạn chế và thiếu sót. Em kính mong nhận được ý kiến đóng góp
của các thầy cô để chúng em có thể rút ra nhiều kinh nghiệm quý giá hơn.
Một lần nữa chúng em xin chân thành cảm ơn các thầy, cô giáo, đặc biệt là
thầy Phương Văn Cảnh đã tận tình hướng dẫn, tạo điều kiện tối đa để em hoàn
thành báo cáo.

72
TÀI LIỆU THAM KHẢO

[1]. TS. Đào Nam Anh, Giáo trình Phân tích thiết kế hướng đối tượng,
trường Đại học Điện Lực.

[2]. TS. Huỳnh Văn Đức (Chủ biên), ThS. Đoàn Thiện Ngân (Hiệu Đính),
Giáo trình nhập môn UML, Nhà xuất bản Lao động và xã hội.

[3]. Nguyễn Văn Ba, Phát triển hệ thống hướng đối tượng với UML 2.0 và
C++.

[4]. PGS.TS. Đặng Văn Đức, Phân tích thiết kế hướng đối tượng, Viện khoa
học và công nghệ Việt Nam.

73

You might also like