1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn

43 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Xây Dựng Phần Mềm Quản Lý Khách Sạn
Tác giả Nguyễn Hoài Phong, Nguyễn Hoàng Vũ
Người hướng dẫn ThS. Từ Thanh Trí
Trường học Trường Đại Học Tài Nguyên Và Môi Trường TP.HCM
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo cáo môn học
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 43
Dung lượng 416,3 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: Tổng quan và giới thiệu (0)
    • 1.1. Tổng quan đề tài (0)
    • A. Giới thiệu (0)
    • B. Mục Tiêu (0)
    • C. Phạm vi (10)
    • D. Phương pháp nghiên cứu (10)
    • E. Ý nghĩa (10)
  • Chương 2: Cơ sở lý thuyết (11)
    • 2.1. Công cụ sử dụng và hổ trợ (11)
    • A. Visual Studio Code (11)
    • B. Postman (11)
    • C. MongoDB (12)
      • 2.2. Ngôn ngữ, nền tảng , framework (13)
    • A. NodeJS, Express JS (13)
    • B. ReactJS (14)
    • D. GitHub (16)
      • 2.3 Kỹ thuật sử dụng (17)
    • A. JSON Web Token (17)
    • B. Lâp trình đồng bộ (Synchronous) và bất đồng bộ (Asynchronous) (19)
  • Chương 3: Cài đặt và thử nghiệm ứng dụng (20)
    • 3.3.1 Xác định yêu cầu bài toán (20)
    • A. Quản lý các phòng trong khách sạn (20)
    • B. Phân quyền (20)
    • C. Xác thực đăng nhập và quyền hạn (20)
    • D. Đặt phòng, thanh toán (20)
      • 3.3.2 Xây dựng chương trình (21)
    • A. Xác định & Phân tích các thực thể hệ thống (21)
      • 3.3.3 Phân tích hệ thống với UML (23)
    • A. Biểu đồ Usecase (23)
    • B. Mô hình quan hệ thực thể (ERD) (28)
    • C. Sơ đồ lớp (29)
    • D. Sơ đồ tuần tự (30)
      • 3.3.4 Phân tích thiết kế giao diện với chức năng (34)
    • A. Giao diện đăng nhập (0)
    • B. Giao diện đăng ký (35)
    • C. Giao diện trang chủ (36)
    • D. Giao diện thanh toán (38)
  • Chương 4: Kết luận (40)
    • 4.1. Kếết quả đạt được của đếề tài (0)
    • A. Kết quả chung (40)
    • B. Kiến thức lập trình (40)
      • 4.2. H nạ chếế của đếề tài (0)
      • 4.3. Khuyếến nghị (0)
      • 4.4 Hướng phát triển đếề tài (41)
  • TÀI LIỆU THAM KHẢO (42)

Nội dung

Tổng quan và giới thiệu

Phạm vi

Bất kỳ ai cũng có thể trở thành người dùng của hệ thống khách sạn, cho phép họ 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 để xem các phòng trước khi đăng ký tài khoản.

Thiết kế & xây dựng phần mềm 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, cùng với việc tham khảo các tài liệu liên quan đến xây dựng website và các nghiệp vụ trong lĩnh vực khách sạn Bên cạnh đó, phương pháp điều tra sẽ tập trung vào việc khảo sát và phân tích tình trạng của một 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ẽ là tài liệu nghiên cứu hữu ích, dễ hiểu cho giáo viên và sinh viên yêu thích công nghệ Web và ứng dụng Đề tài mang lại ý nghĩa thực tiễn cao, phục vụ nhu cầu học tập và tham khảo nhanh.

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.

Thiết kế & xây dựng phần mềm 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 hệ điều hành Windows, Linux và macOS, được phát triển bởi Microsoft.

Nó được xem là một sự kết hợp hoàn hảo giữa IDE 1 và Code Editor 2

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ợ syntax highlighting, tự hoàn thành mã thông minh và snippets, cùng với cải tiến mã nguồn Người dùng có thể tùy chỉnh trải nghiệm làm việc của mình bằng cách thay đổi theme, phím tắt và các tùy chọn khác.

Postman

Postman là một công cụ cho phép chúng ta thao tác với API, phổ biến nhất là REST.

Postman hiện là một trong những công cụ phổ biến nhất được sử dụng trong thử nghiệm các

