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

Xây dựng ứng dụng booking khách sạn và xe kết hợp với

106 6 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 đề Xây Dựng Ứng Dụng Booking Khách Sạn Và Xe Kết Hợp Với Review Du Lịch
Tác giả Trần Hữu Trí, Nguyễn Huy Trí Dũng
Người hướng dẫn Thầy Huỳnh Tuấn Anh
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 106
Dung lượng 11 MB

Cấu trúc

  • Chương 1: GIỚI THIỆU (45)
    • 1.1. Đặt vấn đề (13)
    • 1.2. Cách giải quyết (13)
    • 1.3. Lý do chọn đề tài này (13)
    • 1.4. Đối tượng (13)
    • 1.5. Mục tiêu (13)
  • Chương 2: TỔNG QUAN (15)
    • 2.1. Tổng quan về đồ án (15)
      • 2.1.1. Tên đồ án (15)
      • 2.1.2. Link github quản lý source code (15)
    • 2.2. Cơ sở lý thuyết (15)
      • 2.2.1. Nền tảng Cross Platform (15)
        • 2.2.1.1. Cross Platform là gì ? (15)
        • 2.2.1.2. Ưu điểm, hạn chế của Cross Platform (17)
      • 2.2.2. Restful API (17)
        • 2.2.2.1. Restful API là gì ? (17)
        • 2.2.2.2. Hoạt động của restful API (18)
        • 2.2.2.3. Express JS (19)
      • 2.2.3. WebSocket (19)
        • 2.2.3.1. Khái niệm (19)
        • 2.2.3.2. Ưu và nhược điểm (19)
      • 2.3.1. Flutter (20)
        • 2.3.1.1. Flutter là gì ? (20)
        • 2.3.1.2. Flutter giúp phát triển ứng dụng như thế nào ? (20)
      • 2.3.2. JWT for authentication (22)
        • 2.3.2.1. JWT là gì ? (22)
        • 2.3.2.2. JWT hoạt động như thế nào ? (22)
        • 2.3.2.3. JWT có lợi ích gì trong authentication ? (23)
      • 2.3.3. Node js (23)
      • 2.3.4. Ngôn ngữ Dart (24)
        • 2.3.4.1. Dart là gì? (24)
        • 2.3.4.2. Lịch sử hình thành ngôn ngữ dart (25)
        • 2.3.4.3. Lợi ích của ngôn ngữ dart (25)
      • 2.3.5. Ngôn ngữ JavaScript (26)
        • 2.3.5.1. JavaScript là gì (26)
        • 2.3.5.2. Lịch sử phát triển của JavaScript (26)
        • 2.3.5.3. Ưu và nhược điểm sử dụng JavaScript (27)
      • 2.3.6. Mô hình Bloc của Flutter (28)
        • 2.3.6.1. Bloc là gì ? (28)
        • 2.3.6.2. Lợi ích của việc sử dụng Bloc ? (28)
      • 2.3.7. Công cụ Intellij IDEA (29)
        • 2.3.7.1. Intellij IDEA là gì (29)
        • 2.3.7.2. Những lợi ích của Intellij IDEA (30)
      • 2.3.8. Dịch vụ GitHub (30)
  • Chương 3: PHÂN TÍCH, THIẾT KẾ (32)
    • 3.1. Cơ sở dữ liệu (32)
      • 3.1.1. Sơ đồ lớp (32)
      • 3.1.2. Mô tả cơ sở dữ liệu (32)
        • 3.1.2.1. User (32)
        • 3.1.2.2. Tour (33)
        • 3.1.2.3. Rating (34)
        • 3.1.2.4. JWT (34)
        • 3.1.2.5. Hotel Room (34)
        • 3.1.2.6. Hotel (35)
        • 3.1.2.7. Files (36)
        • 3.1.2.8. Favorite (36)
        • 3.1.2.9. Date Booking (36)
        • 3.1.2.10. Car Service (37)
        • 3.1.2.11. Avatar (37)
        • 3.1.2.12. Destination (38)
    • 3.2. Danh sách yêu cầu (38)
      • 3.2.1. Danh sách các chức năng chính (38)
    • 3.3. Danh sách usecase (44)
      • 3.3.1. Sơ đồ usecase (44)
      • 3.3.2. Mô tả tác nhân (45)
      • 3.3.3. Mô tả use case (45)
      • 3.3.4. Đặc tả use case (46)
    • 3.4. Thiết kế giao diện (75)
      • 3.4.2. Đăng ký (76)
      • 3.4.3. Giao diện chính (77)
      • 3.4.4. Xem danh sách tour (80)
      • 3.4.5. Xem danh sách hotel (83)
      • 3.4.6. Xem danh sách xe (86)
      • 3.4.7. Giao diện tìm kiếm (88)
      • 3.4.8. Giao diện xem lịch sử đơn (90)
      • 3.4.9. Giao diện thông tin tài khoản (92)
      • 3.4.10. Giao diện thiết lập tài khoản (93)
      • 3.4.11. Giao diện quản lý dịch vụ (93)
      • 3.4.12. Giao diện quản lý bài đăng (94)
      • 3.4.13. Giao diện quản lý đơn booking (94)
      • 3.4.14. Giao diện tạo hotel (95)
      • 3.4.15. Giao diện tạo xe (96)
      • 3.4.16. Giao diện tạo tour (97)
      • 3.4.17. Giao diện tạo destination (97)
      • 3.4.18. Giao diện chỉnh sửa hotel (98)
      • 3.4.19. Giao diện chỉnh sửa xe (98)
      • 3.4.20. Giao diện chỉnh sửa destination (99)
      • 3.4.21. Giao diện chỉnh sửa tour (99)
      • 3.4.22. Giao diện booking hotel (100)
      • 3.4.23. Giao diện booking xe (100)
      • 3.4.24. Giao diện đặt đơn thành công của xe và hotel (101)
      • 3.4.25. Giao diện danh sách yêu thích (101)
  • Chương 4: KẾT LUẬN (102)
    • 4.1. Kết quả đạt được (102)
      • 4.1.1. Chủ đề cấp độ 3 (0)
        • 4.1.1.1. Chủ đề cấp độ 4 (0)
    • 4.2. Đánh giá ứng dụng (102)
    • 4.3. Hướng phát triển mở rộng (102)
    • 4.4. Yêu cầu cài đặt (103)
  • Chương 5: PHÂN CÔNG CÔNG VIỆC (104)
  • TÀI LIỆU THAM KHẢO.....................................................................................86 (106)

Nội dung

GIỚI THIỆU

Đặt vấn đề

