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

đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn

50 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 50
Dung lượng 1,53 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (11)
    • 1.1. Tổng quan về đồ án (11)
    • 1.2. Ứng dụng mobile đặt phòng khách sạn (11)
    • 1.3. Khảo sát (12)
      • 1.3.1. Agoda (12)
      • 1.3.2. Booking.com (12)
      • 1.3.3. Traveloka (12)
  • Chương 2. CƠ SỞ LÝ THUYẾT (14)
    • 2.1. Ngôn ngữ Kotlin (14)
      • 2.1.1. Tổng quan về Kotlin (14)
      • 2.1.2. Tại sao lại là Kotlin? (14)
    • 2.2. Firebase (15)
      • 2.2.1. Firebase là gì? (15)
      • 2.2.2. Lịch sử hình thành và phát triển (16)
      • 2.2.3. Lợi ích khi sử dụng Firebase (16)
    • 2.3. Android Jetpack (17)
      • 2.3.1. Mô hình MVVM (17)
      • 2.3.2. Live Data (18)
      • 2.3.3. Data Binding (18)
  • Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG (19)
    • 3.1. Đối tượng và phạm vi nghiên cứu và lựa chọn giải pháp công nghệ (19)
      • 3.1.1. Đối tượng nghiên cứu (19)
      • 3.1.2. Phạm vi nghiên cứu (19)
      • 3.1.3. Lựa chọn giải pháp công nghệ (19)
    • 3.2. Mô hình Use Case (20)
      • 3.2.1. Sơ đồ Use Case (20)
    • 3.3. Phân rã và đặc tả Use Case (21)
      • 3.3.1. Use Case “Tìm khách sạn” (21)
      • 3.3.2. Use Case “Đăng nhập” (25)
      • 3.3.3. Use Case “Đặt phòng” (27)
      • 3.3.4. Use Case “Tạo danh sách yêu thích” (29)
    • 3.4. Thiết kế cơ sở dữ liệu (32)
  • Chương 4. TRIỂN KHAI ỨNG DỤNG (37)
    • 4.1. Đặc tả màn hình bắt đầu (37)
    • 4.2. Màn hình đăng nhập (38)
    • 4.3. Màn hình đăng ký (39)
    • 4.4. Màn hình Home (40)
    • 4.5. Màn hình thông tin chi tiết (41)
    • 4.6. Màn hình đặt phòng (43)
    • 4.7. Màn hình bình luận, đánh giá (44)
    • 4.8. Màn hình các đơn đã đặt (45)
    • 4.9. Màn hình chi tiết đơn đặt phòng (46)
    • 4.10. Màn hình danh sách yêu thích (47)
  • KẾT LUẬN (10)
  • TÀI LIỆU THAM KHẢO (50)

Nội dung

TỔNG QUAN

Tổng quan về đồ án

1.1.1 Tên của đồ án: Xây dựng ứng dụng moble đặt phòng khách sạn.

1.1.2 Link Github quản lý mã nguồn: https://github.com/luukimtrieu/GoGoGo

Ứng dụng mobile đặt phòng khách sạn

Thời đại ngày nay, khi mà nền kinh tế nước nhà đang có những bước phát triển vượt bậc Giao thông và cơ sở hạ tầng ngày càng được cải thiện và nâng cao Song chất lượng cuộc sống của người dân cũng được sung túc hơn, từ đó nhu cầu đi lại và du lịch cũng tăng lên đáng kể Hàng năm có đến hàng chục triệu lượt du lịch nội địa Để đáp ứng nhu cầu ở lại của khách du lịch mà vô số các khách sạn, nhà nghỉ đã mọc lên khắp nơi Như trước đây, khi mà mạng Internet và các thiết bị di động vẫn chưa đáp ứng được nhu cầu của người sử dụng thì các khách du lịch sẽ rất khó khăn để lựa chọn khách sạn Một vài bất cập phổ biến đó là họ phải đến tận nơi, hỏi giá và phòng trống từng khách sạn ở địa điểm du lịch để lựa chọn được nơi ở phù hợp với nhu cầu của mình Họ sẽ không thể đặt phòng trước cũng như không thể biết được chất lượng phục vụ có thật sự tốt như chủ khách sạn đã quảng cáo hay không

Nhưng với sức mạnh của công nghệ và Internet hiện tại có thể dễ dàng giải quyết các vấn đề trên một cách nhanh chóng Chính vì để giải quyết những khó khăn trên và cải thiện chất lượng du lịch của mọi người nên em quyết định thực hiện đề tài Xây dựng ứng dụng mobile đặt phòng khách sạn Thông qua ứng dụng, mọi người có thể tìm và khảo sát trước các khách sạn ở khu vực du lịch cũng như đặt phòng trước cho chuyến đi sắp tới Bên cạnh đó người dùng cũng có thể tự mình đánh giá nhận xét về chất lượng dịch vụ của khách sạn đồng thời xem những nhận xét của người khác về khách sạn.

