Professional Documents
Culture Documents
BÁO
BÁO CÁO
CÁO
ĐỒ
ĐỒ ÁN
ÁN
CUỐI
CUỐI KHÓA
KHÓA
Phần mềm
QUẢN LÝ KHÁCH SẠN
212IS4901
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT
PHẦN MỀM
QUẢN LÝ KHÁCH SẠN
Giảng viên hướng dẫn: NGUYỄN QUANG PHÚC
Nhóm: BDORM
ST Họ và tên MSSV
T
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Điểm …… Ký tên
LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Ban giám hiệu trường
Đại học Kinh tế - Luật vì đã tạo điều kiện cho chúng em tiếp cận môn “Kỹ thuật lập
trình”, cũng như cung cấp cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các
loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin. Đặc biệt, chúng
em xin gửi lời cảm ơn sâu sắc nhất đến giáo viên bộ môn – Thầy Nguyễn Quang Phúc
đã giảng dạy tận tình, chi tiết để chúng em có đủ kiến thức và vận dụng chúng vào bài
tiểu luận này.
Trong quá trình hoàn thành đồ án cuối kỳ, giảng viên Nguyễn Quang Phúc đã
giúp chúng em có được kiến thức nền tảng về phương pháp làm bài đồ án và định
hướng đúng đắn những cách thức tiến hành một chương trình quản lý trên ngôn ngữ
lập trình Python. Tuy nhiên, do sự hạn chế về thời gian và kiến thức, cũng như chúng
em vẫn còn thiếu kinh nghiệm thực tiễn nên sai sót là điều không thể tránh khỏi.
Chúng em rất mong sẽ nhận được những ý kiến đóng góp từ quý thầy cô và các bạn để
hoàn thiện bài đồ án nhất có thể.
Kính chúc cô thật nhiều sức khỏe và thành công trên sự nghiệp giảng dạy.
Ngày nay, chúng ta đã bước vào thế kỉ 21 - một thế kỷ được đánh giá là bước
ngoặt to lớn về sự bùng nổ của khoa học kĩ thuật cũng như là kỷ nguyên của công
nghệ thông tin. Vai trò của công nghệ và kiến thức dường như đã trở thành yếu tố
quan trọng nhất quyết định sự thành công của mọi lĩnh vực trên thế giới. Công nghệ
thông tin đã và đang làm thay đổi cuộc sống của chúng ta, nó giúp ta nắm bắt kịp
những xu hướng, những đổi mới, những phát triển hiện đại của cuộc sống. Nếu không
có sự trợ giúp của nó, con người không thể nào bắt kịp vận hành của thế giới hiện đại
và tất nhiên chúng ta sẽ trở nên lạc hậu, chậm tiến, và đi thụt lùi. Bên cạnh đó, công
nghệ thông tin cũng có ý nghĩa to lớn giúp nhân loại chinh phục mọi tầm cao của sự
tiến bộ. Đặc biệt là với sự phát triển mạnh mẽ của các công nghệ phần mềm nên việc
ứng dụng tin học vào đời sống thực tiễn đang rất phát triển và được phổ biến rộng rãi.
Tất cả các ngành như y tế, giáo dục, thương mại điện tử,... đều được tin học hóa một
cách hữu dụng và rộng rãi, nó giúp ngành quản lý trở nên có hiệu quả, giảm được tối
đa việc lãng phí thời gian và công sức để hoàn thành công việc. Vì vậy có thể thấy
được rằng, công nghệ dường như đã trở thành một phần không thể thiếu trong mọi
hoạt động xã hội và đời sống của con người.
Thêm vào đó, sức mạnh của một nền kinh tế phụ thuộc rất lớn vào các hoạt
động trong nước của các doanh nghiệp. Do đó, sự thành công trong kinh doanh của
doanh nghiệp không những là mục tiêu mà còn là nhân tố quyết định vị thế của đất
nước trên thị trường quốc tế. Trong thời đại 4.0, cuộc sống của con người ngày càng
được nâng cao và phát triển, các mô hình dịch vụ liên tiếp được ra đời nhằm mục đích
phục vụ con người. Không chỉ nằm ngoài quy luật đó, hệ thống dịch vụ khách sạn,
nhà nghỉ cũng ngày càng được phát triển.
Tại Việt Nam, nhà nước cũng đang đi vào phát triển dịch vụ và đầu tư lớn cho
du lịch. Vì thế, ngành kinh doanh khách sạn cũng đang được chú trọng để thu hút
khách trong và ngoài nước tới tham quan. Tuy nhiên, do ảnh hưởng của đại dịch
COVID-19 trong vài năm gần đây đã khiến cho kinh doanh của ngành du lịch giảm
sút, điều đó đã ảnh hưởng không nhỏ tới doanh thu của các doanh nghiệp cũng như là
sự phát triển của đất nước. Nhà nước cũng đã tìm ra nhiều cách để giải quyết vấn đề
này, và cuối cùng có lẽ việc sống chung với dịch bệnh trong thời đại này là một điều
dễ hiểu và là cách giải quyết thông minh nhất. Trong khoảng thời gian phục hồi lại đại
dịch, liên tiếp những mô hình doanh nghiệp về khách sạn, nhà nghỉ được mở ra, việc
xây dựng một phần mềm quản lý khách sạn không những nâng cao trình độ quản lý
hiện đại, đạt hiệu quả cao, giảm bớt chi phí quản lí mà còn giúp cho khách hàng thuận
tiện trong việc đặt phòng, thanh toán. Có thể nói rằng, phần mềm quản lý khách sạn sẽ
giúp đơn giản hóa, tiết kiệm chi phí và quản lý một cách hiệu quả nhất.
MỤC LỤC
LỜI MỞ ĐẦU.............................................................................................................. 2
MỤC LỤC...................................................................................................................4
A. GIỚI THIỆU.........................................................................................................1
1. Tên dự án...........................................................................................................1
2. Lý do chọn dự án...............................................................................................1
B. NỘI DUNG...........................................................................................................2
1. Cơ sở lý thuyết...................................................................................................2
2. Cơ sở thực tiễn.................................................................................................10
2.2. Các công việc, chức năng cần thiết của một ứng dụng quản lý..................11
2.3. Phương thức tính toán doanh thu và báo cáo kết quả kinh doanh...............12
1. Kết quả............................................................................................................. 25
2. Đánh giá...........................................................................................................27
2.1. Ưu điểm......................................................................................................27
D. KẾT LUẬN.........................................................................................................28
Hình 12. Sơ đồ mối liên kết thư mục trong chương trình............................................22
1. Tên dự án
2. Lý do chọn dự án
Hiện nay, ngành dịch vụ được xem là một trong những ngành có tiềm
năng phát triển mạnh mẽ. Do đó kinh doanh khách sạn cũng là một loại hình dịch
vụ đang được chú trọng để phục vụ con người đồng thời vừa thu hút lượng khách
du lịch đến Việt Nam, vừa tận dụng được những thuận lợi từ vị trí nước ta (danh
lam thắng cảnh, địa danh nổi tiếng,...) và đặc biệt, vừa thu được lợi nhuận kinh tế
cao.
Trong thực tế, hầu hết các khách sạn lớn mới có phần mềm quản lý còn
các khách sạn vừa và nhỏ thì hầu như công việc đang phải làm một cách thủ
công như sử dụng sổ sách, giấy tờ kết hợp với Microsoft Excel,... để tính toán.
Và những phương pháp quản lý đó tốn khá nhiều thời gian, thất toán doanh thu,
chi phí tốn kém.
Sử dụng hệ thống quản lý khách sạn là giải pháp đang được rất nhiều nhà
quản lý khách sạn tin tưởng sử dụng và nó cũng đã trở thành một trong những lợi
thế cạnh tranh hiện nay.
Xuất phát từ thực tế đó, nhóm chúng em đã quyết định lựa chọn đề tài
“Phần mềm quản lý khách sạn” với hy vọng rằng nó sẽ góp phần giúp công việc
quản lý trở nên hiệu quả hơn.
3. Mục đích dự án
Xây dựng một phần mềm giúp cho việc theo dõi, quản lý kinh doanh
khách sạn trở nên nhanh hơn về mặt thời gian, tiết kiệm chi phí và đạt được sự
chính xác cao trong việc tính toán doanh thu.
Giúp sinh viên vừa nắm vững được kiến thức môn vừa 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
1
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.
Dự án được thiết kế dành cho đối tượng sử dùng là chủ sở hữu khách sạn
nhằm mục đích quản lý khách hàng và theo dõi hoạt động kinh doanh của tổ
chức.
Đọc một số tài liệu về phương pháp lập trình Python, trên cơ sở đó tiến
hành phân tích thiết kế hệ thống quản lý khách sạn.
Tham khảo, quan sát các phần mềm quản lý khách sạn trong thực tế.
B. NỘI DUNG
1. Cơ sở lý thuyết
Ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do
Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991, được thiết kế với
ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Ban đầu, Python được phát triển
để chạy trên nền Unix. Nhưng rồi theo thời gian, Python dần mở rộng sang
mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ
điều hành khác thuộc họ Unix.
Có sẵn dưới dạng ứng dụng đa nền tảng, PyCharm tương thích với các
nền tảng Linux, macOS và Windows. Ngồi duyên dáng trong số các IDEs
Python tốt nhất, PyCharm cung cấp hỗ trợ cho cả hai phiên bản Python 2
(2.7) và Python 3 (3.10 trở lên).
Để thuận tiện hơn trong việc tiến hành thực hiện chương trình tổ chức
2
quản lý khách sạn, nhóm chúng em đã tham khảo và sử dụng một số chương
trình sau:
Matplotlib là một trong những thư viện Python phổ biến nhất được sử
dụng để trực quan hóa dữ liệu bằng cách vẽ biểu đồ hướng đối tượng. Nó
cũng mở các số liệu trên màn hình và hoạt động như trình quản lý GUI.
Với Matplotlib, có rất nhiều đồ thị được vẽ với nhiều phương thức
khác nhau, với chương trình của chúng em, chúng em thực hiện vẽ biểu đồ
đường và tích hợp vào giao diện của Tkinter.
Thành phần chính của Matplotlib figure là Figure - một cái cửa sổ
chứa tất cả những gì ta sẽ vẽ trên đó. Pyplot là một module của Matplotlib
cung cấp các hàm đơn giản để thêm các thành phần plot. Một canvas Tkinter
(chứa hình vẽ) được tạo bằng cách sử dụng lớp FigureCanvasTkAgg().
Chúng ta chuyển hai mảng làm đối số đầu vào cho phương thức plot() và sử
dụng phương thức show() để gọi biểu đồ được yêu cầu. Mảng đầu tiên xuất
hiện trên trục x và mảng thứ hai xuất hiện trên trục y của biểu đồ.
Cài đặt: pip install matplotlib (với môi trường nếu Anaconda chỉ cần
gõ conda install matplotlib)
3
- Dễ tiếp cận, dễ đào sâu.
Pymongo là trình điều khiển chính thức của MongoDB cho các
ứng dụng Python đồng bộ, chứa các công cụ để tương tác với cơ sở dữ
liệu MongoDB từ Python.
Cài đặt:
- Lệnh để cài đặt phiên bản mới nhất của mô-đun bằng dòng
lệnh: pip install pymongo hoặc conda install pymongo từ
môi trường Anaconda.
- Nếu cần cài đặt một phiên bản cụ thể pymongo, hãy chỉ
định phiên bản trong lệnh. Ví dụ cài đặt phiên bản
PyMongo 3.11: pip install pymongo[srv]==3.11
- Nếu bạn đã cài đặt PyMongo và cần nâng cấp lên phiên
bản mới nhất, hãy sử dụng pip lệnh sau:
pip install --upgrade pymongo[srv]
Sử dụng:
- Khai báo thư viện: import pymongo as mg
Thư viện này cho phép python kết nối với MongoDB bằng ứng
dụng khách db. Sau khi kết nối, chọn tên db sẽ được sử dụng cho các
hoạt động khác nhau:
- Chèn dữ liệu
- Cập nhật dữ liệu
- Xóa dữ liệu
4
Sử dụng các phiên bản MongoDB, Pymongo, Python tương
thích với nhau. Cụ thể là MongoDB 5.3, Pymongo 4.1, Python 3.10
tương ứng với Pycharm.
1.3.3. Thư viện: Pandas (DataFrame)
Pandas là một thư viện Python cung cấp các cấu trúc dữ liệu
nhanh, mạnh mẽ, linh hoạt và mang hàm ý. Tên thư viện được bắt
nguồn từ panel data (bảng dữ liệu). Pandas được thiết kế để làm việc
dễ dàng và trực quan với dữ liệu có cấu trúc (dạng bảng, đa chiều, có
tiềm năng không đồng nhất) và dữ liệu chuỗi thời gian.
Cài đặt:
- Sử dụng pip và gõ lệnh: pip install pandas
- Hoặc bằng Anaconda, dùng lệnh: conda install pandas
5
- Json có nhiều khả năng mở rộng về mặt thêm và chỉnh
sửa nội dung.
- Json hiển thị dữ liệu các phân cấp và quan hệ tốt hơn.
- Json làm việc bên trong dễ dàng hơn đáng kể và chủ yếu
được sử dụng cho các ngôn ngữ lập trình.
Sử dụng: import json
Trình tự xử lý của thư viện: Ta mở (open) và đọc (read) file
Json để đọc dữ liệu Json từ file với hàm json.load()
with open(file, 'r+') as file:
file = json.load(file)
('r' mở để đọc (mặc định)
'w' mở để ghi, cắt bớt tệp trước
'x' tạo một tệp mới và mở nó để viết
'a' mở để viết, nối vào cuối tệp nếu nó tồn tại)
dump()ghi dữ liệu vào tệp, có hai đối số vị trí: (1) đối
tượng dữ liệu được tuần tự hóa và (2) đối tượng giống tệp mà các
byte sẽ được ghi vào.
truncate()cắt gọn kích cỡ file, không làm việc với file được
mở trong chế độ read-only, không trả về bất cứ giá trị nào.
seek()thiết lập vị trí hiện tại của file, không trả về bất cứ
giá trị nào.
- Ttk: Mô-đun tkinter.ttk cung cấp quyền truy cập vào bộ widget
theo chủ đề Tk.
Sử dụng: Để bắt đầu sử dụng Ttk, hãy nhập mô-đun của nó
from tkinter import ttk
button1 = ttk.Button(self, text="PROFILE CLIENT",
width='30', command=lambda:
controller.show_frame(Working))
button1.place(x=10, y=10)
6
button2 = ttk.Button(self, text="ROOM STATE",
width='30', command=lambda:
controller.show_frame(Room))
button2.place(x=10, y=60)
- Messagebox
- Canvas
- tkcalendar (DateEntry)
7
như Combobox, nhưng menu thả xuống không phải là danh
sách mà là Lịch để chọn ngày. Các sự kiện có thể được hiển thị
trong Lịch với màu sắc tùy chỉnh và chú giải công cụ hiển thị
danh sách sự kiện cho một ngày nhất định.
Cài đặt: pip install tkcalendar
Sử dụng: from tkcalendar import DateEntry
- tkinter.font
Mô-đun tkinter.font cung cấp lớp Phông chữ để tạo và sử dụng
phông chữ được đặt tên.
Sử dụng: import tkinter.font as font
Một vài option tùy chọn cho font:
+ family: tên font chữ dưới dạng một chuỗi
+ size: chiều cao font chữ tính bằng điểm, để có font chữ
có chiều cao n pixels, ta sử dụng -n.
+ weight: “bold” cho chữ in đậm, “normal” đối với chữ
bình thường.
+ slant – “italic” cho chữ nghiêng, “roman”.
+ underline − 1 đối với văn bản gạch chân, 0 đối với văn
bản thường.
+ verstrike − 1 đối với văn bản quá tải, 0 đối với văn bản
bình thường.
8
1.4. Cơ sở quản trị dữ liệu MongoDB
9
1.4.2. Ưu điểm và khuyết điểm khi dùng MongoDB
- Ưu điểm:
+ Là phần mềm mã nguồn mở miễn phí, có cộng đồng
phát triển rất lớn.
+ Hiệu năng cao: Tốc độ truy vấn (find, update, insert,
delete) của MongoDB nhanh hơn hẳn so với các hệ
quản trị cơ sở dữ liệu quan hệ.
+ Dữ liệu linh hoạt: MongoDb là document Database,
dữ liệu dưới dạng JSON, không bị bó buộc về số
lượng field, kiểu dữ liệu… bạn có thể insert thoải mái
dữ liệu mà mình muốn.
+ Tính sẵn có
+ Là một Rich Query Language: MongoDB có sẵn các
method để thực hiện create, read, update, delete dữ
liệu.
- Nhược điểm:
+ Bị giới hạn kích thước bản ghi: Mỗi document không
được có kích thước lớn hơn 16MB và không mức độ
các document con trong một document không được
lớn hơn 100.
+ Sử dụng nhiều bộ nhớ.
+ Nguy cơ gây mất dữ liệu khi chưa hoàn thành bản lưu.
2. Cơ sở thực tiễn
Trong một tổ chức sẽ tồn tại hai dữ liệu chính đó chính là dữ liệu lưu
trữ và dữ liệu sử dụng:
- Dữ liệu lưu trữ là dữ liệu đầu vào, được dùng để truy xuất một
cách dễ dàng những dữ liệu đang được sử dụng ứng với khách
10
hàng đó, đồng thời được dùng để lưu trữ làm báo cáo hoạt động
kinh doanh của tổ chức.
- Dữ liệu sử dụng là dữ liệu đầu ra, được sử dụng để thực hiện tính
toán, phân tích hoạt động kinh doanh.
2.2. Các công việc, chức năng cần thiết của một ứng dụng quản lý
Một ứng dụng quản lý phải đảm bảo thực hiện được 4 tính năng chính
theo cơ chế CRUD. CRUD là viết tắt của 4 từ tiếng Anh: Create, Read,
Update, Delete. CRUD là 4 tính năng quan trọng nhất để làm việc với
Database.
- Tạo thông tin (Create): là quá trình lưu trữ một bản ghi mới lên
Database.
+ Ví dụ minh họa: Người dùng đăng một bình luận trên
Facebook, Facebook phải tạo mới một dòng dữ liệu trên
Database của họ.
- Đọc dữ liệu (Read): là quá trình đọc bản ghi từ Database lấy ra.
+ Ví dụ minh họa: Người dùng xem thông tin chi tiết sản
phẩm, bao gồm kích thước sản phẩm, giá tiền sản phẩm,…
- Cập nhật dữ liệu (Update): là cập nhật thông tin bản ghi đã được
lưu trữ từ trước.
+ Cập nhật thông tin trong Database sẽ dựa trên một số đặc
điểm. Có thể dựa trên id, hoặc những đặc tính chung như
cùng chuyên mục,…
+ Update dữ liệu trong Database có thể update một hoặc
nhiều bản ghi, tùy thuộc vào tính năng của Website.
+ Ví dụ minh họa: Người dùng Facebook chỉnh sửa bài
đăng.
- Xóa dữ liệu (Delete): là loại bỏ đi dữ liệu đã tồn tại, dữ liệu được
tạo ra từ Create.
11
+ Ví dụ minh họa: Người dùng facebook xóa đi bình luận
của chính họ, quản trị viên Website xóa đi bài viết đã
đăng.
2.3. Phương thức tính toán doanh thu và báo cáo kết quả kinh doanh
Dựa vào giá một ngày sử dụng tương ứng đối với mỗi loại
phòng, số lượng phòng được đặt, số ngày sử dụng tương ứng với mỗi
phòng. Số liệu sẽ được ghi nhận vào doanh thu khi khách hàng thanh
toán. Đối với những khách sử dụng phòng trên một ngày, thì sẽ tính
vào ngày trả phòng.
Doanh thu ngày = ∑ thời hạn sử dụng loại phòng 1 x giá tiền loại
1 + ∑ thời hạn sử dụng loại phòng 2 x giá tiền loại 4 + ∑ thời hạn sử
dụng loại phòng 4 x giá tiền loại 4
Doanh thu tháng = ∑ Doanh thu ngày trong tháng
Doanh thu năm = ∑ Doanh thu các tháng trong năm
Sau khi có kết quả doanh thu thì đưa xuống phòng kế toán làm
báo cáo kết quả hoạt động kinh doanh.
12
STT Tên đối tượng Miêu tả Kiểu dữ liệu
1 username Tên đăng nhập string
2 password Mật khẩu string
Đối với khách hàng khi thực hiện giao dịch với khách sạn thì sẽ cung
cấp một số thông tin như:
3.2. Xử lý dữ liệu
Sau khi thiết lập dữ liệu thì toàn bộ dữ liệu đã tạo sẽ được lưu trên
CSDL MongoDB để thực hiện xử lý dữ liệu, biểu hiện các chức năng:
13
- Hiển thị danh sách khách hàng:
+ Mục đích: Nhân viên khách sạn, quản lý cũng như ban quản lý
khách sạn sẽ biết thông tin những khách hàng đang ở trong
khách sạn của mình.
+ Cơ chế hoạt động: Lấy dữ liệu thông tin từ MongoDB.
- Hiển thị phòng ở đối với từng loại phòng:
+ Mục đích: Dựa vào chức năng này, người quản lý/ giám sát có
thể biết được phòng nào đã có người đặt và phòng nào còn
trống.
+ Cơ chế hoạt động: Lấy dữ liệu Room từ thông tin phòng ở
- Tính toán doanh thu theo từng ngày:
+ Mục đích: Tính toán doanh thu theo từng ngày và theo cụ thể
từng loại phòng của mỗi ngày có doanh thu.
+ Cơ chế hoạt động: Lấy dữ liệu Type, Date start, Date end,
Date revenue từ thông tin phòng ở và sẽ được lưu trữ vào file
JSON admin[‘Revenue’].
- Biểu diễn tình hình hoạt động kinh doanh:
+ Mục đích: Quan sát, đánh giá tổng thể tình hình kinh doanh
hiện tại của khách sạn.
+ Cơ chế thực hiện: Lấy dữ liệu doanh thu từng ngày từ file
JSON Admin[‘revenue’] để biểu diễn trên đồ thị.
14
3.4. Thiết kế giao diện
15
Hình 3. Giao diện đăng nhập
16
Hình 5. Giao diện nhập thông tin
17
Hình 6. Giao diện phòng ở
18
Hình 8. Giao diện báo cáo hoạt động kinh doanh
Mô tả:
- Khách hàng: Khách hàng khi đến khách sạn muốn thuê phòng
trước hết phải cung cấp các thông tin cá nhân cho nhân viên lễ tân.
19
Sau khi kiểm tra các thông tin hợp lệ có đủ điều kiện để thuê phòng
thì Lễ tân sẽ cập nhật thông tin khách vào hệ thống.
- Phòng khách sạn: Sau khi đã kiểm tra thông tin của khách hợp lệ
thì Lễ tân sẽ sắp xếp phòng cho khách nghỉ vào phòng theo yêu cầu
của khách đã chọn hoặc được đặt từ trước. Tuy nhiên, có thể thay
đổi theo yêu cầu của Khách và phù hợp với tình trạng các phòng
của khách sạn. Chức năng này cũng quản lý tình trạng của các
phòng trong khách sạn.
- Nhân viên: Trong thời gian nghỉ lại khách sạn, nếu như nhân viên
muốn kiểm tra các thông tin của khách hàng, cũng như khách hàng
đã làm mất thẻ phòng và muốn được vào lại phòng thì nhân viên sẽ
tìm kiếm, yêu cầu xử lý đến hệ thống.
- Quản lý khách sạn: Khi ban lãnh đạo khách sạn có yêu cầu báo cáo
thì nhân viên quản lý tiến hành yêu cầu hệ thống đưa ra các thông
tin về tình hình kinh doanh của khách sạn hay thông tin về một
khách hàng nào đó rồi báo cáo chi tiết cho ban lãnh đạo.
Chức năng cơ bản: Thống kê số lượng khách, tình trạng phòng
trong khách sạn, thống kê doanh thu.
20
4.2. Biểu đồ luồng dữ liệu
21
4.4. Tổ chức thư mục
- GUI.py: file chương trình chính, lưu trữ toàn bộ các thuật toán khi
khởi chạy chương trình.
- function.py: file lưu trữ những thuật toán của chương trình, hàm
chức năng thực hiện các điều kiện, tính toán doanh thu.
- new_client.py: file lưu trữ giao diện nhập thông tin khách hàng
- admin.json: lưu trữ thông tin tài khoản đăng nhập và doanh thu của
khách sạn
Hình 12. Sơ đồ mối liên kết thư mục trong chương trình
22
23
5. Thuật toán chương trình
24
C. KẾT QUẢ - ĐÁNH GIÁ
1. Kết quả
- Đăng ký/ Đăng nhập: Khởi tạo và lưu trữ thành công
- Giao dịch với khách hàng: Thực hiện tốt theo cơ chế CRUD bao gồm
tạo khách hàng, lưu trữ thông tin khách hàng, xóa, cập nhật thông tin
giao dịch và xóa toàn bộ dữ liệu hiện có.
25
Hình 15. Quản lý thông tin giao dịch
- Các chức năng kiểm tra: Thực hiện tốt, lưu trữ thành công doanh thu
- Ngoài ra, trong quá trình thực hiện chạy thử nghiệm chương trình trên
nhiều máy khác nhau thì chương trình có xuất hiện nhiều lỗi khác
nhau. Tuy nhiên, lỗi đặc trưng là: couldn't recognize data in image file
"./picture/final_logo_2.png"
26
Có những máy sẽ chạy được đường dẫn ảnh và nhận được file, tuy
nhiên sẽ có một số máy không được. Theo tham khảo và tìm hiểu thì
tkinter chỉ hoạt động với ảnh gif (hoặc file ảnh nhỏ như gif) vậy nên
phải sử dụng thông qua thư viện PIL thay thế.
Cú pháp:
photo = tk.PhotoImage(file="./picture/final_logo_2.png")
2. Đánh giá
2.1. Ưu điểm
- Còn thiếu nhiều chức năng cho một phần mềm quản lý chuyên
nghiệp.
- Bảo mật chưa cao.
Hiện tại chương trình còn khá đơn giản, nếu muốn chương trình
được ứng dụng cao hơn ở mọi mô hình khách sạn từ trung cấp đến cao
cấp thì cần tối ưu hóa chương trình, bổ sung thêm nhiều chức năng nữa
27
cho phần mềm quản lý khách sạn (quản lý nhân viên, quản lý tiền lương,
quản lý lịch làm việc,...) và xây dựng hệ thống cung cấp thông tin để
khách hàng có thể đặt phòng online và sử dụng các dịch vụ khác của
khách sạn. Ngoài ra có mở rộng chương trình này thành một chương
trình chủ và nhiều chương trình con khác tương ứng với một hệ thống
khách sạn với nhiều chi chi nhánh.
D. KẾT LUẬN
28
E. TÀI LIỆU THAM KHẢO
[2] Jess Feldman, Intro to 3 Data Viz Tools: Matplotlib, Seaborn, and
Plotly, https://rgl.mobi/vsaRa, 15/06/2021.
[3] Priya Pedamkar, JSON and CSV, Know the top 6 important
comparison, https://rgl.mobi/AOwSO, 08/04/2022
29