Ngày nay, các dịch vụ về du lịch là 1 nhu cầu thiết yếu, ai cũng cần đi du lịch và ai cũng muốn trải nghiệm những dịch vụ du lịch trở nên tiện lợi dù bạn đang ở nơi đâu Bên cạnh đó, chúng ta cũng có những nhóm nguời muốn được tự mình khám phá tự mình lên kế hoạch để đi nhưng chưa biết bắt đầu từ đâu nên đã gây khá nhiều bất tiện trong việc du lịch tự túc.

Cách giải quyết

Sau khi hiểu đuợc tình hình trên, nhóm em đã lên ý tưởng xây dựng 1 ứng dụng

“Booking khách sạn và xe kết hợp với review du lịch” Ứng dụng này ra đời nhằm đáp ứng các nhu cầu thực hiện hoá việc đi chơi tự túc trở nên dễ dàng hơn đối với mọi nguời, và cũng như cho các chủ khách sạn có thể dễ dàng tiếp cận với khách hàng hơn thông qua ứng dụng này để cung cấp dịch vụ cho khách hàng của mình thông qua 1 ứng dụng.

Lý do chọn đề tài này

Lý do bọn em chọn đề tài này là để cung cấp 1 công cụ có thể giúp cho ngời dùng có thể dễ dàng chủ động trong việc du lịch tự túc cũng như bản thân của bọn em và có thể dễ dàng hơn trong việc lên kế hoạch và booking trong việc du lịch tự túc và cũng thuận tiện hơn cho các chủ doanh nghiệp giới thiệu dịch vụ của mình đến người dùng.

Đối tượng

Nhóm đối tượng mà bọn em hướng đến đó là nhóm người dùng muốn đi du lịch tự túc và nhóm chủ khách sạn hoặc chủ xe muốn cung cấp dịch vụ cho người du lịch tự túc nhằm tạo ra cầu nối những các chủ dịch vụ với khách hàng.

Mục tiêu

Xây dựng ứng dụng hỗ trợ cho người dùng muốn trải nghiệm du lịch tự túc, đồng thời cũng cung cấp 1 ứng dụng hoạt động như một nơi chia sẽ các kế hoạch du lịch tự túc của mọi người với nhau, một cầu nối giữa các doanh nghiệp với người dùng để tiện lợi hơn trong các việc đặt phòng khách sạn hoặc thuê xe cho du lịch.

Xây dựng 1 giao diện phần mềm một cách trực quan, sinh động, thân thiện với ngời dùng hơn Các xử lý thành phần hoạt động một cách thực tế và mượt mà hơn để đem lại trải nghiêm thú vị và đồng thời tiện ích cho người dùng lẫn các doanh nghiệp.

TỔNG QUAN

Tổng quan về đồ án

 Tên tiếng việt: Xây dựng ứng dụng booking khách sạn và xe kết hợp với review du lịch.

2.1.2 Link github quản lý source code:

- Link github ứng dụng mobile dành cho nguời dùng lẫn doanh nghiệp: https://github.com/20520327/DA1_Front_end

- Link github server backend: https://github.com/Dcode-D/Do_an_1

Cơ sở lý thuyết

Đồ án được xây dựng dựa trên những cơ sở lý thuyết sau:

 “Trong công nghệ điện toán, đa nền tảng (tiếng Anh: cross-platform hay multiplatform) là một thuật ngữ chỉ các phần mềm máy tính hay các phương thức điện toán và cáckhái niệm được thực thi đầy đủ và vận hành cùng nhau trên nhiều nền tảng máy tính Phần mềm đa nền tảng có thể được chia thành hai loại; một loại yêu cầu phải thiết kế hoặc biên dịch từng phiên bản cho mỗi nền tảng nó hỗ trợ; loại kia có thể chạy trực tiếp trên bất cứ nềntảng nào mà không cần sự chuẩn bị thêm đặc biệt nào - chẳng hạn như phần mềm được viết bằng một ngôn ngữ thông dịch hay được biên dịch trước sang mã bytecode có khả năng di động bằng một trình thông dịch hay các gói run-time thường dùng hoặc là thành phần tiêu chuẩn trên mọi nền tảng”.

 Cross Platform hay Multi Platform là thuật ngữ được sử dụng để chỉ các ứng dụng đa nền tảng Hiểu đơn giản, chỉ với một bản code, bạn có thể phiên dịch và sử dụng trên nhiều nền tảng hệ điều hành khác nhau, các môi trường lập trình khác nhau hoặc thậm chí là trên các loại thiết bị phần cứng vật lý khác nhau Điều này sẽ giúp lập trình viên tiết kiệm được rất nhiều công sức và thời gian đáng kể.

 Chính vì điều đó mà Cross Platform thường được các lập trình viên ưa chuộng Tuy nhiên, dựa vào các ưu và nhược điểm của các Framework bởi Cross Platform sử dụng Framework đa nền tảng để áp dụng vào công việc của mình.

 Cho đến thời điểm hiện tại, React-Native, Xamarin và Flutter đang được xem là 3 nền tảng phổ biến nhất được cho phép phát triển ứng dụng trên smartphone với các hệ điều hành khác nhau (cross-platform mobile development) Chỉ cần với 1 chương trình đuợc viết thì có thể chạy trên hầu hết tất cả nền tảng; Cụ thể hơn đó là 1 project nhưng có thể tạo ra ứng dụng chạy trên các smartphone có hệ điều hành khác nhau.

Hình 2 Cross-platform mobile development