Khảo sát

Hiện tại có rất nhiều các ứng dụng với mục đích tương tự đã tồn tại từ lâu Một trong các ứng dụng lớn và uy tín có thể kể đến như là: Agoda, Booking.com,

Agoda (agoda.com) là dịch vụ đặt phòng khách sạn trực tuyến, chuyên cung cấp các ưu đãi giảm giá cho giá khách sạn thấp nhất ở khu vực châu Á.

Agoda được xem là một trong những ứng dụng booking có lượt tìm kiếm Top đầu hiện nay Vì thế, Agoda luôn cải tiến và mang lại trải nghiệm người dùng tốt nhất

Dễ dàng thấy, đó là ngày càng có nhiều tiện ích mới được ra mắt người dùng

 Dịch vụ đặt phòng khách sạn, khu nghỉ dưỡng, nhà trọ,

 Luôn cập nhật các chương trình ưu đãi hấp dẫn, thường xuyên

 Hệ thống thanh toán đa dạng, phong phú phù hợp với nhu cầu của người dùng

 Mạng lưới đối tác rộng lớn, uy tín

 Giao diện Tiếng Việt thân thiện, trực quan

 Tương thích với cả 2 nền tảng di động lớn iOS và Android.

Booking.com là một nền tảng cung cấp dịch vụ đặt phòng trực tuyến Qua đó, nhà cung cấp chỗ nghỉ (khách sạn, nhà nghỉ, căn hộ) có thể chào bán các sản phẩm và dịch vụ đặt phòng của họ đồng thời khách hàng có thể sử dụng để thực hiện đặt phòng.

Nói cho dễ hiểu, Booking.com đóng vai trò như một đại lý trung gian kết nối nhà cung cấp và khách hàng Khi khách hàng đặt phòng thành công, nhà cung cấp sẽ mất một khoản phí “hoa hồng” cho Booking.com (tùy từng khách sạn).

Traveloka là một ứng dụng booking trực tuyến hàng đầu của Indonesia Kết hợp với hơn 120.000 khách sạn trong khu vực và trên toàn thế giới, cùng hơn 100.000 đường bay khắp châu Á, Châu Âu và châu Mỹ Hiện nay, Traveloka đã có mặt tại hầu hết quốc gia Đông Nam Á, như Thái Lan, Singapore, Malaysia, Philippine và cả nước ta.

Khi được thành lập vào năm 2012, Traveloka chỉ hoạt động trong lĩnh vực cung cấp dịch vụ đặt vé máy bay online Dịch vụ đặt phòng khách sạn trực tuyến được Traveloka cung cấp từ Tháng 7 năm 2014, nhằm đáp ứng nhu cầu của khách hàng là mỗi khi đặt vé máy bay xong họ thường cần đặt luôn cả khách sạn.

CƠ SỞ LÝ THUYẾT

Ngôn ngữ Kotlin

Kotlin là một ngôn ngữ lập trình nguồn mở, kiểu tĩnh, hỗ trợ cả lập trình chức năng lẫn hướng đối tượng Kotlin cung cấp cú pháp và khái niệm tương tự trong các ngôn ngữ khác, bao gồm cả C#, Java và Scala cùng nhiều ngôn ngữ khác Kotlin không phải là độc nhất – mà Kotlin lấy cảm hứng từ nhiều thập kỷ để phát triển ngôn ngữ Mã này tồn tại trong các biến thể nhắm đến JVM (Kotlin/VM), JavaScript (Kotlin/JS) và mã gốc (Kotlin/mã gốc).

Kotlin do Kotlin Foundation quản lý, một nhóm do JetBrains và Google tạo ra với nhiệm vụ thúc đẩy và tiếp tục phát triển ngôn ngữ này Google chính thức hỗ trợ Kotlin trong hoạt động phát triển Android, nghĩa là việc thiết kế tài liệu và công cụ của Android luôn chú ý đến Kotlin.

2.1.2 Tại sao lại là Kotlin?

Một số API của Android (như Android KTX) chỉ dành riêng cho Kotlin nhưng hầu hết đều được viết bằng Java và có thể gọi qua Java hoặc Kotlin Khả năng tương tác của Kotlin với Java là yếu tố cốt lõi tạo ra sự tăng trưởng của mã này Tức là bạn có thể gọi mã Java qua Kotlin và ngược lại, tận dụng tất cả thư viện Java hiện có Sự phổ biến của Kotlin mang lại trải nghiệm phát triển tốt hơn trên Android, nhưng việc phát triển khung Android vẫn tiếp tục chú ý đến cả Kotlin và Java.

