Với những lý do trên, ứng dụng di động quản lý và cho thuê phòng trọ là một đề tài có tính ứng dụng cao và phù hợp với xu thế phát triển của xã hội hiện nay.Đây là một đề tài có thể mang
CƠ SỞ LÝ THUYẾT
Ngôn ngữ lập trình Java
Java là một ngôn ngữ lập trình và một nền tảng Java là ngôn ngữ lập trình cấp cao, mạnh mẽ, hướng đối tượng và an toàn.
Java được phát triển bởi Sun Microsystems (hiện là công ty con của Oracle) vào năm 1995 James Gosling được mệnh danh là cha đẻ của Java Trước Java, tên của nó là Oak Vì Oak đã là một công ty đã đăng ký nên James Gosling và nhóm của ông đã đổi tên từ Oak thành Java.
Theo Sun, có 3 tỷ thiết bị chạy Java Có rất nhiều thiết bị hiện đang sử dụng Java Một số trong số đó là như sau:
Các ứng dụng dành cho máy tính để bàn như acrobat reader, media player, antivirus, v.v.
Các ứng dụng web như irctc.co.in, javatpoint.com, v.v.
Các ứng dụng doanh nghiệp như ứng dụng ngân hàng.
Embedded System (Hệ thống nh!ng)
Chủ yếu có 4 loại ứng dụng có thể được tạo bằng lập trình Java:
Các ứng dụng độc lập còn được gọi là ứng dụng dành cho máy tính để bàn hoặc ứng dụng dựa trên cửa sổ Đây là những phần mềm truyền thống mà ch!ng ta cần cài đặt trên mọi máy Ví dụ về ứng dụng độc lập là Trình phát phương tiện, phần mềm chống vi-r!t, v.v AWT và Swing được sử dụng trong Java để tạo các ứng dụng độc lập.
Một ứng dụng chạy phía máy chủ và tạo một trang động được gọi là ứng dụng web Hiện nay, các công nghệ Servlet, JSP, Struts, Spring, Hibernate, JSF, v.v được sử dụng để tạo các ứng dụng web bằng Java.
Một ứng dụng có tính chất phân tán, chẳng hạn như ứng dụng ngân hàng, v.v được gọi là ứng dụng doanh nghiệp Nó có các ưu điểm như bảo mật cấp cao, cân bằng tải và phân cụm Trong Java, EJB được sử dụng để tạo các ứng dụng doanh nghiệp.
Một ứng dụng được tạo cho thiết bị di động được gọi là ứng dụng di động.Hiện nay, Android và Java ME được sử dụng để tạo các ứng dụng di động.
Cơ sở dữ liệu SQLite
SQLite là một hệ thống quản lý cơ sở dữ liệu quan hệ được nh!ng, không có máy chủ Đây là một thư viện mã nguồn mở trong bộ nhớ không có cấu hình và không cần cài đặt Ngoài ra, nó rất thuận tiện vì nó có kích thước dưới 500kb, nhỏ hơn đáng kể so với các hệ thống quản lý cơ sở dữ liệu khác.
Tại sao nên sử dụng SQLite?
SQLite là một phần mềm nguồn mở Phần mềm không yêu cầu bất kỳ giấy phép nào sau khi cài đặt.
SQLite không có máy chủ vì nó không cần một quy trình hoặc hệ thống máy chủ khác để hoạt động.
SQLite tạo điều kiện cho bạn làm việc đồng thời trên nhiều cơ sở dữ liệu trong cùng một phiên, do đó làm cho nó trở nên linh hoạt.
SQLite là một DBMS đa nền tảng có thể chạy trên tất cả các nền tảng, bao gồm macOS, Windows, v.v.
SQLite không yêu cầu bất kỳ cấu hình nào Nó không cần thiết lập hoặc quản trị.
Khi nào nên sử dụng SQLite?
SQLite được sử dụng để phát triển phần mềm nh!ng cho các thiết bị như tivi, điện thoại di động, máy ảnh, v.v.
Nó có thể quản lý các yêu cầu HTTP có lưu lượng truy cập thấp đến trung bình.
SQLite có thể thay đổi tệp thành kho lưu trữ có kích thước nhỏ hơn với ít siêu dữ liệu hơn.
SQLite được sử dụng làm tập dữ liệu tạm thời để xử lý một số dữ liệu trong ứng dụng.
Người mới bắt đầu sử dụng SQLite cho mục đích học tập vì nó không yêu cầu cài đặt và cấu hình.
Firebase Realtime Database
Lưu trữ và đồng bộ hóa dữ liệu với cơ sở dữ liệu đám mây NoSQL của ch!ng tôi Dữ liệu được đồng bộ hóa trên tất cả các máy khách trong thời gian thực và vẫn khả dụng khi ứng dụng của bạn ngoại tuyến.
Firebase Realtime Database là cơ sở dữ liệu được lưu trữ trên đám mây Dữ liệu được lưu trữ dưới dạng JSON và được đồng bộ hóa theo thời gian thực với mọi máy khách được kết nối Khi bạn xây dựng các ứng dụng đa nền tảng với các nền tảng Apple, Android và SDK JavaScript của ch!ng tôi, tất cả khách hàng của bạn sẽ chia sẻ một phiên bản Cơ sở dữ liệu thời gian thực và tự động nhận các bản cập nhật với dữ liệu mới nhất.
Ngoài ra, hãy cân nhắc dùng thử Cloud Firestore cho các ứng dụng hiện đại yêu cầu mô hình dữ liệu phong ph! hơn, khả năng truy vấn, khả năng mở rộng và tính sẵn sàng cao hơn.
Cách hoạt động của Firebase Realtime Database:
Cho phép truy cập an toàn vào cơ sở dữ liệu trực tiếp từ mã phía máy khách, tạo điều kiện xây dựng các ứng dụng cộng tác phong ph!.
Lưu trữ dữ liệu cục bộ và duy trì sự kiện thời gian thực ngay cả khi ngoại tuyến, mang đến trải nghiệm mượt mà cho người dùng.
Tự động đồng bộ hóa thay đổi dữ liệu cục bộ với cập nhật từ xa khi thiết bị kết nối lại, giải quyết mọi xung đột dữ liệu.
Cung cấp ngôn ngữ quy tắc linh hoạt dựa trên biểu thức (Firebase Realtime Database Security Rules) để xác định cấu tr!c dữ liệu, quyền đọc và ghi dữ liệu.
Tích hợp với Firebase Authentication để kiểm soát đối tượng truy cập và cách thức truy cập dữ liệu.
Là cơ sở dữ liệu NoSQL với các tối ưu hóa và chức năng khác biệt so với cơ sở dữ liệu quan hệ.
API Realtime Database được thiết kế chỉ cho phép các hoạt động có thể thực thi nhanh chóng.
Hỗ trợ xây dựng trải nghiệm thời gian thực tuyệt vời, phục vụ hàng triệu người dùng mà không ảnh hưởng đến khả năng đáp ứng.
Đòi hỏi sự cân nhắc về cách người dùng truy cập dữ liệu để cấu tr!c phù hợp.
Attention của mô hình Transformer bao gồm 02 kỹ thuật là Scaled Dot- Product Attention và Multi-head Attention.
Hình 2.1: Scaled Dot-Product Attention (Nguồn: (Vaswani et al., 2023))
Sẽ có 03 ma trận Q, K và V được sử dụng trong kỹ thuật attention này, tương ứng với các khái niệm query, key và value Các dòng trong trong ma trận Q và K sẽ có kích thước d k, các dòng trong ma trận V sẽ có kích thước d k Các ma trận này được tạo ra từ việc cho vector embedding đầu vào đi qua 03 bộ trọng số W Q , W K và
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích hệ thống
RoomRent Pro là hệ thống quản lý và cho thuê phòng trọ là một ứng dụng di động được thiết kế để gi!p chủ nhà và người thuê phòng trọ kết nối và giao dịch với nhau một cách dễ dàng và hiệu quả hơn Hệ thống này cung cấp các tính năng chính sau:
Tìm kiếm phòng trọ: Người thuê có thể tìm kiếm phòng trọ theo vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác.
Hiển thị thông tin chi tiết: Cung cấp thông tin chi tiết về phòng trọ bao gồm hình ảnh, mô tả, tiện ích, và quy tắc nhà trọ.
Xác nhận thông tin: Cung cấp chức năng xác nhận thông tin giữa chủ nhà và người thuê để đảm bảo tính chính xác trong quá trình giao dịch.
Lịch hẹn xem phòng: Cho phép người thuê đặt lịch hẹn xem nhà trực tuyến thông qua ứng dụng.
Đánh giá và nhận xét: Người thuê có thể đánh giá và viết nhận xét về phòng trọ sau khi trải nghiệm để gi!p người khác trong quyết định thuê.
Báo cáo phòng trọ: Cho phép người dùng báo cáo các phòng trọ không phù hợp hoặc thông tin không chính xác.
Ngoài ra, hệ thống còn cung cấp các tính năng bổ sung như:
Hệ thống đặt cọc: Tích hợp hệ thống đặt cọc an toàn và dễ dàng cho cả chủ nhà và người thuê.
Tạo danh sách ưa thích: Cho phép người dùng lưu lại các phòng trọ mà họ quan tâm vào danh sách ưa thích.
Thông báo khi có phòng mới: Gửi thông báo cho người dùng khi có phòng trọ mới phù hợp với tiêu chí tìm kiếm của họ.
Quản lý hợp đồng: Cung cấp mẫu hợp đồng thuê nhà và gi!p quản lý các thông tin liên quan đến hợp đồng.
Thông báo nhắc nhở: Gửi thông báo nhắc nhở về việc trả tiền thuê hoặc các ngày thanh toán khác.
Tích hợp hệ thống thanh toán: Tích hợp ví điện tử Momo.
Báo cáo vấn đề và sự cố: Cho phép người thuê báo cáo vấn đề hoặc sự cố kỹ thuật với phòng trọ và chủ nhà.
Hỗ trợ trực tuyến: Cung cấp chức năng hỗ trợ trực tuyến hoặc qua điện thoại để giải đáp mọi thắc mắc của người thuê và chủ nhà.
Với những tính năng này, hệ thống quản lý và cho thuê phòng trọ gi!p giải quyết các vấn đề sau:
Gi!p chủ nhà quản lý phòng trọ hiệu quả hơn: Hệ thống gi!p chủ nhà đăng tin cho thuê phòng nhanh chóng và dễ dàng, quản lý lịch hẹn xem phòng, xác nhận thông tin với người thuê, và thu tiền thuê phòng một cách thuận tiện.
Gi!p người thuê tìm kiếm phòng trọ nhanh chóng và dễ dàng hơn: Hệ thống gi!p người thuê tìm kiếm phòng trọ theo các tiêu chí như vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác Người thuê có thể xem thông tin chi tiết về phòng trọ, liên hệ trực tiếp với chủ nhà, và đặt lịch hẹn xem nhà.
Tạo môi trường giao dịch an toàn và minh bạch: Hệ thống cung cấp các tính năng bảo mật như xác nhận thông tin giữa chủ nhà và người thuê, hệ thống đặt cọc an toàn, và hệ thống thanh toán đa dạng.
3.1.2 Các quy trình nghiệp vụ
Hệ thống quản lý và cho thuê phòng trọ RoomRent Pro có thể được chia thành hai quy trình nghiệp vụ chính:
Quy trình cho thuê phòng trọ: Quy trình này bắt đầu khi chủ nhà đăng tin cho thuê phòng trên hệ thống Người thuê có thể tìm kiếm phòng trọ phù hợp và đặt lịch hẹn xem nhà Sau khi xem phòng, nếu người thuê đồng ý thuê, họ sẽ liên hệ với chủ nhà để xác nhận thông tin và ký hợp đồng thuê.
Quy trình quản lý phòng trọ: Quy trình này bao gồm các hoạt động như quản lý lịch hẹn xem phòng, thu tiền thuê phòng, quản lý hợp đồng thuê, và xử lý các vấn đề phát sinh trong quá trình thuê.
Dưới đây là mô tả chi tiết về từng quy trình nghiệp vụ:
Quy trình cho thuê phòng trọ
Chủ nhà đăng tin cho thuê phòng
Chủ nhà có thể đăng tin cho thuê phòng trên hệ thống bằng cách cung cấp các thông tin sau: Tiêu đề, Hình ảnh, Giá thuê, Địa chỉ, Diện tích, Tiện ích đi kèm, Quy tắc nhà trọ.
Người thuê tìm kiếm phòng trọ
Người thuê có thể tìm kiếm phòng trọ theo các tiêu chí như vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác.
Người thuê đặt lịch hẹn xem phòng
Người thuê có thể đặt lịch hẹn xem phòng trực tuyến thông qua hệ thống.
Chủ nhà xác nhận lịch hẹn xem phòng
Chủ nhà sẽ nhận được thông báo về lịch hẹn xem phòng từ hệ thống Chủ nhà có thể xác nhận hoặc hủy lịch hẹn.
Người thuê xem phòng trọ
Người thuê và chủ nhà sẽ gặp nhau để xem phòng trọ.
Người thuê và chủ nhà xác nhận thông tin
Sau khi xem phòng, nếu người thuê đồng ý thuê, họ sẽ liên hệ với chủ nhà để xác nhận thông tin.
Quy trình quản lý phòng trọ
Quản lý lịch hẹn xem phòng
Chủ nhà có thể sử dụng hệ thống để quản lý lịch hẹn xem phòng Hệ thống sẽ tự động gửi thông báo nhắc nhở cho chủ nhà và người thuê trước khi đến lịch hẹn.
Chủ nhà có thể sử dụng hệ thống để thu tiền thuê phòng Hệ thống sẽ tự động gửi thông báo nhắc nhở cho người thuê khi đến hạn thanh toán tiền thuê phòng.
Quản lý hợp đồng thuê
Chủ nhà có thể sử dụng hệ thống để quản lý hợp đồng thuê Hệ thống sẽ tự động lưu trữ các thông tin về hợp đồng thuê, bao gồm các điều khoản, ngày bắt đầu và ngày kết th!c hợp đồng, và các khoản thanh toán.
Xử lý các vấn đề phát sinh
Nếu có vấn đề phát sinh trong quá trình thuê, người thuê có thể báo cáo vấn đề cho chủ nhà thông qua hệ thống Chủ nhà sẽ xem xét và giải quyết vấn đề một cách kịp thời.
Ngoài ra Admin của ứng dụng có thể quản lý các chức năng sau:
Quản lý người dùng: Khóa hay mở khóa tài khoản người dùng, sửa đổi các thông tin của người dùng.
Quản lý phòng: Sửa hay xóa phòng
Quản lý chat trực tuyến
3.1.3.1 Yêu cầu chức năng Đăng tin cho thuê phòng: Cho phép chủ nhà đăng tin cho thuê phòng, bao gồm hình ảnh, giá thuê, địa chỉ và tiện ích đi kèm.
Tìm kiếm phòng trọ: Cho phép người thuê tìm kiếm phòng trọ theo các tiêu chí như vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác.
Hiển thị thông tin chi tiết: Cung cấp thông tin chi tiết về phòng trọ bao gồm hình ảnh, mô tả, tiện ích, và quy tắc nhà trọ.
Liên hệ trực tiếp: Cho phép người thuê liên hệ trực tiếp với chủ nhà thông qua ứng dụng để đặt câu hỏi hoặc đề xuất lịch hẹn xem nhà.
Xác nhận thông tin: Cung cấp chức năng xác nhận thông tin giữa chủ nhà và người thuê để đảm bảo tính chính xác trong quá trình giao dịch.
Thiết kế hệ thống
Bảng 3.1: Xác định tác nhân
STT TÁC NHÂN MÔ TẢ
1 Admin - Quản lý người dùng, phòng trọ và quản lý chat hỗ trợ trực tuyến
- Người sở hữu phòng trọ, có quyền đăng thông tin, quản lý lịch hẹn xem nhà, xác nhận thông tin và hợp đồng, và nhận thanh toán từ người thuê.
- Người tìm kiếm phòng trọ, xem thông tin chi tiết, liên hệ với chủ nhà, đặt lịch hẹn xem nhà, xác nhận thông tin và hợp đồng, và thực hiện thanh toán.
Bảng 3.2: Mô tả Use Case
STT USE CASE MÔ TẢ
1 Đăng ký Khách hàng chưa có tài khoản trên hệ thống thực hiện đăng ký tài khoản để sử dụng ứng dụng
2 Đăng nhập Các tác nhân đã có tài khoản và thực hiện thao tác đăng nhập để thực hiện các chức năng trên hệ thống.
3 Đăng tin cho thuê phòng
Chủ nhà đăng tin cho thuê phòng, bao gồm hình ảnh,giá thuê, địa chỉ và tiện ích đi kèm.
STT USE CASE MÔ TẢ
4 Tìm kiếm phòng trọ Người thuê tìm kiếm phòng trọ theo các tiêu chí như vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác.
5 Hiển thị thông tin chi tiết
Hiển thị thông tin chi tiết về phòng trọ bao gồm hình ảnh, mô tả, tiện ích, và quy tắc nhà trọ.
Cho phép người thuê liên hệ trực tiếp với chủ nhà thông qua ứng dụng để đặt câu hỏi hoặc đề xuất lịch hẹn xem nhà.
Cung cấp chức năng xác nhận thông tin giữa chủ nhà và người thuê để đảm bảo tính chính xác trong quá trình giao dịch.
8 Lịch hẹn xem phòng Cho phép người thuê đặt lịch hẹn xem nhà trực tuyến thông qua ứng dụng.
9 Đánh giá và nhận xét
Người thuê có thể đánh giá và viết nhận xét về phòng trọ sau khi trải nghiệm để gi!p người khác trong quyết định thuê.
10 Báo cáo phòng trọ Cho phép người dùng báo cáo các phòng trọ không phù hợp hoặc thông tin không chính xác.
11 Hệ thống đặt cọc Tích hợp hệ thống đặt cọc an toàn và dễ dàng cho cả chủ nhà và người thuê.
12 Tạo danh sách ưa thích
Cho phép người dùng lưu lại các phòng trọ mà họ quan tâm vào danh sách ưa thích.
13 Thông báo nhắc nhở Gửi thông báo nhắc nhở về việc trả tiền thuê hoặc các
STT USE CASE MÔ TẢ ngày thanh toán khác.
14 Tích hợp hệ thống thanh toán
Tích hợp ví điện tử Momo.
15 Báo cáo vấn đề và sự cố
Cho phép người thuê báo cáo vấn đề hoặc sự cố kỹ thuật với phòng trọ và chủ nhà.
16 Hỗ trợ trực tuyến Cung cấp chức năng hỗ trợ trực tuyến chat trên ứng dụng để giải đáp mọi thắc mắc của người dùng.
17 Thông tin về khu vực xung quanh
Hiển thị thông tin về các tiện ích xung quanh như siêu thị, bệnh viện, giao thông, và giáo dục để gi!p người thuê đưa ra quyết định thuê nhà tốt hơn.
18 Xem thông tin người dùng Đối với tác nhân admin: có thể xem thông tin về user của hệ thống khi truy cập vào trang admin phần quản lý user để xem các thông tin của user. Đối với người dùng: có thể xem các thông tin của tài khoản khi đã đăng nhập thành công vào tài khoản và bấm vào phần quản lý tài khoản để xem lại các thông tin.
19 Sửa thông tin người dùng Đối với tác nhân admin: có thể sửa thông tin về user của hệ thống khi truy cập vào trang admin phần quản lý user để sửa các thông tin của user. Đối với người dùng: có thể sửa các thông tin của tài khoản khi đã đăng nhập thành công vào tài khoản và bấm vào phần quản lý tài khoản để sửa lại các thông
STT USE CASE MÔ TẢ tin.
20 Mở khóa/ khóa người dùng
Admin có thể mở khóa hay khóa để người dùng không truy cập vào ứng dụng được nữa
21 Sửa thông tin phòng Đối với tác nhân admin: có thể sửa thông tin về phòng của hệ thống khi truy cập vào trang admin phần quản lý phòng để sửa các thông tin của phòng Đối với chủ nhà: có thể sửa các thông tin của phòng khi đã đăng nhập thành công vào tài khoản và click vào phần quản lý phòng để sửa lại các thông tin.
22 Xóa phòng Đối với tác nhân admin: có thể xóa phòng của hệ thống khi truy cập vào trang admin phần quản lý phòng để xóa phòng. Đối với chủ nhà: có thể xóa phòng đã đăng khi đã đăng nhập thành công vào tài khoản và click vào phần quản lý phòng để xóa.
23 Quản lý chat Xem những tin nhắn cần hỗ trợ của người dùng gửi đến
3.2.3 Sơ đồ Use Case tổng quát
Hình 3.1: Sơ đồ Use Case Tổng quát
3.2.4.1 Đặc tả Use Case Đăng ký tài khoản
Bảng 3.3: Đặc tả Use Case Đăng ký tài khoản
Use Case Đăng ký tài khoản
Scenario Người dùng muốn tạo một tài khoản mới trên hệ thống để sử dụng các chức năng liên quan đến thuê phòng trọ.
Triggering Event Người dùng chọn "Đăng ký" trên ứng dụng.
Cho phép người dùng tạo tài khoản mới trên hệ thống bằng cách cung cấp các thông tin cá nhân và thông tin đăng nhập.
Actor(s) Chủ nhà, Người thuê
Pre-Condition(s): Ứng dụng đã được cài đặt và khởi động.
Người dùng chưa có tài khoản trên hệ thống.
Post-Condition(s): Tài khoản mới được tạo thành công.
Người dùng được chuyển hướng đến màn hình đăng nhập.
Flow of Event Actor System
1 Người dùng truy cập vào giao diện đăng ký
2 Người dùng nhập các thông tin cá nhân và nhấn nhấn đăng ký
1.1 Hệ thống hiển thị giao diện đăng ký
2.1 Hệ thống kiểm tra thông tin đăng ký.
2.2 Nếu thông tin đăng ký hợp lệ, hệ thống thêm người dùng vào hệ thống và hiển thị thống báo thành công và chuyển hướng đến trang đăng nhập.
2.3 Nếu thông tin đăng ký không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin.
Exception Nếu kết nối mạng bị lỗi hoặc hệ thống gặp sự cố, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng thử lại sau. 3.2.4.2 Đặc tả Use Case Đăng nhập tài khoản
Bảng 3.4: Đặc tả Use Case Đăng nhập tài khoản
Use Case Đăng nhập tài khoản
Scenario Người dùng đã có tài khoản trên hệ thống và muốn đăng nhập vào hệ thống.
Triggering Event Người dùng truy cập trang đăng nhập từ giao diện chính của ứng dụng.
Description Cho phép người dùng đăng nhập vào hệ thống bằng cách cung cấp thông tin đăng nhập hợp lệ.
Actor(s) Chủ nhà, Người thuê, Admin
Pre-Condition(s): Đối với admin, tài khoản đã được tạo sẵn và được phân role là admin
Người dùng đã có tài khoản trên hệ thống.
Post-Condition(s): Người dùng đăng nhập thành công vào hệ thống.
Người dùng được chuyển hướng đến màn hình chính của ứng dụng Nếu là admin thì chuyển hướng đến trang quản lý.
1 Người dùng truy cập vào giao diện đăng nhập
2 Người dùng nhập tên đăng nhập và mật khẩu của tài khoản trên hệ thống.
2.1 Hệ thống kiểm tra thông tin đăng nhập.
2.2 Nếu thông tin đăng nhập chính xác, hệ thống đăng nhập người dùng và chuyển hướng đến giao diện chính của hệ thống
2.3 Nếu thông tin đăng nhập không chính xác, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin.
Exception Nếu kết nối mạng bị lỗi hoặc hệ thống gặp sự cố, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng thử lại sau.
3.2.4.3 Đặc tả Use Case Đăng tin cho thuê phòng
Bảng 3.5: Đặc tả Use Case Đăng tin cho thuê phòng
Use Case Đăng tin cho thuê phòng
Scenario Chủ nhà muốn đăng tin cho thuê phòng trên hệ thống.
Triggering Event Chủ nhà truy cập chức năng đăng tin từ giao diện quản lý của ứng dụng.
Description Cho phép chủ nhà đăng tin cho thuê phòng trên hệ thống bằng cách cung cấp các thông tin về phòng trọ.
Pre-Condition(s): Chủ nhà đã đăng nhập vào hệ thống. Ứng dụng đang hoạt động.
Post-Condition(s): Thông tin về phòng trọ được hiển thị trên ứng dụng và trở nên khả dụng cho người thuê.
1 Chủ nhà truy cập chức năng đăng tin.
2 Chủ nhà nhập thông tin chi tiết về phòng trọ và thêm hình ảnh mô tả.
3 Chủ nhà xác nhận và gửi thông tin đăng tin đến hệ thống.
3 Người dùng nhập tên đăng nhập và mật khẩu của tài khoản trên hệ thống.
1.1 Hiển thị màn hình đăng tin cho thuê phòng. 3.1 Hệ thống kiểm tra tính hợp lệ của thông tin và lưu trữ vào cơ sở dữ liệu.
3.2 Nếu thông tin hợp lệ, hệ thống hiển thị thông báo xác nhận và thông tin về phòng trọ trở nên khả dụng trên ứng dụng.
Exception Nếu có lỗi trong quá trình đăng tin (ví dụ: hình ảnh quá lớn, địa chỉ không hợp lệ), hệ thống sẽ hiển thị thông báo lỗi và yêu cầu chủ nhà sửa lại thông tin.
Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu chủ nhà thử lại sau.
3.2.4.4 Đặc tả Use Case Tìm kiếm phòng trọ
Bảng 3.6: Đặc tả Use Case Tìm kiếm phòng trọ
Use Case Tìm kiếm phòng trọ
Scenario Người thuê muốn tìm kiếm phòng trọ trên hệ thống.
Triggering Event Người thuê chọn "Tìm kiếm phòng trọ" trên ứng dụng.
Cho phép người thuê tìm kiếm phòng trọ trên hệ thống theo các tiêu chí như vị trí, giá thuê, diện tích, tiện ích, và các yêu cầu khác.
Pre-Condition(s): Người thuê đã đăng nhập vào hệ thống. Ứng dụng đang hoạt động.
Post-Condition(s): Danh sách các phòng trọ phù hợp với tiêu chí tìm kiếm được hiển thị.
Flow of Event Actor System
1 Người thuê truy cập chức năng tìm kiếm từ giao diện chính.
2 Người thuê nhập các tiêu
1.1 Hiển thị màn hình tìm kiếm phòng trọ.
3.1 Hệ thống lọc và trả về danh sách các phòng trọ phù chí tìm kiếm mong muốn.
"Tìm Kiếm". hợp với tiêu chí tìm kiếm.
Nếu không có kết quả nào phù hợp với tiêu chí tìm kiếm, hệ thống hiển thị thông báo cho người thuê và khuyến khích thay đổi tiêu chí để tìm kiếm lại.
Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau. 3.2.4.5 Đặc tả Use Case Hiển thị thông tin chi tiết
Bảng 3.7: Đặc tả Use Case Hiển thị thông tin chi tiết
Use Case Hiển thị thông tin chi tiết
Scenario Người thuê muốn xem thông tin chi tiết về một phòng trọ cụ thể.
Triggering Event Người thuê chọn một phòng trọ trên màn hình tìm kiếm.
Description Cho phép người thuê xem thông tin chi tiết về một phòng trọ cụ thể
Người thuê đã đăng nhập vào hệ thống. Ứng dụng đang hoạt động.
Phòng trọ đã được đăng trên hệ thống.
Post-Condition(s): Người thuê có thể xem thông tin chi tiết về phòng trọ.
1 Chọn một phòng trọ trên màn hình tìm kiếm.
1.1 Hiển thị màn hình hiển thị thông tin chi tiết về phòng trọ.
Exception Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau.
3.2.4.6 Đặc tả Use Case Liên hệ trực tiếp
Bảng 3.8: Đặc tả Use Case Liên hệ trực tiếp
Use Case Liên hệ trực tiếp
Scenario Người thuê muốn liên hệ trực tiếp với chủ nhà của một phòng trọ cụ thể.
Triggering Event Người thuê chọn n!t "Liên hệ" trên màn hình hiển thị thông tin chi tiết về phòng trọ.
Description Quá trình người thuê liên hệ trực tiếp với chủ nhà thông qua ứng dụng.
Người thuê đã đăng nhập vào hệ thống.
Người thuê đã xem thông tin chi tiết về một phòng trọ cụ thể.
Post-Condition(s): Người thuê đã liên hệ trực tiếp với chủ nhà của phòng trọ.
Flow of Event Actor System
1 Chọn n!t "Liên hệ" trên màn hình hiển thị thông tin chi tiết về phòng trọ.
1.1 Hiển thị thông báo có muốn gọi đến số điện thoại của chủ nhà không. 2.1 Nếu đồng ý thì sẽ chuyển sang giao diện điện thoại của máy.
2.2 Hủy thì sẽ tắt thông báo đi.
Exception Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau. 3.2.4.7 Đặc tả Use Case Xác nhận thông tin
Bảng 3.9: Đặc tả Use Case Xác nhận thông tin
Use Case Xác nhận thông tin
Scenario Chủ nhà và người thuê muốn xác nhận thông tin giữa hai bên để đảm bảo tính chính xác trong quá trình giao dịch.
Triggering Event Chủ nhà và người thuê đồng ý về các điều khoản và thông tin chi tiết của giao dịch.
Description Quá trình xác nhận thông tin giữa chủ nhà và người thuê.
Actor(s) Người thuê, Chủ nhà
Người thuê và chủ nhà đã đăng nhập vào hệ thống.Người thuê đã liên hệ với chủ nhà và thống nhất về các điều khoản thuê nhà.
Post-Condition(s): Thông tin và điều khoản giao dịch được xác nhận bởi cả chủ nhà và người thuê.
1 Chủ nhà và người thuê thống nhất về các điều khoản thuê nhà, bao gồm giá thuê, thời gian thuê, và các điều kiện khác.
2 Chủ nhà và người thuê kiểm tra lại thông tin đã thống nhất.
3 Chủ nhà và người thuê sẵn sàng xác nhận thông tin bằng cách nhấn n!t "Xác Nhận" trên ứng dụng.
3.1 Hệ thống xác nhận và lưu trữ thông tin đã được xác nhận vào cơ sở dữ liệu.
Exception Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau. 3.2.4.8 Đặc tả Use Case Lịch hẹn xem phòng
Bảng 3.10: Đặc tả Use Case Lịch hẹn xem phòng
Use Case Lịch hẹn xem phòng
Scenario Người thuê muốn đặt lịch hẹn để xem phòng trọ trước khi quyết định thuê.
Triggering Event Người thuê chọn chức năng "Đặt Lịch Hẹn" từ trang chi tiết phòng trọ.
Description Quá trình người thuê đặt lịch hẹn xem phòng trên hệ thống.
Người thuê đã đăng nhập vào hệ thống.
Người thuê đã xem thông tin chi tiết về một phòng trọ cụ thể.
Post-Condition(s): Lịch hẹn được đặt và thông báo được gửi đến cả chủ nhà và người thuê.
1 Người thuê chọn chức năng "Đặt Lịch Hẹn" từ trang chi tiết phòng trọ.
2 Người thuê nhập thông tin lịch hẹn và nhấn n!t
3 Cả chủ nhà và người thuê nhận thông báo và có thể chấp nhận, từ chối hoặc thay đổi lịch hẹn.
1.1 Hệ thống hiển thị biểu mẫu đặt lịch hẹn với các trường thông tin như ngày, giờ, và nội dung lịch hẹn. 2.1 Hệ thống gửi thông báo đặt lịch hẹn đến chủ nhà và người thuê.
3.1 Nếu lịch hẹn được chấp nhận, thông báo được gửi đến người thuê và chủ nhà về việc lịch hẹn đã được xác nhận.
Exception Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau. 3.2.4.9 Đặc tả Use Case Đánh giá và nhận xét
Bảng 3.11: Đặc tả Use Case Đánh giá và nhận xét
Use Case Đánh giá và nhận xét
Scenario Người thuê muốn chia sẻ ý kiến và đánh giá về phòng trọ sau khi trải nghiệm.
Triggering Event Người thuê chọn chức năng "Đánh Giá và Nhận Xét" sau khi đã xem phòng.
Description Quá trình người thuê đánh giá và viết nhận xét về phòng trọ trên hệ thống.
Pre-Condition(s): Người thuê đã đăng nhập vào hệ thống.
Người thuê đã xem trải nghiệm phòng.
Post-Condition(s): Đánh giá và nhận xét được hiển thị trên trang chi tiết của phòng trọ.
Flow of Event Actor System
1 Người thuê chọn chức năng "Đánh Giá và Nhận Xét" từ sau khi trải nghiệm phòng.
2 Người thuê nhập điểm số và viết nhận xét của mình.
1.1 Hệ thống hiển thị biểu mẫu đánh giá với các trường thông tin như điểm số và nội dung đánh giá.
3.1 Hệ thống cập nhật trang chi tiết của phòng trọ với
"Gửi" để lưu đánh giá và nhận xét vào cơ sở dữ liệu. đánh giá và nhận xét mới.
Exception Nếu có lỗi kết nối hoặc lỗi hệ thống khác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người thuê thử lại sau.
3.2.4.10 Đặc tả Use Case Báo cáo phòng trọ
Bảng 3.12: Đặc tả Use Case Báo cáo phòng trọ
Use Case Báo cáo phòng trọ
Scenario Người dùng muốn báo cáo về các phòng trọ không phù hợp hoặc thông tin không chính xác.
Triggering Event Người dùng chọn chức năng "Báo Cáo" từ trang chi tiết phòng trọ.
Description Quá trình người dùng báo cáo về một phòng trọ trên hệ thống.
Người dùng đã đăng nhập vào hệ thống.
Có ít nhất một phòng trọ đã được đăng tin và hiển thị trong danh sách kết quả tìm kiếm.
Post-Condition(s): Báo cáo được gửi đến hệ thống và chờ xử lý.
Flow of Event Actor System
1 Người dùng chọn chức 1.1 Hệ thống hiển thị biểu năng "Báo Cáo" từ trang chi tiết phòng trọ.
2 Người dùng nhập thông tin báo cáo và nhấn n!t
"Gửi". mẫu báo cáo với các trường thông tin như lý do báo cáo và mô tả chi tiết.
2.1 Hệ thống lưu trữ thông tin báo cáo vào cơ sở dữ liệu và đánh dấu phòng trọ đó là cần xem xét.
KẾT QUẢ ĐẠT ĐƯỢC
Giao diện trang đăng nhập
Hình 4.1: Giao diện trang đăng nhập
Giao diện trang chủ
Hình 4.2: Giao diện trang chủ
Giao diện trang chi tiết phòng
Hình 4.3: Giao diện trang chi tiết phòng
Giao diện trang tài khoản
Hình 4.4: Giao diện trang tài khoản
Giao diện tìm kiếm phòng
Hình 4.5: Giao diện trang tìm kiếm phòng
Giao diện trang đăng phòng mới
Hình 4.6: Giao diện trang đăng phòng mới
Giao diện trang chat trực tuyến
Hình 4.7: Giao diện trang chat trực tuyến
Giao diện trang đặt lịch hẹn
Hình 4.8: Giao diện trang chat trực tuyến
Giao diện trang admin
Hình 4.9: Giao diện trang admin
Giao diện trang đánh giá nhận xét
Hình 4.10: Giao diện trang đánh giá nhận xét