API Với Postman, ta có thể gọi Rest API mà không cần viết dòng code nào.

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 lập trình 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 định nghĩa trước.

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

Postman hỗ trợ tất cả các phương thức HTTP 5 (GET, POST, PUT, PATCH, DELETE,

…) Bên cạnh đó, nó còn cho phép lưu lại lịch sử các lần request, rất tiện cho việc sử dụng lại khi cần.

MongoDB

MongoDB is a document-oriented NoSQL database that moves away from the table-based structure of relational databases It utilizes a flexible schema called BSON, allowing for the storage of data in JSON-like documents As a result, each collection in MongoDB can contain documents of varying sizes and formats.

MongoDB was first introduced by MongoDB Inc in October 2007 as part of the 10th generation of technologies, functioning as a PaaS (Platform as a Service) similar to Windows Azure and Google App Engine It transitioned to an open-source model in 2009.

HTTP (HyperText Transfer Protocol) là giao thức chính được sử dụng trên www để truyền tải dữ liệu giữa máy chủ web và trình duyệt web, đảm bảo việc trao đổi thông tin diễn ra hiệu quả và nhanh chóng.

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ễ mở rộng, phù hợp cho các kho dữ liệu phân tán và đá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.

Thiết kế & xây dựng phần mềm 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à khả năng mở rộng dễ dàng Việc caching dữ liệu lên RAM giúp hạn chế 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à 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 trên trình duyệt Chrome Nó cho phép tích hợp V8 vào các web server, chứng tỏ rằng JavaScript không chỉ phù hợp cho trình duyệt mà còn có thể hoạt động hiệu quả trên môi trường server.

JavaScript là ngôn ngữ dựa trên sự kiện, cho phép xử lý các sự kiện non-blocking trên server Mỗi kết nối mới, dữ liệu từ form upload, và truy vấn dữ liệu từ database đều tạo ra các sự kiện tương ứng Điều này có nghĩa là trang web sử dụng Node.js sẽ không 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

Thiết kế và xây dựng phần mềm quản lý khách sạn sử dụng Node.js làm server, tương tự như Apache 9, cho phép chạy ứng dụng hiệu quả Node.js hỗ trợ nhiều module có thể cài đặt để mở rộng tính năng, bao gồm lưu trữ dữ liệu, hỗ trợ file Zip, đăng nhập bằng 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 các ứng dụng web một cách nhanh chóng và dễ dàng.

Express.js giúp lập trình viên và nhà phát triển dễ dàng xây dựng ứng dụng web và API nhờ vào việc chỉ yêu cầu ngôn ngữ lập trình JavaScript Là một khuôn khổ của Node.js, Express.js cung cấp nhiều mã code đã được viết sẵn, hỗ trợ tối đa cho quá trình phát triển.

Express.js là một framework mạnh mẽ cho phép lập trình viên dễ dàng phát triển ứng dụng web đơn lẻ hoặc nhiều ứng dụng kết hợp Với dung lượng nhẹ, Express.js hỗ trợ tổ chức ứng dụng theo kiến trúc MVC một cách hiệu quả Để sử dụng framework này, người dùng cần có kiến thức về JavaScript và HTML, và nó cũng đã trở thành 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.

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

ReactJS

React là thư viện JavaScript front-end mã nguồn mở miễn phí, được Facebook và cộng đồng phát triển duy trì, giúp xây dựng giao diện người dùng và các thành phần UI Thư viện này có thể được sử dụng để phát triển ứng dụng một trang hoặc ứng dụng di động hiệu quả.

React là một thư viện hấp dẫn vì không chỉ hoạt động trên phía client mà còn có khả năng render trên server, cho phép kết nối linh hoạt Thư viện này so sánh sự thay đổi giữa các giá trị của lần render hiện tại và lần render trước, từ đó cập nhật những thay đổi tối thiểu trên DOM.

C 3API và RESTFUL API API

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 cho phép kết nối với thư viện và ứng dụng khác Nó cung cấp khả năng truy cập vào một tập hợp các hàm thường dùng, từ đó tạo điều kiện cho việc trao đổi dữ liệu giữa các ứng dụng.

Web API là một hệ thống API thiết yếu cho các trang web, cho phép kết nối, truy xuất và cập nhật dữ liệu trong cơ sở dữ liệu Hầu hết các website hiện nay đều tích hợp Web API, ví dụ như chức năng đăng nhập thông qua các nền tảng như Google, Facebook, Twitter và Github.