Những điểm mạnh của ngôn ngữ Kotlin có thể kể đến như:

 Kotlin biên dịch tới JVM bytecode: giống như Java, Bytecode ở đây nghĩa là sau khi biên dịch code sẽ được chạy qua một máy ảo thay vì là bộ vi xử lý của máy tính Bằng cách này thì source code có thể chạy trên mọi nền tảng Sau khi chương trình Kotlin được convert thành bytecode, nó sẽ được tải qua network và thực thi bởi JVM(Java Virtual Machine).

 Kotlin có thể sử dụng toàn bộ những Framework và thư viện sẵn có của Java Điểm đặc biệt nhất về Kotlin là nó có thể dễ dàng kết hợp với Maven, Gradle và các hệ thống build khác.

 Kotlin là một ngôn ngữ rất dễ học, cú pháp rất trong sách và dễ hiểu Kotlin có nét giống như Scala nhưng đơn giản hơn.

 JetBrains cũng đã đính kèm tính năng tự động chuyển đổi Java thành

Kotlin, qua đó tiết kiệm được rất nhiều thời gian cho lập trình viên.

 Giống như Swift, thì Kotlin cũng là một ngôn ngữ an toàn, với cơ chế null- safety, sẽ không còn khái niệm NullPointerExceptions nữa.

 Sử dụng mã nguồn mở: không tốn kém dung lượng cho người dùng.

Firebase

Firebase là một nền tảng giúp phát triển các ứng dụng di động trong web Bên cạnh đó, Firebase còn được hiểu là một dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây cloud với hệ thống máy chủ mạnh mẽ của Google.

Firebase chứa cơ sở dữ liệu mang đến khả năng code nhanh và thuận tiện hơn Lập trình viên có thể dễ dàng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu sẵn có.

2.2.2 Lịch sử hình thành và phát triển

 Vào năm 2011, James Tamplin và Andrew Lee đã cho ra mắt Evolve Đây là một nền tảng có cấu trúc khá đơn giản chuyên cung cấp các API cần thiết để tích hợp tính năng trò chuyện vào các trang web Tuy nhiên, họ nhận ra rằng nền tảng này đang được sử dụng để truyền dữ liệu ứng dụng chứ không đơn giản là chat Sau đó, họ đã phát triển Envole và tạo nên Firebase.

 Đến tháng 4 năm 2012, Firebase đã được công bố trên toàn cầu dưới dạng một công ty riêng biệt Những năm sau đó, Firebase đã thực hiện nhiều cuộc huy động vốn và ra mắt các sản phẩm mới.

 Đến tháng 10 năm 2014, Firebase đã chính thức được Google mua lại và trở thành một ứng dụng đa năng trên nền tảng di động và website.

2.2.3 Lợi ích khi sử dụng Firebase:

 Sử dụng miễn phí và thuận tiện Firebase có giao diện trực quan và thân thiện Sau khi đăng ký tài khoản, bạn chỉ cần đăng nhập vào là đã có thể sử dụng các tính năng của Firebase Ngoài ra, Firebase có một kho backend với giao diện đa dạng, phong phú giúp bạn thoải mái lựa chọn.

 Dễ sử dụng và tích hợp Firebase có giao diện trực quan và thân thiện Sau khi đăng ký tài khoản, bạn chỉ cần đăng nhập vào là đã có thể sử dụng các tính năng của Firebase Ngoài ra, Firebase có một kho backend với giao diện đa dạng, phong phú giúp bạn thoải mái lựa chọn.

 Đáp ứng nhu cầu người dùng Firebase chính là một phần của Google Vì vậy, Google đã không ngừng khai thác và phát triển triệt để những điểm mạnh và các

17 tính năng của Firebase nhằm tạo ra được những dịch vụ đáp ứng nhu cầu của người dùng

 Cập nhật liên tục và đa nền tảng Firebase liên tục cập nhật và có tốc độ phát triển rất nhanh Nhờ đó mà lập trình viên tiết kiệm được thời gian phát triển và tiếp thị ứng dụng Bên cạnh đó, Firebase là một nền tảng đa dịch vụ.

Android Jetpack

Hình 2.3 Mô hình Model-View-ViewModel.

 Model chứa tất cả các data classes, database classes, API và repository.

 View là thành phần UI đại diện cho trạng thái hiện tại cảu thông tin mà người dùng có thể nhìn thấy.

 ViewModel chứa data cần thiết trong View và chuyển dịch data được lưu trữ trong Model mà sau đó có thể có trong View ViewModel và View được kết thông thông qua Databiding và observable Livedata Đa số các ứng dụng thuộc bất kì nền tảng nào cũng có thể chia thành hai phần: giao diện (View) và dữ liệu (Model) Vì việc tách riêng các phần này, cần phải có một phần trung gian nào đó nối kết hai phần này lại, và chúng tạo nên một mô hình

