Cách tốt nhất để khách hàng có thể lựa chọn phòngtheo sở thích của họ là thông qua các trang web tìm kiếm thông tin về các kháchsạn.Trước đây, khi công nghệ thông tin chưa được tích hợp
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Nguyễn Tuấn Kiệt - 2021607431Nguyễn Minh Hải - 2021606253Bùi An Khang - 2021607404
Vũ Minh Quân - 2021607015
Hà Nội - 2023
Trang 2MỤC LỤC
LỜI CẢM ƠN 6
MỞ ĐẦU 7
1 Lý do chọn đề tài 7
2 Mục đích đề tài 7
3 Bố cục đề tài 7
NỘI DUNG 9
Chương 1 Tổng quan 9
1.1 Các công nghệ được sử dụng trong đề tài 9
1.1.1 Ngôn ngữ đánh dấu HTML và ngôn ngữ định dạng CSS 9
1.1.2 Bootstrap 9
1.1.3 Hệ quản trị cơ sở dữ liệu MySQL 10
1.1.4 Ngôn ngữ lập trình PHP 10
1.2 Các phần mềm hỗ trợ khác 10
Chương 2 Phân tích thiết kế hệ thống 12
2.1 Khảo sát hệ thống 12
2.1.1 Khảo sát sơ bộ 12
2.1.1.1 Mục tiêu 12
2.1.1.2 Phương pháp 12
2.1.1.3 Đối tượng khảo sát 21
2.1.1.4 Kết quả sơ bộ 21
2.1.1.5 Các tài liệu thu thập được 22
2.1.2 Khảo sát chi tiết 22
2.1.2.1 Hoạt động của hệ thống 22
2.1.2.2 Các yêu cầu chức năng 23
2.1.2.3 Các yêu cầu phi chức năng 24
2.1.3 Các yêu cầu về dữ liệu 24
2.2 Mô hình hóa chức năng 25
Trang 32.2.1 Biểu đồ use case 25
2.2.2 Các use case chính 26
2.2.3 Các use case thứ cấp 27
2.2.4 Biểu đồ quan hệ giữa các use case 28
2.2.5 Mô tả chi tiết các use case 28
2.2.5.1 Mô tả chi tiết use case Đặt phòng 28
2.2.5.2 Mô tả chi tiết use case Liên hệ 29
2.2.5.3 Mô tả chi tiết use case Xem thông tin phòng đã book 30
2.2.5.4 Mô tả chi tiết use case Đăng nhập 31
2.2.5.5 Mô tả chi tiết use case Đăng ký 32
2.2.5.6 Mô tả chi tiết use case Đăng xuất 33
2.2.5.7 Mô tả chi tiết use case Xem chi tiết phòng đã book 34
2.2.5.8 Mô tả chi tiết use case Xuất hóa đơn 35
2.2.5.9 Mô tả chi tiết use case Báo cáo thống kê 36
2.2.5.10 Mô tả chi tiết use case Phản hồi liên hệ 38
2.2.5.11 Mô tả chi tiết use case Quản lý liên hệ 39
2.2.5.12 Mô tả chi tiết use case Quản lý phòng 40
2.2.5.13 Mô tả chi tiết use case Quản lý tài khoản admin 42
2.2.5.14 Mô tả chi tiết use case Quản lý đơn book 44
2.3 Mô hình hóa dữ liệu 46
2.3.1 Biểu đồ thực thể liên kết mức logic 47
2.3.2 Mô hình cơ sở dữ liệu mức vật lý 48
2.3.2.1 Thiết kế bảng 48
2.3.2.2 Biểu đồ thực thể liên kết mức vật lý 52
2.4 Phân tích use case 53
2.4.1 Phân tích use case Đặt phòng 53
2.4.2 Phân tích use case Liên hệ 55
2.4.3 Phân tích use case Xem thông tin phòng đã book 57
Trang 42.4.5 Phân tích use case Đăng ký 60
2.4.6 Phân tích use case Đăng xuất 62
2.4.7 Phân tích use case Xem chi tiết phòng đã book 63
2.4.8 Phân tích use case Xuất hóa đơn 65
2.4.9 Phân tích use case Báo cáo thống kê 67
2.4.10 Phân tích use case Phản hồi liên hệ 69
2.4.11 Phân tích use case Quản lý liên hệ 71
2.4.12 Phân tích use case Quản lý phòng 73
2.4.13 Phân tích use case Quản lý tài khoản 75
2.4.14 Phân tích use case Quản lý đơn book 77
2.4.15 Biểu đồ các lớp phân tích 79
2.4.15.1 Các nhóm Use Case chính 79
2.4.15.2 Các nhóm Use Case thứ cấp 80
2.5 Thiết kế giao diện 82
2.5.1 Giao diện use case Đặt phòng 82
2.5.2 Giao diện use case Liên hệ 83
2.5.3 Giao diện use case Xem thông tin phòng đã book 85
2.5.4 Giao diện use case Đăng nhập 86
2.5.5 Giao diện use case Đăng ký 87
2.5.6 Giao diện use case Đăng xuất 89
2.5.7 Giao diện use case Xem chi tiết phòng đã book 90
2.5.8 Giao diện use case Xuất hóa đơn 92
2.5.9 Giao diện use case Báo cáo thống kê 93
2.5.10 Giao diện use case Phản hồi liên hệ 96
2.5.11 Giao diện use case Quản lý liên hệ 97
2.5.12 Giao diện use case Quản lý phòng 98
2.5.13 Giao diện use case Quản lý tài khoản admin 100
2.5.14 Giao diện use case Quản lý đơn book 102
2.5.15 Biểu đồ điều hướng giữa các màn hình 104
Trang 52.5.15.1 Các nhóm Use Case chính 104
2.5.15.2 Các nhóm Use Case thứ cấp 104
Chương 3 Triển khai và kiểm thử 106
3.1 Triển khai hệ thống 106
3.2 Kiểm thử hệ thống 112
3.2.1 Môi trường kiểm thử 112
3.2.2 Công cụ kiểm thử 112
3.2.3 Phạm vi kiểm thử 112
3.2.4 Chiến lược kiểm thử 114
3.2.5 Sản phẩm kiểm thử 114
3.2.5.1 Kiểm thử chức năng Đăng nhập 114
3.2.5.2 Kiểm thử chức năng Đăng ký 115
3.2.5.3 Kiểm thử chức năng Đặt phòng 117
3.2.5.4 Kiểm thử chức năng Quản lý phòng 119
3.2.5.5 Kiểm thử chức năng Quản lý đơn book 124
KẾT LUẬN 126
TÀI LIỆU THAM KHẢO 128
Trang 6Trước hết, chúng em xin gửi lời cảm ơn chân thành và sâu sắc đến giảng
viên bộ môn – TS Nguyễn Bá Nghiễn đã nhiệt tình hướng dẫn, giúp đỡ và hỗ trợ
chúng em trong suốt quá trình thực hiện bài tập lớn này, những kiến thức quý báu
và sự động viên của thầy đã giúp chúng em hoàn thiện hơn, phát triển hơn trong
quá trình nghiên cứu bài tập lớn và đạt được hiệu quả tốt nhất trong suốt quá trình
vừa qua
Đồng thời nhóm chúng em cũng xin gửi lời cảm ơn chân thành tới khoa
CNTT trường Đại Học Công Nghiệp Hà Nội và toàn thể các thầy cô giáo trong
khoa đã cung cấp những kiến thức và tài liệu, giáo trình giúp chúng em dễ dàng
hoàn thiện bài báo cáo đúng thời gian và cùng nhau làm việc hiệu quả nhất
Thời gian hoàn thành được đề tài “Xây dựng webiste Quản lý khách sạn”
thực hiện trong khoảng thời gian gần khá ngắn nhưng đã hoàn thiện đúng thời
gian và đã học hỏi, tích lũy được rất nhiều kiến thức và kinh nghiệm Bước đầu đi
vào thực tế của nhóm em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi
những thiếu sót, nhóm em rất mong nhận được những ý kiến đóng góp quý báu
của quý Thầy Cô trong khoa để kiến thức của nhóm em trong lĩnh vực này được
hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ý thức của nhóm mình
Nhóm chúng em xin chân thành cảm ơn!
Trang 71 Lý do chọn đề tài
Trong bối cảnh hiện nay, với sự phát triển đáng kể trong cuộc sống của con
người đi kèm với đó là nhu cầu du lịch ngày càng tăng, việc tìm kiếm các khách
sạn có phòng nghỉ chất lượng và dịch vụ xuất sắc để nghỉ ngơi và thư giãn trở
nên ngày càng phổ biến Cách tốt nhất để khách hàng có thể lựa chọn phòng
theo sở thích của họ là thông qua các trang web tìm kiếm thông tin về các khách
sạn
Trước đây, khi công nghệ thông tin chưa được tích hợp vào quản lý khách
sạn, các nhiệm vụ như cập nhật thông tin về khách hàng, theo dõi thông tin về
dịch vụ của khách sạn, tình trạng phòng, và quản lý thông tin về nhân viên, hoá
đơn thanh toán, đều phải được thực hiện bằng cách thủ công Điều này làm
cho các quản lý khách sạn phải dành rất nhiều thời gian và công sức để tổng hợp
các thông tin quan trọng và trong quá trình quản lý khách sạn, cần phải theo dõi
và quản lý một lượng lớn thông tin liên quan đến nhân viên, tình trạng phòng, và
nhiều khía cạnh khác Việc này tốn kém cả thời gian và công sức của con người
Do đó, việc tích hợp công nghệ thông tin vào công tác quản lý khách sạn để đáp
ứng nhu cầu ngày càng tăng của khách hàng trở nên cực kỳ quan trọng và cần
thiết
Trong xu hướng đó, góp phần đẩy mạnh sự phổ biến website quản lý ở Việt
Nam, giảm bớt công sức mà những quản lý, nhân viên phải bỏ ra, nhóm 8 chúng
em quyết định thực hiện đề tài: “Xây dựng website quản lý khách sạn” với
mong muốn tối ưu hóa quy trình làm việc, tiết kiệm thời gian, chi phí Hơn nữa,
thông qua các trang web và ứng dụng di động, khách hàng cũng có thể dễ dàng
tìm kiếm và đặt phòng, đáp ứng nhu cầu của họ một cách nhanh chóng và thuận
tiện
2 Mục đích đề tài
Trước tiên cần hiểu được các công nghệ được sử dụng, các ngôn ngữ lập
trình và ngôn ngữ thiết kế cũng như các phần mềm có liên quan để qua đó dựa
vào kiến thức đã tìm hiểu được thì xây dựng Website quản lý với mục đích cung
cấp cho khách hàng các thông tin chính xác về các phòng tại khách sạn cách
thức đặt phòng qua mạng Các thông tin được cập nhật thường xuyên và nhanh
Trang 8cấp dịch vụ, đưa thông tin về các phòng tại khách sạn nhanh chóng đến cho
khách hàng
3 Bố cục đề tài
Nội dung chính của đề tài gồm 3 chương sau:
- Chương 1: Tổng quan về nội dung nghiêm cứu: Giới thiệu ngôn ngữ
đánh dấu siêu văn bản HTML và ngôn ngữ thiết kế CSS, ngôn ngữ lập trình
JavaScript, ngôn ngữ lập trình PHP, phần mềm Visual Studio Code, Case
Studio, phần mềm thiết lập webserver XAMPP…
- Chương 2: Phân tích và thiết kế hệ thống: Khảo sát hệ thống, thực hiện
mô hình hóa dữ liệu, mô hình hóa chức năng, tài liệu đặc tả,…
- Chương 3: Cài đặt, triển khai chương trình và kiểm thử: Triển khai hệ
thống Quản lý khách sạn lên webserver, thực hiện kiểm thử hệ thống
Trang 9Chương 1 Tổng quan 1.1 Các công nghệ được sử dụng trong đề tài
Đề tài được sử dụng một số công nghệ chính như ngôn ngữ đánh dấu siêu
văn bản văn bản HTML và ngôn ngữ định dạng CSS, ngôn ngữ lập trình PHP,
hệ quản trị cơ sở dữ liệu MySQL Thêm vào đó là một số công cụ hỗ trợ quá
trình thực hiện đề tài như Rational Rose, Case Studio, Visual Studio Code,
XAMPP
1.1.1 Ngôn ngữ đánh dấu HTML và ngôn ngữ định dạng CSS
HTML và CSS là hai phần cơ bản trong quá trình phát triển trang web
HTML xác định cấu trúc và nội dung của trang, trong khi CSS xác định kiểu
dáng và trình bày của trang Khi kết hợp, chúng cho phép tạo ra trang web ra
một giao diện tùy ý người sử dụng
HTML là viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu
được sử dụng để xác định cấu trúc của một trang web HTML sử dụng các thẻ
để xác định các phần tử của trang web, chẳng hạn như văn bản, hình ảnh, và liên
kết HTML cung cấp cấu trúc cơ bản cho trang web, định rõ vị trí và quan hệ
giữa các phần tử,…
CSS là viết tắt của Cascading Style Sheets, là ngôn ngữ định dạng được sử
dụng để định dạng nội dung của trang web CSS sử dụng các thuộc tính để định
nghĩa các thuộc tính của các phần tử HTML, chẳng hạn như màu sắc, font chữ,
kích thước, và vị trí,…
1.1.2 Bootstrap
Bootstrap là một front-end framework mã nguồn mở miễn phí giúp quá
trình phát triển web được nhanh và dễ dàng hơn Bootstrap bao gồm các mẫu
thiết kế dựa trên HTML và CSS như typography, forms, buttons, tables,
navigation, modal, image carousels… cũng như các plugin JavaScript tùy chọn
Trang 10Bootstrap 5 sở hữu nhiều tính năng mới giúp tạo ra các giao diện ưu tiên
dành cho thiết bị di động nhiều tính năng hấp dẫn hơn trong thời gian ngắn hơn
1.1.3 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì
MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính
khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các
hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho
các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL
miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác
nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X,
Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn
ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs,
PHP hay Perl,
1.1.4 Ngôn ngữ lập trình PHP
PHP là một ngôn ngữ lập trình kịch bản được sử dụng rộng rãi để phát triển
các ứng dụng web PHP là ngôn ngữ mã nguồn mở, có nghĩa là nó miễn phí để
sử dụng và phân phối PHP cũng là ngôn ngữ đa nền tảng, có nghĩa là nó có thể
chạy trên nhiều hệ điều hành khác nhau
PHP hỗ trợ các định dạng dữ liệu phổ biến, như HTML, CSS, và
JavaScript Điều này cho phép PHP được sử dụng để tạo các trang web tương
tác và đẹp mắt PHP cũng có thể kết nối với các cơ sở dữ liệu phổ biến, như
MySQL, PostgreSQL, và SQLite Điều này cho phép PHP được sử dụng để lưu
trữ dữ liệu và tạo các ứng dụng web động
Trang 11dụng web Điều này giúp việc phát triển ứng dụng web bằng PHP trở nên dễ
dàng và hiệu quả hơn
1.2 Các phần mềm hỗ trợ khác
Bên cạnh các công nghệ được sử dụng thì còn có các công cụ hỗ trợ việc
thiết kế, cài đặt và triển khai hệ thống có thể kể đến như Case Studio, Rational
Rose, MySQL Workbench, Visual Studio Code, Xampp,…
Trang 12Chương 2 Phân tích thiết kế hệ thống 2.1 Khảo sát hệ thống
2.1.1 Khảo sát sơ bộ
2.1.1.1 Mục tiêu
web
giúp admin hiểu rõ hơn về nhu cầu và trải nghiệm của người dùng Từ đó,
admin có thể đưa ra các quyết định và cải tiến chức năng phù hợp để nâng
cao chất lượng hệ thống và đáp ứng nhu cầu của người dùng
Từ Liêm, Hà Nội
SĐT: 0974039385
Thời gian hẹn: 8:00 AM Thời điểm bắt đầu: 8:15 AM Thời điểm kết thúc: 9:00 AM
- Đối tượng được hỏi: người quản lý
khách sạn
- Cần thu thập dữ liệu:
+ Các khó khăn của khách sạn khi
chưa có website việc
+ Các mong muốn của người dùng
đối với website sẽ xây dựng
Các yêu cầu đòi hỏi:
Vị trí: Quản lý khách sạnKinh nghiệm: trên 2.5 năm
Trang 13+ Quy trình của hệ thống bán hàng
hiện tại và các dữ liệu của hệ thống
- Cần thỏa thuận:
+ Các chức năng của website
+ Báo cáo tiến độ hoàn thành
1) Hiện nay khách sạn của anh chị có
những loại phòng nào?
2) Doanh thu của khách sạn những
tháng gần đây là bao nhiêu?
3) Loại phòng nào của khách sạn
anh/chị đạt doanh số cao nhất?
4) Lượng khách hàng chủ yếu của cửa
hàng thường ở độ tuổi nào?
5) Các loại giường có giá phổ biến nằm
trong khoảng nào?
6) Anh/Chị sẽ làm gì nếu website quản
lý phòng khách sạn gặp sự cố?
7) Quy trình thực hiện từ khi khách hàng
đặt phòng đến khi thanh toán như thế
Ước lượng thời gian
Trang 148) Anh/Chị sẽ làm gì để cải thiện hiệu
suất cho website
9) Chương trình khuyến mãi giảm giá
được cửa hàng nghiên cứu và áp dụng
như thế nào?
Các yêu cầu của hệ thống mới:
10) Anh/chị thường gặp các trục trặc gì
trong việc quản lý hàng ngày của mình?
11) Cách thức thanh toán cần thay đổi gì
để người dùng và người quản lí web đều
dễ dàng thực hiện nhưng vẫn bảo mật
thông tin?
12) Tính năng gì mà anh/chị muốn có
nhất ở trong website của mình?
Xin cho phép được ghi âm trong quá
trình phỏng vấn
Tổng hợp các nội dung chính ý kiến của
người được hỏi
Kết thúc (thỏa thuận)
- Xin cảm ơn anh/chị vì đã cung cấp
cho chúng tôi các thông tin có ích
Trang 15Người được hỏi: người quản lý
khách hàng
Người hỏi: Nguyễn Anh QuânNgày: 26/05/2023
Câu 1: Hiện nay khách sạn của
anh chị có những loại phòng nào?
Trả lời: Hiện nay khách sạn có rất nhiềuloại phòng phục vụ cho nhu cầu củakhách hàng như: phòng sang trọng,phòng cao cấp, phòng khách và phòngđơn
Câu 2: Doanh thu của khách sạn
những tháng gần đây là bao
nhiêu?
Trả lời: Doanh thu của khách sạn nhữngtháng gần đây dao động từ 300-500triệu
Câu 3: Loại phòng nào của khách
sạn anh/chị đạt doanh số cao
nhất?
Trả lời:Phòng đạt doanh số cao nhất làphòng thương gia
Câu 4: Khách hàng chủ yếu của
cửa hàng thường ở độ tuổi nào
Trả lời: Khách hàng thường là người ở
độ tuổi trung niên, từ 30 đến 55 tuổi
Câu 5: Các loại giường có giá
phổ biến nằm trong khoảng nào?
Trả lời: Các loại giường có giá phổ biến
từ khoảng 3 đến 8 triệu đồng, phù hợpvới năng lực tài chính của nhiều người
Câu 6: Anh/Chị sẽ làm gì nếu
website quản lý phòng khách sạn
gặp sự cố?
Trả lời:Đầu tiên, tôi sẽ xác định nguyênnhân gây ra sự cố, sau khi xác định đượcnguyên nhân, tôi sẽ tiến hành khắc phục
Trang 16năng đặt phòng của khách hàng, tôi sẽgửi thông báo cho khách hàng về sự cố
và thời gian dự kiến khắc phục, sau khikhắc phục sự cố, tôi sẽ tiếp tục theo dõitình hình để đảm bảo website hoạt động
Thanh toán và kết thúc quá trình đặthàng
Câu 8: Anh/Chị sẽ tư vấn chọn
phòng cho khách hàng như thế
nào?
Trả lời: Bước đầu tiên là cần tìm hiểu nhu cầu của khách hàng.Sau khi hiểu được nhu cầu của khách hàng, tôi sẽ giớithiệu các loại phòng phù hợp Tôi sẽ giảiđáp thắc mắc của khách hàng về các loạiphòng, bao gồm các tiện nghi, dịch vụ, Sau khi khách hàng đã chọn được loại phòng, tôi sẽ khuyến nghị phòng cụ thể phù hợp với nhu cầu của họ.Sau khi khách hàng đã đồng ý với phòng được khuyến nghị, tôi sẽ hoàn tất thủ tục đặt phòng
Trang 17Câu 9: Chương trình khuyến mãi
giảm giá được khách sạn nghiên
cứu và áp dụng như thế nào?
Trả lời: Các chương trình khuyến mãiđược nghiên cứu để tri ân các kháchhàng trung thành của khách sạn và đểnhiều người biết đến khách sạn Hìnhthức khuyến mãi sẽ có giảm giá khi đặtphòng hoặc tặng quà ngẫu nhiên đượcdiễn ra định kỳ hàng tháng
Câu 10: Anh/chị thường gặp các
trục trặc gì trong công việc hàng
ngày của mình?
Trả lời: Thanh điều hướng có vấn đềkhông thuận lợi khi sử dụng
Câu 11: Cách thức thanh toán cần
thay đổi gì để người dùng và
người quản lý web đều dễ dàng
thực hiện nhưng vẫn bảo mật
thông tin?
Trả lời: Các khách hàng không ở nhữngtỉnh/thành phố lớn mất thời gian thanhtoán lâu hơn do phải cọc tiền trước Cầnxem xét lại cách thanh toán này để tìmcách tối ưu nhất
Câu 12: Tính năng gì mà anh/chị
muốn có nhất ở trong website của
mình?
Trả lời: Cần phải xác minh khách hàngđặt phòng của khách sạn với hình thứcthanh toán khi nhận sản phẩm để tránhtình cảnh nhiều người cố tình trêu chọckhách sạn để mua vui hoặc vì các lý dokhác
Đánh giá chung:
Người được hỏi hiểu rõ về cách vận hành của cửa hàng cùng với những ưu,
khuyết điểm của website nên cuộc phỏng vấn diễn ra suôn sẻ với cả đôi bên
Trang 18- Phiếu điều tra:
Link phiếu điều tra:
https://docs.google.com/forms/d/e/1FAIpQLSekK2oytxC8Zzgv-HpOpRuAnq-cgAUuyBRyCAqRV0maJmWRuQ/viewform
Trang 212.1.1.3 Đối tượng khảo sát
2.1.1.4 Kết quả sơ bộ
- Địa chỉ: Phường Minh Khai, Quận Bắc Từ Liêm, Hà Nội
- Khách sạn có rất nhiều loại phòng phục vụ cho nhu cầu của khách hàng
như:phòng sang trọng, phòng cao cấp, phòng khách và phòng đơn
- Các loại giường có giá phổ biến từ khoảng 3 đến 8 triệu đồng
- Khách hàng thường là người ở độ tuổi trung niên, từ 30 đến 55 tuổi
- Phòng đạt doanh số cao nhất là phòng thương gia
- Các chương trình khuyến mãi được nghiên cứu để tri ân các khách
Trang 22hàng trung thành của khách sạn và để nhiều người biết đến khách sạn.
2.1.2 Khảo sát chi tiết
2.1.2.1 Hoạt động của hệ thống
a, Hệ thống
- Tự tính toán giá : Hệ thống cần tự tính toán hóa đơn phòng bao gồm tiền
phòng, tiền giường, tiền thức ăn, etc
- Tính toán doanh thu và báo cáo thống kê: Hệ thống cần tự tính toán doanh
thu của khách sạn và thể hiện bằng biểu đồ doanh số
b, Khách hàng
- Đặt phòng: Cho phép khách hàng thực hiện đặt phòng trực tuyến trên website
Khi đã tìm kiếm được phòng mong muốn, khách hàng ấn vào nút ĐẶT
PHÒNG bên dưới hình ảnh phòng, hệ thống sẽ chuyển đến form nhập
thông tin đặt phòng của khách hàng Tại đây khách hàng nhập thông tin cá
nhân và lựa chọn loại phòng, loại giường, ngày nhận phòng và ngày trả
phòng, etc và gửi về cho khách sạn
- Kiểm tra / theo dõi các đơn đặt phòng: Cho phép khách hàng trực tiếp xem
các đơn đặt phòng của mình :
Khách hàng có thể kiểm tra theo dõi các đơn đặt phòng của mình bằng
cách ấn vào các đơn đã đặt Hệ thống sẽ chuyển tới màn hình danh sách
các đơn đặt phòng mà khách hàng đã thực hiện trước đây
c, Người quản lý (Admin)
- Đăng nhập : Cho phép admin thực hiện đăng nhập tài khoản vào hệ thống
website quản lý khách sạn Tại giao diện trang chủ của website quản lý là form
nhập tài khoản và mật khẩu để thực hiện đăng nhập:
Đăng nhập: Admin điền tên tài khoản và mật khẩu rồi nhấn nút Đăng
nhập để tiến hành đăng nhập
- Quản lý phòng: Cho phép admin quản lý danh sản các phòng của khách sạn:
Trang 23 Khi admin kích vào nút cài đặt, hệ thống sẽ chuyển tới màn hình quản lí
phòng Tại đây admin có thể thực hiện các thao tác: xem danh sách các
phòng và thông tin của chúng, thêm các phòng mới hoặc xóa các phòng
đang tồn tại trong cơ sở dữ liệu
- Quản lý tài khoản : Cho phép admin quản lí các tài khoản có thể đăng nhập
vào hệ thống quản lí:
Admin kích vào nút cài đặt và tiếp tục kích vào User profile Hệ thống sẽ
hiển thị danh sách các tài khoản có thể truy nhập vào hệ thống quản lý
Tại đây admin có thể thực hiện thêm, sửa, xóa các tài khoản này
- Quản lý đơn book : Cho phép admin quản lý đơn đặt phòng:
Admin kích vào nút Room Booking, hệ thống sẽ hiển thị danh sách các
đơn book Tại đây admin có thể thực hiện xác nhận hoặc hủy đơn đặt
- Quản lý hóa đơn: Cho phép admin quản lý các hóa đơn thanh toán
Admin kích vào nút Payment, hệ thống sẽ hiện thị danh sách các hóa đơn
của các khách hàng Admin có thể thực hiện xem, in hóa đơn lên màn
hình
- Gửi thư thông báo: Cho phép admin viết thư thông báo gửi đến các followers.
2.1.2.2 Các yêu cầu chức năng
Trang 24 Quản lý phòng.
2.1.2.3 Các yêu cầu phi chức năng
- Yêu cầu về ngôn ngữ trên hệ thống: do hệ thống phục vụ chủ yếu là khách
hàng Việt Nam nên ngôn ngữ chủ yếu sử dụng tiếng Việt, không yêu cầu
cao về đa ngôn ngữ
định
- Cần có tính bảo mật cao
- Có thể hỗ trợ cùng lúc nhiều người dùng
2.1.3 Các yêu cầu về dữ liệu
Hệ thống quản lý website Quản lý khách sạn là một hệ thống cung cấp thông
tin về khách sạn, cung cấp phòng, dịch vụ đi kèm, thêm vào đó là các chức năng
quản lý cơ bản như quản lý tài khoản, quản lý phòng, quản lý hóa đơn khách
hàng,…
Trang 252.2 Mô hình hóa chức năng
2.2.1 Biểu đồ use case
DangKy Xem thong tin phong da book Dat Phong
Lien He
Khach Hang
Dang Nhap Dang Xuat
Quan Ly Lien He Phan Hoi Xuat hoa don
Quan ly phong Bao cao thong ke Quan Ly Tai Khoan
Quan ly don book Xem chi tiet phong da book admin
Trang 26Quan ly don book
Xem chi tiet phong da book admin
Hình 2.2 Các use case chính
Trang 27- Mô tả vắn tắt của các use case:
1 Đăng nhập: Cho phép admin đăng nhập vào hệ thống quản lý.
2 Đăng xuất: Cho phép admin đăng xuất ra khỏi hệ thống.
3 Quản lý: Cho phép admin quản lý danh sách liên hệ khách hàng.
4 Phản hồi: Cho phép admin phản hồi liên hệ khách hàng.
5 Xuất hóa đơn: Cho phép admin xuất hóa đơn của khách hàng.
6 Quản lý tài khoản: Cho phép admin xem, thêm, sửa, xóa tài khoản
admin
7 Quản lý phòng: Cho phép admin xem, thêm, sửa, xóa phòng.
8 Báo cáo thống kê: Cho phép admin xem thống kê doanh thu, xuất báo
cáo doanh thu theo ngày
9 Quản lý đơn book: Cho phép admin xem và duyệt đơn book.
10 Xem chi tiết phòng đã book: Cho phép admin xem chi tiết phòng đã
book
2.2.3 Các use case thứ cấp
Dat Phong
Lien He Xem thong tin phong da book
DangKy
Dang Nhap
Dang Xuat Khach Hang
Hình 2.3 Các use case thứ cấp
- Mô tả vắn tắt của các use case:
Trang 28các phòng đã book
2 Đặt phòng: Cho phép khách hàng đặt phòng.
3 Liên hệ: Cho phép khách hàng đăng ký nhận thông tin liên hệ với
khách sạn
4 Đăng nhập: Cho phép khách hàng đăng nhập vào hệ thống.
5 Đăng xuất: Cho phép khách hàng đăng xuất khỏi hệ thống.
6 Đăng ký: Cho phép khách hàng đăng ký tài khoản.
2.2.4 Biểu đồ quan hệ giữa các use case
admin
Dang Xuat
Quan Ly Lien He
Xuat hoa don
Quan Ly Tai Khoan
Quan ly phong
Bao cao thong ke
Quan ly don book
Xem chi tiet phong da book
Hình 2.4 Biểu đồ quan hệ mở rộng giữa các use case bên phía admin
2.2.5 Mô tả chi tiết các use case
2.2.5.1 Mô tả chi tiết use case Đặt phòng
Trang 291 Tên use case:
Đặt phòng
2 Mô tả vắn tắt Use Case:
Cho phép khách hàng xem các loại phòng và đặt phòng
3 Luồng sự kiện:
3.1 Luồng cơ bản
1, Use case này sẽ bắt đầu khi khách hàng chọn vào “Phòng” trên thanhmenu Hệ thống sẽ lấy danh sách phòng từ bảng Room gồm córoomType, price hiển thị lên màn hình
2, Khách hàng chọn 1 phòng rồi bấm “Đặt ngay”, khách hàng sẽ đượcchuyển đến 1 phiếu thông tin để điền thông tin khách hàng và thông tinđơn đặt phòng
3, Sau khi điển phiếu thông tin , khách hàng bấm “Gửi” để gửi đơn đặt,
hệ thống sẽ thêm đơn vào trong bảng Room_Book
3.2Luồng rẽ nhánh:
1, Tại bước 3 nếu hệ thống không thể thêm đơn vào cơ sở dữ liệu thì
sẽ hiện thống báo yêu cầu người dùng đặt lại phòng
2, Tại bất kì bước nào trong luồng cơ bản, nếu không kết nối được với
cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo và use case kếtthúc
4 Các yêu cầu đặc biệt: Không có
5 Tiền điều kiện: Không có
6 Hậu điều kiện: Không có
7 Điểm mở rộng: Không có
2.2.5.2 Mô tả chi tiết use case Liên hệ
1 Tên use case:
Liên hệ
2 Mô tả vắn tắt Use Case:
Trang 30hàng điền thông tin của mình trên form đó.
2, Sau khi điền form, khách hàng click “Gửi ngay” để gửi đơn Hệ thống
sẽ thêm đơn liên hệ vào bảng Contact
3.2 Luồng rẽ nhánh:
1, Tại bất kì bước nào trong luồng cơ bản, nếu không kết nối được với cơ
sở dữ liệu thì hệ thống sẽ hiển thị một thông báo và use case kết thúc
4 Các yêu cầu đặc biệt: Không có
5 Tiền điều kiện: Không có
6 Hậu điều kiện: Không có
7 Điểm mở rộng: Không có
2.2.5.3 Mô tả chi tiết use case Xem thông tin phòng đã book
1 Tên use case:
Xem thông tin phòng đã book
2 Mô tả vắn tắt Use Case:
Cho phép khách hàng xem thông tin của phòng mình đã đặt
3 Luồng sự kiện:
3.1 Luồng cơ bản
1, Use case bắt đầu khi khách hàng bấm vào “Xem đơn đặt phòng” trêngiao diện trang chủ Hệ thống sẽ lấy danh sách thông tin các phòng màkhách hàng đã đặt từ bảng Room_Book theo email và hiển thị lên mànhình
3.2Luồng rẽ nhánh:
1, Tại bất kì bước nào trong luồng cơ bản, nếu không kết nối được với cơ
Trang 31sở dữ liệu thì hệ thống sẽ hiển thị một thông báo và use case kết thúc.
4 Các yêu cầu đặc biệt: Không có
5 Tiền điều kiện: Đăng nhập với role khách hàng
6 Hậu điều kiện: Không có
7 Điểm mở rộng: Không có
2.2.5.4 Mô tả chi tiết use case Đăng nhập
1 Tên use case
Use case bắt đầu khi người dùng click vào nút đăng nhập trên trang chủ
của hệ thống Hệ thống sẽ hiển thị form đăng nhập
Người dùng nhập tài khoản và mật khẩu sau đó click vào nút “ĐĂNG
NHẬP” Hệ thống kiểm tra trong cơ sở dữ liệu sau đó hiển thị giao diện
tương ứng với quyền của người đăng nhập
Use case kết thúc
3.2.Luồng rẽ nhánh
- Sau khi người dùng click vào nút đăng nhập, hệ thống kiểm tra tài
khoản và mật khẩu trong bảng TAIKHOAN của cơ sở dữ liệu Nếu tài
khoản và mật khẩu sai , hệ thống sẽ hiển thị thông báo lỗi: "Không đúng
tài khoản và mật khẩu"
- Tại thời điểm nào trong quá trình thực hiện Use Case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và Use
Case kết thúc
4 Các yêu cầu đặc biệt
Phân quyền
Trang 325 Tiền điều kiện
Người dùng đã có tài khoản đăng nhập
6 Hậu điều kiện
Nếu Use Case đăng nhập thành công, hệ thống sẽ chuyển qua màn hình
tương ứng với quyền Nếu không thì hệ thống vẫn ở lại trang đăng nhập
7 Điểm mở rộng
Không có
2.2.5.5 Mô tả chi tiết use case Đăng ký
1 Tên use case
1) Use case bắt đầu khi người dùng click vào nút đăng ký ở màn hình
trang chủ Hệ thống sẽ hiển thị màn hình Đăng ký tài khoản
2) Người dùng nhập đầy đủ thông tin cần thiết sau đó kích nút Xác
nhận Hệ thống sẽ tạo một tài khoản mới với role là customer vàobảng TAIKHOAN và một khách hàng mới ở bảng Customer vàhiển thị thông báo đăng ký thành công rồi đưa khách hàng quay lạitrang chủ
Use case kết thúc
3.2.Luồng rẽ nhánh
- Ở bước 2 của luồng cơ bản nếu người dùng chưa nhập đầy đủ các thông
tin bắt buộc mà bấm xác nhận thì hệ thống sẽ hiển thị thông báo yêu cầu
nhập đầy đủ thông tin
Trang 33- Tại thời điểm nào trong quá trình thực hiện Use Case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi
6 Hậu điều kiện
Nếu use case kết thúc thành công thì sẽ tạo được một tài khoản khách hàng
mới
7 Điểm mở rộng
Không có
2.2.5.6 Mô tả chi tiết use case Đăng xuất
1 Tên use case
Trang 34Người dùng đã đăng nhập vào hệ thống.
6 Hậu điều kiện
Nếu use case kết thúc thành công thì sẽ đăng xuất ra khỏi hoạt động của hệ
thống
7 Điểm mở rộng
Không có
2.2.5.7 Mô tả chi tiết use case Xem chi tiết phòng đã book
1 Tên use case:
Xem chi tiết phòng đã book
2 Mô tả vắn tắt use case:
Cho phép admin xem danh sách các phòng đã được book
3 Luồng sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi admin kích vào mục “Booked Rooms”
trên thanh menu rồi kích vào phần phòng đã đặt Hệ thống lấy danh
sách thông tin từ bảng RoomBook gồm: roomType, bed và hiển thị
danh sách lên màn hình
2) Admin chọn phòng muốn xem và kích vào nút “Show” Hệ thống
lấy danh sách thông tin từ bảng Room_Book gồm: roomType, bed,
meal, noRoom, checkIn, checkout, noOfDays và bảng Customer gồm:
firstName, lastName, customerId rồi hiển thị hóa đơn thanh toán lên
màn hình
3.2 Luồng rẽ nhánh:
1) Tại bất kì bước nào trong luồng cơ bản, nếu không kết nối được với
cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo và use case kết
thúc
4 Các yêu cầu đặc biệt:
Use case này chỉ cho phép một số vai trò như người quản trị, người chủ hệ
Trang 35thống thực hiện.
5 Tiền điều kiện:
Cần đăng nhập tài khoản admin để thực hiện usecase
6 Hậu điều kiện:
Không có
7 Điểm mở rộng:
Không có
2.2.5.8 Mô tả chi tiết use case Xuất hóa đơn
1 Tên use case
Xuất hóa đơn
2 Mô tả vắn tắt
Use case này cho phép admin thực hiện xuất thông tin hóa đơn thanh toán
3 Luồng sự kiện
3.1 Luồng cơ bản
1) Xem danh sách hóa đơn:
Use case này bắt đầu khi admin kích vào mục “Thanh toán” trên thanh
menu Hệ thống lấy danh sách thông tin từ bảng Payment gồm:
typeToltal, bedTotal, mealTotal, finallyTotal và bảng Room_Book
gồm: roomType, bed, meal, noRoom, checkIn, checkout và bảng
Customer gồm: firstName, lastName, rồi hiển thị danh sách hóa đơn
thanh toán lên màn hình
2) Xuất thông tin chi tiết hóa đơn:
Admin thực hiện chọn hóa đơn cần xuất và kích vào nút “Print” ở bên
phải hóa đơn đó Hệ thống lấy danh sách thông tin từ bảng Payment
gồm: typeTotal, bedTotal, mealTotal, finallyTotal, paymentId,
amountPaid và bảng Room_Book gồm: roomType, bed, meal,
noRoom, checkIn, checkout, noOfDays và bảng Customer gồm:
Trang 36firstName, lastName, rồi hiển thị hóa đơn thanh toán lên màn hình.
Use case kết thúc
3.2 Luồng rẽ nhánh
Tại bất cứ thời điểm nào trong quá trình thực hiện Use Case nếu
không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một
thông báo lỗi và Use Case kết thúc
4 Các yêu cầu đặc biệt
Use case này chỉ cho phép một số vai trò như người quản trị, người chủ hệ
thống thực hiện
5 Tiền điều kiện
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thể
thực hiện use case
6 Hậu điều kiện
Không có
7 Điểm mở rộng
Không có
2.2.5.9 Mô tả chi tiết use case Báo cáo thống kê
1 Tên use case
Báo cáo thống kê
2 Mô tả vắn tắt
Use case này cho phép admin xem danh sách các lợi nhuận trên hóa đơn,
xuất báo cáo theo ngày
3 Luồng sự kiện
3.1.Luồng cơ bản
1) Xem danh sách lợi nhuận trên hóa đơn:
Use case này bắt đầu khi admin kích vào nút “Lợi nhuận” trên menu quản trị Hệ thống sẽ hiển thị màn hình lợi nhuận và lấy thông tin chi tiết danh sách các lợi nhuận trên hóa đơn gồm có
Trang 37customerID, firstName, lastName từ bảng CUSTOMER, checkIn, checkOut từ bảng ROOMBOOK và typeTotal, mealPrice,
bedTotal, finallyTotal, profit từ bảng PAYMENT trong cơ sở dữ liệu và hiển thị lên màn hình
2) Xuất báo cáo theo ngày:
Nhân viên lựa chọn ngày cần xuất báo cáo doanh thu, sau đó kích xem Hệ thống sẽ lấy thông tin báo cáo theo ngày đã chọn của các hóa đơn bao gồm typeTotal, mealPrice, bedTotal, finallyTotal, profit từ bảng PAYMENT, customerID, firstName, lastName từ bảng CUSTOMER và checkIn, checkOut từ bảng ROOMBOOK trong cơ sở dữ liệu và hiển thị lên màn hình kết quả Nhân viên kích “Print” để in báo cáo rồi hệ thống sẽ đưa nhân viên quay trở lại màn hình lợi nhuận
Use case kết thúc
3.2.Luồng rẽ nhánh
3.2.1 Tại thời điểm nào trong quá trình thực hiện Use Case nếu không
kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo
lỗi và Use Case kết thúc
4 Các yêu cầu đặc biệt
Use case này chỉ cho phép một số vai trò như người quản trị, người chủ hệ
thống thực hiện
5 Tiền điều kiện
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thể
thực hiện use case
6 Hậu điều kiện
Không có
7 Điểm mở rộng
Không có
Trang 382.2.5.10 Mô tả chi tiết use case Phản hồi liên hệ
1 Tên use case
4 Các yêu cầu đặc biệt
Không có
5 Tiền điều kiện
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thể thực hiện use case
6 Hậu điều kiện
Nếu use case kết thúc thành công thì thư mới sẽ được thêm vào trong cơ sở
dữ liệu
7 Điểm mở rộng
Trang 39Không có.
2.2.5.11 Mô tả chi tiết use case Quản lý liên hệ
1 Tên use case
1) Xem danh sách người được nhận liên hệ
Use case này bắt đầu khi admin kích vào nút Thư tin tức trên menu quản trị hệ thống sẽ lấy thông tin gồm người dùng đã gửi đăng ký liên hệ từ bảng CONTACT gồm có firstName, lastName, phone, email, date, approval và hiển thị danh sách tất cả người dùng lên màn hình
2) Sửa sự cho phép nhận liên hệAdmin kích vào nút Cho phép trên cửa sổ danh sách người liên hệ, hệthống sẽ thay đổi giá trị từ không cho phép thành cho phép hoặc từ cho phép thành không cho phép và lưu vào bảng CONTACT
3) Xóa người nhận liên hệAdmin kích vào nút Delete trên cửa sổ danh sách người liên hệ, hệthống sẽ không hiển thị thông tin người liên hệ vừa đc xóa và xóa dữliệu khỏi bảng CONTACT
Use case kết thúc
Trang 403.2.Luồng rẽ nhánh
1) Tại thời điểm nào trong quá trình thực hiện Use Case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi
và Use Case kết thúc
4 Các yêu cầu đặc biệt
Use case này chỉ cho phép một số vai trò như người quản trị, người chủ hệ thống thực hiện
5 Tiền điều kiện
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thểthực hiện use case
6 Hậu điều kiện
Nếu use case kết thúc thành công thì thông tin liên hệ sẽ được cập nhật vào trong cơ sở dữ liệu
7 Điểm mở rộng
Không có
2.2.5.12 Mô tả chi tiết use case Quản lý phòng
1 Tên use case