2.2.1.2 Ưu điểm, hạn chế của Cross Platform:

 Khi bạn dùng Cross platform ở nhiều phiên bản khác bạn vẫn có thể sử dụng một bản code.

 Khi sử dụng Cross platform bạn sẽ tiết kiệm được nhiều chi phí và công sức ngồi viết code.

 Cross platform rất phù hợp cho những dự án lớn và đòi hỏi tính linh hoạt đa dạng.

 Cross Platform không có khả năng khai thác thư viện của Android hoặc IOS

 Việc cấp phép cho công nghệ của ứng dụng Cross Platform phức tạp và khó khăn

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng

Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.

 API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML.

 REST (REpresentational State** T**ransfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.

 RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau.

2.2.2.2 Hoạt động của restful API:

 REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.

+ GET (SELECT): Trả về một Resource hoặc một danh sách Resource. + POST (CREATE): Tạo mới một Resource.

+ PUT (UPDATE): Cập nhật thông tin cho Resource.

+ DELETE (DELETE): Xoá một Resource.

 Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.

 Hiện tại đa số lập trình viên viết RESTful API giờ đây đều chọn JSON là format chính thức nhưng cũng có nhiều người chọn XML làm format, nói chung dùng thế nào cũng được miễn tiện và nhanh.

 Expressjs là một framework được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile. Expressjs hỗ trợ các method HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.

 Tổng hợp một số chức năng chính của Expressjs như sau:

+ Thiết lập các lớp trung gian để trả về các HTTP request.

+ Define router cho phép sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL.

+ Cho phép trả về các trang HTML dựa vào các tham số.

 WebSocket là một giao thức truyền tải dữ liệu hai chiều (full-duplex) trên web, cho phép truyền tải dữ liệu trong thời gian thực giữa trình duyệt web và máy chủ WebSocket cho phép một kết nối duy trì giữa máy khách và máy chủ, vì vậy các thông tin có thể được gửi đi và nhận lại một cách hiệu quả và nhanh chóng mà không cần phải thiết lập kết nối mới mỗi khi truyền tải thông tin.

 WebSocket thường được sử dụng để phát triển các ứng dụng web thời gian thực như trò chơi trực tuyến, ứng dụng trò chuyện và các ứng dụng cập nhật dữ liệu trực tiếp WebSocket được thiết kế để thay thế các giải pháp truyền tải dữ liệu trực tiếp khác như Ajax hoặc Comet, vì nó có hiệu suất cao hơn và tiết kiệm năng lượng hơn.

2.2.3.2 Ưu và nhược điểm: Ưu điểm: o Giao tiếp hai chiều: WebSocket cung cấp khả năng giao tiếp hai chiều giữa trình duyệt và máy chủ, cho phép gửi và nhận dữ liệu thực như trò chơi trực tuyến, ứng dụng trò chuyện và cập nhật dữ liệu trực tiếp. o Hiệu suất cao: WebSocket có hiệu suất cao hơn so với các giải pháp truyền tải dữ liệu trực tiếp khác như Ajax hoặc Comet Với WebSocket, không có độ trễ trong quá trình thiết lập kết nối và truyền tải dữ liệu nhanh chóng. o Tiết kiệm năng lượng: WebSocket sử dụng kết nối duy trì, cho phép truyền tải dữ liệu mà không cần gửi các yêu cầu HTTP không cần thiết Điều này giúp tiết kiệm băng thông mạng và năng lượng của máy khách và máy chủ.

Nhược điểm: o Hạn chế tương thích: Mặc dù hầu hết các trình duyệt hiện đại đều hỗ trợ WebSocket, nhưng vẫn có một số trình duyệt cũ hơn không hỗ trợ giao thức này Điều này có thể gây ra sự không tương thích giữa các phiên bản trình duyệt và yêu cầu sử dụng các giải pháp thay thế cho các trình duyệt không hỗ trợ WebSocket. o Thiết lập kết nối ban đầu phức tạp: Trong quá trình thiết lập kết nối ban đầu, WebSocket sử dụng một số yêu cầu HTTP để thiết lập kênh truyền thông Điều này có thể tạo ra một số độ trễ ban đầu và tác động đến hiệu suất trong giai đoạn khởi đầu.

 Flutter được phát triển nhằm giải quyết bài toán thường gặp trong mobile là Fast Development và Native Performance Nếu như React Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên.

2.3.1.2 Flutter giúp phát triển ứng dụng như thế nào ?

 Phát triển ứng dụng gốc so với phát triển ứng dụng đa nền tảng

PHÂN TÍCH, THIẾT KẾ

Cơ sở dữ liệu

Biểu đồ 1 Sơ đồ lớp cơ sở dữ liệu

3.1.2 Mô tả cơ sở dữ liệu:

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của người dùng

2 Username String Username người dùng

3 Password String Mật khẩu người dùng

4 Gender Number Giới tính nguời dùng

5 Email String Email của người dùng

6 First Name String Tên của người dùng

7 Last Name String Họ của người dùng

8 Address String Địa chỉ của người dùng

9 Phonenumber String Số điện thoại của người dùng

Bảng 1 Bảng các thuộc tính của model User

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Tour

2 User String Foreign key Id của người tạo ra tour

3 Name String Tên của tour

4 Description String Miêu tả về tour

5 Destinations List Foreign Key Danh sách các địa điểm của tour

6 Price Number Mức tiền của tour

7 Rating Number Đánh giá của

8 Duration Number Số ngày của tour

Number Số người phù hợp cho tour

Bảng 2 Bảng các thuộc tính của model Tour

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Rating

2 User String Foreign Key Id của người đánh giá

3 Service String Foreign Key Id của dịch vụ được đánh giá

4 Comment String Nội dung đánh giá

5 Type String Thể loại của dịch vụ được đánh giá

Bảng 3 Bảng các thuộc tính của model Rating

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Json web token

2 Jwtdata String Dữ liệu của json web token

4 Userid String Id của người dùng

5 expireAt Date Ngày hết hạn của token

Bảng 4 Bảng các thuộc tính của model JWT

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Hotel room

3 Hotel String Foreign Key Id của hotel

4 adultCapacity Number Số người lớn phòng chứa được

5 childrenCapacity Number Số con nít phòng chứa được

9 CheckOutHour Number Giờ Check Out

Bảng 5 Bảng các thuộc tính của model Hotel Room

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Hotel

2 Name String Tên của Hotel

3 Address String Địa chỉ của

4 Owner String Foreign Key Id của chủ

5 Description String Mô tả Hotel

6 Images List Foreign Key Danh sách hình ảnh hotel

7 Province String Tỉnh của hotel

8 City String Thành phố của hotel

Bảng 6 Bảng các thuộc tính của model Hotel

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của File

3 Path String Đường dẫn của file

4 Description String Mô tả của file

5 attachedId String Foreign Key Id service

7 publishedBy String Foreign Key Id người upload

Bảng 7 Bảng các thuộc tính của model Files

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Favorite

2 User String Foreign Key Id của người yêu thích

3 Element String Foreign Key Id của service yêu thích

4 Type String Thể loại dịch vụ yêu thích

Bảng 8 Bảng các thuộc tính của model Favorite

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Date

2 startDate Date Ngày bắt đầu booking

3 endDate Date Ngày kết thúc booking

4 User String Foreign Key Id người book

6 Approved Boolean Trạng thái chấp nhận đơn

7 Suspended Boolean Trạng thái huỷ đơn

8 Type String Thể loại book

9 attachServices List Foreign Key Danh sách dịch vụ được book

Bảng 9 Bảng các thuộc tính của model DateBooking

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Car

3 Seats Number Số lượng người xe có thể chứa

4 pricePerDay Number Giá xe theo ngày

6 Images List Foreign Key Danh sách hình xe

7 Description String Mô tả xe

8 Owner String Foreign Key Id của chủ xe

9 Province String Phường của xe

10 City String Thành phố của xe

11 Address String Địa chỉ của xe

12 licensePlate String Biển số xe

Bảng 10 Bảng các thuộc tính của model Car Service

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của Avatar

2 Path String Đường dẫn file hình

3 createdDate Date Ngày tạo hình

Bảng 11 Bảng các thuộc tính của model Avatar

STT Thuộc tính Kiểu dữ liệu Ràng buộc Chú thích

1 _id String Primary Key Id của

2 Description String Mô tả địa điểm

3 City String Thành phố của địa điểm

4 Province String Phường của địa điểm

5 Address String Địa chỉ địa điểm

6 Name String Tên của địa điểm

7 Title String Tựa đề địa điểm

9 publishedBy String Foreign Key Id người upload

Bảng 12 Bảng các thuộc tính của model Destination

Danh sách yêu cầu

3.2.1 Danh sách các chức năng chính:

STT Chức năng Nguời dùng Hệ thống Ghi chú

Người dùng sẽ nhập thông tin của tài khoản mình vào những hàng thông tin cần để tạo tài khoản

Hệ thống sẽ thu nhập thông tin của người dùng đã nhập vào người dùng và gửi request lên server với thông tin của bạn để tạo dữ liệu lưu vào cơ sở dữ liệu

2 Đăng nhập Người dùng sẽ nhập Hệ thống sẽ thu thập thông tin tài khoản của mình tài khoản bạn nhập vào và gửi lên request lên server để yêu cầu đăng nhập để cấp token và quyền truy cập cho bạn

3 Chỉnh sửa tài khoản Người dùng sẽ nhập thông tin cần thay đổi vào trong những hàng mình muốn thay đổi

Hệ thống sẽ thu thập và gửi request cập nhật vào tài khoản của bạn dựa vào Id người dùng của bạn

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

Người dùng sẽ nhập mật khẩu mới cần được cập nhật vào tài khoản

Hệ thống sẽ thu thập thông tin và gửi request cập nhật mật khẩu cho tài khoản theo id người dùng

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

5 Thay đổi avatar Nguời dùng sẽ truy cập vào phương thức để lấy hình ảnh và chọn cho mình 1 bức ảnh

Hệ thống sẽ thu thập và gửi thông tin kèm theo file để cập nhật ảnh đại diện

6 Đăng xuất Người dùng sẽ ấn vào nút đăng xuất

Hệ thống sẽ nhận và bỏ token hiện tại đi và đưa về màn hình chính

7 Tạo tour Người dùng sẽ nhập những thông tin cần để tạo thành thông tin cho tour

Hệ thống sẽ thu thập và gửi request lên server để tạo dữ liệu trong cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin tour thông tin cần thay đổi của tour thông tin đó rồi gửi lên server để cập nhật vào cơ sở dữ liệu trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

9 Xoá tour Người dùng sẽ nhấp vào nút xoá của tour họ muốn xoá

Hệ thống sẽ gửi request xoá lên server và xoá trong cơ sở dữ liệu

10 Tạo destination Người dùng sẽ nhập những thông tin cần để tạo thành thông tin cho destination

Hệ thống sẽ thu thập và gửi request lên server để tạo dữ liệu trong cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

Người dùng sẽ nhập thông tin cần thay đổi của destination

Hệ thống sẽ thu thập thông tin đó rồi gửi lên server để cập nhật vào cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

12 Xoá destination Người dùng sẽ nhấp vào nút xoá của destination họ muốn xoá

Hệ thống sẽ gửi request xoá lên server và xoá trong cơ sở dữ liệu

13 Tạo hotel Người dùng sẽ nhập những thông tin cần để tạo thành thông tin cho hotel

Hệ thống sẽ thu thập và gửi request lên server để tạo dữ liệu trong cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

Người dùng sẽ nhập thông tin cần thay đổi

Hệ thống sẽ thu thập thông tin đó rồi gửi

Nếu để trống thì sẽ của hotel lên server để cập nhật vào cơ sở dữ liệu hiện thông báo yêu cầu người dùng nhập thông tin

15 Xoá hotel Người dùng sẽ nhấp vào nút xoá của hotel họ muốn xoá

Hệ thống sẽ gửi request xoá lên server và xoá trong cơ sở dữ liệu

Người dùng sẽ nhập những thông tin cần để tạo thành thông tin cho hotel room

Hệ thống sẽ thu thập và gửi request lên server để tạo dữ liệu trong cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

17 Chỉnh sửa hotel room Người dùng sẽ nhập thông tin cần thay đổi của hotel room

Hệ thống sẽ thu thập thông tin đó rồi gửi lên server để cập nhật vào cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

Người dùng sẽ nhấp vào nút xoá của hotel room họ muốn xoá

Hệ thống sẽ gửi request xoá lên server và xoá trong cơ sở dữ liệu

19 Tạo vehicle Người dùng sẽ nhập những thông tin cần để tạo thành thông tin cho vehicle

Hệ thống sẽ thu thập và gửi request lên server để tạo dữ liệu trong cơ sở dữ liệu

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

20 Chỉnh sửa vehicle Người dùng sẽ nhập thông tin cần thay đổi Hệ thống sẽ thu thập thông tin đó rồi gửi Nếu để trống thì sẽ nhật vào cơ sở dữ liệu báo yêu cầu người dùng nhập thông tin

21 Xoá vehicle Người dùng sẽ nhấp vào nút xoá của vehicle họ muốn xoá

Hệ thống sẽ gửi request xoá lên server và xoá trong cơ sở dữ liệu

22 Quản lý booking của dịch vụ của mình

Người dùng sẽ nhận được mỗi khi có đơn đến (nếu mình có tạo dịch vụ) và tuỳ vào quyết định của mình để chấp thuận đơn đó hoặc chọn huỷ đơn

Khi một hành động được thực hiện trong quản lý dịch vụ thì hệ thống sẽ gửi yêu cầu theo hành động của nguời dùng lên server để thực hiện

23 Booking dịch vụ Người dùng sẽ cần nhập những thông tin để tạo nên đơn cho mình

Hệ thống sẽ lắng nghe yêu cầu và gửi yêu cầu lên server để tạo đơn cho chúng ta

Nếu để trống thì sẽ hiện thông báo yêu cầu người dùng nhập thông tin

24 Quản lý booking của bản thân

Người dùng sẽ tự quan sát trạng thái đơn của mình và có thể chủ động huỷ và xoá nếu không cần đơn đó

Hệ thống sẽ lắng nghe yêu cầu và gửi yêu cầu lên server để thực hiện

25 Thêm vào yêu thích Người dùng sẽ có thể lưu tại những dịch vụ hoặc tour bạn yêu thích lên hệ thống

Hệ thống sẽ gửi yêu cầu lên server để lưu lại mục yêu thích của nguời dùng

26 Tìm kiếm dịch vụ hoặc tour

Người dùng sẽ nhập tên mình muốn tìm kiếm vào mục tìm kiếm

Hệ thống sẽ lấy thông tin cần tìm kiếm gửi yêu cầu lên server để lấy thông tin theo yêu cầu tìm kiếm của người dùng

27 Đánh giá tour hoặc dịch vụ

Người dùng nhập đánh giá của mình vào Hệ thống sẽ dựa trên mục người dùng chọn để gửi yêu cầu về server tạo đánh giá cho mục người dùng đánh giá

Bảng 13 Bảng các chức năng chính của ứng dụng

Danh sách usecase

Biểu đồ 2 Sơ đồ usecase của ứng dụng

STT Tên tác nhân Mô tả

1 Người dùng Người dùng sử dụng để sử dụng booking và xem và tạo các tour cũng như các địa danh

2 Chủ dịch vụ Quản lí dịch vụ và các đơn booking của mình cũng đồng thời đăng quảng cáo về các địa danh nơi mình

Bảng 14 Bảng mô tả tác nhân

STT Tên chức năng Mô tả

1 Đăng ký Đăng ký tài khoản mới

2 Đăng nhập Đăng nhập vào ứng dụng

3 Thay đổi mật khẩu Đổi mật khẩu đăng nhập vào tài khoản ứng dụng

4 Thiết lập tài khoản Người dùng cập nhật các thông tin cá nhân của mình, ảnh đại diện

5 Tra cứu tour hoặc dịch vụ

Người tìm kiếm tour hoặc dịch vụ theo từ khoá của mình

6 CRUD Tour Người dùng có thể tạo, xoá ,sửa tour mình muốn đăng lên

7 CRUD Destination Người dùng có thể tạo, xoá, sửa thông tin địa danh mình muốn đăng lên

8 Booking Nguời dùng có thể thực hiện đặt khách sạn hoặc thuê xe

9 Thêm vào mục yêu thích

Người dùng có thể thêm các dịch vụ hoặc tour mình yêu thích vào danh mục của mình.

10 Đánh giá Người dùng có thể đánh giá tour hoặc dịch vụ

11 CRUD hotel Cho phép chủ dịch vụ thêm, xoá, sửa hotel

12 CRUD hotel room Cho phép chủ dịch vụ thêm, xoá, sửa hotel room

13 CRUD vehicle Cho phép chủ dịch vụ thêm, xoá, sửa vehicle

14 Cập nhật trạng thái Cho phép chủ dịch vụ duyệt các booking dịch vụ

Bảng 15 Bảng mô tả use case

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng đăng ký tài khoản sử dụng

Tác nhân Khách hàng Điều kiện trước Truy cập vào ứng dụng Điều kiện sau Một tài khoản mới được tạo và gửi thông tin lên server để lưu vào database Luồng chính 1 Hệ thống hiển thị trang đăng nhập

2 Người dùng bấm vào “Đăng ký”

3 Hệ thống hiển thị trang đăng ký

4 Người dùng nhập toàn bộ thông tin cần cho tài khoản mới và bấm đăng ký.

5 Hệ thống sẽ kiểm tra định dạng và gửi lên server

6 Hệ thống sẽ thông báo thành công và quay về màn hình đăng nhập Luồng thay thế 5.a Hệ thống sẽ thông báo sẽ định dạng và bắt nhập lại Luồng ngoại lệ 5.b Hệ thống sẽ thông báo tạo không thành công Các yêu cầu đặc biệt Email phải đúng định dạng

Password phải có từ 8 ký tự đổ lên, gồm các chữ cái từ A-Z, các số và có thể có kí tự đặc biệt Phải tick vào checkbox chấp nhận điều khoản

Retype password phải giống với confirm password

Bảng 16 Bảng mô tả use case đăng ký

Biểu đồ 3 Sơ đồ hoạt động UC1_đăng ký

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng đăng nhập tài khoản sử dụng Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Người dùng đã có tài khoản ứng dụng Điều kiện sau Hiển thị “Trang chủ”

Luồng Chính 1 Hệ thống sẽ hiển thị trang đăng nhập

2 Người dùng sẽ nhập thông tin tài khoản và bấm đăng ký

3 Hệ thống sẽ xác thực thông tin của nguời dùng và gửi token về để cho hệ thống xác thực

4 Hệ thống chuyển hướng sang trang Home Luồng thay thế Nếu nhập sai tài khoản hoặc mật khẩu sẽ được yêu cầu nhập lại.

Luồng ngoại lệ Không có

Các yêu cầu đặc biệt Không có

Bảng 17 Bảng mô tả use case Đăng nhập

Biểu đồ 4 Sơ đồ hoạt động UC2_đăng nhập

UC3_Thay đổi mật khẩu

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng đổi mật khẩu tài khoản ứng dụng Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đã đăng nhập vào ứng dụng Điều kiện sau Cập nhật mới vào database

Luồng chính 1 Người dùng truy cập vào thiết lập tài khoản

2 Chọn mục đổi mật khẩu

3 Nhập mật khẩu mới và bấm đổi mật khẩu

4 Hệ thống sẽ thông báo đổi mật khẩu thành công quay trở về màn hình thiết lập tài khoản Luồng thay thế 4.a Hệ thống thông báo mật khẩu quá ngắn và yêu cầu nhập lại Luồng ngoại lệ 4.b Hệ thông thông báo đổi mật khẩu thất bại Các yêu cầu đặc biệt Không có

Bảng 18 Bảng mô tả use case thay đổi mật khẩu

Biểu đồ 5 Sơ đồ hoạt động UC3_Thay đổi mật khẩu

UC4_Thiết lập tài khoản

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng thiết lập tài khoản ứng dụng Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đã đăng nhập vào ứng dụng Điều kiện sau Thông tin tài khoản được cập nhật

Luồng chính 1 Người dùng truy cập vào thiết lập tài khoản

2 Người dùng nhập lại những thông tin cần thay đổi của tài khoản.

3 Bấm vào dấu check để lưu những thay đổi.

4 Hệ thống sẽ kiểm tra định dạng các thông tin thay đổi và gửi thông báo cập nhật thành công và quay về màn hình profile.

Luồng thay thế 4.a Hệ thống sẽ thông báo sai định dạng và yêu cầu nhập lại Luồng ngoại lệ 4.b Hệ thống sẽ thông báo cập nhật thất bại và yêu cầu thử lại Các yêu cầu đặc biệt Không có

Bảng 19 Bảng mô tả use case thiết lập tài khoản

Biểu đồ 6 Sơ đồ hoạt động của UC4_Thiết lập tài khoản

UC5_Tra cứu tour hoặc dịch vụ

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng tìm kiếm tour hoặc dịch vụ Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Người dùng nhập thông tin tìm kiếm Điều kiện sau Hiển thị nội dung đã được lọc theo tìm kiếm của người dùng Luồng chính 1 Truy cập vào màn hình tìm kiếm

2 Chọn mục mình muốn tìm kiếm.

3 Nhập thông tin cần tìm kiếm và bấm tìm kiếm

4 Hệ thống sẽ trả về thông tin tìm kiếm được dựa vào tìm kiếm của mình.

Luồng thay thế Nếu tìm không thành công thì sẽ trả về màn hình trống dữ liệu Luồng ngoại lệ Không có

Các yêu cầu đặc biệt Không có

Bảng 20 Bảng mô tả use case tra cứu tour hoặc dịch vụ

Biểu đồ 7 Sơ đồ hoạt động của UC5_Tìm kiếm tour hoặc dịch vụ

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng có thể thêm, xoá, sửa tour Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết tour:

1 Truy cập vào mục tour.

2 Người dùng chọn tour họ muốn xem

3 Hệ thống sẽ trả về màn hình với thông tin của tour đó.

1 Truy cập vào trang tạo tour

2 Nhập thông tin để tạo tour

3 Bấm check để nộp thông tin tour

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

5 Hệ thống thông báo tạo thành công và cập nhật dữ liệu

1 Truy cập vào màn hình quản lý tour

2 Chọn mục tour người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm check để lưu lại dữ liệu.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình quản lý tour

2 Chọn mục tour người dùng muốn xoá

4 Hệ thống sẽ hỏi lại có thật sự muốn xoá

5 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết tour:

3.a Hệ thống không trả về dữ liệu và để màn hình loading.

4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại Luồng ngoại lệ *Tạo tour:

4.b Hệ thống báo lỗi tạo không thành công và báo thử lại.

5.b Hệ thống báo lỗi cập nhật không thành công và báo thử lại.

5.a Hệ thống xoá không thành công và báo lỗi Các yêu cầu đặc biệt Không có

Bảng 21 Bảng mô tả use case CRUD_tour

Biểu đồ 8 Sơ đồ hoạt động của UC6_CRUD Tour

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng có thể thêm, xoá, sửa destination Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết destination:

1 Truy cập vào mục destination.

2 Người dùng chọn destination họ muốn xem

3 Hệ thống sẽ trả về màn hình với thông tin của destination đó.

1 Truy cập vào trang tạo destination

2 Nhập thông tin để tạo destination

3 Bấm check để nộp thông tin destination

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

5 Hệ thống thông báo tạo thành công và cập nhật dữ liệu

1 Truy cập vào màn hình quản lý destination

2 Chọn mục destination người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm check để lưu lại dữ liệu.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình quản lý destination

2 Chọn mục destination người dùng muốn xoá

5 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết destination:

3.a Hệ thống không trả về dữ liệu và để màn hình loading.

4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại Luồng ngoại lệ *Tạo destination:

4.b Hệ thống báo lỗi tạo không thành công và báo thử lại.

5.b Hệ thống báo lỗi cập nhật không thành công và báo thử lại.

5.a Hệ thống xoá không thành công và báo lỗi Các yêu cầu đặc biệt Không có

Bảng 22 Bảng mô tả use case CRUD destination

Biểu đồ 9 Sơ đồ hoạt động của UC7_CRUD Destination

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng đặt booking cho dịch vụ mình muốn Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Trả về kết quả đặt hàng, lưu đơn hàng vào database Luồng chính 1 Nguời dùng sẽ truy cập vào dịch vụ họ muốn đặt

3 Thiết lập thông tin cho booking

4 Hệ thống sẽ kiểm tra lại thông tin

5 Hệ thống sẽ chuyển sang màn hình đặt thành công.

Luồng thay thế 4.a Hệ thống sẽ yêu cầu bổ sung thông tin thiếu Luồng ngoại lệ 4.b Hệ thống sẽ thông báo rằng đặt thất bại và thử lại.

Các yêu cầu đặc biệt Không có

Bảng 23 Bảng mô tả use case Booking

Biểu đồ 10 Sơ đồ hoạt động của UC8_Booking

UC9_Thêm vào mục yêu thích

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng đặt booking cho dịch vụ mình muốn Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Trả về kết quả đặt hàng, lưu đơn hàng vào database Luồng chính 1 Người dùng truy cập vào thông tin tour hoặc dịch vụ họ muốn thêm vào yêu thích

2 Chọn nút “yêu thích”. thích đó.

4 Nút yêu thích của mục đó sẽ thành nút “bỏ yêu thích”.

Luồng thay thế 4.a Nút yêu thích của mục đó sẽ vẫn thành nút “yêu thích”.

Luồng ngoại lệ Không có

Các yêu cầu đặc biệt Không có

Bảng 24 Bảng mô tả use case thêm vào mục ưa thích

Biểu đồ 11 Sơ đồ hoạt động của UC9_Thêm vào mục yêu thích

Tên use case Đăng ký

Mô tả Use case cho phép khách hàng có thể thêm, xoá, sửa rating Tác nhân Khách hàng, chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết rating:

1 Truy cập vào mục dịch vụ hoặc tour.

2 Hệ thống sẽ trả về màn hình với thông tin của các rating của dịch vụ đó.

1 Truy cập vào mục dịch vụ hoặc tour muốn đánh giá.

2 Nhập thông tin để tạo rating.

3 Bấm Submit để nộp thông tin rating.

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

1 Truy cập vào mục dịch vụ hoặc tour muốn đánh giá.

2 Chọn mục rating người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm Submit để nộp thông tin rating.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình quản lý rating

2 Chọn mục rating người dùng muốn xoá

4 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết rating :

2.a Hệ thống không trả về dữ liệu và để màn hình loading.

* Tạo rating : 4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

* Chỉnh sửa rating :5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại thử lại.

* Chỉnh sửa rating : 5.b Hệ thống báo lỗi cập nhật không thành công và load lại dữ liệu.

*Xoá rating : 4.a Hệ thống xoá không thành công và giữ nguyên dữ liệu cũ Các yêu cầu đặc biệt Không có

Bảng 25 Bảng mô tả use case CRUD đánh giá

Biểu đồ 12 Sơ đồ hoạt động của UC10_CRUD Đánh giá

Tên use case Đăng ký

Mô tả Use case cho phép chủ dịch vụ có thể thêm, xoá, sửa hotel

Tác nhân Chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết hotel:

1 Truy cập vào mục hotel.

2 Người dùng chọn hotel họ muốn xem

3 Hệ thống sẽ trả về màn hình với thông tin của hotel đó.

1 Truy cập vào trang tạo hotel

2 Nhập thông tin để tạo hotel

3 Bấm check để nộp thông tin hotel

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

5 Hệ thống thông báo tạo thành công và cập nhật dữ liệu

1 Truy cập vào màn hình quản lý hotel

2 Chọn mục hotel người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm check để lưu lại dữ liệu.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình quản lý hotel

2 Chọn mục hotel người dùng muốn xoá

4 Hệ thống sẽ hỏi lại có thật sự muốn xoá

5 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết hotel:

3.a Hệ thống không trả về dữ liệu và để màn hình loading.

4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại Luồng ngoại lệ *Tạo hotel:

4.b Hệ thống báo lỗi tạo không thành công và báo thử lại.

5.b Hệ thống báo lỗi cập nhật không thành công và báo thử lại.

Bảng 26 Bảng mô tả use case CRUD hotel

Biểu đồ 13 Sơ đồ hoạt động của UC11_CRUD hotel

Tên use case Đăng ký

Mô tả Use case cho phép chủ dịch vụ có thể thêm, xoá, sửa hotel room

Tác nhân Chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết hotel room:

2 Truy cập vào danh sách phòng

3 Hệ thống sẽ trả về màn hình với danh sách hotel room của hotel đó.

1 Truy cập vào trang tạo hotel room

2 Nhập thông tin để tạo hotel room

3 Bấm check để nộp thông tin hotel room

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

5 Hệ thống thông báo tạo thành công và cập nhật dữ liệu

1 Truy cập vào màn hình danh sách cái hotel room

2 Chọn nút chỉnh sửa tại mục hotel room người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm check để lưu lại dữ liệu.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình danh sách cái hotel room

2 Chọn nút xoá tại mục hotel room người dùng muốn chỉnh sửa

3 Hệ thống sẽ hỏi lại có thật sự muốn xoá

4 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết hotel room:

3.a Hệ thống không trả về dữ liệu và để màn hình loading.

4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại Luồng ngoại lệ *Tạo hotel room:

4.b Hệ thống báo lỗi tạo không thành công và báo thử lại.

5.b Hệ thống báo lỗi cập nhật không thành công và báo thử lại.

4.a Hệ thống xoá không thành công và báo lỗi Các yêu cầu đặc biệt Không có

Bảng 27 Bảng mô tả use case CRUD hotel room

Biểu đồ 14 Sơ đồ hoạt động của UC12_CRUD hotel room

Tên use case Đăng ký

Mô tả Use case cho phép chủ dịch vụ có thể thêm, xoá, sửa vehicle

Tác nhân Chủ dịch vụ Điều kiện trước Đăng nhập vào ứng dụng Điều kiện sau Cập nhật thông tin lên database

Luồng chính * Xem chi tiết vehicle:

1 Truy cập vào mục vehicle.

2 Người dùng chọn vehicle họ muốn xem

3 Hệ thống sẽ trả về màn hình với thông tin của vehicle đó.

1 Truy cập vào trang tạo vehicle

2 Nhập thông tin để tạo vehicle

3 Bấm check để nộp thông tin vehicle

4 Hệ thống sẽ kiểm tra định dạng thông tin và lưu vào cơ sở dữ liệu

5 Hệ thống thông báo tạo thành công và cập nhật

1 Truy cập vào màn hình quản lý vehicle

2 Chọn mục hotel người dùng muốn chỉnh sửa

3 Nhập những thông tin cần chỉnh sửa

4 Bấm check để lưu lại dữ liệu.

5 Hệ thống sẽ cập nhật lại dữ liệu vừa cập nhật.

1 Truy cập vào màn hình quản lý vehicle

2 Chọn mục vehicle người dùng muốn xoá

4 Hệ thống sẽ hỏi lại có thật sự muốn xoá

5 Hệ thống sẽ xoá và cập nhật lại dữ liệu Luồng thay thế * Xem chi tiết vehicle:

3.a Hệ thống không trả về dữ liệu và để màn hình loading.

4.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại

5.a Hệ thống báo lỗi định dạng và đưa về màn hình nhập lại Luồng ngoại lệ *Tạo vehicle:

4.b Hệ thống báo lỗi tạo không thành công và báo thử lại.

5.b Hệ thống báo lỗi cập nhật không thành công và báo thử lại.

5.a Hệ thống xoá không thành công và báo lỗiCác yêu cầu đặc biệt Không có

Bảng 28 Bảng mô tả use case CRUD vehicle

Biểu đồ 15 Sơ đồ hoạt động của UC13_CRUD vehicle

UC14_Thay đổi trạng thái booking

Tên use case Đăng ký

Mô tả Use case cho phép chủ dịch vụ thay đổi trạng thái booking của dịch vụ họ

Tác nhân Chủ dịch vụ Điều kiện trước Đã đăng nhập vào ứng dụng Điều kiện sau Trạng thái booking được cập nhật

Luồng chính 1 Chủ dịch vụ truy cập vào Check booking

2 Chủ dịch vụ chọn đơn họ muốn duyệt.

3 Chủ dịch vụ chọn “Approve” để duyệt cho đơn

4 Đơn được cập nhật trạng thái là đã được duyệt.

3 Chủ dịch vụ chọn “Reject” để duyệt cho đơn.

4 Đơn được cập nhật trạng thái là đã được huỷ và được quyền xoá đơn.

Luồng thay thế *Duyệt đơn:

3.a Duyệt không thành công sẽ không làm thay đổi trạng thái đơn.

*Huỷ đơn không thành công sẽ không làm thay đổi trạng thái đơn.

Luồng ngoại lệ Không có

Các yêu cầu đặc biệt Không có

Bảng 29 Bảng mô tả use case thay đổi trạng thái booking

Thiết kế giao diện

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

Hình 5 Giao diện đăng ký

Hình 7 Giao diện xem danh sách tour

Hình 8 Giao diện xem danh sách hotel

Hình 9 Giao diện xem danh sách xe

Hình 10 Giao diện xem danh sách xe

3.4.8 Giao diện xem lịch sử đơn

Hình 11 Giao diện xem lịch sử booking

3.4.9 Giao diện thông tin tài khoản

Hình 12 Giao diện thông tin tài khoản

3.4.10.Giao diện thiết lập tài khoản

Hình 13 Giao diện thiết lập tài khoản

3.4.11.Giao diện quản lý dịch vụ

3.4.12.Giao diện quản lý bài đăng

Hình 15 Giao diện quản lý bài đăng

3.4.13.Giao diện quản lý đơn booking

Hình 16 Giao diện quản lý đơn booking

Hình 18 Giao diện tạo xe

Hình 19 Giao diện tạo tour

3.4.18.Giao diện chỉnh sửa hotel

Hình 21 Giao diện chỉnh sửa hotel

3.4.19.Giao diện chỉnh sửa xe

Hình 22 Giao diện chỉnh sửa xe

3.4.20.Giao diện chỉnh sửa destination

Hình 23 Giao diện chỉnh sửa destination

3.4.21.Giao diện chỉnh sửa tour

Hình 25 Giao diện booking hotel

Hình 26 Giao diện booking xe

3.4.24.Giao diện đặt đơn thành công của xe và hotel

Hình 27 Giao diện booking thành công

3.4.25.Giao diện danh sách yêu thích

Hình 28 Giao diện danh sách yêu thích

PHÂN CÔNG CÔNG VIỆC

BẢNG PHÂN CÔNG THỰC HIỆN ĐỒ ÁN MÔN HỌC

Họ tên SV1: Trần Hữu Trí

Họ tên SV2: Nguyễn Huy Trí Dũng MSSV: 20520459

Thiết kế, xây dựng UI, UX Lên ý tưởng các chức năng

Xây dựng view logic, logic app và áp dụng design pattern Bloc Thiết kế components

Lên ý tưởng các chức năng Thiết kế và xây dựng server ExpressJS

Nghiên cứu và triển khai các biểu đồ Duy trì các phương pháp hữu ích nhằm cải thiện giao diện

Thiết kế use-case Xây dựng logic app

Kiểm thử và fix bug Kiểm thử và fix bug

Làm báo cáo Hỗ trợ làm báo cáo

Thiết kế animation Xây dựng base instance

Vẽ sơ đồ cho báo cáo Tối ưu các event handle

Thiết kế cơ sở dữ liệu Thiết lập kết nối RealTime ĐÁNH GIÁ

Ngày đăng: 04/09/2023, 20:42

HÌNH ẢNH LIÊN QUAN

Hình 1.Cross Platform - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 1. Cross Platform (Trang 16)
Hình 2. Cross-platform mobile development - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 2. Cross-platform mobile development (Trang 17)
3.1.1. Sơ đồ lớp: - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
3.1.1. Sơ đồ lớp: (Trang 32)
Bảng 13. Bảng các chức năng chính của ứng dụng - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 13. Bảng các chức năng chính của ứng dụng (Trang 43)
3.3.1. Sơ đồ usecase: - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
3.3.1. Sơ đồ usecase: (Trang 44)
Biểu đồ 3. Sơ đồ hoạt động UC1_đăng ký - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 3. Sơ đồ hoạt động UC1_đăng ký (Trang 47)
Biểu đồ 5. Sơ đồ hoạt động UC3_Thay đổi mật khẩu - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 5. Sơ đồ hoạt động UC3_Thay đổi mật khẩu (Trang 49)
Biểu đồ 6. Sơ đồ hoạt động của UC4_Thiết lập tài khoản - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 6. Sơ đồ hoạt động của UC4_Thiết lập tài khoản (Trang 50)
Biểu đồ 7. Sơ đồ hoạt động của UC5_Tìm kiếm tour hoặc dịch vụ - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 7. Sơ đồ hoạt động của UC5_Tìm kiếm tour hoặc dịch vụ (Trang 51)
Bảng 21. Bảng mô tả use case CRUD_tour - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 21. Bảng mô tả use case CRUD_tour (Trang 52)
Bảng 22. Bảng mô tả use case CRUD destination - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 22. Bảng mô tả use case CRUD destination (Trang 56)
Biểu đồ 9. Sơ đồ hoạt động của UC7_CRUD Destination - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 9. Sơ đồ hoạt động của UC7_CRUD Destination (Trang 58)
Biểu đồ 11. Sơ đồ hoạt động của UC9_Thêm vào mục yêu thích - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 11. Sơ đồ hoạt động của UC9_Thêm vào mục yêu thích (Trang 60)
Bảng 24. Bảng mô tả use case thêm vào mục ưa thích - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 24. Bảng mô tả use case thêm vào mục ưa thích (Trang 60)
Biểu đồ 12. Sơ đồ hoạt động của UC10_CRUD Đánh giá - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 12. Sơ đồ hoạt động của UC10_CRUD Đánh giá (Trang 64)
Biểu đồ 13. Sơ đồ hoạt động của UC11_CRUD hotel - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 13. Sơ đồ hoạt động của UC11_CRUD hotel (Trang 67)
Bảng 27. Bảng mô tả use case CRUD hotel room - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 27. Bảng mô tả use case CRUD hotel room (Trang 69)
Biểu đồ 16. Sơ đồ hoạt động của UC14_thay đổi trạng thái booking 3.4. Thiết kế giao diện - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
i ểu đồ 16. Sơ đồ hoạt động của UC14_thay đổi trạng thái booking 3.4. Thiết kế giao diện (Trang 75)
Bảng 29. Bảng mô tả use case thay đổi trạng thái booking - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Bảng 29. Bảng mô tả use case thay đổi trạng thái booking (Trang 75)
Hình 5. Giao diện đăng ký - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 5. Giao diện đăng ký (Trang 76)
Hình 6. Giao diện chính - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 6. Giao diện chính (Trang 79)
Hình 7. Giao diện xem danh sách tour - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 7. Giao diện xem danh sách tour (Trang 82)
Hình 8. Giao diện xem danh sách hotel - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 8. Giao diện xem danh sách hotel (Trang 85)
Hình 9. Giao diện xem danh sách xe - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 9. Giao diện xem danh sách xe (Trang 88)
Hình 11. Giao diện xem lịch sử booking - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 11. Giao diện xem lịch sử booking (Trang 92)
Hình 15. Giao diện quản lý bài đăng - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 15. Giao diện quản lý bài đăng (Trang 94)
Hình 18. Giao diện tạo xe - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 18. Giao diện tạo xe (Trang 96)
Hình 26. Giao diện booking xe - Xây dựng ứng dụng booking khách sạn và xe kết hợp với
Hình 26. Giao diện booking xe (Trang 100)

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w