MVVM có thể nói là mô hình kiến trúc được rất nhiều các lập trình viên ưa chuộng và sử dụng Lợi ích khi sự dụng mô hình này:

 Nó tách business logic với presentation logic.

 View không nhận biết được tất cả các logic xảy ra bên ViewModel, điều này làm cho việc ViewModel có thể sử dụng lại.

 Khi sử dùng repository giữa ViewModel và Model, ViewModel chỉ biết cách tạo data request và repository sẽ quan tâm đến cách data sẽ được tìm gọi, cho dù đó là từ API hoặc local DB.

 Vì chúng ta sử dụng ViewModel và LivaData để nhận biết vòng đời của Activity, nó sẽ dẫn đến ít crashes và memory leaks.

LiveData là observable data holder class Không giống như các observables khác, nó nhận thức được vòng đời, tức là nhận nhận thức được vòng đời của các components như là activity, fragment hay services Điều này có nghĩa là nó chỉ cập nhật các component observers khi chúng ở trạng thái vòng đời hoạt động

Là library hỗ trợ cho phép chúng ta liên kết với các thành phần UI của mình từ layout với data source trong ứng dụng của chúng ta bằng cách khai báo thay vì lập trình Chúng ta định nghĩa toàn bộ XML trong thẻ Chúng ta dùng thẻ để xác định các custom object mà sau đó có thể được sử dụng bên trong các layout views.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Đối tượng và phạm vi nghiên cứu và lựa chọn giải pháp công nghệ

- Những người dùng thường xuyên đi lại, công tác, du lịch.

- Phạm vi môi trường: Triển khai ứng dụng trên thiết bị di động hệ điều hành android.

- Phạm vi chức năng: Ç Quản lý tài khoản và dữ liệu các khách sạn. Ç Tìm kiếm khách sạn phù hợp với yêu cầu của người dùng. Ç Người dùng có thể nhận xét, đánh giá về khách sạn.

3.1.3 Lựa chọn giải pháp công nghệ

- Quản lý source code: Github.

Mô hình Use Case

Hình 3.1 Sơ đồ Use Case mức tổng quát.

Phân rã và đặc tả Use Case

3.3.1 Use Case “Tìm khách sạn”

Hình 3.2 Sơ đồ Use Case “Tìm khách sạn”.

1 Tìm kiếm tên khách sạn

2 Tìm kiếm khách sạn theo khu vực

3 Xem thông tin chi tiết

Bảng 3.1 Danh sách Use Case

 Đặc tả Use Case “Tìm kiếm khách sạn theo tên”

Bảng 3.2 Đặc tả Use Case “Tìm kiếm khách sạn theo tên”

Tên Use Case Tìm kiếm khách sạn theo tên

Sự kiện kích hoạt Người dùng có nhu cầu tìm kiếm một khách sạn.

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm chọn Seach.

3 Người dùng nhập tên của khách sạn. Điều kiện trước Điện thoại phải có kết nối mạng. Điều kiện sau Hiển thị khách sạn đúng như tên đã nhập.

 Đặc tả Use Case “Tìm kiếm khách sạn theo khu vực”

Bảng 3.3 Đặc tả Use Case “Tìm kiếm khách sạn theo khu vực”

Tên Use Case Tìm kiếm khách sạn theo khu vực

Sự kiện kích hoạt Người dùng có nhu cầu tìm kiếm một khách sạn ở khu vực nào đó

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm chọn Seach.

3 Người dùng nhập tên khu vực muốn tìm khách sạn. Điều kiện trước Điện thoại phải có kết nối mạng. Điều kiện sau Hiển thị khách sạn có ở khu vực đã nhập.

 Đặc tả Use Case “Xem thông tin chi tiết”

Bảng 3.4 Đặc tả Use Case “Xem thông tin chi tiết”

Tên Use Case Xem thông tin chi tiết

Sự kiện kích hoạt Người dùng có nhu cầu xem thông tin chi tiết của một khách sạn.

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm chọn Search.

3 Người dùng nhập tên của khách sạn.

4 Người dùng bấm vào ảnh để xem thông tin chi tiết của khách sạn. Điều kiện trước Điện thoại phải có kết nối mạng. Điều kiện sau Hiển thị đúng thông tin chi tiết của khách sạn.

 Đặc tả Use Case “Đánh giá, bình luận”

Bảng 3.5 Đặc tả Use Case “Đánh giá, bình luận”

Tên Use Case Đánh giá, bình luận

Sự kiện kích hoạt Người dùng có nhu cầu đánh giá một khách sạn.

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm chọn Search.

3 Người dùng chọn khách sạn mình muốn nhận xét.

