MỞ ĐẦUNgày nay, việc ứng dụng công nghệ thông tin đã trở nên phổ biến trong hầu hết mọi cơ quan, doanh nghiệp, trường học đặc biệt là việc áp dụng các giải pháp tin học trong công tác qu
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT HÀN -
BÁO CÁO ĐỒ ÁN CƠ SỞ 1
ĐỀ TÀI:
HỆ THỐNG QUẢN LÍ KHÁCH SẠN
Sinh viên thực hiện : LÊ TIẾN VŨ
Lớp : 23AIGiảng viên hướng dẫn: PGS.TS HUỲNG CÔNG PHÁP
Đà Nẵng, tháng 5 năm 2024
Trang 2LỜI CẢM ƠN
Để hoàn thành bài báo cáo học phần Đồ án cơ sở 1 này trước tiên nhóm em
xin gửi lời cảm ơn chân thành đến các thầy cô giảng viên trong khoa Khoa học Máy tính Trường Công Nghệ Thông Tin và Truyền thông Việt - Hàn. Đặc biệt, em xin gửi đến thầy Huỳnh Công Pháp , người đã tận tình hướngdẫn, giúp đỡ trong việc nâng cao kiến thức chuyên môn, phát huy cho em tính tựhọc, tự tìm hiểu, từ đó hình thành cho em phương pháp nghiên cứu, tìm tòi, tiếpcận với khoa học công nghệ Đồng thời trau dồi cho em kỹ năng học tập năng động
và sáng tạo
Vì kiến thức còn hạn chế, trong quá trình tìm hiểu về đề tài này em khôngthể tránh những sai sót Em rất mong nhận được những nhận xét, đánh giá, đónggóp ý kiến từ thầy cô để rút ra kinh nghiệm từ bài báo cáo học phần này và chuẩn
bị tốt cho những bài báo cáo học phần sau
Em xin chân thành cảm ơn!
Trang 3MỞ ĐẦU
Ngày nay, việc ứng dụng công nghệ thông tin đã trở nên phổ biến trong hầu hết mọi cơ quan, doanh nghiệp, trường học đặc biệt là việc áp dụng các giải pháp tin học trong công tác quản lý hoặc để xây dựng những hệ thống phục vụ cho một mục đích nào đó
Công nghệ thông tin là một trong những lĩnh vực quan trọng hàng đầu của thế giới Việc thành lập các công ty, ngân hàng, các tổ chức lớn, cho đến những thành phần nhỏ hơn là doanh nghiệp, cửa hàng ít hay nhiều đều cần đến công nghệ thông tin như là một thành phần không thể thiếu trong việc quả lý, xây dựng vàphát triển về sau này Với sự hỗ trợ đắc lực từ công nghệ thông tín, tốc độ phát triển chung của xã hội đã được tăng lên rất nhiều lần
Trong ít năm trở lại đây, với tốc độ phát triển như vũ bão, CNTT đang dần làm cho cuộc sống của con người trở nên thú vị và đơn giản hơn Tuy rằng công việc tựhọc là vô cùng quan trọng, nhưng như thế thôi là chưa đủ Việc kết hợp yếu
tố giảng dạy từ những người khác thì tốc độ tiếp thu được kiến thức của chúng ta
sẽ tăng lên rất nhiều lần và giúp chúng ta tạo ra những tư duy, tính sáng tạo và kế thừa phát huy những ưu điểm của người giảng đạy Chính vì vậy để bắt kịp với tốc
độ phát triển của xã hội, những kiến thức có được trên giảng đường là vô cùng quan trọng với sinh viên chúng em
Trang 4NHẬN XÉT
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5MỤC LỤ
C
LỜI CẢM ƠN 2
MỞ ĐẦU 3
CHƯƠNG I: TỔNG QUAN VỀ LẬP TRÌNH ỨNG DỤNG DESKTOP 7
1.1.Lập trình ứng dụng desktop là gì? 7
1.2.Các ngôn ngữ lập trình phổ biến 7
1.2.1.C++ 7
1.2.2.C# 7
1.2.3.Java 8
1.2.4.Python 8
1.3.Frameworks và Libraries phổ biến 8
1.4.Các công cụ phát triển( IDEs ) 9
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG MỚI 10
2.1.Phân tích hệ thống 10
2.1.1 Actor 10
2.1.1.Các usecase 10
2.2.Các chức năng của hệ thống 11
2.2.1.Biểu dồ phân rã chức năng 11
2.2.2.Xây dựng mô hình thực thể liên kết 13
CHƯƠNG III: THIẾT KẾ CƠ SỞ DỮ LIỆU 14
3.1 Bảng Acconut 14
3.2 Bảng KhachHang 14
3.3 Bảng DichVu 14
3.4 Bảng LoaiPhong 14
3.5 Bảng Phong 14
3.6 Bảng HoaDonDV 15
3.7 Bảng ChiTietDV 15
Trang 63.8 Bảng HoaDonPhong 15
3.9 Mối quan hệ giữa các bảng 16
CHƯƠNG IV: THIẾT KẾ GIAO DIỆN 17
4.1 Form đăng nhập 17
Chức năng đăng nhập 17
Chức năng đăng kí tài khoản mới 17
Chức năng thay đổi mật khẩu 18
4.2 Trang chủ 18
4.3 Đặt Phòng 19
4.4 Quản lí hóa đơn 20
4.5 Quản lí dịch vụ 21
4.5.1 Quản lí phòng 21
4.5.2 Quản lí dịch vụ 23
4.6 Quản lí khách hàng 23
4.7 Thống kê 24
4.7.1 Thống kê dịch vụ 24
4.7.2 Thống kê khách hàng 25
KẾT LUẬN 27
TÀI LIỆU THAM KHẢO 28
Trang 7kế để tận dụng tài nguyên phần cứng của máy tính, như CPU, RAM, và ổ cứng, đểcung cấp hiệu suất cao.
Desktop app được xem như một phiên bản cục bộ trong dịch vụ hay các ứngdụng web cung cấp khả năng tương tác giữa người xử lý ứng dụng với người dùng,
mà không phải kết nối trực tiếp với dịch vụ web Đặc biệt là hiện nay desktop appcòn có thể mang đến các giải pháp đa nền tảng cho các dịch vụ web cồng kềnh,cùng với đặc điểm nổi bật là không ảnh hưởng đến kiến trúc khi chương trình xuấthiện lỗi
1.2 Các ngôn ngữ lập trình phổ biến
1.2.1 C++
C++ là một ngôn ngữ lập trình mạnh mẽ, cho phép truy cập trực tiếp đến phần cứng và quản lý bộ nhớ, rất phù hợp cho các ứng dụng yêu cầu hiệu suất cao Có thể được biên dịch trên nhiều hệ điều hành khác nhau, như Windows, macOS, và Linux Lập trình viên có thể kiểm soát chi tiết từng phần của ứng dụng, từ quản lý bộ nhớ đến tối ưu hóa hiệu suất Có nhiều thư viện và framework hỗ trợ, như Qt, Boost, giúp tăng tốc quá trình phát triển Các ứng dụng đồ họa nặng, game, và phần mềm hệ thống thường được viết bằng C++
1.2.2 C#
C# được thiết kế với cú pháp rõ ràng và dễ học, phù hợp cho cả người mới bắt đầu và lập trình viên có kinh nghiệm Là ngôn ngữ chính của NET Framework, C#
Trang 8tích hợp sâu với hệ điều hành Windows và các dịch vụ của Microsoft.
Với Visual Studio và các công cụ hỗ trợ khác, việc phát triển và gỡ lỗi ứng dụng C# trở nên rất nhanh chóng và hiệu quả Với sự ra đời của NET Core và NET 5+, C# có thể được sử dụng để phát triển ứng dụng chạy trên nhiều hệ điều hành.C# được ứng dụng doanh nghiệp, phần mềm quản lý, và các ứng dụng Windows phổ biến
1.3.Frameworks và Libraries phổ biến
NET Framework và NET Core/ NET 5+: Chủ yếu sử dụng với C# trên Windows
Qt: Một framework đa nền tảng viết bằng C++, hỗ trợ xây dựng GUI phức tạp
Electron: Cho phép sử dụng HTML, CSS, và JavaScript để phát triển ứng dụng đa nền tảng
Trang 9 JavaFX và Swing: Thư viện GUI cho Java.
GTK+: Bộ công cụ đa nền tảng cho phát triển giao diện người dùng
1.4 Các công cụ phát triển( IDEs )
IDE, hay còn gọi là Môi trường phát triển tích hợp (Integrated Development Environment) là một ứng dụng phần mềm cung cấp một bộ công cụ toàn diện để pháttriển phần mềm IDE được thiết kế để làm cho quá trình phát triển phần mềm hiệu quảhơn, bằng cách cung cấp một giao diện duy nhất để quản lý tất cả các khía cạnh (aspects)
IDE cung cấp nhiều công cụ và tính năng giúp các lập trình viên có thể viết, test
và debug dễ dàng hơn IDE cũng cải thiện chất lượng code với các công cụ highlight
cú pháp, hoàn thành code (code completion) và tái cấu trúc (refactoring) Ngoài ra, IDE cũng thường bao gồm hỗ trợ tích hợp cho các hệ thống kiểm soát nguồn, giúp cáclập trình viên dễ dàng cộng tác và quản lý các thay đổi trong dự án
Một số IDEs phổ biến: Visual Studio là IDE mạnh mẽ cho C#, C++, và các ngôn ngữ khác, tích hợp nhiều công cụ phát triển và gỡ lỗi.Xcode IDE chính thức củaApple cho phát triển ứng dụng trên macOS và iOS IntelliJ IDEA được ưa chuộng chophát triển Java và nhiều ngôn ngữ khác PyCharm xem là IDE mạnh mẽ dành cho Python Eclipse IDE mã nguồn mở, chủ yếu cho Java nhưng hỗ trợ nhiều ngôn ngữ khác qua các plugin
Trang 10CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG MỚI
2.1 Phân tích hệ thống
Cơ sở lý luận: Cung cấp các kiến thức cơ bản về môn học nhưng phân tích thiết
kế hệ thống, đại cương về hệ thống thông tin, phân tích về các chức năng từ đó sử dụng các công cụ lập trình như Net Framework, cơ sở dữ liệu SQL Server để tạo phần mềm nhằm giải quyết triệt để các vấn đề bức xúc đã nêu trên
Phân tích hệ thống: Nhằm đi sâu chi tiết vào các chức năng của hệ thống, từ đó xây dựng biểu đồ phân cấp chức năng, thông tin đầu vào,đầu ra, các chức năng của hệ thống, sơ đồ phân cấp chức năng, sơ đồ luồng dữ liệu
Phân tích hệ thống về dữ liệu: Phân tích dữ liệu cho ta cách thức tổ chức và truycập dữ liệu hiệu quả nhất, cách thức tạo và lưu trữ cơ sở dữ liệu, cách thức kết nối đến
cơ sở dữ liệu để thực hiện nhập thêm, chỉnh sửa, hay xóa bớt các thực thể trong cơ sở
Quản lí tài khoản
Tạo tài khoản mới
Cập nhật thông tin tài khoản
Trang 11 Cập nhật khách hàng đặt phòngQuản lí dịch vụ
Cập nhật dịch vụ mới
Điều chỉnh dịch vụ có sẵn
Xóa dịch vụ
Cập nhật khách hàng đặt dịch vụQuản lí khách hàng
Cập nhật khách hàng mới
Cập nhật thông tin khách hàngQuản lí hóa đơn
Thanh toán hóa đơn
Trang 12Quản lí khách sạn: Gồm các chức năng quản lí tài khoản, khách hàng, dịch vụ, thống kê.
Quản lí tài khoản: Khi đăng ký tài khoản mới sẽ được lưu vào cơ sở dữ liệu, khi cần ta có thể thay đổi mật khẩu
Quản lí khách hàng: Thêm khách hàng mới, khi cần xem thông tin của khách hàng ta có thể sử dụng chức năng tìm kiếm một cách nhanh chóng trong cơ sở dữ liệu Hoặc khi cần chỉnh sửa thông tin hay xóa khách hàng ta có thể sử dụng chức năng thêm và sửa có trong giao diện
Quản lí hóa đơn: Khi thêm khách hàng mới thì sẽ có hóa đơn mới được tạo đi kèm với khách hàng Lập ra hóa đơn thanh toán theo số lượng, đơn giá dịch vụ mà khách hàng đã chọn và hệ thống sẽ tự động tính tổng tiền khách hàng phải trả
Quản lí phòng: Thêm các loại phòng và phòng mới cho khách sạn Có thể xem tình trạng của phòng còn trống hay đã cho thuê Khi cần xóa một phòng nào đó ta cũng có thể sử dụng chức năng xóa phòng có trong quản lí phòng
Quản lí dịch vụ: Khách sạn sẽ đưa ra menu các dịch vụ để khách hàng có thể lựa choi Ta cũng có thể thêm hoặc chỉnh sửa dịch vụ khi cần
Thống kê: Cho biết tổng doanh thu dịch vụ của khách sạn từ đó có thể biết được lợi nhuận trong một tháng của khách sạn, ta cũng có thể xem thống kê của khách hàng từ đó tích điểm lưu vào tài khoản của khách hàng
Trang 132.2.2 Xây dựng mô hình thực thể liên kết
Xác định thực thể và lập mô hình thực thể liên kết
Account
Mỗi thực thể tượng trưng cho một nhân viên trong khách sạn
Khách Hàng
Mỗi thực thể tượng trưng cho một khách hàng
SoLanDatPhong
Dịch Vụ
Mỗi thực thể tượng trưng cho một dịch vụ
Loại Phòng
Mỗi thực thể tượng trưng cho một kiểu phòng
Mỗi thực thể tượng trưng hóa đơn đặt phòng của khách hàng
NgayGioNhan, NgayGioTra
Trang 14CHƯƠNG III: THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1 Bảng Acconut
Username (khóa chính): Tên tài khoản đăng nhập
Password: Mật khẩu đăng nhập
3.2 Bảng KhachHang
MaKH (khóa chính): Mã số của khách hàng khi đặt phòng.TenKH: Thuộc tính cho biết tên của khách hàng
CMND: Thuộc tính cho biết số CMND
NgayHetHan: Cho biết ngày hết hạn của CMND
LoaiKH: Phân loại khác hàng ở Việt Nam hay người ngoại quốc.SoLanDatPhong: Cho biết số lần khách hàng đã dặt phòng
MaLoaiPhong (khóa chính): Mã số của kiểu phòng
TenLoaiPhong: Thuộc tính cho biết kiểu phòng gì
DonGia: Cho biết giá của từng kiểu phòng
3.5 Bảng Phong
MaPhong (khóa chính): Mã của phòng trong khách sạn.SucChua: Thuộc tính cho biết phòng có thể ở bao nhiêu người.SoGiuong: Thuộc tính cho biết số giường có trong phòng.ViTri: Cho biết phòng ở tầng bao nhiêu
Trang 15TinhTrang: Cho biết phòng trống hay đang có người ở.
MaLoaiPhong: Khóa ngoại liên kết đến bảng LoaiPhong
3.6 Bảng HoaDonDV
MaHDDV (khóa chính): Mã hóa đơn dịch vụ của khách hàng
MaDV: Thuộc tính cho biết dịch vụ gì đã được chọn
NgayGioLap: Thuộc tính cho biết ngày của hóa đơn được tạo
TinhTrang: Hóa đơn đã được thanh toán hay chưa
3.7 Bảng ChiTietDV
MaHDDV (khóa ngoại): Liên kết đến bảng hóa đơn dịch vụ
MaDV( khóa ngoại): Liên kết đến bảng dịch vụ
SoLuong: Thuộc tính cho số lượng của một dịch vụ được đặt
NgayGioDat: Thời gian đạt dịch vụ
3.8 Bảng HoaDonPhong
MaHD (khóa chính): Mã hóa đơn chính của khách hàng
MaKH( khóa ngoại): Liên kết đến bảng khách hàng
MaPhong( khóa ngoại): Liên kết đến bảng Phòng, phòng khách hàng đã đặt.TinhTrang: Cho biết hóa đơn chính đã được thanh toán hay chưa
NgayGioNhan: Thuộc tính cho biết ngày khách hàng nhận phòng
NgayGioTra: Thuộc tính cho biết ngày khách hàng trả phòng
Trang 163.9 Mối quan hệ giữa các bảng
Trang 17CHƯƠNG IV: THIẾT KẾ GIAO DIỆN4.1 Form đăng nhập
Chức năng đăng nhập
Chức năng đăng kí tài khoản mới
Trang 18Chức năng thay đổi mật khẩu
4.2 Trang chủ
Tại trang chủ mọi nhân viên có thể sử dụng để đặt phòng, quản lý hóa đơn chính của khách hàng, quản lý hóa đơn dịch, quản lý dịch vụm quản lý khách hàng, và
có thể xem thống kê doanh thu
Khi đặt phòng thì sẽ chuyển qua form đặt phòng để điền thông tin của khách hàng, khi phòng đã được đặt sẽ chuyển qua trạng thái chờ là màu vàng, khi khách đã nhận phòng thì sẽ chuyển qua màu đỏ còn phóng trống sẽ hiển thị màu xanh Ta có thể xem loại phòng có ở khách sạn
Trang 19Ở phần lọc ta có thể chọn hiện thị tất cả để xem các loại phòng, hoặc có thể chuyển qua đã đặt phòng, đã nhận phòng, đã trả phòng để xem trạng thái của các phòng.
Nếu chọn khách hành mới giao diện sẽ thay đổi cho phép cập nhật thông tin khách hàng mới
Trang 204.4 Quản lí hóa đơn
Tại đây ta có thêm đặt dịch vụ cho khách hàng bằng các chức năng thêm và tạo hóa đơn Chức năng thêm để thêm từng dịch vụ vào hóa đơn nếu khách hàng muốn đặt nhiều dịch vụ Tạo hơn đơn sẽ in ra hóa đơn tổng và trạng thái ở phần “ Danh sách hóa đơn dịch vụ”
Ta cũng có thể tìm hóa đơn bằng cách nhập mã hóa đơn dịch vụ ( không phải
mã hóa đơn chính), ấn xem tất cả để hiện ra tất cả hóa đơn dịch vụ đã được tạo
Trang 214.5 Quản lí dịch vụ
4.5.1 Quản lí phòng
Ở mục “Loại Phòng” ta có thể thêm kiểu phòng mới hay sửa, xóa các kiểu phòng đã có sẵn Nếu nhấn “Làm lại” thì sẽ xóa hết thông tin chúng ta đang nhập Phần “Danh sach loại phòng” hiển thị thống tin của các loại phòng
Ở mục Phòng ta cũng có thể thêm các phòng mới với các thông tin đầy đủ hay sửa xóa các mục phòng đã có Phần “Danh sách Phòng” hiện thị thông tin của các phòng
Khi ta chọn một phòng trong danh sách phòng và xem lịch đặt phòng sẽ hiện ra hộp thoại thông tin các khách hàng đã đặt phòng này
Trang 234.5.2 Quản lí dịch vụ
Ở đây ta có thêm cập nhât những dịch vụ mới và sửa hay xóa các dịch vụ đã có.Ở phần “Danh sách dịch vụ” ta có thể tìm dịch vụ bằng cách nhập tên dịch vụ gần đúng Ấn “Xem tất cả” để hiển thị những dịch vụ đang có và cập nhật lại danh sách dịch vụ nếu dịch vụ mới của bạn chưa hiển thị
4.6 Quản lí khách hàng
Ở đây ta có thêm cập nhât những khách hàng mới và sửa hay xóa thông tin khách hàng đã có.Ở phần “Danh sách khách hàng” ta có thể tìm khách hàng bằng cách nhập tên dịch vụ gần đúng Ấn “Xem tất cả” để hiển thị những dịch vụ đang
có và cập nhật lại danh sách khách hàng nếu khách hàng mới chưa hiển thị ở danh sách
Trang 244.7 Thống kê
4.7.1 Thống kê dịch vụ
Ta có thể xem danh sách dịch vụ đã được thanh toán bằng cách nhập số ngày hợp lệ Ta có thể nhập thời gian nhỏ hơn thời gian thực ở ô “Từ ngày” và tự do ở ô
“Đến ngày” không nhất thiết phải theo thời gian thực
Ta cũng có thể tìm kiếm theo tên khách hàng nếu cần
Phần tổng doang thu thống kê lại tổng doanh thu của dịch vụ theo mốc thời gian đã chọn
Trang 254.7.2 Thống kê khách hàng
Ta có thể xem danh sách khách hàng đã đặt phòng bằng cách nhập số ngày hợp
lệ Ta có thể nhập thời gian nhỏ hơn thời gian thực ở ô “Từ ngày” và tự do ở ô
“Đến ngày” không nhất thiết phải theo thời gian thực
Tìm kiếm theo tên khách hàng nếu cần
Phần tổng doang thu thống kê lại tổng doanh thu của các phòng theo mốc thời gian đã chọn
Trang 27KẾT LUẬN
Thông qua quá trình phân tích và thiết kế chúng, tìm hiểu các nội dung trên internet em đã hoàn thành được một ứng dụng quản lý khách sạn với các chức năng chính như: Quản lý khách sạn, hóa đơn, thống kê doanh thu, quản lý khách hàng, quản
lý dịch vụ và quản lý phòng
Bên cạnh đó vẫn còn một số chức năng chưa làm được và chưa hoàn thiện Nhưng không dừng lại ở đó, chúng em vẫn cố gắng tìm hiểu để chỉnh sửa, hoàn chỉnh ứng dụng hơn trong tương lai
Em xin cảm ơn giảng viên hướng dẫn, thầy đã tận tình hướng dẫn, chỉ bảo và giúp đỡ em trong suốt thời gian qua Nhờ vào sự giúp đỡ chỉ bảo của thầy mà em đã hoàn thành đồ án
Em xin chân thành cảm ơn!
Em xin chân thành cảm ơn!