Thiết kế và xây dựng phần mềm quản lý khách sạn là một quá trình quan trọng, trong đó việc gọi đến API là cần thiết để lấy dữ liệu Các ứng dụng di động cũng sử dụng API để truy xuất thông tin, giúp tối ưu hóa trải nghiệm người dùng và tăng cường tính hiệu quả của hệ thống quản lý khách sạn.

API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp các tài liệu

API là tập hợp các hàm, phương thức và giao thức kết nối, cho phép lập trình viên phát triển ứng dụ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 các lập trình viên tương tác với nó Một API có thể được triển khai theo nhiều cách khác nhau, đồng thời hỗ trợ việc sử dụng thư viện viết bằng ngôn ngữ khác trong một chương trình.

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ì sử dụng một URL để xử lý thông tin người dùng, REST gửi yêu cầu HTTP như GET, POST, DELETE đến một URL nhằm 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ý tài nguyên hiệu quả Đây là một trong những phương pháp phổ biến hiện nay, cho phép các ứng dụng web và di động giao tiếp một cách linh hoạt.

Chức năng quan trọng nhất của REST là quy định cách sử dụng các phương thức HTTP như GET, POST, PUT, DELETE và 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ã ứ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 RESTful API.

GitHub

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

GitHub là một nền tảng 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 Ngoài ra, GitHub còn bổ sung các tính năng xã hội, giúp các nhà phát triển tương tác và kết nối với nhau hiệu quả hơn.

GIT là một 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ó hỗ trợ đồng bộ mã nguồn của nhóm lên một máy chủ, đồng thời cung cấp các tính năng kiểm tra mã nguồn trong quá trình làm việc như so sánh (diff), kiểm tra thay đổi, hiển thị lịch sử và hợp nhất 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 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à mạng xã hội lớn nhất và thân thiện nhất dành 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.

Thiết kế và xây dựng phần mềm quản lý khách sạn là một dự án quan trọng dưới sự hướng dẫn của ThS Từ Thanh Trí Dự án cho phép người dùng theo dõi hoạt động của các dự án khác, cung cấp cái nhìn tổng quan về quy trình phát triển phần mềm Ngoài ra, tính năng theo dõi người dùng giúp nắm bắt hoạt động của những người khác trong hệ thống.

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à một phương tiện truyền tải thông tin giữa Client và Server, được định dạng bằng JSON Chuỗi JWT bao gồm ba phần chính: header, payload và signature, được phân tách bởi dấu “.”.

Hình 2.8 Cấu trúc JWT (JSON web token)

Trong thiết kế và xây dựng phần mềm quản lý khách sạn, phần header sẽ chứa kiểu dữ liệu và thuật toán sử dụng để mã hóa chuỗi JWT.

“typ” (type) ch raỉ rằềng đốếi ượtng là một JWT

Thuật toán mã hóa cho chuỗi token được xác định bởi "alg" (algorithm) là HS256 Phần payload chứa thông tin cần thiết như tên người dùng, userId và tác giả Chữ ký (signature) được tạo ra bằng cách mã hóa phần header và payload cùng với một chuỗi bí mật (secret).

Thiết kế & xây dựng phần mềm 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à trường hợp phổ biến nhất sử dụng JWT, cho phép người dùng truy cập vào các URL, dịch vụ và tài nguyên mà mã Token cấp quyền Sau khi người dùng đăng nhập, các yêu cầu tiếp theo sẽ bao gồm mã JWT, giúp duy trì quyền truy cập mà không bị ảnh hưởng bởi Cross-Origin Resource Sharing (CORS) do 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 phần 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 nó 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, tạo ra trạng thái chờ cho đến khi hoàn tất từng dòng mã.

Lập trình bất đồng bộ (Asynchronous) cho phép thực thi các tác vụ độc lập mà không cần phải chạy tuần tự, giúp các tác vụ có thể thực hiện song song Điều này không chỉ nâng cao hiệu suất hoạt động của ứng dụng mà còn tối ưu hóa thời gian xử lý, mang lại trải nghiệm người dùng tốt hơn.

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 ra tình trạng blocking, chẳng hạn như truy cập vào website, nơi mà thời gian tải trang có thể bị chậm Ngoài việc truy cập web, còn nhiều xử lý khác như làm việc với file và hình ảnh cũng nên được triển khai theo cách bất đồng bộ để tối ưu hiệu suất.