4 Người dùng bấm vào Comment.

5 Người dùng nhập bình luận, đánh giá số sao và xác nhận. Điều kiện trước Điện thoại phải có kết nối mạng. Điều kiện sau Hiển thị đúng thông tin chi tiết của khách sạn.

3.3.2.Use Case “Đăng nh p”ập”

Hình 3.3 Sơ đồ Use Case “Đăng nhập”.

Bảng 3.6 Danh sách Use Case

 Đặc tả Use Case “Đăng ký”

Bảng 3.7 Đặc tả Use Case “Đăng ký”

Tên Use Case Đăng ký

Sự kiện kích hoạt Người dùng có nhu cầu tại tài khoản để sử dụng ứng dụng cho lần kế tiếp.

Luồng chính 1 Người dùng mở ứng dụng.

2 Người dùng bấm chọn Create an account.

3 Người dùng nhập các thông tin yêu cầu và chọn Create Account. Điều kiện trước Điện thoại phải có kết nối mạng

Người dùng phải có email Điều kiện sau Người dùng đăng ký tài khoản thành công.

 Đặc tả Use Case “Đăng nhập”

Bảng 3.8 Đặc tả Use Case “Đăng nhập”

Tên Use Case Đăng nhập

Sự kiện kích hoạt Người dùng có nhu cầu đăng nhập tài khoản

Luồng chính 1 Người dùng mở ứng dụng.

2 Người dùng bấm chọn Login.

3 Người dùng nhập tài khoản, mật khẩu và chọn Login.

4 Hệ thống xác thực thông tin đăng nhập thành công.

Luồng thay thế 1 Người dùng mở ứng dung.

2 Người dùng chọn Sign in as Guest. Điều kiện trước Điện thoại / máy tính phải có kết nối mạng Điều kiện sau Người dùng đăng nhập thành công vào tài khoản.

 Đặc tả Use Case “Đăng xuất”

Bảng 3.9 Đặc tả Use Case “Đăng xuất”

Tên Use Case Đăng xuất

Sự kiện kích hoạt Người dùng có nhu cầu đăng xuất

Luồng chính 1 Người dùng mở ứng dụng.

2 Người dùng thực hiện Use Case “Đăng nhập” UC-2.2

3 Người dùng bấm vào tab Account được hiển thị ở góc dưới bên phải và chọn Log out. Điều kiện sau Người dùng đăng xuất thành công.

Hình 3.4 Sơ đồ Use Case “Đặt phòng”.

Bảng 3.10 Danh sách Use Case

 Đặc tả Use Case “Đặt phòng ”

Bảng 3.11 Đặc tả Use Case “Đặt phòng”

Tên Use Case Đặt phòng

Sự kiện kích hoạt Người dùng có nhu cầu đặt phòng khách sạn.

Luồng chính 1 Người dùng mở ứng dụng.

2 Người dùng thực hiện Use Case “Đăng nhập” UC-2.2

3 Người dùng bấm vào khách sạn muốn đặt.

4 Người dùng nhấn chọn Booking.

5 Người dùng điền đầy đủ thông tin và xác nhận. Điều kiện trước Điện thoại phải có kết nối mạng. Điều kiện sau Người dùng đặt phòng thành công.

 Đặc tả Use Case “Xem lại hóa đơn”

Bảng 3.12 Đặc tả Use Case “Xem lại hóa đơn”

Tên Use Case Xem lại hóa đơn

Sự kiện kích hoạt Người dùng có nhu cầu xem lại đơn đặt phòng.

Luồng chính 1 Người dùng mở ứng dụng.

2 Người dùng thực hiện Use Case “Đăng nhập” UC-2.2

3 Người dùng chọn tab hóa đơn để xem lại danh sách các đơn đặt phòng.

4 Người dùng chọn Details để xem thông tin chi tiết. Điều kiện trước Điện thoại phải có kết nối mạng.

29 Điều kiện sau Người dùng đặt phòng thành công.

3.3.4 Use Case “Tạo danh sách yêu thích”

Hình 3.5 Sơ đồ Use Case “Tạo danh sách yêu thích”.

Bảng 3.13 Danh sách Use Case

1 Thêm khách sạn vào danh sách yêu thích.

2 Xóa khách sạn khỏi danh sách yêu thích.

3 Xem danh sách yêu thích.

 Đặc tả Use Case “Thêm vào danh sách yêu thích”

Bảng 3.14 Đặc tả Use Case “Thêm vào danh sách yêu thích”

Tên Use Case Thêm vào danh sách yêu thích

Sự kiện kích hoạt Người dùng có nhu cầu lưu lại các khách sạn yêu thích

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm chọn Khách sạn.

