Chúng ta hãy tận dụng nó như 1công cụ hữu ích cho chính chúng ta và cả khách hàng.Chính vì vậy, chúng tôi đã lên kế hoạch xây dựng 1 website booking hotelmang lại nhiều lợi ích thiết thự
Trang 1TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC
-
-DỰ ÁN 1 Website đặt lịch & booking hotel
Giảng viên hướng dẫn : Thầy Lê Trọng Đạt
Chuyên ngành : Thiết kế Website
Trang 2………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN ………
Trang 3………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Mục Lục LỜI MỞ ĐẦU 6
PHẦN 1: GIỚI THIỆU CHUNG 8
1.1Giới thiệu đề tài
1.1.1 Lý do chọn đề tài 8
Trang 41.1.2 Hệ thống tương tự 10
1.1.3 Mục tiêu của đề tài 12
1.1.4 Đối tượng sử dụng hệ thống 12
1.2 Thành viên tham gia dự án
1.3 Các công cụ và công nghệ sử dụng
PHẦN 2: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 16
2.1: Danh sách tác nhân (actor)
2.2 : Danh sách các use case
2.3: Workflow:
2.4: Sơ đồ Usecase:
2.5: Ma trận phân quyền:
2.6: Đặc tả Usecase:
PHẦN 3 PHÂN TÍCH HỆ THỐNG 32
3.1 Mô tả các luồng chức năng
3.1.1: UC đăng nhập 32
3.1.2 : UC đăng ký 33
3.13 UC đăng xuất 34
3.1.4 UC Thêm dịch vụ 35
3.1.5 UC Cập nhật dịch vụ 36
3.1.6 UC Xóa dịch vụ 37
3.1.7 UC Đánh giá 37
3.1.8 UC Liên hệ 39
3.1.9 UC Đặt lịch 39
3.2.0 UC Thêm banner 41
3.3: Class diagram:
3.4 Class diagram middleware:
3.5: Thiết kế tổng quan hệ thống:
PHẦN 4 THIẾT KẾ GIAO DIỆN 47
4.1 Xây dựng giao diện
4.1.1 Trang chủ 47
4.1.2 Dịch vụ 48
4.1.3 Liên hệ 50
4.1.4 Tin tức 52
4.1.5 Đặt lịch 55
4.1.6 Thông tin tài khoản 56
4.1.7 Lịch sử đặt lịch 58
4.1.8 Đổi mật khẩu 59
4.1.9 Đăng ký 60
4.2.0 Đăng nhập 61
4.2.1 Trang Admin 62
4.2.2 Danh sách nhân viên 65
4.2.3 Trang danh sách đặt lịch 67
4.2.4 Trang danh sách banner 68
4.2.5 Trang danh sách liên hệ 69
4.2.6 Trang danh sách dịch vụ 70
4.2.7 Trang danh sách bài viết 72
4.2.8 Trang danh sách voucher 73
4.2.9 Trang thêm mới nhân viên 75
4.2.10: Trang thêm mới booking 77
4.2.11 Trang thêm mới dịch vụ 79
4.2.12 Trang thêm mới banner 81
4.2.13 Trang thêm mới Bài viết 83
Too long to read on your phone? Save
to read later on your computer
Save to a Studylist
Trang 54.2.14 Trang thêm mới voucher 85
PHẦN 5 XÂY DỰNG CƠ SỞ DỮ LIỆU 88
5.1 Cơ sở dữ liệu (Cơ cở dữ liệu noSQL - MongoDB)
5.2 Chi tiết các bảng
5.2.1 Bảng user: 88
5.2.2 Bảng booking: 89
5.2.3 Bảng service: 90
5.2.4 Bảng blog: 90
5.2.5 Bảng comment: 91
5.2.6 Bảng contact: 91
5.2.7 Bảng banner: 91
5.2.8 Bảng Employee: 92
5.2.9 Bảnh feedback: 92
5.2.10 Bảng notification: 93
5.2.11 Bảng contact: 93
5.2.12 Bảng banner: 94
5.2.13 Bảng Voucher: 94
PHẦN 6: TRIỂN KHAI HỆ THỐNG 95
6.1: Yêu cầu phần cứng – phần mềm:
6.2: Hướng dẫn cài đặt:
6.2.1: Tạo database: 95
6.2.2: Thông tin tài khoản mặc định: 96
PHẦN 7 KẾT LUẬN 97
7.1: Thời gian phát triển dự án:
7.2: Mức độ hoàn thành dự án:
7.3: Những khó khăn rủi ro gặp phải và cách giải quyết:
7.4: Những bài học rút ra sau khi làm dự án:
7.5: Kế hoạch phát triển trong tương lai:
LỜI CẢM ƠN 99
TÀI LIỆU THAM KHẢO 100
Trang 6LỜI MỞ ĐẦU
Trong thời đại ngày nay, công nghệ thông tin ngày càng phát triển, đóng vai
trò cưc kỳ quan trọng trong nền kinh tế - văn hóa - xã hội của mỗi quốc gia
Công nghê thông tin và đặc biệt là Internet đã giúp cho con người thay đổi, cách
sống, làm việc, liên lạc, tiếp cận với thông tin theo hướng nhanh chóng và tiện
lợi nhất
Bên cạnh đó, khi nhịp sống của con người ngày càng nâng cao thì nhu cầu thưgiãn, nghỉ dưỡng của mỗi người cũng từ đó mà thay đổi Họ có thể chi 1 số tiềnkhông nhỏ để đi du lịch, nghỉ mát Với những người bận bịu với công việc, liệu họ
có thể dành ra hàng giờ đồng hồ chỉ để chờ đến lượt mình xếp hàng đặt phònghotel không? Hay họ sẽ muốn có 1 lịch hẹn chính xác và không mất nhiều thờigian? Đó chính là vấn đề mà những người làm dịch vụ quan tâm tới Internet hiệnnay rất phổ biến, chỉ với 1 chiếc smartphone, máy tính bảng hay laptop có kết nốiinternet là ta đã có cả 1 thế giới thu nhỏ trong tay Chúng ta hãy tận dụng nó như 1công cụ hữu ích cho chính chúng ta và cả khách hàng
Chính vì vậy, chúng tôi đã lên kế hoạch xây dựng 1 website booking hotelmang lại nhiều lợi ích thiết thực cho khách hàng và khách sạn
Lợi ích với khách hàng:
- Có thể dễ dàng tìm hiểu về khách sạn cũng như dịch vụ
- Khàng có thể đặt lịch dễ dàng, tiết kiệm thời gian và công sức
- Nắm rõ thông tin về chi phí dịch vụ muốn thực hiện
- Tạo ra 1 nguồn thông tin tham khảo đáng tin cậy Lợi ích với khách sạn
- Có thể quản lý công việc 1 cách tốt nhất
- Là nơi để quảng bá, giới thiệu, cung cấp thông tin chi tiết về các dịch vụ, sản phẩmcũng như về quy trình thực hiện, đội ngũ nhân viên … đến với khách hàng
- Tăng độ uy tín, giúp khách sạn trở nên chuyên nghiệp, hiện đại, bắt kịp xu thế.-
Trang 7GIẢI THÍCH THUẬT NGỮTên thuật ngữ Giải thích thuật ngữ
Tester Người kiểm tra sản phẩm mà lập trình viên làm ra
Backend Developer Người xử lý mọi logic nghiệp vụ phức tạp ở ẩn phía
sau, giúp hệ thống hoạt động trơn tru
Frontend Developer Người xử lý phía giao diện người dùng, giúp người
dùng có trải nghiệm tốt nhất trên website
Thành viên Người dùng trở thành thành viên thông qua đăng
nhập thành công, thành viên có thể bao gồm các đốitượng member, member thuộc nhóm dịch, Mod,Quản trị viên
Quản trị viên Thành viên quản trị cấp cao, có thể truy cập vào
trang quản trị của website để điều chỉnh trang web
Internet Hệ thống thông tin toàn cầu có thể truy nhập cộng
đồng gồm các mạng máy tính được liên kết với nhau
Request Thông tin gửi từ client lên server
Reporter Người sẽ báo cáo, thống kê cho thành viên trong
nhóm về quá trình làm việc
PHẦN 1: GIỚI THIỆU CHUNG
1.1 Giới thiệu đề tài
Trang 8- Sona.com là trang web cung cấp chỗ ở trực tuyến hàng đầu Chúng tôi đam mê du lịch mỗi ngày Chúng tôi truyền cảm hứng và tiếp cận hàng triệu khách du lịch trên
90 trang web địa phương bằng 41 ngôn ngữ
- Vì vậy, khi cần đặt phòng khách sạn, nhà nghỉ cho thuê, khu nghỉ dưỡng, căn hộ, nhà khách hoặc nhà trên cây hoàn hảo, chúng tôi sẽ hỗ trợ bạn
1.1.1 Lý do chọn đề tài
- Áp dụng những kiến thức đã học áp dụng vào thực tế cho chính gia đình của mình
- Qua tìm hiểu các khách sạn đang kinh doanh chưa có webiste , đang sử dụng hình thức kinh doanh truyền thống gặp nhiều khó khăn trong đặt lịch và quản lý khách sạn khiến em quyết định chọn đề tài Booking hotel làm dự án
- Sở hữu một trang web sẽ chuỗi những khách sạn hoạt động bài bản và chuyên nghiệp hơn, dễ dàng quản lý, tiết kiệm thời gian cho khách hàng
1.1.2 Hệ thống tương tự
- Hệ thống đặt lịch danamarinahotel.com
Hình 1.2.1: Hệ thống đặt lịch danamarinahotel.com
Trang 9Ưu điểm
- Có chức năng cho khách hàng booking qua website
- Có chức năng chọn room phù hợp với khách hàng
- Mở cửa 24/7 cho khách hàng tiện lợi
Nhược điểm:
- Không có chức năng chọn dịch vụ
1.1.3 Mục tiêu của đề tài
Tạo ra được một hệ thống booking hotel một cách tối ưu, đơn giản và dễ dàng để các khách sạn có thể đưa vào sử dụng cho chuỗi hệ thống kinh doanh của mình và đặc biệt
là phù hợp với thị trường
1.1.4 Đối tượng sử dụng hệ thống
Các đối tượng sử dụng hệ thống:
- Du khách cá nhân: Những người muốn đặt phòng trực tuyến cho chuyến du lịch
cá nhân hoặc kỳ nghỉ gia đình
- Doanh nhân: Các doanh nhân thường sử dụng trang web đặt phòng để dự định và đặt chỗ cho các chuyến công tác hoặc cuộc họp
- Nhóm du lịch: Các nhóm bạn bè hoặc gia đình có thể sử dụng trang web đặt phòng
Trang 101.2 Thành viên tham gia dự án
Hình 1.2.4: Sơ đồ làm việc nhóm
1.3 Các công cụ và công nghệ sử dụng
- Các công cụ
Dự án website booking hotel
Giảng viên hướng dẫn :
Lê Trọng Đạt
Thành viên: Nguyễn Ngọc An
Thành viên:
Trần Mạnh Cường
Tester Báo cáo &slideCode Back-
end
Thành viên:
Phạm Thị Uyên
Trang 11Google Drive Google Docs Jira
Hình 1.3.1: Các công cụ sử dụng trong dự án
Trang 152.3: Workflow:
Hình 2.3.1: Sơ đồ Workflow
15
Trang 162.4: Sơ đồ Usecase:
Hình 2.3.2: Sơ đồ Usecase
16
Trang 17Tên usecase Đăng nhập
Mô tả Cho phép người dung đăng nhập vào hệ thống đăt lịch,
xem các thông tin của khách sạn
17
Trang 18Điều kiện kích hoạt Khách hàng chọn chức năng đăng nhâp
Tiền điều kiện Khách hàng đã có tài khoản trong hệ thống
Hậu điều kiện Đăng nhập thành công hoặc thất bại
Luồng sự kiện chính 1 Hiển thị màn hình đăng nhập
2 Nhập email, sđt, password
3 Hệ thống kiểm tra thông tin đăng nhập
4 Đăng nhập thành công và sử dụng các chức năng quản trị
5 Kết thúc usecase
2 Đăng xuất:
Tên usecase Đăng xuất
Mô tả Hỗ trợ người dung trong việc đăng xuất tài khoản khỏi
hệ thống
Điều kiện kích hoạt Khách hàng chọn chức năng đăng xuất
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống
Hậu điều kiên Đăng xuất thành công hoặc thất bại
Luồng sự kiện chính 1 Đăng nhập vào hệ thống thành công
2 Chọn chức năng đăng xuất
3 Đăng xuất thành công, trở về giao diện trang chủ
4 Kết thúc usecase
3 Đổi mật khẩu:
Tên usecase Đổi mật khẩu
Mô tả Hỗ trợ người dung thay đổi mật khẩu đăng nhập trong
hệ thốngĐiều kiện kích hoạt Khách hàng chọn chức năng đổi mật khẩu
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống
Hậu điều kiện Mật khẩu sẽ được thay đổi theo mật khẩu khách hàng
vừa thay đổi hoặc không
18
Trang 19Luồng sự kiện chính 1 Đăng nhập thành công
2 Chọn chức năng đổi mật khẩu
3 Nhập mật khẩu mới
4 Thông báo đổi mật khẩu thành công
5 Kết thúc usecase
4.Xem trang chủ:
Tên usecase Xem trang chủ
Mô tả Hỗ trợ khách hàng xem các thông tin của websiteĐiều kiện kích hoạt Khách hàng truy cập vào website
Tiền điều kiện Không
Hậu điều kiện Không
Luồng sự kiện chính Truy cập từ khóa tên website trên các công cụ tìm
kiếm(google, cốc cốc,…) 5.Đặt lịch:
Tên usecase Đặt lịch
Mô tả Hỗ trợ khách hàng đặt lịch làm dịch vụ
Điều kiện kích hoạt Khách hàng chọn chức năng đặt lịch
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống
Hậu điều kiện Đặt lịch thành công hoặc thất bại
Luồng sự kiện chính Bước 1: Nhấn vào Form đặt lịch hẹn tại trang chủ
Bước 2: Người dùng nhập các thông tin như thông tin
cá nhân (tên khách hàng), chọn ngày, chọn khung giờ, chọn dịch vụ, chọn phòng và có thể điền nội dung ghi chú để Hotel có thể đáp ứng những yêu cầu bổ xung của khách hàng
Bước 3: Kiểm tra hợp lệ:
Nếu để trống các trường thì báo điền đủ thông tin
19
Trang 20Bước 4 : Kiểm tra sđt
Mã otp sẽ gửi đến sđt mà khách hàng đã đăng ký để xác nhận sđt và chuyển trạng thái đặt lịch thành côngNếu nhập sai định dạng các trường như số điện thoại, chọn ngày sẽ thông báo nhập đúng định dạng.Nếu dữ liệu nhập hợp lệ sẽ chuyển sang trang thông báo đặt lịch thành công kèm theo những thông tin khách hàng đã đăng ký
* Trong trường hợp người dùng điền thông tin nhưng đến bước đặt lịch hủy không đặt thì dữ liệu thông tin người dùng vẫn được lưu lại trong database để phục vụcho việc chăm sóc khách hàng và marketing saunày
6 Liên hệ:
Tên usecase Liên hệ
Mô tả Hỗ trợ khách hàng muốn liên hệ với khách sạnĐiều kiện kích hoạt Khách hàng chọn chức năng liên hệ
Tiền điều kiện Khách hàng truy cập vào website
Hậu điều kiện Không
Luồng sự kiện chính 1 Truy cập vào website
2 Chọn chức năng liên hệ
3 Điền form đăng kí dịch vụ, phòng
4 Thông báo thành công
5 Kết thúc usecase
7 Xem tin tức:
Tên usecase Xem tin tức
Mô tả Hỗ trợ khách hàng muốn xem các thông tin của
websiteĐiều kiện kích hoạt Khách hàng chọn chức năng xem tin tức
20
Trang 21Tiền điều kiện Khách hàng truy cập và website
Hậu điều kiện Không
Luồng sự kiện chính 1 Truy cập vào website
2 Chọn chức năng xem tin tức
3 Kết thúc usecase
8 Xem hồ sơ:
Tên usecase Xem hồ sơ
Mô tả Hỗ trợ khách hàng muốn xem thông tin của chính
mình trong hệ thốngĐiều kiện kích hoạt Khách hàng chọn chức năng hồ sơ của tôi
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống websiteHậu điều kiện Không
Luồng sự kiện chính 1 Đăng nhập thành công
2 Chọn chức năng hồ sơ của tôi
3 Kết thúc usecase
9 Xem lịch sử đặt lịch:
Tên usecase Xem lịch sử đặt lịch
Mô tả Hỗ trợ khách hàng muốn xem lịch sử các dịch vụ đã sử
dụngĐiều kiện kích hoạt Khách hàng chọn chức năng lịch sử đặt lịch
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống websiteHậu điều kiện Không
Luồng sự kiện chính 1 Đăng nhập thành công
2 Chọn chức năng lịch sử đặt lịch
3 Kết thúc usecase
10 Danh mục dịch vụ:
Tên usecase Danh mục dịch vụ
21
Trang 22Actor Khách hàng
Mô tả Hỗ trợ khách hàng xem tất cả dịch vụ và phòng của
khách sạnĐiều kiện kích hoạt Khách hàng truy cập vào website
Tiền điều kiện Khách hàng chọn danh mục dịch vụ
Hậu điều kiện Không
Luồng sự kiện chính 1 Truy cập vào website
2 Chọn chức năng dịch vụ
3 Hiển thị danh sách dịch vụ
4 Kết thúc usecase
11 Chi tiết dịch vụ phòng:
Tên usecase Chi tiết dịch vụ
Mô tả Hỗ trợ khách hàng xem chi tiết một dịch vụ
Điều kiện kích hoạt Khách hàng truy cập vào website
Tiền điều kiện Khách hàng chọn chi tiết dịch vụ
Hậu điều kiện Không
Luồng sự kiện chính 1 Truy cập vào website
Tên usecase Feedback dịch vụ
Mô tả Hỗ trợ khách hàng để lại bình luận cho dịch vụ mình đã
sử dụngĐiều kiện kích hoạt Khách hàng truy cập vào website
Tiền điều kiện Đăng nhập hệ thống và sử dụng dịch vụ
Hậu điều kiện Không
Luồng sự kiện chính 1 Truy cập vào website
22
Trang 232 Chọn chức năng dịch vụ
3 Điền form feedback
4 Kết thúc usecase
13 Đăng kí:
Tên usecase Đăng kí
Mô tả Cho phép khách hàng đăng kí tài khoản để sử dụng các
dịch vụ của website
Điều kiện kích hoạt Khách hàng chọn chức năng đăng kí
Tiền điều kiện Khách hàng truy cập vào hệ thống webiste
Hậu điều kiện Đăng kí thành công hoặc thất bại
Luồng sự kiện chính 1 Hiển thị màn hình đăng kí
2 Nhập đầy đủ thông tin
3 Đăng kí thành công và quay về trang đăng nhập
4 Kết thúc usecase
14 Quản lí khách hàng:
Tên usecase Quản lí khách hàng
Mô tả Cho phép khách hàng đăng kí tài khoản để sử dụng các
dịch vụ của website
Điều kiện kích hoạt Khách hàng chọn chức năng đăng kí
Tiền điều kiện Khách hàng truy cập vào hệ thống webiste
Hậu điều kiện Đăng kí thành công hoặc thất bại
Luồng sự kiện chính 1 Hiển thị màn hình đăng kí
2 Nhập đầy đủ thông tin
3 Đăng kí thành công và quay về trang đăng nhập
4 Kết thúc usecase15.Quản lí đặt lịch:
Tên usecase Quản lí đặt lịch của khách hàng
23
Trang 24Mô tả Dùng để admin quản lí các lịch đặt của khách hàng
(thay đổi trạng thái)
Điều kiện kích hoạt Admin chọn chức năng thay đổi trạng thái của khách
hàngTiền điều kiện Admin đăng nhập thành công vào hệ thống
Hậu điều kiện Trạng thái của khách hàng sẽ được thay đổi sau khi
admin thực hiện chức năngLuồng sự kiện chính 1 Đăng nhập hệ thống thành công
2 Admin thực hiện chức năng thay đổi trạng thái cho khách hàng
3 Cập nhật trạng thái thành công
4 Kết thúc usecase16.Quản lí phòng:
Tên usecase Quản lí dịch vụ phòng
Mô tả Dùng để admin thực hiện các chức năng thêm sửa xóa
2 Admin thực hiện các chức năng thêm, sửa, xóa dịch vụ phòng
3 Cập nhật sau khi admin sử dụng các chức năng
4 Kết thúc usecase17.Quản lí liên hệ:
Tên usecase Quản lí liên hệ
Mô tả Dùng để admin thực hiện các chức năng thêm sửa xóa
dịch vụ của website
24
Trang 25Điều kiện kích hoạt Admin chọn chức năng quản lí dịch vụ websiteTiền điều kiện Admin đăng nhập thành công vào hệ thống
Hậu điều kiện Dữ liệu của hệ thống sẽ được cập nhật sau khi admin
thực hiện các chức năng Luồng sự kiện chính 1 Đăng nhập thành công
2 Admin thực hiện các chức năng thêm, sửa, xóa dịch vụ
3 Cập nhật sau khi admin sử dụng các chức năng
4 Kết thúc usecase
18 Thêm dịch vụ phòng:
Tên usecase Thêm dịch vụ phòng
Mô tả Cho phép admin đăng nhập vào hệ thống để thực hiện
chức năng thêm dịch vụ phòng
Điều kiện kích hoạt Admin chọn chức năng thêm dịch vụ phòng
Tiền điều kiện Admin đăng nhập thành công vào hệ thống
Hậu điều kiện Khách hàng xem được các dịch vụ khi admin thêm
thành côngLuồng sự kiện chính 1 Đăng nhập thành công
2 Admin thực hiện các chức năng thêm phòng
3 Thông báo thêm thành công
4 Kết thúc usecase19.Xem thông báo
Tên usecase Xem thông báo
Mô tả chung Khách hàng xem được những thông báo của mình từ
hệ thốngTác nhân chính Khách hàng, Admin, Nhân viên
Tiền điều kiện Khách hàng đã truy cập vào hệ thống website của
khách sạn và đăng nhập tàikhoản
Luồng sự kiện Bước 1: Chọn icon thông báo trên menu
25