Cookies là các tệp tin tạm thời được tạo ra tự động trên máy tính khi người dùng truy cập 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 trong những lần sau.

Thiết kế & xây dựng phần mềm 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

Người dùng (Users) Phòng (Rooms) Đặt phòng (Bookings) Phân tích chi tiết từng thực thể Người dùng (Users)

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

Tên tài khoản Email Mật khẩu

Là quản trị viên Phòng (Rooms)

Mã id Tên phòng Hình ảnh Giá mỗi ngày Loại

Mô tả Đặt phòng (Bookings)

Mã khách hàng Ngày đặt Ngày trả

Mã giao dịch Trạng thái Đặ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

Thiết kế & xây dựng phần mềm 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

Description String Null Đặt phòng (Bookings)

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

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm 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

- Dòng sự kiện phụ Dòng thứ nhất:

Người dùng hủy yêu cầu đăng nhập

Hệ thống trả về trang chủ Kết thúc Usecase Dòng thứ hai:

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

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

- Dòng sự kiện phụ Dòng thứ nhất:

Người dùng hủy yêu cầu đăng ký

Hệ thống trả về trang chủ Kết thúc Usecase Dòng thứ hai:

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.

Thiết kế & xây dựng phần mềm 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 Dòng thứ 1:

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 Kết thúc Usecase

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

- Dòng sự kiện phụ Dòng thứ nhất:

Thiết kế & xây dựng phần mềm 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 Kết thúc Usecase

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 - Ràng buộc:

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 Kết thúc Use case

Thiết kế & xây dựng phần mềm 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 Kết thúc Use case

Thiết kế & xây dựng phần mềm 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ể

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

Sơ đồ lớp

Thiết kế & xây dựng phần mềm 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ý

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm 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 A.

Hình 3.10 Giao diện đăng nhập

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

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ủ.

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

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

Thiết kế & xây dựng phần mềm 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 thực hiện thao tác tìm kiếm hoặc đặt phòng Để truy cập vào giao diện trang chủ, người dùng cần phải đăng nhập hoặc đăng ký tài khoản.

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

Hình 3.14 Giao diện thanh toán

Hình 3.Cửa số thông tin thẻ thanh toán

Thiết kế & xây dựng phần mềm 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

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ủ.

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm 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 thực hiện thao tác tìm kiếm hoặc đặt phòng Để truy cập vào giao diện trang chủ, người dùng cần phải đăng nhập hoặc đăng ký tài khoản.

Thiết kế & xây dựng phần mềm 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

Thiết kế & xây dựng phần mềm 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.

Thiết kế & xây dựng phần mềm quản lý khách sạn GV: ThS Từ Thanh Trí

Ngày đăng: 20/09/2023, 14:57

HÌNH ẢNH LIÊN QUAN

Hình 2.3. MongoDB - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 2.3. MongoDB (Trang 13)
Hình 2.4 NodeJS - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 2.4 NodeJS (Trang 14)
Hình 2.5. Github - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 2.5. Github (Trang 17)
Hình 2.8. Cấu trúc JWT (JSON web token) - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 2.8. Cấu trúc JWT (JSON web token) (Trang 18)
Hình 3.1 Lược đồ Use case tổng quát - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.1 Lược đồ Use case tổng quát (Trang 23)
Hình 3.2 Mô hình quan hệ thực thể - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.2 Mô hình quan hệ thực thể (Trang 29)
Hình 3.3 Sơ đồ lớp - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.3 Sơ đồ lớp (Trang 30)
Hình 3.4 Lượt đồ tuần tự cho chức năng đăng nhập - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.4 Lượt đồ tuần tự cho chức năng đăng nhập (Trang 31)
Hình 3.6 Lược đồ tuần tự cho chức năng quản lý phòng - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.6 Lược đồ tuần tự cho chức năng quản lý phòng (Trang 32)
Hình 3.7 Lược đồ tuần tự cho chức năng tìm phòng - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.7 Lược đồ tuần tự cho chức năng tìm phòng (Trang 33)
Hình 3.11 Giao diện đăng ký - (Tiểu luận) báo cáo môn học công nghệ phần mềm thiết kế và xây dựng phần mềm quản lý khách sạn
Hình 3.11 Giao diện đăng ký (Trang 36)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w