3 Người dùng bấm chọn Add to Favourite List. Điều kiện trước Điện thoạ phải có kết nối mạng Điều kiện sau Khách sạn được thêm vào danh sách yêu thích thành công

 Đặc tả Use Case “Xóa khỏi danh sách yêu thích”

Bảng 3.15 Đặc tả Use Case “Xóa khỏi danh sách yêu thích”

Tên Use Case Xóa khỏi danh sách yêu thích

Sự kiện kích hoạt Người dùng muốn xóa một khách sạn khỏi danh sách yêu thích.

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm vào tab Danh sách yêu thích.

3 Người dùng chọn xóa khách sạn mình muốn và xóa khỏi danh sách. Điều kiện trước Điện thoại phải có kết nối mạng Điều kiện sau Khách sạn được xóa khỏi danh sách.

 Đặc tả Use Case “Xem danh sách yêu thích”

Bảng 3.16 Đặc tả Use Case “Xem danh sách yêu thích”

Tên Use Case Xem danh sách yêu thích

Sự kiện kích hoạt Người dùng muốn xem lại danh sách các khách sạn yêu thích.

Luồng chính 1 Người dùng đăng nhập vào ứng dụng.

2 Người dùng bấm vào tab Danh sách yêu thích.

3 Người dùng có thể chọn để xem thông tin chi tiết của khách sạn. Điều kiện trước Điện thoại phải có kết nối mạng Điều kiện sau Hiển thị danh sách các khách sạn đã được thêm.

Thiết kế cơ sở dữ liệu

Hình 3.6 Lược đồ cơ sở dữ liệu.

Bảng 3.17 Đặc tả bảng “History”.

T Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 User_id String Chứa id của người dùng.

3 Hotel_id String Chứa id khách sạn.

4 Invoice_id String Chứa id hóa đơn.

Bảng 3.18 Đặc tả bảng “Hotel”.

STT Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất của khách sạn.

2 Name String Tên khách sạn.

3 Area String Khu vực khách sạn tọa lạc.

4 Detail_id String Chứa id thông tin chi tiết của khách sạn.

 Đặc tả bảng “Hotel Detail”

Bảng 3.19 Đặc tả bảng “Hotel Detail”.

T Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 Name String Tên khách sạn.

3 Address String Địa chỉ cụ thể khách sạn tọa lạc.

4 Available_room_amount Number Số lượng phòng khách sạn còn trống.

5 Description String Mô tả về khách sạn.

6 Email String Email liên hệ của khách sạn.

7 Phone_number String Số điện thoại liên hệ của khách sạn.

8 Room_type_id String Chứa id loại phòng.

 Đặc tả bảng “Favourite List”

Bảng 3.20 Đặc tả bảng “Favourite List”.

T Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 User_id String Chứa id của người dùng.

3 Hotel_id String Chứa id khách sạn.

 Đặc tả bảng “User Account”

Bảng 3.21 Đặc tả bảng “User Account”.

STT Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 Email String Email của người dùng.

3 Password String Mật khẩu của tài khoản người dùng.

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

5 Name String Tên của người dùng.

Bảng 3.22 Đặc tả bảng “Invoice”.

T Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 User_id String Chứa id của người dùng.

3 Hotel_id String Chứa id của khách sạn.

4 Discount_id String Chứa id của chương trình khuyến mãi.

 Đặc tả bảng “Invoice Detail”

Bảng 3.23 Đặc tả bảng “Invoice Detail”.

STT Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 Date Timestamp Chứa ngày lập hóa đơn.

3 Time Timestamp Chứa thời gian lập hóa đơn.

4 Total_price Number Chứa tổng giá tiền.

5 Invoice_id String Chứa id của hóa đơn.

 Đặc tả bảng “Room Type”

Bảng 3.24 Đặc tả bảng “Room Type”.

STT Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 Single_room Boolean Loại phòng đơn.

3 Double_room Boolean Loại phòng đôi.

Bảng 3.25 Đặc tả bảng “Discount”.

T Tên thuộc tính Kiểu Ý nghĩa

1 Id String Chứa id duy nhất.

2 Name String Tên chương trình khuyến mãi.

3 Time Timestamp Thời gian chương trình diễn ra.

4 Hotel_id String Chứa id của khách sạn có áp dụng chương trình khuyến mãi.

TRIỂN KHAI ỨNG DỤNG

Đặc tả màn hình bắt đầu

Hình 4.1 Màn hình bắt đầu.

Bảng 4.1 Đặc tả “Màn hình bắt đầu”.

STT Thành phần Mô tả

1 Button Go Go Bấm vào để chuyển sang màn hình đăng nhập.

Màn hình đăng nhập

Hình 4.2 Màn hình đăng nhập.

Bảng 4.2 Đặc tả “Màn hình đăng nhập”.

STT Thành phần Mô tả

