Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn Thiết kế và xây dựng phần mềm quản lý khách sạn
Tổng quan và giới thiệu
Giới thiệu
Thế kỷ 21 chứng kiến sự bùng nổ của ngành Công nghệ thông tin, với CNTT đang thay đổi thế giới một cách nhanh chóng và kết nối tri thức nhân loại Sự phát triển của hệ thống website toàn cầu đã tạo ra những thay đổi lớn trong cuộc sống con người, từ giải trí, quảng cáo, thương mại đến quản lý và blog Website thương mại điện tử ngày càng thay thế các phương thức truyền thống nhờ vào những lợi ích vượt trội như tốc độ nhanh hơn, chi phí thấp hơn, tính tiện dụng cao và khả năng hoạt động không bị giới hạn bởi không gian và thời gian.
Trong bối cảnh dịch bệnh COVID-19 hiện nay, việc chuyển đổi các hoạt động khách sạn như đặt phòng, thanh toán và hủy phòng sang hình thức trực tuyến là vô cùng quan trọng Số hóa các quy trình này không chỉ bảo vệ sức khỏe cho cả khách hàng và nhân viên mà còn giúp chủ khách sạn quản lý hiệu quả hơn.
Mục Tiêu
Xây dựng Website quản lý khách sạn.
Đặt phòng, hủy phòng, thanh toán tiện lợi
Thiết kế giao diện gần gũi, dễ sử dụng cho người dùng.
Giải thích các công nghệ, công cụ, framework sử dụng trong quá trình nghiên cứu.
Đưa ra các báo cáo, tổng hợp
Phạm vi
Bất kỳ ai cũng có thể tham gia làm người dùng của hệ thống khách sạn, cho phép khách hàng xem chi tiết các phòng đã đặt Ngoài ra, mọi người có thể truy cập trang web của hệ thống để khám phá các phòng trước khi tạo tài khoản.
1 quản lý khách sạn GV: ThS Từ Thanh Trí
Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết bao gồm việc phân tích hệ thống và cấu trúc của một website cơ bản, đồng thời tìm hiểu các tài liệu liên quan đến việc xây dựng website Ngoài ra, nghiên cứu cũng chú trọng đến các nghiệp vụ trong lĩnh vực khách sạn, nhằm tạo ra một nền tảng vững chắc cho việc phát triển và quản lý website hiệu quả.
Phương pháp điều tra: o Điều tra, phân tích tình trạng của khách sạn cụ thể
Ý nghĩa
Nếu thực hiện thành công đề tài này sẽ mang lại ý nghĩa to lớn về cả thực tiễn lẫn lý luận
Ý nghĩa lý luận của đề tài:
Chương trình và bản thuyết minh của đề tài sẽ cung cấp tài liệu nghiên cứu hữu ích, dễ hiểu cho giáo viên và sinh viên, đặc biệt là những ai đam mê công nghệ Web và ứng dụng.
Ý nghĩa thực tiễn của đề tài:
Với sự thành công của đề tài sẽ góp phần giúp cho việc quản lý khách sạn qua hình thức trực tuyến trở nên dễ dàng hơn.
2 quản lý khách sạn GV: ThS Từ Thanh Trí
Cơ sở lý thuyết
Visual Studio Code
Visual Studio Code (VS Code) là một trình biên tập mã nguồn miễn phí, tương thích với Windows, Linux và macOS, được phát triển bởi Microsoft Nó được coi là sự kết hợp hoàn hảo giữa môi trường phát triển tích hợp (IDE) và trình biên tập mã.
Visual Studio Code cung cấp chức năng tìm kiếm lỗi hiệu quả, tích hợp Git, hỗ trợ tô sáng cú pháp, hoàn thành mã thông minh, và các đoạn mã mẫu (snippets) cùng với cải tiến mã nguồn Nhờ vào khả năng tùy chỉnh linh hoạt, người dùng có thể thay đổi giao diện, phím tắt và các tùy chọn khác theo nhu cầu của mình.
Postman
Postman là công cụ phổ biến để thao tác với API, đặc biệt là REST Đây là một trong những công cụ hàng đầu được sử dụng để thử nghiệm API, cho phép người dùng gọi Rest API mà không cần viết mã.
1 IDE (Integrated Development Environment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng.
2 Code Editor: Trình soạn thảo code
3 Syntax highlighting là một công cụ giúp tô màu các đoạn mã nguồn
Snippet là đoạn mã đã được định nghĩa sẵn và liên kết với một từ khóa cụ thể Khi cần sử dụng, người dùng chỉ cần gọi từ khóa đó để chèn nội dung đã được xác định trước.
Postman là công cụ hỗ trợ tất cả các phương thức HTTP như GET, POST, PUT, PATCH và DELETE Nó còn cho phép người dùng lưu lại lịch sử các lần request, giúp tiện lợi cho việc sử dụng lại khi cần thiết.
MongoDB
MongoDB là một database hướng tài liệu (document), một dạng NoSQL database 6
MongoDB avoids the table-based structure of relational databases to accommodate flexible document formats like JSON, utilizing a schema known as BSON By storing data as JSON documents, MongoDB allows each collection to contain documents of varying sizes and structures.
MongoDB was first introduced by MongoDB Inc in October 2007 as part of the 10th generation of products, functioning as a PaaS (Platform as a Service) similar to Windows Azure and Google App Engine It transitioned to open source in 2009.
HTTP (HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản, đóng vai trò quan trọng trong việc truyền tải dữ liệu giữa máy chủ web và trình duyệt web Giao thức này cho phép việc trao đổi thông tin diễn ra một cách hiệu quả trên www.
Cơ sở dữ liệu NoSQL là hệ thống quản lý dữ liệu không quan hệ với lược đồ linh hoạt, dễ dàng mở rộng Chúng chủ yếu được sử dụng cho các kho dữ liệu phân tán, đáp ứng nhu cầu lưu trữ dữ liệu lớn.
7 JSON ( JavaScript Object Notation): là một tiêu chuẩn mở để trao đổi dữ liệu trên web.
4 quản lý khách sạn GV: ThS Từ Thanh Trí
Dữ liệu lưu trữ phi cấu trúc có tính sẵn sàng cao, hiệu suất lớn và dễ dàng mở rộng Việc caching dữ liệu lên RAM giúp giảm thiểu truy cập vào ổ cứng, từ đó nâng cao tốc độ đọc và ghi.
2.2 Ngôn ngữ, nền tảng , framework
NodeJS, Express JS
Node.js là một nền tảng chạy trên môi trường V8 JavaScript runtime, một trình thông dịch JavaScript nhanh chóng được sử dụng trong trình duyệt Chrome Thực tế, chúng ta có thể tải bộ V8 và nhúng vào bất kỳ ứng dụng nào, và Node.js đã áp dụng điều này cho các web server JavaScript, chỉ là một ngôn ngữ, hoàn toàn có thể hoạt động hiệu quả trên môi trường server giống như trong trình duyệt của người dùng.
JavaScript là ngôn ngữ dựa trên sự kiện, cho phép tạo ra các sự kiện non-blocking cho mỗi hoạt động trên server Mỗi kết nối mới và dữ liệu nhận được từ form upload đều kích hoạt sự kiện, bao gồm cả việc truy vấn dữ liệu từ cơ sở dữ liệu Điều này đảm bảo rằng trang web sử dụng Node.js không bao giờ bị khóa và có khả năng hỗ trợ hàng chục nghìn người dùng cùng lúc.
8 Non-blocking giúp chương trình không phải chờ đợi lần lượt mà sẽ ưu tiên những công việc khác
Node.js đóng vai trò như một server tương tự Apache, cho phép chạy ứng dụng và thông dịch mã Nó hỗ trợ nhiều module (thư viện) có thể cài đặt để nâng cao chức năng, bao gồm lưu trữ dữ liệu, hỗ trợ file Zip, đăng nhập qua Facebook và tích hợp các cổng thanh toán.
Express.js, hay còn gọi là Express JS, là một framework mã nguồn mở miễn phí dành cho Node.js, giúp thiết kế và xây dựng ứng dụng web một cách nhanh chóng và đơn giản.
Express.js, với yêu cầu duy nhất là ngôn ngữ lập trình JavaScript, giúp đơn giản hóa việc phát triển ứng dụng web và API cho lập trình viên Là một framework của Node.js, Express.js cung cấp nhiều mã code đã được viết sẵn, tạo điều kiện thuận lợi cho các nhà phát triển trong quá trình làm việc.
Express.js giúp lập trình viên dễ dàng phát triển ứng dụng web đơn lẻ hoặc nhiều web kết hợp nhờ vào dung lượng nhẹ và khả năng tổ chức ứng dụng theo kiến trúc MVC Để sử dụng Express.js, người dùng cần có kiến thức về JavaScript và HTML, đồng thời nó cũng là một mã nguồn mở.
9 Apache là phần mềm web server miễn phí mã nguồn mở
10 API là viết tắt của Application Programming Interface – phương thức trung gian kết nối các ứng dụng và thư viện khác nhau.
6 quản lý khách sạn GV: ThS Từ Thanh Trí
ReactJS
React là thư viện JavaScript mã nguồn mở miễn phí, chuyên dụng cho việc xây dựng giao diện người dùng và các thành phần UI Được duy trì bởi Facebook cùng với sự hỗ trợ từ cộng đồng các nhà phát triển và công ty, React là nền tảng lý tưởng để phát triển ứng dụng một trang và ứng dụng di động.
React là một thư viện hấp dẫn vì khả năng hoạt động cả trên phía client lẫn server, cho phép kết nối linh hoạt giữa chúng Thư viện này so sánh sự thay đổi giữa các lần render để cập nhật một cách tối ưu nhất trên DOM, chỉ thực hiện những thay đổi cần thiết.
API, viết tắt của Giao diện Lập trình Ứng dụng, là các phương thức và giao thức giúp kết nối với thư viện và ứng dụng khác Nó cho phép truy xuất đến một tập hợp các hàm thường dùng, từ đó hỗ trợ việc trao đổi dữ liệu giữa các ứng dụng một cách hiệu quả.
Web API là hệ thống API quan trọng trong các trang web, cho phép kết nối và truy xuất dữ liệu từ cơ sở dữ liệu Hầu hết các website hiện nay đều sử dụng Web API để cập nhật thông tin và cung cấp các chức năng như đăng nhập thông qua các nền tảng như Google, Facebook, Twitter và Github.
Quản lý khách sạn là một lĩnh vực quan trọng, và việc sử dụng API trong quản lý này giúp kết nối và truy xuất dữ liệu một cách hiệu quả Các ứng dụng di động cũng dựa vào API để lấy thông tin, từ đó cải thiện trải nghiệm người dùng.
Hệ điều hành Windows và Linux cung cấp nhiều API, đi kèm với tài liệu chi tiết mô tả các hàm, phương thức và giao thức kết nối Những API này hỗ trợ lập trình viên phát triển ứng dụng có khả năng tương tác trực tiếp với hệ điều hành.
API của thư viện phần mềm hoặc framework định nghĩa các hành động mà thư viện cung cấp, cho phép tương tác dễ dàng giữa các ngôn ngữ lập trình khác nhau Một API có thể được triển khai theo nhiều cách khác nhau, giúp các chương trình viết bằng ngôn ngữ này sử dụng thư viện được phát triển bằng ngôn ngữ khác một cách hiệu quả.
REST (Representational State Transfer) là một kiến trúc API sử dụng phương thức HTTP đơn giản để giao tiếp giữa các máy Thay vì chỉ sử dụng một URL cho việc xử lý thông tin người dùng, REST gửi các yêu cầu HTTP như GET, POST, DELETE, v.v đến một URL để xử lý dữ liệu hiệu quả.
RESTful API là tiêu chuẩn thiết kế API cho ứng dụng web, giúp quản lý các resource hiệu quả Đây là một trong những kiểu thiết kế API phổ biến hiện nay, cho phép các ứng dụng web và mobile giao tiếp linh hoạt với nhau.
Chức năng chính của REST là quy định cách sử dụng các phương thức HTTP như GET, POST, PUT và DELETE, cùng với cách định dạng URL cho ứng dụng web nhằm quản lý các tài nguyên RESTful không giới hạn logic mã nguồn của ứng dụng và không bị ràng buộc bởi ngôn ngữ lập trình, cho phép bất kỳ ngôn ngữ hoặc framework nào cũng có thể được sử dụng để thiết kế một API RESTful.
GitHub
GitHub là một dịch vụ nổi bật cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm, tích hợp đầy đủ các tính năng của Git và bổ sung thêm các tính năng xã hội để các lập trình viên có thể tương tác và hợp tác hiệu quả hơn.
GIT là công cụ quản lý mã nguồn hiệu quả, cho phép tổ chức dữ liệu theo dạng phân tán Nó giúp đồng bộ hóa mã nguồn của nhóm lên một máy chủ, đồng thời hỗ trợ các thao tác kiểm tra mã nguồn như so sánh khác biệt, kiểm tra các thay đổi, hiển thị lịch sử và gộp mã nguồn.
GitHub cung cấp hai phiên bản: miễn phí và trả phí Phiên bản trả phí thường được các doanh nghiệp lựa chọn để cải thiện khả năng quản lý nhóm và phân quyền bảo mật cho các dự án Trong khi đó, hầu hết người dùng cá nhân sử dụng tài khoản miễn phí để lưu trữ mã nguồn.
Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.
GitHub là nền tảng mạng xã hội lớn nhất và thân thiện nhất cho lập trình viên, cung cấp các tính năng quan trọng như Wiki, quản lý issue, thống kê dự án, khả năng đổi tên project, và tổ chức project trong namespace của người dùng.
Quản lý khách sạn là một lĩnh vực quan trọng, trong đó việc theo dõi hoạt động của các dự án phần mềm là cần thiết Việc "watch project" giúp người quản lý nắm bắt quá trình phát triển của dự án, từ đó có cái nhìn tổng quan về sự tiến bộ và hiệu quả Bên cạnh đó, "follow user" cho phép theo dõi hoạt động của những người khác, giúp cải thiện khả năng quản lý và tối ưu hóa quy trình làm việc trong ngành khách sạn.
Có 2 cách tiếp cận GitHub: Tạo project của riêng mình Contribute cho project có sẵn: fork project có sẵn của người khác, sửa đổi, sau đó đề nghị họ cập nhật sửa đổi của mình (tạo pull request).
JSON Web Token
JWT (JSON Web Token) là phương tiện để chuyển giao thông tin giữa Client và Server, với dữ liệu được định dạng bằng JSON Một chuỗi JWT bao gồm ba phần chính: header, payload và signature, được phân cách bằng dấu chấm (.).
Hình 2.8 Cấu trúc JWT (JSON web token)
10 quản lý khách sạn GV: ThS Từ Thanh Trí o Header : Phần header sẽ chứa kiểu dữ liệu , và thuật toán sử dụng để mã hóa ra chuỗi JWT
“typ” (type) ch ra rằềng đốếi t ỉ ượ ng là m t ộ JWT
Thuật toán mã hóa cho chuỗi Token sử dụng HS256, trong đó phần payload chứa thông tin như username, userId và author Chữ ký được tạo ra bằng cách mã hóa phần header và payload kết hợp với một chuỗi secret (khóa bí mật).
11 quản lý khách sạn GV: ThS Từ Thanh Trí
Hình 2.9 Ví dụ về JWT (JSON Web Token)
Vì sao sử dụng JWT ?
Xác thực là một ứng dụng phổ biến của JWT, cho phép người dùng đã đăng nhập gửi các yêu cầu tiếp theo kèm theo mã JWT Mã này giúp người dùng truy cập vào các URL, dịch vụ và tài nguyên được phép Phương pháp này không bị ảnh hưởng bởi Cross-Origin Resource Sharing (CORS) vì không sử dụng cookie.
JSON Web Token (JWT) là một phương thức hiệu quả để truyền tải thông tin an toàn giữa các bên, nhờ vào chữ ký (signature) của nó Người nhận có thể xác định danh tính người gửi thông qua chữ ký, được tạo ra từ sự kết hợp giữa phần header và payload Điều này cho phép xác minh tính xác thực của chữ ký, đảm bảo rằng thông tin không bị giả mạo.
Lâp trình đồng bộ (Synchronous) và bất đồng bộ (Asynchronous)
Lập trình đồng bộ (Synchronous) là phương pháp xử lý mà chương trình thực hiện từng bước một, chỉ chuyển sang bước tiếp theo khi bước trước đã hoàn thành Nguyên tắc này yêu cầu trình biên dịch xử lý mã theo thứ tự từ trên xuống dưới và từ trái qua phải, dẫn đến tình trạng chờ đợi giữa các bước thực thi.
Lập trình bất đồng bộ (Asynchronous) cho phép thực thi các tác vụ độc lập, không cần chạy tuần tự, giúp các tác vụ có thể hoạt động song song Điều này cải thiện hiệu suất hoạt động của ứng dụng bằng cách giảm thời gian chờ đợi giữa các xử lý.
Lập trình bất đồng bộ là phương pháp hiệu quả để xử lý các tác vụ có thể gây tắc nghẽn, chẳng hạn như truy cập website, nơi mà thời gian phản hồi có thể chậm Ngoài ra, các hoạt động khác như làm việc với file hay hình ảnh cũng nên được triển khai theo cách bất đồng bộ để tối ưu hóa hiệu suất.
Cookies là những tệp tin tạm thời được tự động tạo ra trên máy tính khi người dùng truy cập vào một trang web Chúng lưu trữ thông tin cá nhân như tài khoản đăng nhập, giúp người dùng dễ dàng truy cập lại trang web trong lần sau mà không cần nhập lại thông tin.
12 quản lý khách sạn GV: ThS Từ Thanh Trí
Cài đặt và thử nghiệm ứng dụng
Quản lý các phòng trong khách sạn
Quản trị viên có thể thêm, sửa, xóa và điều chỉnh giá của từng phòng mình muốn.
Phân quyền
Hệ thống sẽ có những quyền hạn cơ bản để thuận tiện trong việc quản lý.
Quyền bao gồm: Admin (Quản lý), Client(Khách hàng), Guest (người dùng, khách không nằm trong hệ thống).
Xác thực đăng nhập và quyền hạn
Xác thực thành viên đăng nhập vào hệ thống mà không ảnh hướng đến cơ sở dữ liệu.
Đặt phòng, thanh toán
Cho pháp khách hàng (đã đăng nhập vào hệ thống) tiến hành đặt phòng và thanh toán theo hình thức trực tuyến.
Khách hàng có thể tùy chọn tìm kiếm phòng theo ngày, theo loại.
Xác định & Phân tích các thực thể hệ thống
Phân tích chi tiết từng thực thể
13 quản lý khách sạn GV: ThS Từ Thanh Trí
Đặt tả cơ sở dữ liệu
Thuộc tính Kiêu dữ liệu Khóa Ghi chú
_Id ObjectId Primary key Not null
14 quản lý khách sạn GV: ThS Từ Thanh Trí
Thuộc tính Kiêu dữ liệu Khóa Ghi chú
_Id ObjectId Primary key Not null
Thuộc tính Kiêu dữ liệu Khóa Ghi chú
_Id ObjectId Primary key Not null
UserId String Not null fromDate String Not null toDate String Not null transactionId String Not null totalDate Number Not null amount Number Not null status string Not null
3.3.3 Phân tích hệ thống với UML
Biểu đồ Usecase
15 quản lý khách sạn GV: ThS Từ Thanh Trí
Hình 3.1 Lược đồ Use case tổng quát b Đặt tả Usecase
Chức năng cho phép người dùng (Admin, Client) đăng nhập vào hệ thống
16 quản lý khách sạn GV: ThS Từ Thanh Trí
Người dùng chọn đăng nhập trên thanh menu
Hệ thống hiển thị giao diện đăng nhập.
Người dùng nhập tài khoản bao gồm Tên đăng nhập và mật khẩu
Hệ thống kiểm tra và xác nhận thông tin đăng nhập
Hiển thị giao diện chính của trang web
Người dùng hủy yêu cầu đăng nhập
Hệ thống trả về trang chủ
Người dùng nhập thông tin sai
Hệ thống hiển thị thông báo lỗi
Chức năng cho phép client (guest, không thuộc người dùng trong hệ thống) đăng ký trở thành người dùng trong hệ thống
Người dùng chọn đăng nhập trên thanh menu
Người dùng chọn đăng ký từ giao diện đăng nhập
Hệ thống hiển thị giao diện đăng ký.
Người dùng nhập thông tin đăng ký bao gồm Tên đăng nhập, mật khẩu và mật khẩu xác nhận
Hệ thống kiểm tra và xác nhận thông tin đăng ký
Hiển thị giao diện chính của trang web
17 quản lý khách sạn GV: ThS Từ Thanh Trí
Người dùng hủy yêu cầu đăng ký
Hệ thống trả về trang chủ
Người dùng nhập thông tin sai như: nhập tài khoản đã tồn tại, nhập mật khẩu không hợp lệ, nhập mật khẩu xác nhận không đúng.
Hệ thống hiển thị thông báo lỗi
Chức năng cho phép người dùng (Admin) quản lý bài phòng của khách sạn: Thêm, xóa, tìm kiếm.
Phải đăng nhập bằng tài khoản Admin
Dòng sự kiện chính của thêm phòng:
Sự kiến bắt đầu khi người dùng chọn thêm phòng
Hệ thống hiển thị giao diện tạo phòngt.
Người dùng nhập thông tin phòng gồm tên, loại, giá mỗi ngày, số người tối đa, ảnh
Hệ thống kiểm tra tính hợp lệ thông tin
Hệ thống lưu phòng mới.
18 quản lý khách sạn GV: ThS Từ Thanh Trí
Dòng sự kiện chính của tìm phòng:
Người dùng nhập thông tin cần tìm kiếm.
Hệ thống hiển thị các bài viết/di tích có liên quan.
Dòng sự kiện chính của xóa phòng:
Người dùng chọn phòng muốn xóa
Hệ thống hiển thị thông báo xác nhận xóa cho người dùng.
Người dùng xác nhận thông tin,
Dòng sự kiện phụ của xóa phòng
Người dùng xác nhận hủy, không xóa phòng khi hệ thống gửi thông báo xác nhận
Hệ thống tắt thông báo và không xác bài viết
Usecase Quản Lý Thanh Toán
Chức năng cho Admin xem các giao dịch trong lịch sử.
Sự kiến bắt đầu khi người dùng chọn xem giao dịch từ giao diện quản lý admin
Hệ thống hiển thị danh sách giao dịch.
19 quản lý khách sạn GV: ThS Từ Thanh Trí
Người dùng xác nhận hủy kiểm duyệt
Chức năng cho khách hàng và khác không thuộc hệ thống tìm kiếm các phòng.
Sự kiến bắt đầu khi người dùng nhập tên phòng hoặc chọn ngày loại ở trên thanh lọc.
Hệ thống hiển thị các phòng có liên quan.
Chức năng cho phép khách hàng đặt phòng trực tuyến
Phải đăng nhập từ trước
Sự kiến bắt đầu khi người dùng chọn phòng muốn đặt
Hệ thống hiển thị thông tin đặt phòng từ lựa chọn người dùng
Người dùng nhấp thanh toán
Hệ thống yêu cầu nhập số thẻ VISA
Hệ thống thanh toán và lưu giao dịch
Hệ thống thông báo đặt phòng thành công
20 quản lý khách sạn GV: ThS Từ Thanh Trí
Chức năng cho phép khách hàng hủy đặt phòng trực tuyến
Phải đăng nhập từ trước và phòng được đặt chưa sử dụng
Sự kiến bắt đầu khi người dùng chọn phòng muốn hủy từ lịch sử đặt phòng
Khách hàng chọn giao dịch muốn hủy
Hệ thống hủy phòng đó và hoàn tiền
21 quản lý khách sạn GV: ThS Từ Thanh Trí
Mô hình quan hệ thực thể (ERD)
Hình 3.2 Mô hình quan hệ thực thể
22 quản lý khách sạn GV: ThS Từ Thanh Trí
Sơ đồ lớp
23 quản lý khách sạn GV: ThS Từ Thanh Trí
Sơ đồ tuần tự
a Biểu đồ tuần tự cho chức năng đăng nhập
Hình 3.4 Lượt đồ tuần tự cho chức năng đăng nhập b Biểu đồ tuần tự cho chức năng đăng ký
Hình 3.5 Lượt đồ tuần tự cho chức năng đăng ký
24 quản lý khách sạn GV: ThS Từ Thanh Trí c Biểu đồ tuần tự cho chức năng quản lý phòng
Hình 3.6 Lược đồ tuần tự cho chức năng quản lý phòng
25 quản lý khách sạn GV: ThS Từ Thanh Trí d Biểu đồ tuần tự cho chức năng tìm kiếm phòng
Hình 3.7 Lược đồ tuần tự cho chức năng tìm phòng e Biểu đồ tuần tự cho chức năng đặt phòng
Hình 3.8 Lược đồ tuần tự cho chức năngđặt phòng
26 quản lý khách sạn GV: ThS Từ Thanh Trí f Biểu đồ tuần tự cho chức năng hủy đặt phòng
Hình 3.9 Lược đồ tuần tự cho chức năng hủy đặt phòng
3.3.4 Phân tích thiết kế giao diện với chức năng
Giao diện đăng nhập
Hình 3.10 Giao diện đăng nhập
27 quản lý khách sạn GV: ThS Từ Thanh Trí a Mục đích
Giao diện cho người dùng (Admin, Client) đăng nhập vào hệ thống. b Phạm vi
Người dùng có thể đăng nhập, hủy hoặc chọn “Tham gia với chúng tôi” tức đăng ký nếu chưa có tài khoản c Mô tả chức năng
Nếu người dùng nhập sai tài khoản hoặc mật khẩu, sẽ có thông báo bên dưới phải màn hình hiển thị cho người dùng
Nếu người dùng nhập đúng tài khoản và mật khẩu, hệ thống sẽ hiện thỉ giao diện chính
28 quản lý khách sạn GV: ThS Từ Thanh Trí
Giao diện đăng ký
Hình 3.11 Giao diện đăng ký a Mục đích
Giao diện cho client/khách (người không thuộc người dụng trong hệ thống) đăng ký tham gia vào hệ thống. b Phạm vi
Client/Khách có thể hủy quay về trang chủ hoặc chọn “Đã có tài khoản” nếu đã là người dùng trong hệ thống c Mô tả chức năng
Nếu Client/Khách nhập sai thông tin thì hệ thống sẽ không cho phép Client/khách đăng ký.
Nếu khách hàng để trống thông tin thì hệ thống sẽ báo lỗi từ cái ô nhập
Nếu Client/Khách nhập đầy đủ và hợp lệ các thông tin, hệ thống sẽ cho đăng ký thành công và trở về trang chủ.
29 quản lý khách sạn GV: ThS Từ Thanh Trí
Giao diện trang chủ
Hình 3.12 Giao diện trang chủ
Hình 3.13 Giao diện chính a Mục đích
Giao diện trang chủ hiển thị các phòng cho client b Phạm vi
30 quản lý khách sạn GV: ThS Từ Thanh Trí
Từ giao diện chính (hình 3.13), client có thể chọn đặt phòng, tìm kiếm phòng và kiểm tra thông tin hồ sơ. c Mô tả chức năng
Hệ thống hiển thị các phòng và cho phép người dùng tìm kiếm hoặc đặt phòng Để truy cập giao diện trang chủ, người dùng cần phải đăng nhập hoặc thực hiện đăng ký tài khoản.
31 quản lý khách sạn GV: ThS Từ Thanh Trí
Giao diện thanh toán
Hình 3.14 Giao diện thanh toán
Hình 3.Cửa số thông tin thẻ thanh toán
32 quản lý khách sạn GV: ThS Từ Thanh Trí a Mục đích
Hiển thị thông tin đặt phòng do khách hàng chọn Cho phép khách hàng thanh toán bằng thẻ. b Phạm vi
Người dùng có thể thanh toán bằng thẻ hoặc hủy đặt phòng quay về giao diện chính
Người dùng cũng có thể vào hồ sơ từ thanh navbar. c Mô tả chức năng
Hiển thị thông tin đặt phòng và thanh toán. d Ràng buộc Để thanh toán thì người dùng phải chọn phòng từ trước.
33 quản lý khách sạn GV: ThS Từ Thanh Trí