TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THP HCM KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN HỌC PHẦN ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI XÂY DỰNG HỆ THỐNG WEBSITE ĐẶT PHÒNG KHÁCH SẠN Sinh viên thực hiện Giảng viên hướng dẫn Ngành Chuyên n.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THP.HCM KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN HỌC PHẦN
ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG WEBSITE ĐẶT PHÒNG
.
Sinh viên thực hiện :
Giảng viên hướng
Trang 22 Giảng viên hướng dẫn:
Trang 3LỜI NÓI ĐẦU
Để có được thời gian viết đồ án và làm việc hiệu quả đầu tiên cho em xin gửi lời
cảm ơn chân thành đến Trường Đại Học Công Nghệ TP Hồ Chí Minh đã tạo điều kiện
tốt nhất cho em có thể hoàn thành tốt đợt báo cáo đồ án của mình.
Bên cạnh đó, em xin cảm ơn sự hướng dẫn tận tình của thầy đã giúp đỡ em hoàn
thành tốt đợt báo cáo đồ án này Thiếu sự giúp đỡ của giảng viên em không thể có được kết quả như ngày hôm nay.
Trong quá trình làm đồ án, cũng như trong quá trình viết báo cáo, em khó tránh khỏi sai sót Rất mong các giảng viên trong bộ môn và thầy bỏ qua và chỉ dẫn thêm cho em.
Em xin chân thành cảm ơn!
TP Hồ Chí Minh, tháng 10 năm 2022
Sinh viên
Trang 4CHƯƠNG 1 KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN
1.1Tìm hiểu “Xây dựng website đặt phòng khách sạn”
Quản lý đặt phòng khách sạn là một công tác rất quan trọng và phức tạp màbất kỳ công ty dịch vụ nào cũng phải thực hiện Một công ty du lịch thực hiện tinhọc hóa việc đăng ký đặt phòng thông qua website của công ty Đây là trang webgiới thiệu về tất cả những gì liên quan đến lĩnh vực khách sạn, villa ở Việt Nam đếnkhách hàng thăm quan website Chủ đạo của website là các khách sạn, villa chokhách có nhu cầu nghỉ dưỡng Tại đây người dùng có thể xem thông tin vềhomestay cung cấp, cho phép đặt phòng trực tiếp, tham khảo giá phòng, tìm kiếmphòng phù hợp
Có 2 cách để tìm kiếm thông tin: tìm kiếm nhanh và tìm kiếm chi tiết
Tìm nhanh: cho phép người dùng tìm kiếm nhanh bất kỳ thông tin nào trongwebsite thông qua thao tác đơn giản là nhập từ khóa cần tìm và nhấn enter để ra kếtquả
Tìm chi tiết: cho phép người dùng giới hạn khu vực tìm kiếm thông tin để kếtquả hiển thị ra chính xác hơn Người dùng truy cập vào trang web để tìm kiếm
Trang 5thông tin về các homestay Truy cập trang web người dùng có thể tìm kiếm vềthông tin các địa điểm nghỉ dưỡng khách sạn và dịch vụ
Sau khi tìm hiểu đầy đủ thông tin về các tour du lịch, người dùng có thể làmviệc trực tiếp với nhân viên để đăng ký phòng , homestay cho mình
Khi khách hàng đăng ký phòng chúng ta sẽ có một phiếu đăng ký cho khách hàng
có thể đăng ký trực tuyến hoặc đăng ký trực tiếp
Nhân viên cần xác định các thông tin:
- Khách hàng có yêu cầu dịch vụ gì không?
- Phòng hay homestay mà khách hàng đăng ký
- Khách hàng muốn đặt phònghay không, loại phòng mà khách hàng muốnđặt ?
- Khách hàng muốn ăn uống nghỉ ngơi tại khách sạn, phòng như thế nào?
- Khách hàng muốn thuê các dịch vụ khác hay không?
- Thông tin khách hàng: Họ tên, giới tính, tuổi, CMTND, địa chỉ, điện thoại,email…
Nhân viên cần đưa ra các thông tin sau cho khách sạn hoặc phòng được rõ:
- Thông tin về khách sạn
- Thông tin khuyến mãi của các khách sạn, phòng
- Thông tin các dịch vụ khác yêu cầu của khách, …
Nhà quản lý: cần nắm bắt các thông tin về nhân viên của mình, nắm bắt về cácthông tin khuyến mãi giảm giá từ các homestay một các nhanh nhạy…, đưa rachiến lược kinh doanh hợp lý
Không chỉ dừng lại như vậy, một hệ thống quản lý đặt phòng còn cần phảiquản lý thêm nhiều chức năng khác nữa Chẳng hạn như việc bảo mật thông tinkhách hàng, hệ thống đánh giá nhận xét góp ý của khách hàng về chất lượng dịch
vụ, tổ chức tour theo đăng ký lựa chọn tour của khách hàng, quản lý một số vấn đềliên quan đến như khách hàng, nhân viên, phương tiện, được tốt hơn, đảm bảochính xác nhanh chóng và tiện lợi
1.2 Công cụ lập trình và ngôn ngữ được sử dụng
- Hệ quản trị cơ sở dữ liệu: MySql
Trang 6- Công cụ lập trình: Visual Studio Code
- Ngôn ngữ lập trình: PHP
1.3 Giới thiệu ngôn ngữ lập trình PHP
PHP là viết tắt của cụm từ Personal Home Page nay đã được chuyển thànhHypertext Preprocessor Hiểu đơn giản thì PHP là một ngôn ngữ lập trình kịch bản(scripting language) đa mục đích PHP được dùng phổ biến cho việc phát triển cácứng dụng web chạy trên máy chủ Dó đó, ngôn ngữ lập trình PHP có thể xử lý cácchức năng từ phía server để sinh ra mã HTML trên client như thu thập dữ liệu biểumẫu, sửa đổi cơ sở dữ liệu, quản lý file trên server hay các hoạt động khác iện nayrất phổ biến việc sử dụng mã nguồn mở để nhúng vào trong HTML nhờ sử dụngcặp thẻPHP <?php?> PHP khi áp dụng trong việc tối ưu hóa cho các ứng dụng web
đã đem lại những hiệu quả cao như nhanh, tiện lợi, ít lỗi mà cấu trúc tương tự nhưJava hay C Ngoài ra, PHP cũng được coi là một ngôn ngữ khá dễ học và thànhthạo hơn so với các ngôn ngữ khác Vì vậy đây là lý do mà PHP ngày càng được ápdụng nhiều và trở thành ngôn ngữ lập trình phổ biến nhất
Laravel là PHP Web Framework miễn phí, mã nguồn mở, được tạo bởiTaylor Otwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc
mô hình MVC và dựa trên Symfony PHP Framework Một số tính năng củaLaravel như là sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗtrợ nhiều hệ quản trị CSDL quan hệ (MySQL, MariaDB, SQLite, PostgreSQL,…),các tiện ích hỗ trợ triển khai và bảo trì ứng dụng.Mã nguồn của Laravel được lưutrữ trên GitHub và được cấp phép theo các điều khoản của Giấy phép MIT
1.4 Giới thiệu hệ quản trị cơ sở dữ liệu mysql
MYSQL là một hệ quản trị cơ sở dữ liệu quan hệ (Relational DatabaseManagement System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để traođổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồmdatabases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phậnkhác nhau trong RDBMS
Trang 7MYSQL được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúccho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác nhưMicrosoft Internet Information Server (IIS), E-Commerce Server, Proxy Server….
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Hiện trạng thực tế
Các trang web trên toàn thế giới đang phát triển với một tốc độ vũ bão, và sốlượng người kết nối với nó cũng ngày càng tăng Kinh doanh online trở thànhngành nghề đem lại lợi nhuận cao, nhiều doanh nghiệp hiện nay cung cấp các mặthàng điện tử trực tuyến Tất cả những gì bạn cần truy cập vào Website, lựa chọnmột sản phẩm phù hợp với mình và đặt mua
Trang 8Tìm kiếm nâng cao
Danh sách các phòng
Chi tiết phòng đó
Đặt phòng
Danh sách top điểm đến
2.2 Mô hình nghiệp vụ của hệ thống
2.2.1 Sơ đồ tổ chức
Hình 1: Sơ đồ tổ chức
2.2.2 Chức năng từng bộ phận
- Đối với nhóm người dùng Khách viếng thăm (Guest):
o Đăng ký tài khoản của hệ thống (thông tin đăng ký ít nhất là 3 thông tin)
o Xem thông tin các phòng trong web - vị trí, …
o Xem thông tin chi tiết trong từng loại phòng và thông tin chi tiết giáphòng đó
o Tìm kiếm cơ bản: Tìm tên khách sạn, tìm kiếm loại phòng
o Tìm kiếm nâng cao: Tìm phòng theo tên, giá cả, khuyến mãi, thông tin
- Đối với nhóm người dùng khách hàng (Customer):
o Đăng nhập hệ thống Site đặt phòng
o Cập nhật thông tin cá nhân của tài khoản
o Liên hệ với admin
o Đặt phòng và thanh toán
Trang 9o Xem thông tin lịch sử quá trình đặt phòng qua giỏ hàng và tình trạng hóađơn mới.
- Đối với nhóm người dùng quản trị (Admin):
o Đăng nhập hệ thống Site quản lý
o Cập nhật thông tin cá nhân của tài khoản
o Quản lý các tài khỏan của người dùng (Thêm, Xóa, Cập nhật) Lưu ýkhông xóa tài khoản Admin hiện đang sử dụng
o Quản lý hệ thống phòng (Thêm, Xóa, Cập nhật)
o Quản lý các danh mục (Thêm, Xóa, Cập nhật)
o Quản lý đơn đặt phòng (đã giao, chưa giao, đang giao)
2.3 Yêu cầu hệ thống
- Hệ thống chạy đúng, ổn định
- Giao diện thân thiện, dễ sử dụng
- Đáp ứng hầu hết các yêu cầu của người dù
1 Mô hình Use Case
Description Tóm gọn sự tương tác được thể hiện trong Use Case
Actor Những đối tượng thực hiện sự tương tác Use Case
Pre-condition Điều kiện cần để Use Case thực hiện thành công
Post-condition Những thứ sẽ xuất hiện sau khi Use Case được thưc
Trang 10Trigger Điều kiện kích hoạt Use Case xảy ra
Basic flow Luồng tương tác chính giữa Actor và System để Use
Case được thực hiện thành công
Alternative flow Luồng tương tác thay thế giữa các Actor và System để
Use Case thực hiện thành công
Exception flow Luồng tương tác ngoại lệ giữa Actor và System mà Use
Case thực hiện thất bại
2.4.2 Xác định các Use Case
Từ yêu cầu chức năng ứng với từng actor, ta có các Use case như sau:
Quản trị viên
(Admin)
Đăng nhập, quản lý thông tin phòng, quản lý loại phòng, homestay, quản lý khách hàng, quản lý thông tin đặt phòng, quản lý thống kê
Người xem
(Viewer)
xem thông tin khách sạn, tìm kiếm phòng yêu thích, quản
lý khách sạn đã đặtKhách hàng
(Customer)
xem thông tin homestay, tìm kiếm phòng, quản lý đơn đặt hàng, thanh toán, đánh giá , xem thông tin cá nhân, xem lịch sử đã đặt phòng, khách sạn
2.5 Xây dựng biểu đồ Use Case tổng quát
1 Biểu đồ Use Case tổng quát
Website có 2 phần tương tác chính là quản lý hệ thống (admin) và user (khách hàng)
- Admin sẽ quản lý phía sau hệ thống, đưa ra những thông tin về khách sạn, phòng , quản lý website và các thông tin liên quan đến nhà hàng, báo cáo thống kê các danh mục của khách sạn
Trang 11- Member sẽ là người dùng truy cập vào website để xem thông tin từ phía nhà hàng, đặt phòng, chọn phòng hoặc đánh giá chất lượng dịch vụ.
Hình 2: Sơ đồ Use Case tổng quát
Trang 12Hình 3: Sơ đồ Use Case tổng quát phía admin quản lý
Hình 5: Sơ đồ Use Case tổng quát phía khác hàng
Trang 132.5.2 Biểu đồ Use Case Case thanh toán
Hình 6: Sơ đồ Use Case thanh toán
Đặc tả Use Case – Thanh toán
Post-condition Đơn hàng được xác nhận
Trigger Nhấn [Thanh toán]
Basic flow 1 Nhấn [Thanh toán].
2 Đơn hàng chuyển vào trạng thái “Đang giao”
Alternative flow N/A
Trang 142.5.3 Biểu đồ Use Case Case đánh giá phòng, homestay đã đặt
Hình 7: Sơ đồ Use Case đánh giá đã đặt
Đặc tả Use Case – đánh giá
Basic flow 1 Nhấn [Đánh giá]
Alternative flow N/A
2.5.4 Biểu đồ Use Case đăng nhập, đăng xuất
Hình 8: Sơ đồ Use Case đăng nhập, đăng xuất
Đặc tả Use Case – Đăng nhập
Trang 15Name Đăng nhập.
Description Cho phép actor đăng nhập vào hệ thống
Pre-condition Actor đã có tài khoản tạo sẵn
Post-condition Nếu đăng nhập thành công – truy cập vào Website
Trigger Actor nhấn [Đăng nhập]
Basic flow
1 Nhấn [Đăng nhập]
2 Hiển thị màn hình đăng nhập
3 Actor nhập tên đăng nhập và mật khẩu
4 Nhấn nút [Đăng nhập] hoặc nhấn Enter
Alternative flow N/A
Exception flow Nếu thất bại – thông báo lỗi
Đặc tả Use Case 2 – Đăng Xuất
Description Cho phép actor đăng xuất khỏi tài khoản hệ thống
Pre-condition Đăng nhập vào thành công vào hệ thống
Post-condition Đăng xuất tài khoản – quay lại trang Đăng nhập
Trigger Actor nhấn [Đăng xuất]
Basic flow Nhấn [Đăng xuất]
Alternative folow N/A.
Exception flow N/A
Trang 162.5.5 Biểu đồ Use Case Quản lý đăng ký
Hình 9: Sơ đồ Use Case đăng ký
Đặc tả Use Case 3 – Đăng ký
Description Cho phép actor tạo tài khoản thành viên
Pre-condition Actor phải điền đầy đủ thông tin và đúng định dạng
Post-condition Tài khoản thành viên mới được tạo
Trigger Actor nhấn [Đăng ký]
Basic flow
1 Nhập thông tin tài khoản
2 Nhấn [Đăng ký]
3 Thông báo kết quả đăng ký
Alternative flow N/A
Exception Nhập thông tin không đúng định dạng – thông báo lỗi.
Đăng ký không thành công – thông báo lỗi
Trang 172.5.6 Biểu đồ Use Case Quản lý phòng, khách sạn
Hình 10: Sơ đồ Use Case quản lý phòng
Đặc tả Use Case – Quản lý phòng, khác sạn
Description Cho phép actor thêm, sửa, xóa
Pre-condition Đăng nhập
Post-condition Hiển thị danh sách thông tin
Trigger Actor chọn [Quản lý]/ [Sản phẩm]
Basic flow
1 Chọn [Quản lý]
2 Chọn [Sản phẩm]
3 Danh sách được load và hiển thị danh sách
Alternative flow N/A
Exception Không có dữ liệu
2.5.7 Biểu đồ Use Case quản lý tìm kiếm phòng
Trang 18Hình 11: Biểu đồ usecase tìm kiếm
Đặc tả Use Case – Tìm kiếm phòng, homestay
Description Cho phép actor tìm kiếm phòng
Pre-condition Actor phải nhập thông tin phòng
Post-condition Thông tin sản phẩm sẽ xuất hiện (nếu có)
Trigger Actor nhập thông tin sản phẩm cần tìm vào ô tìm kiếm
Trang 192.5.9 Biểu đồ Use Case Case quản lý bài viết
Hình 12: Sơ đồ Use Case quản lý bài viết
Đặc tả Use Case – Quản lý bài viết
Description Cho phép actor thêm, sửa, xóa tin tức
Pre-condition Đăng nhập
Post-condition Hiển thị danh sách tin tức, blog
Trigger Actor chọn [Quản lý]/ [tin tức]
Alternative flow N/A
Exception Không có dữ liệu
Trang 202.5.10 Biểu đồ Use Case Case đặt phòng, khách sạn
Hình 13: Sơ đồ Use Case đặt phòng
Đặc tả Use Case – Quản lý thông kế
2 Danh sách được load và hiển thị
Alternative flow N/A
Exception Không có dữ liệu
Trang 212.6 Biểu đồ hoạt động
2.6.1 Biểu đồ hoạt động đánh giá khách sạn
Hình 14: Biểu đồ hoạt động chức đánh giá khác sạn
Mô tả hoạt động:
Use case cho phép người dùng truy cập vào website để viết bình luận đánh giá về chất lượng
- Dòng sự kiện khác: Không có
- Yêu cầu đặc biệt: Không có
- Tiền điều kiện: không có
- Hậu điều kiện: Nếu use case thành công thì người dùng sẽ có quyền sử dụng
hệ thống để viết bình luận, đánh giá
Trang 22Hình 15: Biểu đồ hoạt động chức năng đăng nhập
Mô tả hoạt động:
Bước 1: Người dùng gửi yêu cầu đăng nhập vào hệ thống bằng cách click vào nút
“Đăng nhập”
Bước 2: Màn hình hiển thị giao diện đăng nhập
Bước 3: Người dùng nhập vào tài khoản và mật khẩu
Bước 4: Hệ thống kiểm tra tính hợp lệ của dữ liệu đầu vào:
Dữ liệu hợp lệ Chuyển sang Bước 5
Dữ liệu không hợp lệ Chuyển sang bước 3
Bảng 3.2 Các trường hợp dữ liệu không hợp lệ
Dữ liệu không hợp lệ Thông báo hệ thống
Tài khoản chứa khoảng trắng Tài khoản không được chứa khoảng
trắngMật khẩu chứa khoảng trắng Mật khẩu không được chứa khoảng
trắng
Trang 23Tài khoản chứa kí tự đặc biệt Tài khoản không được chứa kí tự đặc
biệt Tài khoản ít hơn 3 kí tự Tài khoản tối thiểu 3 kí tự
Tài khoản nhiều hơn 50 kí tự Tài khoản tối đa 50 kí tự
Mật khẩu ít hơn 6 kí tự Mật khẩu tối thiểu 6 kí tự
Mật khẩu nhiều hơn 30 kí tự Mật khẩu tối đa 30 kí tự
Bước 5: Hệ thống kiểm tra thông tin đăng nhập trong CSDL:
Nếu dữ liệu tồn tại trong CSDL Chuyển sang Bước 6
Nếu dữ liệu không tồn tại trong CSDL thông báo “Sai tên tài khoản hoặcmật khẩu” và trở lại Bước 3
Bước 6: Cấp quyền đăng nhập cho người dùng
Hình 16: Biểu đồ hoạt động chức năng đăng xuất
Mô tả hoạt động:
Bước 1: Người dùng gửi yêu cầu đăng xuất khỏi hệ thống bằng cách click vào nút
“Đăng xuất”
Trang 24Bước 2: Hệ thống yêu cầu người dùng xác nhận đăng xuất
Bước 3: Người dùng xác nhận đăng xuất
Bước 4: Hệ thống thực hiện đăng xuất tài khoản người dùng ra khỏi hệ thống và thông báo “Đăng xuất thành công”
2.6.3 Biểu đồ hoạt động tìm kiếm phòng, homestay
Hình 17: Biểu đồ hoạt động tìm kiếm phòng, homestay
Mô tả hoạt động:
Bước 1: Người dùng nhập từ khóa tìm kiếm
Bước 2: Hệ thống lấy ra danh sách phòng và đối chiếu với từ khóa người dùng nhập vào và đưa ra kết quả
Bước 3: Hiển thị kết quả ra màn hình
Trang 252.6.4 Biểu đồ hoạt động quản lý phòng, khách sạn
Hình 18: Biểu đồ hoạt động quản lý phòng, homestay
Mô tả hoạt động:
Bước 1: Người dùng gửi yêu chức năng Quản lý phòng bằng cách chọn mục “Quản
lý phòng, homestay”
Bước 2: Hệ thống hiển thị giao diện chức năng quản lý phòng
Bước 3: Người dùng lựa chọn và thao tác với các chức năng có trong giao diện hiểnthị như thêm, sửa hay xóa thông tin sản phẩm và sau đó lưu lại kết quả
Bước 4: Hệ thống kiểm tra tính hợp lệ của dữ liệu được lưu vào CSDL(Vd: Ngườidùng có điền hết các trường dữ liệu bắt buộc?, Người dùng có điền đúng kiểu dữliệu của các cột thông tin?, Dữ liệu đã trùng với dữ liệu nào khác trong CSDL hay
ko ?,…)
• Nếu dữ liệu hợp lệ Chuyển sang bước 5
• Nếu dữ liệu không hợp lệ thông báo “Lưu thất bại” đồng thời trở lạiBước 3
Bước 5: Hệ thống thông báo “Lưu thành công”