1 EditText Email Nhập email đã đăng ký.

2 EditText Password Nhập mật khẩu.

3 Button Sign in Nhấn để đăng nhập vào ứng dụng bằng tài khoản đã có.

4 Butotn Continue with google Nhấn để đăng nhập bằng tài khoản Google.

5 Button Sign in as guest Nhấn để đăng nhập ẩn danh.

6 Text Create Account Nhấn để chuyển sang màn hình tạo tài khoản mới.

Màn hình đăng ký

Hình 4.3 Màn hình đăng ký.

Bảng 4.3 Đặc tả “Màn hình đăng ký”.

STT Thành phần Mô tả

1 EditText Your name Nhập họ tên người dùng.

2 EditText Phone number Nhập số điện thoại người dùng.

3 EditText Email Nhập vào email người dùng.

4 EditText Password Nhập vào mật khẩu.

5 EditText Confirm Password Nhập lại mật khẩu.

6 Button Sign Up Nhấn để thực hiện tạo một tài khoản mới.

Màn hình Home

Bảng 4.4 Đặc tả “Màn hình Home”.

STT Thành phần Mô tả

1 Search Box Nhập vào tên khách sạn hoặc khu vực muốn tìm khách sạn.

2 Màn hình chính Hiển thị danh sách tất cả các khách sạn hoặc các khách sạn có tên, địa chỉ trùng với chữ đã nhập ở Search box.

3 Button Home Nhấn để đi đến màn hình Home.

4 Button Invoices Nhấn để đi đến màn hình Hóa đơn đã đặt.

5 Button Favourite List Nhấn để đi đến màn hình Danh sách khách sạn yêu thích.

6 Button Account Nhấn để đi đến màn hình Tài khoản người dùng.

Màn hình thông tin chi tiết

Hình 4.5 Màn hình thông tin chi tiết (1).

Hình 4.6 Màn hình thông tin chi tiết (2).

Bảng 4.5 Đặc tả “Màn hình thông tin chi tiết”.

STT Thành phần Mô tả

1 Button Back Nhấn để trở về màn hình Home.

2 Màn hình chính Hiển thị danh sách tất cả các thông tin chi tiết về khách sạn, các nhận xét của người dùng khác về khách sạn.

3 Text Comments Nhấn để đi đến màn hình Đánh giá, bình luận.

4 Button Booking Nhấn để đi đến màn hình Đặt phòng.

5 Button Add to Fav Nhấn để thêm khách sạn vào Danh sách yêu thích.

Màn hình đặt phòng

Hình 4.7 Màn hình đặt phòng.

Bảng 4.6 Đặc tả “Màn hình đặt phòng”.

STT Thành phần Mô tả

1 EditText Your full name Nhập vào họ tên đầy đủ của người đặt phòng.

2 EditText Phone number Nhập vào số điện thoại của người đặt phòng.

3 EditText Email Nhập vào email của người đặt phòng.

4 EditText From dd/mm/yyyy Nhập vào ngày bắt đầu đặt phòng.

5 EditText To dd/mm/yyyy Nhập vào ngày trả phòng đặt phòng.

6 RadioButton Room Type Nhấn để chọn loại phòng muốn đặt.

7 EditText Quantity Nhập vào số phòng muốn đặt.

Màn hình bình luận, đánh giá

Hình 4.8 Màn hình đánh giá.

Bảng 4.7 Đặc tả “Màn hình đánh giá”.

STT Thành phần Mô tả

1 Rating Bar Kéo để chọn số sao đánh giá cho khách sạn.

2 EditText Nhập vào nhận xét của người dùng.

3 Button Comment Nhấn để viết bình luận lên trang của khách sạn.

4 Button Cancel Nhấn để hủy bỏ việc bình luận đánh giá.

Màn hình các đơn đã đặt

Hình 4.9 Màn hình các đơn đã đặt.

Bảng 4.8 Đặc tả “Màn hình các đơn đã đặt”.

STT Thành phần Mô tả

1 Màn hình chính Hiển thị danh sách tất cả các đơn đã từng đặt.

2 Text Details Nhấn vào để xem chi tiết đơn đã đặt.

Màn hình chi tiết đơn đặt phòng

Hình 4.10 Màn hình chi tiết đơn đặt phòng.

Bảng 4.9 Đặc tả “Màn hình chi tiết đơn đặt phòng”.

STT Thành phần Mô tả

1 Màn hình chính Hiển thị tất cả thông tin chi tiết của đơn đặt phòng và người đặt.

2 Button X Nhấn để đóng form và trở về màn hình Các đơn đã đặt.

Ngày đăng: 15/05/2024, 09:26

HÌNH ẢNH LIÊN QUAN

Hình 3.1. Sơ đồ Use Case mức tổng quát. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 3.1. Sơ đồ Use Case mức tổng quát (Trang 20)
Hình 3.2. Sơ đồ Use Case “Tìm khách sạn”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 3.2. Sơ đồ Use Case “Tìm khách sạn” (Trang 21)
Bảng 3.4. Đặc tả Use Case “Xem thông tin chi tiết” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.4. Đặc tả Use Case “Xem thông tin chi tiết” (Trang 22)
Bảng 3.2. Đặc tả Use Case “Tìm kiếm khách sạn theo tên” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.2. Đặc tả Use Case “Tìm kiếm khách sạn theo tên” (Trang 22)
Bảng 3.3. Đặc tả Use Case “Tìm kiếm khách sạn theo khu vực” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.3. Đặc tả Use Case “Tìm kiếm khách sạn theo khu vực” (Trang 22)
Bảng 3.5. Đặc tả Use Case “Đánh giá, bình luận” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.5. Đặc tả Use Case “Đánh giá, bình luận” (Trang 24)
Bảng 3.7. Đặc tả Use Case “Đăng ký” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.7. Đặc tả Use Case “Đăng ký” (Trang 26)
Bảng 3.8. Đặc tả Use Case “Đăng nhập” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.8. Đặc tả Use Case “Đăng nhập” (Trang 26)
Bảng 3.9. Đặc tả Use Case “Đăng xuất” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.9. Đặc tả Use Case “Đăng xuất” (Trang 27)
Bảng 3.11. Đặc tả Use Case “Đặt phòng” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.11. Đặc tả Use Case “Đặt phòng” (Trang 28)
Bảng 3.12. Đặc tả Use Case “Xem lại hóa đơn” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.12. Đặc tả Use Case “Xem lại hóa đơn” (Trang 28)
Hình 3.5. Sơ đồ Use Case “Tạo danh sách yêu thích”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 3.5. Sơ đồ Use Case “Tạo danh sách yêu thích” (Trang 29)
Bảng 3.14. Đặc tả Use Case “Thêm vào danh sách yêu thích” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.14. Đặc tả Use Case “Thêm vào danh sách yêu thích” (Trang 30)
Bảng 3.15. Đặc tả Use Case “Xóa khỏi danh sách yêu thích” - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.15. Đặc tả Use Case “Xóa khỏi danh sách yêu thích” (Trang 30)
Hình 3.6. Lược đồ cơ sở dữ liệu. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 3.6. Lược đồ cơ sở dữ liệu (Trang 32)
Bảng 3.19. Đặc tả bảng “Hotel Detail”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.19. Đặc tả bảng “Hotel Detail” (Trang 33)
Bảng 3.18. Đặc tả bảng “Hotel”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.18. Đặc tả bảng “Hotel” (Trang 33)
Bảng 3.22. Đặc tả bảng “Invoice”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.22. Đặc tả bảng “Invoice” (Trang 35)
Bảng 3.23. Đặc tả bảng “Invoice Detail”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.23. Đặc tả bảng “Invoice Detail” (Trang 35)
Bảng 3.24. Đặc tả bảng “Room Type”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 3.24. Đặc tả bảng “Room Type” (Trang 36)
Bảng 4.2. Đặc tả “Màn hình đăng nhập”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.2. Đặc tả “Màn hình đăng nhập” (Trang 38)
Hình 4.2. Màn hình đăng nhập. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 4.2. Màn hình đăng nhập (Trang 38)
Bảng 4.4. Đặc tả “Màn hình Home”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.4. Đặc tả “Màn hình Home” (Trang 40)
Bảng 4.5. Đặc tả “Màn hình thông tin chi tiết”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.5. Đặc tả “Màn hình thông tin chi tiết” (Trang 42)
Bảng 4.6. Đặc tả “Màn hình đặt phòng”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.6. Đặc tả “Màn hình đặt phòng” (Trang 43)
Bảng 4.7. Đặc tả “Màn hình đánh giá”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.7. Đặc tả “Màn hình đánh giá” (Trang 44)
Bảng 4.8. Đặc tả “Màn hình các đơn đã đặt”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.8. Đặc tả “Màn hình các đơn đã đặt” (Trang 45)
Bảng 4.9. Đặc tả “Màn hình chi tiết đơn đặt phòng”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.9. Đặc tả “Màn hình chi tiết đơn đặt phòng” (Trang 46)
Bảng 4.10. Đặc tả “Màn hình danh sách yêu thích”. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Bảng 4.10. Đặc tả “Màn hình danh sách yêu thích” (Trang 47)
Hình 4.11. Màn hình danh sách yêu thích. - đồ án 2 xây dựng ứng dụng mobile đặt phòng khách sạn
Hình 4.11. Màn hình danh sách yêu thích (Trang 47)
w