1. Trang chủ
  2. » Cao đẳng - Đại học

Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)

200 9 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Bất Động Sản Kết Hợp Hệ Thống Hỗ Trợ Quyết Định Dựa Trên Giá Thị Trường
Tác giả Nguyễn Minh Đức, Phạm Quốc Đạt
Người hướng dẫn ThS. Trần Anh Dũng
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ sư ngành kỹ thuật phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 200
Dung lượng 5,58 MB

Cấu trúc

  • Chương 1. TỔNG QUAN ĐỀ TÀI (0)
    • 1.1. Đặt vấn đề (27)
    • 1.2. Mục tiêu đề tài (27)
    • 1.3. Đối tượng và phạm vi đề tài (28)
      • 1.3.1. Đối tượng (28)
      • 1.3.2. Phạm vi đề tài (28)
    • 1.4. Công cụ sử dụng (28)
  • Chương 2. KIẾN THỨC NỀN TẢNG (0)
    • 2.1. Flutter Framework (29)
      • 2.1.1. Flutter là gì? (29)
      • 2.1.2. Tại sao lại là Flutter? (29)
      • 2.1.3. Đặc điểm nổi bật (30)
    • 2.2. ASP.NET Zero (30)
      • 2.2.1. ASP.NET Zero là gì? (30)
      • 2.2.2. Tại sao lại là ASP.NET Zero? (31)
      • 2.2.3. Đặc điểm nổi bật (31)
    • 2.3. ImgBB (31)
      • 2.3.1. ImgBB là gì? (31)
      • 2.3.2. Tại sao lại là ImgBB? (31)
      • 2.3.3. Đặc điểm nổi bật (31)
    • 2.4. MariaDB (32)
      • 2.4.1. MariaDB là gì? (32)
      • 2.4.2. Tại sao lại là MariaDB? (32)
      • 2.4.3. Đặc điểm nổi bật (32)
    • 2.5. Web Scraper (33)
      • 2.5.1. Web scraper là gì? (33)
      • 2.5.2. Tại sao lại là Web scraper? (33)
      • 2.5.3. Đặc điểm nổi bật (33)
    • 2.6. Adobe XD (34)
      • 2.6.1. Adobe XD là gì? (34)
      • 2.6.2. Tại sao lại là Adobe XD? (34)
      • 2.6.3. Đặc điểm nổi bật (34)
  • Chương 3. CHUẨN BỊ DỮ LIỆU (0)
    • 3.1. Lựa chọn nền tảng đăng tin (36)
      • 3.1.1. Trang batdongsan24h.com.vn (36)
      • 3.1.2. Trang nha.chotot.com (36)
      • 3.1.3. Trang batdongsan.com.vn (36)
      • 3.1.4. Kết luận (37)
    • 3.2. Quá trình thu thập dữ liệu (37)
      • 3.2.1. Vẽ sơ đồ trang web batdongsan.com.vn (37)
      • 3.2.2. Lựa chọn các thông tin của một bài đăng (38)
      • 3.2.3. Cào dữ liệu (40)
      • 3.2.4. Xử lý dữ liệu (41)
      • 3.2.5. Kết quả (43)
  • Chương 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (0)
    • 4.1. Danh sách yêu cầu (45)
      • 4.1.1. Yêu cầu phần mềm (45)
      • 4.1.2. Bảng trách nhiệm cho từng yêu cầu (46)
        • 4.1.2.1. Yêu cầu nghiệp vụ (46)
        • 4.1.2.2. Yêu cầu tiến hóa (47)
        • 4.1.2.3. Yêu cầu hiệu quả (49)
        • 4.1.2.4. Yêu cầu tiện dụng (50)
      • 4.1.3. Yêu cầu phần cứng (52)
        • 4.1.3.1. Người dùng (52)
        • 4.1.3.2. Hệ thống máy chủ (53)
    • 4.2. Quy tắc nghiệp vụ (53)
    • 4.3. Usecase, Đặc tả usecase và sơ đồ hoạt động (54)
      • 4.3.1. Usecase tổng quát (56)
      • 4.3.2. Usecase cho Khách (56)
      • 4.3.3. Usecase cho Người dùng (72)
      • 4.3.4. Usecase cho Kiểm duyệt viên (90)
      • 4.3.5. Usecase cho Admin (95)
    • 4.4. Sơ đồ tuần tự (115)
      • 4.4.1. Sơ đồ tuần tự việc đăng ký (115)
      • 4.4.2. Sơ đồ tuần tự cho việc thêm bài đăng (116)
      • 4.4.3. Sơ đồ tuần tự cho việc nạp tiền (117)
      • 4.4.4. Sơ đồ tuần tự cho việc gia hạn bài viết (117)
      • 4.4.5. Sơ đồ tuần tự cho việc lập báo cáo (118)
    • 4.5. Sơ đồ trạng thái (119)
      • 4.5.1. Sơ đồ trạng thái cho Đăng nhập (119)
      • 4.5.2. Sơ đồ trạng thái cho Thêm tài khoản (120)
      • 4.5.3. Sơ đồ trạng thái cho Nạp tiền cho tài khoản (120)
      • 4.5.4. Sơ đồ trạng thái cho Tạo bài đăng mới (121)
      • 4.5.5. Sơ đồ trạng thái cho Tìm kiếm bài đăng (122)
    • 4.6. ERD và sơ đồ lớp (123)
      • 4.6.1. Mô hình thực thể ERD hoàn thiện (123)
      • 4.6.2. Sơ đồ lớp (124)
      • 4.6.3. Mô tả sơ đồ lớp (125)
        • 4.6.3.1. Danh sách các lớp đối tượng và quan hệ (125)
        • 4.6.3.2. Mô tả chi tiết từng lớp đối tượng (125)
    • 4.7. Sơ đồ logic (132)
      • 4.7.1. Thiết kế sơ đồ logic (132)
      • 4.7.2. Mô tả sơ đồ logic (133)
        • 4.7.2.1. Bảng NguoiDung (133)
        • 4.7.2.2. Bảng BaiDang (133)
        • 4.7.2.3. Bảng DanhMuc (134)
        • 4.7.2.4. Bảng ThuocTinh (134)
        • 4.7.2.5. Bảng ChiTietBaiDang (135)
        • 4.7.2.6. Bảng HinhAnh (135)
        • 4.7.2.7. Bảng Xa (135)
        • 4.7.2.8. Bảng Huyen (135)
        • 4.7.2.9. Bảng Tinh (136)
        • 4.7.2.10. Bảng ThamSo (136)
        • 4.7.2.11. Bảng GoiBaiDang (136)
        • 4.7.2.12. Bảng BaiGhimYeuThich (136)
        • 4.7.2.13. Bảng ChiTietHoaDonBaiDang (137)
        • 4.7.2.14. Bảng LichSuGiaoDich (137)
    • 4.8. Thiết kế kiến trúc (137)
      • 4.8.1. Kiến trúc tổng quan (137)
      • 4.8.2. Flutter App (138)
      • 4.8.3. ASP.NET Core Solution (138)
    • 4.9. Thiết kế giao diện (139)
      • 4.9.1. Màn hình Đăng nhập (139)
      • 4.9.2. Màn hình Đăng ký (140)
      • 4.9.3. Màn hình Quên mật khẩu (142)
      • 4.9.4. Màn hình Trang chủ (143)
        • 4.9.4.1. Màn hình Trang chủ chế độ người dùng khách (143)
        • 4.9.4.2. Màn hình Trang chủ (144)
        • 4.9.4.3. Màn hình Bộ lọc bài đăng (145)
        • 4.9.4.4. Màn hình Chi tiết bài đăng (147)
      • 4.9.5. Màn hình Bản đồ (149)
        • 4.9.5.1. Màn hình Xem bản đồ (149)
        • 4.9.5.2. Màn hình Tìm kiếm trên bản đồ (151)
      • 4.9.6. Màn hình Đăng bài (152)
      • 4.9.7. Màn hình Cá nhân (156)
        • 4.9.7.1. Màn hình Tài khoản của tôi (158)
        • 4.9.7.2. Màn hình Chỉnh sửa thông tin cá nhân (159)
        • 4.9.7.3. Màn hình Ví tiền của tôi (160)
        • 4.9.7.4. Màn hình Nạp tiền (161)
        • 4.9.7.5. Màn hình Bộ lọc lịch sử giao dịch (162)
        • 4.9.7.6. Màn hình Báo cáo thông kê (163)
        • 4.9.7.7. Màn hình Cài đặt (164)
        • 4.9.7.8. Màn hình Đổi mật khẩu (165)
        • 4.9.7.9. Màn hình Bài đăng của tôi (166)
        • 4.9.7.10. Màn hình Bài ghim yêu thích (168)
        • 4.9.7.11. Màn hình Biểu đồ giá (169)
        • 4.9.7.12. Màn hình Tra cứu bất động sản và kết quả tra cứu (170)
      • 4.9.8. Màn hình Quản trị (Chỉ hiển thị với admin và kiểm duyệt viên) (172)
        • 4.9.8.1. Màn hình Quản lý người dùng (174)
        • 4.9.8.2. Màn hình Xem thông tin chi tiết người dùng (175)
        • 4.9.8.3. Màn hình Thêm mới/Chỉnh sửa thông tin người dùng (177)
        • 4.9.8.4. Màn hình Quản lý vai trò (178)
        • 4.9.8.5. Màn hình Quản lý danh mục (180)
        • 4.9.8.6. Màn hình Thêm mới/Chỉnh sửa danh mục (181)
        • 4.9.8.7. Màn hình Quản lý gói bài đăng (182)
        • 4.9.8.8. Màn hình Thêm mới/Chỉnh sửa gói bài đăng (184)
        • 4.9.8.9. Màn hình Quản lý thuộc tính (185)
        • 4.9.8.10. Màn hình Thêm mới/Chỉnh sửa thuộc tính (187)
        • 4.9.8.11. Màn hình Kiểm duyệt giao dịch (188)
        • 4.9.8.12. Màn hình Quản lý bài đăng (189)
  • Chương 5. PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG (0)
    • 5.1. Môi trường phát triển ứng dụng (191)
    • 5.2. Môi trường triển khai ứng dụng (191)
    • 5.3. Xuất bản trên CH Play (191)
    • 5.4. Cài đặt dành cho nhà phát triển (191)
      • 5.4.1. Cài đặt tiên quyết (191)
      • 5.4.2. Hướng dẫn cài đặt từng bước (192)
  • Chương 6. KIỂM THỬ (0)
    • 6.1. Testcase (193)
    • 6.2. Unit Test (193)
    • 6.3. Automation Test (195)
  • Chương 7. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 7.1. Kết luận (197)
      • 7.1.1. Kết quả đạt được (197)
      • 7.1.2. Điểm đặc sắc của đề tài (197)
    • 7.2. Hướng phát triển (198)
  • TÀI LIỆU THAM KHẢO (199)

Nội dung

KIẾN THỨC NỀN TẢNG

Flutter Framework

Flutter là một framework UI di động do Google phát triển, giúp tạo ra giao diện chất lượng cao cho cả iOS và Android một cách nhanh chóng Nó cho phép lập trình viên và tổ chức sử dụng các mã nguồn có sẵn để tối ưu hóa quá trình phát triển ứng dụng.

Flutter hoàn toàn miễn phí và cũng là mã nguồn mở

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

Flutter là một framework mới do Google phát triển, sử dụng ngôn ngữ lập trình Dart, với kỳ vọng khắc phục những nhược điểm của React Native.

Các ứng dụng phát triển bằng Flutter có giao diện và hiệu suất tương đương với các ứng dụng sử dụng Android SDK, khiến chúng khó phân biệt Chỉ với một số tham số bổ sung, phiên bản iOS của ứng dụng cũng có thể được triển khai dễ dàng.

Flutter có khả năng chạy với tốc độ 60 khung hình trên giây, mang lại trải nghiệm người dùng mượt mà vượt trội so với các ứng dụng được phát triển bằng các framework đa nền tảng khác như React Native và Ionic Những đặc điểm nổi bật của Flutter giúp tối ưu hóa hiệu suất và giao diện người dùng.

• Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu ích như mixin, generic, isolate, và static type

• Flutter có các thành phần UI được thiết kế riêng theo Material Design của Google, có thể sử dụng trên cả hai nền tảng Android và iOS

• Các ứng dụng Flutter thường được phát triển bằng cách sử dụng IntelliJ IDEA, Android Studio và Visual Studio Code

• Fast Development: Tíng năng Hot Reload hoạt động rất nhanh Sử dụng tập hợp các widget có thể customizable để xây dựng giao diện trong vài phút

Flutter offers a highly expressive and flexible user interface, featuring a wide range of components that enable the creation of visually stunning designs in both Material Design and Cupertino styles It supports numerous motion APIs and smooth scrolling, enhancing the overall user experience.

Flutter widgets leverage platform-specific features such as scrolling, navigation, icons, and fonts to deliver optimal native performance on both iOS and Android devices.

Hình 2.1: Ví dụ minh họa cho Flutter

ASP.NET Zero

2.2.1 ASP.NET Zero là gì?

ASP.NET Zero là một giải pháp Visual Studio dành cho các dự án web app mới, cung cấp kiến trúc SOLID và khả năng mở rộng dễ dàng Nó bao gồm nhiều tính năng như quản lý người dùng, chức vụ, phân quyền, audit logging, quản lý cài đặt và hồ sơ người dùng ASP.NET Zero được phát triển dựa trên dự án mã nguồn mở ASP.NET Boilerplate.

2.2.2 Tại sao lại là ASP.NET Zero?

ASP.NET Zero giúp tiết kiệm thời gian phát triển nhờ cung cấp các tính năng phổ biến trong các dự án phần mềm, đồng thời tuân thủ kiến trúc SOLID Bên cạnh đó, tốc độ phát triển và khả năng sửa lỗi của nó vượt trội hơn so với các Framework dựa trên Javascript và Typescript.

• Kiến trúc SOLID mã nguồn phân lớp, gọn gàng được xây dựng trên một khung cơ sở mạnh mẽ

• Hỗ trợ SaaS, multi tenancy, phiên bản, tính năng, đăng ký và quản lý thanh toán

• Xác thực & Ủy quyền Nâng cao người dùng, vai trò, quản lý quyền Nhiều tùy chọn đăng nhập tích hợp & tích hợp

• Phát triển ứng dụng nhanh chóng ngoài các tính năng tích hợp, công cụ RAD tăng tốc độ phát triển ứng dụng.

ImgBB

ImgBB là dịch vụ lưu trữ hình ảnh miễn phí, cung cấp quy trình sử dụng đơn giản và tài liệu API dễ hiểu, giúp người dùng nhanh chóng triển khai tích hợp cho dự án của mình.

2.3.2 Tại sao lại là ImgBB?

ImgBB là một dịch vụ lưu trữ ảnh miễn phí lên đến 32MB cho mỗi file ảnh Đáp ứng được yêu cầu của đề tài

• Tốc độ tải ảnh và truy xuất nhanh

• Không giới hạn tổng dung lượng

MariaDB

MariaDB là hệ quản trị cơ sở dữ liệu miễn phí, được phát triển từ MySQL, nhằm thay thế công nghệ này Với tính tương thích cao và hiệu suất vượt trội, MariaDB mang lại những lợi ích đáng kể so với MySQL.

2.4.2 Tại sao lại là MariaDB?

MariaDB, được dẫn dắt bởi Michael “Monty” Widenius, là một hệ quản trị cơ sở dữ liệu nổi bật với sự tương thích rộng rãi trên nhiều hệ điều hành như Linux CentOS, Ubuntu và Windows Hệ thống này cung cấp các gói cài đặt đa dạng như tar, zip, MSI và rpm cho cả phiên bản 32bit và 64bit, mang lại hiệu suất vượt trội so với MySQL.

MariaDB ngày càng được nhiều nhà phát triển, bao gồm Wikipedia và Fullstack-Station, ưa chuộng sử dụng Xu hướng này cho thấy MariaDB đang dần thay thế MySQL, hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất hiện nay.

• Khắc phục những hạn chế của MySQL

• Bổ sung thêm nhiều loại Storage Engine như: Aria, XtraDB, FederatedX, OQGRAPH, SphinxSE, IBM DB2I, Spider

• Kết hợp cả SQL và NoSQL

• Hỗ trợ nhiều loại bảng mã ký tự, trong đó có tiếng Việt

Hình 2.2: Hệ quản trị cơ sở dữ liệu MariaDB 1

Web Scraper

Web scraper là công nghệ trích xuất dữ liệu tự động từ trang web, giúp tự động hóa quá trình sao chép thông tin mà không cần thao tác thủ công Chỉ cần sử dụng một crawler, người dùng có thể thu thập văn bản, giá cả, hình ảnh và liên kết sản phẩm một cách nhanh chóng, tiết kiệm thời gian so với phương pháp thủ công.

2.5.2 Tại sao lại là Web scraper?

Web scraper miễn phí và không cần cài đặt trên hệ thống Windows, mà là tiện ích tích hợp sẵn trong Chrome, giúp đơn giản hóa quá trình thu thập dữ liệu Nhờ đó, người dùng tiết kiệm được nhiều thời gian và công sức, từ đó có thể tập trung vào việc làm sạch bộ dữ liệu hiệu quả hơn.

• Là một tiện ích mở rộng của trình duyệt Chrome

• Cách sử dụng đơn giản

• Hầu như không cần phải viết code

• Lấy dữ liệu nhanh, có thể chạy nhiều luồng

1 https://aws.amazon.com/vi/rds/mariadb/

Hình 2.3: Tiện ích Web Scraper 2

Adobe XD

Adobe XD, hay còn gọi là Adobe Experience Design, là một công cụ thiết kế chuyên nghiệp được phát triển bởi Adobe Inc., giúp hỗ trợ người dùng trong việc thiết kế website và ứng dụng một cách hiệu quả.

XD một phần mềm rất hữu ích và hỗ trợ cho những người dùng trong việc thiết kế cũng như tạo nguyên mẫu cho nhiều ứng dụng khác nhau

2.6.2 Tại sao lại là Adobe XD?

Sử dụng Adobe XD giúp người dùng hiểu rõ quy trình xây dựng Wireframe, từ đó thiết kế giao diện cho ứng dụng Mobile, Web và Landing Page một cách nhanh chóng Giao diện của Adobe XD với ít công cụ cho phép người dùng dễ dàng tìm kiếm và thao tác, ngay cả với những người không chuyên Hơn nữa, Adobe XD cho phép mở nhiều bản vẽ cùng lúc để thiết kế cho nhiều giao diện màn hình khác nhau.

Nếu bạn là lập trình viên hoặc quen thuộc với X-Code, việc chuyển sang Adobe XD sẽ rất dễ dàng do giao diện và cách điều hướng của phần mềm này tương tự như X-Code.

• Tạo hoặc chia sẻ liên kết đến người dùng khác

2 https://webscraper.io/blog/ultimate-web-scraping-guide

• Bộ dụng cụ UX (trải nghiệm người dùng) dễ dàng tạo ra các ứng dụng gốc cho các nền tảng khác nhau

• Repeat Grid tạo một hoặc nhiều đối tượng trong một lần click chuột

Thư viện Creative Cloud cung cấp các tài nguyên như ký tự, hình ảnh, màu sắc và nhiều nội dung khác, giúp người dùng tiết kiệm thời gian trong việc tạo nội dung cho các dự án Adobe XD.

Prototype xem trước bản vẽ thiết kế rất tiện lợi nhờ vào việc tạo liên kết giữa các artboard và các đối tượng đại diện cho màn hình trong ứng dụng.

Hình 2.4: Ứng dụng Adobe XD 3

3 https://uiuxbeginners.quora.com/How-to-Create-UI-UX-Design-with-Adobe-XD

CHUẨN BỊ DỮ LIỆU

Lựa chọn nền tảng đăng tin

Thông tin chung: batdongsan24h.com.vn [6] là một trang đăng tin mua bán

BĐS lâu đời, được ra mắt vào ngày 28/09/2015 bởi Công ty Cổ Phần Đầu Tư Toàn Hải Phát, nổi bật với ưu điểm là hoạt động sớm tại Việt Nam, cung cấp một lượng thông tin phong phú về thị trường Người dùng có thể đăng tin miễn phí và trải nghiệm tốc độ truy cập nhanh chóng.

Nhược điểm của nền tảng này là không cung cấp API cho các nhà phát triển, dẫn đến việc đăng tin miễn phí tạo ra bộ dữ liệu chất lượng thấp Mặc dù có nhiều thông tin, nhưng số lượng bài đăng lại rất hạn chế.

Nha.chotot.com là trang đăng tin bất động sản mới ra mắt vào ngày 28/06/2017, thuộc Công Ty TNHH Chợ Tốt Trang web này nổi bật với số lượng bài đăng phong phú hơn so với batdongsan24h.com.vn, tốc độ truy cập nhanh và hoàn toàn miễn phí cho người dùng.

Nhược điểm của việc thu thập dữ liệu là thường xuyên lấy thông tin từ các trang khác, dẫn đến chất lượng dữ liệu không cao Hơn nữa, không có API hỗ trợ cho các nhà phát triển, mặc dù số lượng bài đăng lớn nhưng vẫn không đảm bảo tính chính xác và độ tin cậy.

Batdongsan.com.vn là trang web hàng đầu tại Việt Nam chuyên về mua bán bất động sản, được thành lập vào ngày 22/12/2004 bởi Công ty Cổ phần PropertyGuru Việt Nam Với ưu điểm là trang đăng tin lớn nhất và đầu tiên, batdongsan.com.vn cung cấp tốc độ truy cập nhanh chóng Mặc dù là một trang đăng tin trả phí, nhưng việc này giúp lọc dữ liệu hiệu quả, đảm bảo chất lượng thông tin Ngoài ra, số lượng bài đăng trên trang này vượt trội hơn so với các trang khác.

Nhược điểm: Không có API cho nhà phát triển, dữ liệu miễn phí chỉ xem được trong 1 tháng

Việc phân tích và lựa chọn trang web để tạo bộ dữ liệu là rất quan trọng, vì nó ảnh hưởng trực tiếp đến quyết định của nhà đầu tư Chất lượng nguồn dữ liệu là tiêu chí hàng đầu trong quá trình lựa chọn Do việc thu thập dữ liệu đòi hỏi nhiều tài nguyên như phần cứng và thời gian, trang batdongsan.com.vn sẽ được ưu tiên để triển khai tạo bộ dữ liệu, đặc biệt tập trung vào Thành phố Hồ Chí Minh.

Quá trình thu thập dữ liệu

3.2.1 Vẽ sơ đồ trang web batdongsan.com.vn

Sơ đồ trang web rất lớn, hình bên dưới chỉ tập trung vùng chính để lấy dữ liệu

Hình 3.1: Sơ đồ trang batdongsan.com.vn

3.2.2 Lựa chọn các thông tin của một bài đăng

Một bài đăng cần có các thông tin quan trọng được mô tả chi tiết trong hình bên dưới Tuy nhiên, một số thuộc tính của từng bài đăng có thể không cố định hoặc yêu cầu thao tác đặc biệt, như đã nêu trong bảng bên dưới.

Hình 3.2: Một số thuộc tính chính của bài đăng trên trang batdongsan.com.vn

STT Tên thuộc tính Ghi chú

1 Tiêu đề bài đăng Chắc chắn có

2 Địa chỉ BĐS Chắc chắn có nhưng có thể không đầy đủ

3 Giá Giá có thể là “thoả thuận”

4 Diện tích Có thể không có

5 Phòng ngủ Không có định, tuỳ thuộc vào từng bài đăng sẽ khác nhau

6 Mô tả Chắc chắn có

7 Danh mục loại tin đăng Chắc chắn có

8 Các thuộc tính chi tiết của BĐS Không có định, tuỳ thuộc vào từng bài đăng

15 sẽ khác nhau, Cũng không theo thứ tự cố định

9 Tên người đăng Chắc chắn có

10 Số điện thoại người đăng Số điện thoại cần thêm một thao tác click để có thể hiện số

Bảng 3.1: Bảng mô tả chi tiết các thuộc tính chính của bài đăng

Sau khi xác định các thông tin cần thiết cho bộ dữ liệu, bạn có thể sử dụng Web scraper (tiện ích của Chrome) để cào dữ liệu Quá trình này sẽ được thực hiện tự động dựa trên sơ đồ trang web đã được cài đặt.

Hình 3.3: Crawl dữ liệu bằng Web scraper Những dữ liệu bài đăng đã được cào về sẽ được lưu dưới dạng file xlsx và csv

3.2.4 Xử lý dữ liệu Đầu tiên, để xử lý dữ liệu, cần nghiên cứu sâu hơn về các yếu tố ảnh hưởng đến giá trị của một BĐS [9] Trong đó, các yếu tố thuộc nhóm tự nhiên là những yếu tố hàng đầu ảnh hưởng đến giá trị của một BĐS:

Vị trí của bất động sản (BĐS) đóng vai trò quyết định trong khả năng sinh lời, với giá trị BĐS càng cao khi vị trí mang lại lợi ích lớn Mỗi BĐS đều có hai loại vị trí: vị trí tuyệt đối và vị trí tương đối Cả hai loại vị trí này đều quan trọng trong việc xác định giá trị tổng thể của BĐS.

Kích thước, hình thể và diện tích của thửa đất hay lô đất là yếu tố quan trọng, với kích thước tối ưu đáp ứng nhu cầu cụ thể của đa số cư dân trong khu vực.

Địa hình của bất động sản (BĐS) ảnh hưởng lớn đến giá trị của nó, đặc biệt là vị trí cao hay thấp so với các BĐS xung quanh Những khu vực thấp thường xuyên bị ngập nước trong mùa mưa hoặc chịu tác động của triều cường sẽ có giá trị thấp hơn, trong khi những khu vực cao hơn thường có giá trị cao hơn.

Hình thức bên ngoài của bất động sản, bao gồm nhà ở và các công trình xây dựng khác, đóng vai trò quan trọng trong việc xác định giá trị Nếu hai bất động sản có giá xây dựng tương đương, bất động sản nào có kiến trúc phù hợp với thị hiếu sẽ có giá trị cao hơn Ngược lại, những bất động sản không đáp ứng được sở thích của thị trường sẽ có giá trị thấp hơn.

Đặc điểm của đất, bao gồm độ dày lớp bề mặt, tính chất thổ nhưỡng và tính chất vật lý, có ảnh hưởng đáng kể đến giá trị bất động sản (BĐS) Mức độ ảnh hưởng này phụ thuộc vào mục đích sử dụng đất; ví dụ, độ màu mỡ của đất rất quan trọng cho việc sử dụng vào nông nghiệp, nhưng lại không có giá trị lớn khi đất được sử dụng cho xây dựng.

• Tình trạng môi trường: môi trường trong lành hay bị ô nhiễm nặng, yên tĩnh hay ồn ào đều ảnh hưởng trực tiếp đến giá trị BĐS

Các bất động sản (BĐS) nằm ở những khu vực thường xuyên chịu ảnh hưởng của thiên tai như bão, lụt, động đất và khí hậu khắc nghiệt có thể gặp nhiều rủi ro Những sự cố này không chỉ gây thiệt hại về tài sản mà còn dẫn đến sự giảm giá trị của BĐS Ngược lại, những khu vực an toàn hơn thường có giá trị BĐS ổn định và tăng trưởng tốt hơn.

Ngoài ra, các yếu tố về pháp lý cũng có ảnh hưởng lớn đến giá trị của một BĐS

Để phân tích và xác định ngưỡng phù hợp cho từng loại hình bất động sản, cần thu thập nhiều dữ liệu Trong nghiên cứu này, việc lọc các bất động sản có giá ảo sẽ chỉ dựa vào các yếu tố cơ bản như giá, diện tích và giá trung bình của cùng loại hình trong khu vực, nhằm tạo ra một bộ lọc đơn giản để loại bỏ những bất động sản không thực.

Sau khi tham khảo ý kiến từ một số nhà môi giới trong khu vực, ngưỡng cao được xác định là từ 70% đến 80%, trong khi ngưỡng thấp dao động từ 25% đến 30% Dựa trên các thông số đã cân nhắc, bộ lọc nhóm đã được quyết định áp dụng.

Để tối ưu hóa giá trị bất động sản, cần loại bỏ những bất động sản có giá theo mét vuông (triệu/m2) cao hơn 80% so với giá trị trung bình của cùng loại hình trong khu vực Mặc dù một số bất động sản có thể nằm ở khu vực trung tâm và có nhiều tiện ích, giá trị của chúng cũng không nên vượt quá 80% so với mức trung bình.

Để loại bỏ các bất động sản có giá bán thấp không hợp lý, cần xác định những BĐS có giá theo mét vuông (triệu/m2) thấp hơn 25% so với giá trị trung bình của cùng loại hình trong khu vực Những BĐS có giá bán thấp thường là do chủ sở hữu gặp vấn đề tài chính cần thanh lý, nhưng thường chỉ giảm giá từ 10-20% so với mặt bằng chung Việc chọn ngưỡng 25% giúp đảm bảo rằng quá trình lọc giá ảo diễn ra hiệu quả và đúng mục đích.

Việc cào dữ liệu từ trang web chỉ đơn thuần là thu thập các bài đăng thô và lưu trữ chúng Tuy nhiên, để phù hợp với đề tài nghiên cứu, cần chuẩn hóa bộ dữ liệu và kết hợp với hai yếu tố của bộ lọc bất động sản ảo, như đã nêu trong bảng 3.1.

• Loại bỏ các bài đăng có giá là “thoả thuận”

• Loại bỏ các bài đăng không có diện tích

• Loại bỏ các bài đăng với địa chỉ không đầy đủ

Để tối ưu hóa việc đánh giá và phân tích bất động sản, cần loại bỏ các bài đăng có mức giá theo m² cao hơn 80% và thấp hơn 25% so với các bất động sản tương tự trong cùng khu vực Đồng thời, các thuộc tính chi tiết của bất động sản sẽ được chuyển thành các nhãn (tags) nhằm hỗ trợ việc tìm kiếm và quyết định một cách hiệu quả hơn.

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

Danh sách yêu cầu

STT Tên yêu cầu Ghi chú

1 Xem các bài đăng BĐS Khách

2 Tìm kiếm bài đăng theo bộ lọc Khách

4 Xem bài đăng đã ghim Khách

5 Xem định vị BĐS trên bản đồ Khách

8 Đăng bài BĐS Thành viên

9 Quản lý bài đăng cá nhân Thành viên

10 So sánh BĐS Thành viên

11 Quản lý ví tiền cá nhân Thành viên

12 Quản lý thông tin cá nhân Thành viên

13 Xem báo cáo cá nhân Thành viên

14 Quản lý bài đăng trên hệ thống Kiểm duyệt viên

15 Xác nhận nạp tiền Kiểm duyệt viên

16 Quản lý người dùng Admin

17 Quản lý gói đăng bài Admin

18 Xem báo cáo tổng quan Admin

19 Quản lý phân quyền Admin

Bảng 4.1: Bảng danh sách yêu cầu khách hàng

4.1.2 Bảng trách nhiệm cho từng yêu cầu

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

1 Xem các bài đăng BĐS

Hiển thị bài đăng được chọn

2 Tìm kiếm bài đăng theo bộ lọc

Cung cấp thông tin cho bộ lọc

Hiển thị các bài đăng phù hợp với bộ lọc

3 Ghim bài đăng Nhấn nút ghim bài Xác nhận ghi bài Cho phép hủy, cập nhật

4 Xem bài đăng đã ghim

Kiểm tra và hiển thị bài đã ghim

BĐS trên bản đồ Lựa chọn khu vực Kiểm tra hợp lệ Cho phép hủy, cập nhật

6 Đăng nhập Cung cấp thông tin đăng nhập Kiểm tra hợp lê Cho phép hủy

7 Đăng ký Cung cấp thông tin đăng ký Kiểm tra hợp lê Cho phép cập nhật, hủy

Cung cấp thông tin về loại bài đăng, tiêu đề và nội dung

Kiểm tra hợp lệ, ghi nhận

9 Quản lý bài đăng cá nhân

Kiểm tra hợp lệ, ghi nhận

10 So sánh BĐS Lựa chọn 2 bài đăng Kiểm tra hợp lệ, hiển thị so sanh

Cho phép cập nhật, hủy

11 Quản lý ví tiền cá nhân

Kiểm tra hợp lệ, ghi nhận

12 Quản lý thông Kiểm tra hợp lệ,

22 tin cá nhân ghi nhận

13 Xem báo cáo cá nhân

Cung cấp thông tin về khoảng thời gian muốn xem

Kiểm tra hợp lệ, hiển thị báo cáo

Cho phép hủy, cập nhật

Quản lý bài đăng trên hệ thống

Kiểm tra hợp lệ, ghi nhận

Kiểm tra hợp lệ, ghi nhận

Kiểm tra hợp lệ, ghi nhận

Cho phép hủy, cập nhật

17 Quản lý gói đăng bài

Kiểm tra hợp lệ, ghi nhận

Cho phép hủy, cập nhật

18 Xem báo cáo tổng quan

Cung cấp thông tin về khoảng thời gian muốn xem

Kiểm tra hợp lệ, hiển thị báo cáo

Cho phép hủy, cập nhật

Kiểm tra hợp lệ, hiển thị thông tin

Cho phép cập nhật, hủy Bảng 4.2: Bảng trách nhiệm cho yêu cầu nghiệp vụ

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

2 Tìm kiếm bài đăng theo bộ lọc

3 Ghim bài đăng Ghim bài Cập nhật theo giá trị mới

4 Xem bài đăng đã ghim

5 Xem định vị BĐS trên bản đồ

8 Đăng bài BĐS Thêm mới bài viết Cập nhật theo giá trị mới

9 Quản lý bài đăng cá nhân

11 Quản lý ví tiền cá nhân

12 Quản lý thông tin cá nhân

13 Xem báo cáo cá nhân Tạo mới báo cáo

Cập nhật dựa trên thời gian được cung cấp

14 Quản lý bài đăng trên hệ thống

17 Quản lý gói đăng bài

18 Xem báo cáo tổng Tạo mới báo cáo Cập nhật dựa trên thời gian được cung

Thêm mới người dùng, (cung cấp nhóm quyền)

Có thể thêm mới theo giá trị mới

Bảng 4.3: Bảng trách nhiệm cho yêu cầu tiến hóa

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

BĐS Chọn bài đăng Thực hiện đúng theo yêu cầu

2 Tìm kiếm bài đăng theo bộ lọc

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

3 Ghim bài đăng Nhấn ghi bài đăng Thực hiện đúng theo yêu cầu

4 Xem bài đăng đã ghim

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

5 Xem định vị BĐS trên bản đồ

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

6 Đăng nhập Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

7 Đăng ký Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

8 Đăng bài BĐS Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

9 Quản lý bài đăng cá nhân

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

10 So sánh BĐS Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

11 Quản lý ví tiền cá nhân

Thực hiện đúng theo yêu cầu

12 Quản lý thông tin cá nhân

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

13 Xem báo cáo cá nhân Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

14 Quản lý bài đăng trên hệ thống

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

15 Xác nhận nạp tiền Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

16 Quản lý người dùng Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

17 Quản lý gói đăng bài Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

18 Xem báo cáo tổng quan

Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

19 Quản lý phân quyền Chuẩn bị thông tin nhập vào

Thực hiện đúng theo yêu cầu

Bảng 4.4: Bảng trách nhiệm cho yêu cầu hiệu quả

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

1 Xem các bài đăng Đọc hướng dẫn sử Thực hiện đúng

BĐS dụng theo yêu cầu

2 Tìm kiếm bài đăng theo bộ lọc Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

3 Ghim bài đăng Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

4 Xem bài đăng đã ghim Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

5 Xem định vị BĐS trên bản đồ Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

6 Đăng nhập Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

7 Đăng ký Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

8 Đăng bài BĐS Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

9 Quản lý bài đăng cá nhân Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

10 So sánh BĐS Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

11 Quản lý ví tiền cá nhân Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

12 Quản lý thông tin cá nhân Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

13 Xem báo cáo cá nhân Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

14 Quản lý bài đăng trên hệ thống Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

15 Xác nhận nạp tiền Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

16 Quản lý người dùng Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

17 Quản lý gói đăng bài Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

18 Xem báo cáo tổng quan Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu

19 Quản lý phân quyền Đọc hướng dẫn sử dụng

Thực hiện đúng theo yêu cầu Bảng 4.5: Bảng trách nhiệm cho yêu cầu tiện dụng

• Phần cứng: o Điện thoại Android:

▪ Dung lượng trống: 100MB hoặc hơn o Điện thoại Iphone:

▪ CPU: Apple A8 hoặc hơn (từ Iphone 6)

▪ Dung lượng trống: 10MB hoặc hơn

• Phần mềm: o Điện thoại thông minh

▪ Hệ điều hành: Android 4.4, IOS 10

• Hardware: o CPU: 4-Core hoặc hơn o RAM: 8GB hoặc hơn

• Software: o Hệ điều hành: Windows Server 2008, CentOS7 … o Môi trường: Microsoft NET Core 5 o Hệ quản trị Cơ sở dữ liệu: MariaDB o Máy chủ Web: Internet Information Services (IIS).

Quy tắc nghiệp vụ

Mã Định nghĩa Loại Kiểu

BR-1 Cần tài khoản và mật khẩu để đăng nhập vào hệ thống Thực tế Tĩnh

Kiểm duyệt viên sau khi đã xác nhận nạp tiền vào ví khách hàng thì không thể thay đổi được

Số tiền trong ví cần phải lớn hơn hoặc bằng giá trị của giao dịch thì mới có thể thực hiện giao dịch

BR-4 Số tiền trong ví không thể rút ra Ràng buộc Tĩnh

Để đăng bài trên nền tảng, người dùng cần cập nhật đầy đủ thông tin cá nhân (BR-5) Việc kiểm duyệt nội dung chỉ được thực hiện bởi các kiểm duyệt viên hoặc quản trị viên hệ thống (BR-6).

29 thống mới có thể xác nhận nạp tiền vào tài khoản người dùng

Hệ thống sẽ tính toán tự động số tiền khi đăng bài hoặc gia hạn bài đăng theo gói bài đăng

Việc truyền thông tin qua mạng liên quan đến thông tin tài chính hoặc thông tin nhận dạng cá nhân cần mã hóa 256-bit

BR-9 Chỉ có kiểm duyệt viên và quản trị hệ thống mới có thể kiểm duyệt bài đăng Ràng buộc Tĩnh

BR-10 Chỉ có quản trị hệ thống mới có thể quản lý danh mục Ràng buộc Động

BR-11 Chỉ có quản trị hệ thống mới có thể quản lý giá gói bài đăng Ràng buộc Động

BR-12 Quản trị hệ thống có thể quản lý phân quyền, chức vụ Ràng buộc Động

BR-13 Điểm yêu thích được tính theo công thức: lượt xem * 0.1 + lượt yêu thích Ràng buộc Động

Bài đăng BR-14 cần cung cấp đầy đủ thông tin bao gồm tên bài đăng, diện tích, giá tiền và địa chỉ Ràng buộc Tĩnh Để thực hiện việc này, người dùng phải đăng nhập vào hệ thống Ràng buộc Tĩnh.

Bảng 4.6: Bảng quy tắc nghiệp vụ

Usecase, Đặc tả usecase và sơ đồ hoạt động

6 Xem bài đăng đã ghim

8 Tìm kiếm xung quanh khu vực

10 Tra cứu BĐS phù hợp

11 Quản lý thông tin cá nhân

15 Xem báo cáo cá nhân

Kiểm duyệt viên 16 Kiểm duyệt bài đăng không hợp lệ

19 Xem báo cáo tổng thể

21 Quản lý thuộc tính BĐS

22 Quản lý gói bài đăng Bảng 4.7: Danh sách các Actor và các Usecases tương ứng

Hình 4.1: Sơ đồ Usecase tổng quát

Hình 4.2: Sơ đồ Usecase cho Actor “Khách”

STT - tên: UC-1 Đăng ký

Primary Actor: Khách Secondary Actors: Hệ thống

Người dùng cần đăng ký tài khoản để có thể đăng nhập vào hệ thống, nhằm mục đích cấp quyền truy cập cho họ Để thực hiện điều này, cần có những điều kiện tiên quyết nhất định.

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện đăng ký Điều kiện lúc sau: POST-1 Người dùng đăng ký thành công

Quy trình cơ bản: 1.0 Đăng ký hệ thống thành công

1 Người dùng khởi động ứng dụng

2 Người dùng nhập các thông tin đăng ký

4 Hệ thống lưu thông tin đăng ký thành công

Quy trình thay thế: Không có

Ngoại lệ: 1.0.E1 Người dùng đã có có tài khoản Ưu tiên: Cao

Bảng 4.8: Bảng đặc tả Usecase “Đăng ký”

33 Hình 4.3: Sơ đồ hoạt động của “Đăng ký”

STT - tên: UC-2 Đăng Nhập

Primary Actor: Khách Secondary Actors: Hệ thống

Mô tả: Người dùng đăng nhập tài khoản để truy cập vào hệ thống Mục đích: Hệ thống cho phép người dùng truy cập Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện đăng nhập

PRE-2 Người dùng đã có tài khoản Điều kiện lúc sau: POST-1 Người dùng đăng nhập thành công

Quy trình cơ bản: 2.0 Đăng nhập hệ thống thành công

Người dùng khởi động ứng dụng

Người dùng nhập tài khoản và mật khẩu

Hệ thống xác thực thông tin đăng nhập thành công và cho phép người dùng khách truy cập vào hệ thống

Quy trình thay thế: Không có

Ngoại lệ: 2.0.E2 Đăng nhập hệ thống không thành công

Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo Ưu tiên: Cao

Bảng 4.9: Bảng đặc tả Usecase “Đăng nhập”

35 Hình 4.4: Sơ đồ hoạt động của “Đăng nhập”

STT - tên: UC-3 Xem bài đăng

Primary Actor: Tất cả Secondary Actors: Hệ thống

Mô tả: Người dùng xem các bài đăng về nhà đất

Mục đích: Hệ thống cho phép xem các bài đăng đã được phê duyệt Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet Điều kiện lúc sau:

Quy trình cơ bản: 3.0 Xem bài đăng thành công

Người dùng khởi động ứng dụng

Hệ thống cập nhật các bài đăng về ứng dụng

Quy trình thay thế: Không có

Ngoại lệ: 3.0.E2 Đăng nhập hệ thống không thành công

Thiết bị không kết nối internet Ưu tiên: Cao

Bảng 4.10: Bảng đặc tả Usecase “Xem bài đăng”

37 Hình 4.5: Sơ đồ hoạt động của “Xem bài đăng”

STT - tên: UC-4 Tìm kiếm bài đăng

Primary Actor: Tất cả Secondary Actors: Hệ thống

Người dùng thường tìm kiếm thông tin liên quan đến bài đăng để đáp ứng nhu cầu thông tin của mình Mục đích chính là cung cấp những dữ liệu cần thiết mà người dùng đang mong muốn Để đạt được điều này, cần có những điều kiện tiên quyết rõ ràng và phù hợp.

PRE-1 Thiết bị của người dùng phải kết nối internet Điều kiện lúc sau:

Quy trình cơ bản: 4.0 Tìm kiếm thành công

Người dùng khởi động ứng dụng

Người dùng nhập thông tin cần tìm kiếm vào thanh tìm kiếm

Hệ thống truy xuất trong CSDL và trả về kết quả

Quy trình thay thế: Không

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.11: Bảng đặc tả Usecase “Tìm kiếm bài đăng”

39 Hình 4.6: Sơ đồ hoạt động của “Tìm kiếm bài đăng”

STT - tên: UC-5 Ghim bài đăng

Primary Actor: Tất cả Secondary Actors: Hệ thống

Mô tả: Người dùng đánh dấu bài đăng đang quan tâm

Mục đích: Cho phép người dùng lưu lại bài đăng người dùng đang quan tâm Điều kiện tiên quyết:

PRE-3 Thiết bị của người dùng phải kết nối internet Điều kiện lúc sau:

Quy trình cơ bản: 5.0 Ghim thành công

Người dùng chọn vào bài đăng đang quan tâm

Hệ thống lưu lại bài đăng người dùng đã ghim

Quy trình thay thế: Không

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.12: Bảng đặc tả Usecase “Ghim bài đăng”

41 Hình 4.7: Sơ đồ hoạt động của “Ghim bài đăng”

STT - tên: UC-6 Xem bài đăng đã ghim

Primary Actor: Tất cả Secondary Actors: Hệ thống

Mô tả: Người dùng xem lại danh sách bài đăng đã ghim

Mục đích: Hệ thông cho phép người dùng xem lại những bài đăng đã quan tâm Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet Điều kiện lúc sau:

Quy trình cơ bản: 6.0 Xem bài đăng đã ghim thành công

Người dùng vào mục bài đã ghim

Hệ thống trả về những bài đăng đã ghim

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.13: Bảng đặc tả Usecase “Xem bài đăng đã ghim”

STT - tên: UC-7 Xem bản đồ

Primary Actor: Tất cả Secondary Actors: Hệ thống

Mô tả: Người dùng người dùng xem bản đồ

Mục đích: Cho phép người dùng xem bản đổ thế giới Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet Điều kiện lúc sau:

Quy trình cơ bản: 7.0 Xem bản đồ thành công

Người dùng mở bản đồ

Hệ thống sử dụng API Google gửi lại bản đồ thế giới Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.14: Bảng đặc tả Usecase “Xem bản đồ”

44 Hình 4.8: Sơ đồ hoạt động của “Xem bản đồ”

STT - tên: UC-8 Tìm kiếm xung quanh khu vực

Primary Actor: Tất cả Secondary Actors: Hệ thống

Mô tả: Người dùng người dùng xem bản đồ và thông tin giá cả hiện thị trên bản đồ

Mục đích: Cho phép người dùng tìm kiếm nhà đất xung quanh theo vị trí trên bản đồ Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet

PRE-2 Đã mở bản đồ Điều kiện lúc sau:

Quy trình cơ bản: 8.0 Tìm kiếm thành công

Người dùng mở bản đồ

Hệ thống sử dụng API Google gửi lại bản đồ thế giới

Hệ thống cập nhật vị trí các nhà đất đang được đăng trên ứng dụng lên bản đồ

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.15: Bảng đặc tả Usecase “Tìm kiếm xung quanh khu vực”

46 Hình 4.9: Sơ đồ hoạt động của “Tìm kiếm xung quanh khu vực”

Hình 4.10: Sơ đồ Usecase cho Actor “Người dùng”

STT - tên: UC-9 Quản lý thông tin cá nhân

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng cập nhật thông tin cá nhân

Mục đích: Hệ thống cho phép người dùng thay đổi thông tin cá nhân Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền chỉnh sửa thông tin cá nhân Điều kiện lúc sau: POST-1 Người dùng cập nhật thông tin thành công

Quy trình cơ bản: 9.0 Cập nhật thông tin thành công

Người dùng truy cập vào thông tin cá nhân

Chọn “Cập nhật thông tin”

Người dùng nhập các thông tin cá nhân cần cập nhật

Hệ thống cập nhật thông tin thành công

Quy trình thay thế: Không có

Ngoại lệ: 9.0E1 Cập nhật thông tin không thành công

Hệ thống kiểm tra tính đúng đắn của thông tin người dùng nhập vào không hợp lệ và hiển thị thông báo

Yêu cầu người dùng nhập đúng thông tin cần cập nhật Ưu tiên: Cao

Bảng 4.16: Bảng đặc tả Usecase “Quản lý thông tin cá nhân”

49 Hình 4.11: Sơ đồ hoạt động của “Quản lý thông tin cá nhân”

STT - tên: UC-10 Quản lý bài đăng

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng đăng bài viết, chỉnh sửa nội dung hoặc xóa bài đăng

Mục đích: Hệ thống cho phép người dùng đăng bài viết mới, chỉnh sửa hoặc xóa bài viết đã đăng Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền Điều kiện lúc sau: Không có

Quy trình cơ bản: 10.0 Đăng bài thành công

Người dùng truy cập vào mục “Đăng bài”

Chọn phương thức “Mua bán/Cho thuê”

Người dùng nhập thông tin của BĐS

Người dùng tiếp tục chọn gói đăng tin phù hợp với nhu cầu

Hệ thống thu phí của người dùng đồng thời thêm bài đăng vào dữ liệu và thông báo xác nhận thành công

10.1 Cập nhật bài đăng thành công Người dùng truy cập vào quản lý bài đăng

Chọn bài đăng cần cập nhật

Chọn “Cập nhật bài đăng”

Người dùng nhập thông tin cần cập nhật của BĐS

Hệ thống cập nhật lại bài đăng vào dữ liệu và thông báo xác nhận thành công

10.2 Xóa bài đăng thành công Người dùng truy cập vào quản lý bài đăng

Chọn bài đăng cần xóa

Người dùng xác nhận lại

Hệ thống xóa bài đăng và thông báo xác nhận thành công

Quy trình thay thế: Không có

Ngoại lệ: 10.0E1 Đăng bài không thành công

Hệ thống kiểm tra số dư trong ví tiền của người dùng không đủ và hiển thị thông báo

Yêu cầu người dùng nạp thêm tiền vào ví Ưu tiên: Cao

Business rule: BR-3, BR-5, BR-7, BR-14, BR-15

Bảng 4.17: Bảng đặc tả Usecase “Quản lý bài đăng”

52 Hình 4.12: Sơ đồ hoạt động của “Đăng bài”

53 Hình 4.13: Sơ đồ hoạt động của “Chỉnh sửa bài đăng”

54 Hình 4.14: Sơ đồ hoạt động của “Xóa bài đăng”

STT - tên: UC-11 So sánh hai bài đăng

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng so sánh hai bài đăng khác nhau

Mục đích: Hệ thống cho phép người dùng so sánh hai bài đăng khác nhau Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền so sánh hai bài đăng Điều kiện lúc sau: Không có

Quy trình cơ bản: 11.0 So sánh hai bài đăng thành công

Người dùng chọn một bài đăng

Chọn “So sánh với bài đăng khác”

Hệ thống hiển thị ra danh sách các bài đăng khác để người dùng chọn

Người dùng chọn bài đăng mình muốn so sánh

Hệ thống so sánh thông tin hai bài đăng và hiển thị ra cho người dùng

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.18: Bảng đặc tả Usecase “So sánh hai bài đăng”

56 Hình 4.15: Sơ đồ hoạt động của “So sánh hai bài đăng”

STT - tên: UC-12 Gia hạn bài đăng

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng gia hạn thêm thời gian cho bài đăng

Mục đích: Hệ thống cho phép người dùng gia hạn thêm thời gian cho bài viết đã đăng Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền gia hạn bài đăng Điều kiện lúc sau: Không có

Quy trình cơ bản: 12.0 Gia hạn bài đăng thành công

Người dùng truy cập vào quản lý bài đăng

Chọn bài đăng muốn gia hạn

Người dùng chọn “Gia hạn bài đăng”

Người dùng có thể chọn lại gói bài đăng khác và gia hạn

Hệ thống cập nhật thêm thời gian cho bài đăng và thông báo gia hạn bài đăng thành công

Quy trình thay thế: Không có

Ngoại lệ: 12.0E1 Gia hạn bài đăng không thành công

Hệ thống kiểm tra số dư trong ví tiền của người dùng không đủ và hiển thị thông báo

Yêu cầu người dùng nạp thêm tiền vào ví Ưu tiên: Cao

Business rule: BR-3, BR-7, BR-15

Bảng 4.19: Bảng đặc tả Usecase “Gia hạn bài đăng”

58 Hình 4.16: Sơ đồ hoạt động của “Gia hạn bài viết”

STT - tên: UC-13 Xem báo cáo cá nhân

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng xem báo cáo cá nhân của tài khoản

Mục đích: Hệ thống cho phép người dùng xem báo cáo cá nhân của tài khoản Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền xem báo cáo cá nhân Điều kiện lúc sau: Không có

Quy trình cơ bản: 13.0 Xuất báo cáo cá nhân và hiển thị thành công

Người dùng truy cập vào thông tin cá nhân

Chọn “Xem báo cáo cá nhân”

Hệ thống xuất báo cáo cá nhân của người dùng và hiển thị lên màn hình

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.20: Bảng đặc tả Usecase “Xem báo cáo cá nhân”

60 Hình 4.17: Sơ đồ hoạt động của “Xem báo cáo cá nhân”

STT - tên: UC-14 Xem biểu đồ giá khu vực

Primary Actor: Người dùng Secondary Actors: Hệ thống

Người dùng có thể xem biểu đồ giá bất động sản theo từng khu vực mong muốn, giúp họ nắm bắt thông tin thị trường một cách dễ dàng Hệ thống được thiết kế để cung cấp dữ liệu chi tiết về giá cả bất động sản tại các khu vực khác nhau, đáp ứng nhu cầu tìm hiểu và so sánh của người dùng.

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền xem biểu đồ giá Điều kiện lúc sau: Không có

Quy trình cơ bản: 14.0 Xem biểu đồ giá thành công

Người dùng truy cập vào thông tin cá nhân

Chọn khu vực muốn xem biểu đồ và các thuộc tính của BĐS (nếu có)

Hệ thống lấy dữ liệu của giá BĐS tại khu vực và hiển thị lên màn hình

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.21: Bảng đặc tả Usecase “Xem biểu đồ giá khu vực”

62 Hình 4.18: Sơ đồ hoạt động của “Xem biểu đồ giá khu vực”

STT - tên: UC-15 Tra cứu BĐS phù hợp

Primary Actor: Người dùng Secondary Actors: Hệ thống

Mô tả: Người dùng tra cứu BĐS phù hợp với nhu cầu bản thân

Mục đích: Hệ thống cho phép người dùng xem danh sách các khu vực có

BĐS phù hợp với nhu cầu của bản thân Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền tra cứu BĐS Điều kiện lúc sau: Không có

Quy trình cơ bản: 15.0 Tra cứu BĐS phù hợp thành công

Người dùng truy cập vào thông tin cá nhân

Chọn “Tra cứu BĐS phù hợp”

Nhập giá tiền thấp nhất (min) và cao nhất (max)

Chọn loại BĐS và thuộc tính kèm theo (nếu có)

Hệ thống lấy dữ liệu của các BĐS phù hợp và hiển thị theo từng khu vực lên màn hình

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Cao

Bảng 4.22: Bảng đặc tả Usecase “Tra cứu bất động sản phù hợp”

64 Hình 4.19: Sơ đồ hoạt động của “Tra cứu bất động sản phù hợp”

4.3.4 Usecase cho Kiểm duyệt viên

Hình 4.20: Sơ đồ Usecase cho Actor “Kiểm duyệt viên”

STT - tên: UC-16 Kiểm duyệt bài đăng không hợp lệ

Primary Actor: Kiểm duyệt viên Secondary Actors: Hệ thống

Mô tả: Kiểm duyệt viên kiểm tra tính hợp lệ của bài đăng từ phía người dùng

Mục đích: Hệ thống cho phép người dùng kiểm duyệt tính hợp lệ của các bài đăng Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền kiểm duyệt bài đăng Điều kiện lúc sau: Không có

Quy trình cơ bản: 16.0 Kiểm duyệt bài đăng không hợp lệ thành công

Người dùng truy cập vào quản lý bài đăng

Chọn “Các bài đăng cần kiểm duyệt”

Người dùng kiểm tra tính hợp lệ của bài đăng

Nếu bài đăng không hợp lệ, người dùng có thể chỉnh sửa hoặc xóa bài đăng

Hệ thống cập nhật thay đổi và thông báo kiểm duyệt thành công

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Trung bình

Bảng 4.23: Bảng đặc tả Usecase “Kiểm duyệt bài đăng không hợp lệ”

67 Hình 4.21: Sơ đồ hoạt động của “Kiểm duyệt bài đăng không hợp lệ”

STT - tên: UC-17 Xác nhận nạp tiền

Primary Actor: Kiểm duyệt viên Secondary Actors: Hệ thống

Mô tả: Kiểm duyệt viên xác nhận việc nạp tiền của khách hàng

Mục đích: Kiểm duyệt viên xác nhận nạp tiền và cập nhật ví tiền cho người dùng Điều kiện tiên quyết:

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống

PRE-3 Người dùng đã được cấp quyền xác nhận nạp tiền Điều kiện lúc sau: Không có

Quy trình cơ bản: 17.0 Cập nhật ví tiền thành công

Kiểm duyệt viên truy cập vào quản lý nạp tiền

Chọn hóa đơn nạp tiền muốn duyệt

Kiểm tra trên hệ thống người dùng đã nạp tiền chưa và xác nhận

Hệ thống cập nhật số dư trong ví tiền của người dùng và thông báo đến người dùng nạp tiền thành công

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Trung bình

Business rule: BR-2, BR-6, BR-15

Bảng 4.24: Bảng đặc tả Usecase “Xác nhận nạp tiền”

69 Hình 4.22: Sơ đồ hoạt động của “Xác nhận nạp tiền”

Hình 4.23: Sơ đồ Usecase cho Actor “Admin”

STT - tên: UC-18 Quản lý người dùng

Primary Actor: Admin Secondary Actors: Hệ thống

Mô tả: Admin thêm tài khoản người dùng mới, chỉnh sửa thông tin hoặc xóa tài khoản người dùng

Mục đích: Admin quản lý thêm tài khoản cho người dùng mới và chỉnh sửa tài khoản người dùng Điều kiện tiên quyết:

PRE-1 Thiết bị của admin phải kết nối internet khi thực hiện PRE-2 Admin đã đăng nhập vào hệ thống Điều kiện lúc sau: Không có

Quy trình cơ bản: 18.0 Thêm người dùng mới thành công

Admin vào quản lý người dùng

Admin chọn “Thêm tài khoản”

Admin nhập thông tin tài khoản người dùng và ấn “Lưu”

Hệ thống thêm tài khoản mới và thông báo thêm tài khoản thành công

18.1 Cập nhật thông tin người dùng thành công Admin vào quản lý người dùng

Chọn tài khoản muốn cập nhật

Admin nhập thông tin cần cập nhật và ấn “Lưu”

Hệ thống cập nhật lại thông tin tài khoản người dùng và thông báo cập nhật tài khoản thành công

18.2 Xóa tài khoản người dùng thành công Admin vào quản lý người dùng

Chọn tài khoản muốn xóa và nhấn “Xóa tài khoản”

Hệ thống xóa tài khoản người dùng và thông báo xóa tài khoản thành công

Quy trình thay thế: Không có

Bảng 4.25: Bảng đặc tả Usecase “Quản lý người dùng”

73 Hình 4.24: Sơ đồ hoạt động của “Thêm người dùng mới”

74 Hình 4.25: Sơ đồ hoạt động của “Chỉnh sửa thông tin người dùng”

75 Hình 4.26: Sơ đồ hoạt động của “Xóa người dùng”

STT - tên: UC-19 Xem báo cáo tổng thể

Primary Actor: Admin Secondary Actors: Hệ thống

Admin có khả năng xem báo cáo tổng thể của người dùng trong toàn hệ thống Mục đích chính của hệ thống là tạo ra báo cáo tổng hợp để cung cấp cái nhìn tổng quát về hoạt động của người dùng Để thực hiện điều này, cần có các điều kiện tiên quyết nhất định.

PRE-1 Thiết bị của người dùng phải kết nối internet khi thực hiện

PRE-2 Người dùng đã đăng nhập vào hệ thống Điều kiện lúc sau: Không có

Quy trình cơ bản: 19.0 Lập báo cáo tổng thể thành công

Admin chọn “Xem báo cáo tổng thể”

Hệ thống lập ra báo cáo tổng thể của người dùng toàn hệ thống và hiển thị lên màn hình

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.26: Bảng đặc tả Usecase “Xem báo cáo tổng thể”

77 Hình 4.27: Sơ đồ hoạt động của “Xem báo cáo tổng thể”

STT - tên: UC-20 Quản lý danh mục

Primary Actor: Admin Secondary Actors: Hệ thống

Mô tả: Admin thêm danh muc mới, chỉnh sửa thông tin hoặc xóa danh mục

Mục đích: Admin quản lý thêm mới và chỉnh sửa danh mục Điều kiện tiên quyết:

PRE-1 Thiết bị của admin phải kết nối internet khi thực hiện PRE-2 Admin đã đăng nhập vào hệ thống Điều kiện lúc sau: Không có

Quy trình cơ bản: 20.0 Thêm danh mục mới thành công

Admin vào quản lý danh mục

Admin chọn “Thêm danh muc”

Admin nhập thông tin danh mục mới và ấn “Lưu”

Hệ thống thêm danh mục mới và thông báo thêm danh mục thành công

20.1 Cập nhật danh mục thành công Admin vào quản lý danh mục

Chọn danh mục muốn cập nhật

Admin nhập thông tin cần cập nhật và ấn “Lưu”

Hệ thống cập nhật lại thông tin danh mục và thông báo cập nhật danh mục thành công

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.27: Bảng đặc tả Usecase “Quản lý danh mục”

79 Hình 4.28: Sơ đồ hoạt động của “Thêm danh mục mới”

80 Hình 4.29: Sơ đồ hoạt động của “Chỉnh sửa danh mục”

81 Hình 4.30: Sơ đồ hoạt động của “Cập nhật thông tin hiển thị danh mục”

STT - tên: UC-21 Quản lý thuộc tính BĐS

Primary Actor: Admin Secondary Actors: Hệ thống

Mô tả: Admin thêm thuộc tính BĐS mới, chỉnh sửa thông tin hoặc xóa danh mục

Mục đích: Admin quản lý thêm mới và chỉnh sửa thuộc tính BĐS Điều kiện tiên quyết:

PRE-1 Thiết bị của admin phải kết nối internet khi thực hiện PRE-2 Admin đã đăng nhập vào hệ thống Điều kiện lúc sau: Không có

Quy trình cơ bản: 21.0 Thêm thuộc tính BĐS mới thành công

Admin vào quản lý thuộc tính BĐS

Admin chọn “Thêm thuộc tính BĐS”

Admin nhập thông tin thuộc tính BĐS mới và ấn “Lưu”

Hệ thống thêm thuộc tính BĐS mới và thông báo danh mục thành công

21.1 Cập nhật thuộc tính BĐS thành công Admin vào quản lý thuộc tính BĐS

Chọn thuộc tính BĐS muốn cập nhật

Admin nhập thông tin cần cập nhật và ấn “Lưu”

Hệ thống cập nhật lại thông tin thuộc tính BĐS và thông báo cập nhật thành công

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.28: Bảng đặc tả Usecase “Quản lý thuộc tính bất động sản”

83 Hình 4.31: Sơ đồ hoạt động của “Thêm thuộc tính mới”

84 Hình 4.32: Sơ đồ hoạt động của “Chỉnh sửa thuộc tính”

STT - tên: UC-22 Quản lý gói bài đăng

Primary Actor: Admin Secondary Actors: Hệ thống

Mô tả: Admin thêm gói bài đăng mới, chỉnh sửa thông tin hoặc cập nhật hiển thị gói bài đăng

Mục đích: Admin quản lý việc thêm gói bài đăng mới và chỉnh sửa hoặc cập nhật hiển thị gói bài đăng Điều kiện tiên quyết:

PRE-1 Thiết bị của admin phải kết nối internet khi thực hiện PRE-2 Admin đã đăng nhập vào hệ thống Điều kiện lúc sau: Không có

Quy trình cơ bản: 22.0 Thêm gói bài đăng mới thành công

Admin vào quản lý gói bài đăng

Admin chọn “Thêm gói bài đăng mới”

Admin nhập thông tin gói bài đăng mới và ấn “Lưu”

Hệ thống thêm gói bài đăng mới và thông báo thêm gói bài đăng thành công

22.1 Cập nhật thông tin gói bài đăng thành công Admin vào quản lý gói bài đăng

Chọn gói bài đăng muốn cập nhật

Admin nhập thông tin cần cập nhật và ấn “Lưu”

Hệ thống cập nhật lại thông tin gói bài đăng và thông báo cập nhật gói bài đăng thành công

22.2 Cập nhật hiển gói bài đăng thành công Admin vào quản lý gói bài đăng

Chọn gói bài đăng muốn cập nhật

Thay đổi hiển thị của gói bài đăng và ấn “Lưu”

Hệ thống cập nhật hiển gói bài đăng và thông báo cập nhật thành công

Quy trình thay thế: Không có

Ngoại lệ: Không có Ưu tiên: Thường

Bảng 4.29: Bảng đặc tả Usecase “Quản lý gói bài đăng”

87 Hình 4.33: Sơ đồ hoạt động của “Thêm gói bài đăng mới”

88 Hình 4.34: Sơ đồ hoạt động của “Chỉnh sửa thông tin gói bài đăng”

89 Hình 4.35: Sơ đồ hoạt động của “Cập nhật hiển thị cho gói bài đăng”

Sơ đồ tuần tự

4.4.1 Sơ đồ tuần tự việc đăng ký

Hình 4.36: Sơ đồ tuần tự cho việc “Đăng ký”

4.4.2 Sơ đồ tuần tự cho việc thêm bài đăng

Hình 4.37: Sơ đồ tuần tự cho việc “Thêm bài đăng”

4.4.3 Sơ đồ tuần tự cho việc nạp tiền

Hình 4.38: Sơ đồ tuần tự cho việc “Nạp tiền”

4.4.4 Sơ đồ tuần tự cho việc gia hạn bài viết

Hình 4.39: Sơ đồ tuần tự cho việc “Gia hạn bài viết”

4.4.5 Sơ đồ tuần tự cho việc lập báo cáo

Hình 4.40: Sơ đồ tuần tự cho việc “Lập báo cáo”

Sơ đồ trạng thái

4.5.1 Sơ đồ trạng thái cho Đăng nhập

Hình 4.41: Sơ đồ trạng thái cho “Đăng nhập”

4.5.2 Sơ đồ trạng thái cho Thêm tài khoản

Hình 4.42: Sơ đồ trạng thái cho “Thêm tài khoản”

4.5.3 Sơ đồ trạng thái cho Nạp tiền cho tài khoản

Hình 4.43: Sơ đồ trạng thái cho “Nạp tiền cho tài khoản”

4.5.4 Sơ đồ trạng thái cho Tạo bài đăng mới

Hình 4.44: Sơ đồ trạng thái cho “Tạo bài đăng mới”

4.5.5 Sơ đồ trạng thái cho Tìm kiếm bài đăng

Hình 4.45: Sơ đồ trạng thái cho “Tìm kiếm bài đăng”

ERD và sơ đồ lớp

4.6.1 Mô hình thực thể ERD hoàn thiện

Hình 4.46: Mô hình thực thể ERD

4.6.3 Mô tả sơ đồ lớp

4.6.3.1 Danh sách các lớp đối tượng và quan hệ

STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú

4 GoiBaiDangs public Gói bài đăng

5 ChiTietHoaDonBaiDangs public Chi tiết hóa đơn bài đăng

6 LichSuGiaoDichs public Lịch sử giao dịch

7 BaiGhimYeuThichs public Bài ghim yêu thích

9 ChiTietBaiDangs public Chi tiết bài đăng

Bảng 4.30: Danh sách các lớp đối tượng và quan hệ

4.6.3.2 Mô tả chi tiết từng lớp đối tượng

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã người dùng

2 ProfilePictureId char Mã ảnh cá nhân

3 CreationTime DateTime Thời gian tạo

4 LastModificationTime DateTime Thời gian chỉnh sửa gần nhất

6 AutheticationSource string Nguồn xác thực

8 Username string Tên người dùng

9 EmailAddress string Địa chỉ email

12 EmailConfirmationCode string Mã xác thực email

13 PasswordReserCode string Mã đặt lại mật khẩu

14 LockoutEndDateUtc DateTime Ngày kết thúc khoá (theo múi giờ UTC)

15 AccessFailedCount int Số lần đăng nhập thất bại

17 PhoneNumber strin Số điện thoại

18 IsPhoneNumberConfirmed bool Đã xác thực số điện thoại

19 SecurityStamp string Timestamp theo dõi các thay đổi thuộc tính của User

20 IsTwoFactorEnabled bool Xác thực 2 bước

21 IsEmailConfirmed bool Đã xác thực email

22 IsActive bool Đang hoạt động

23 NormalizedUserName string Username ở dạng thường

24 NormalizedEmailAddress string Email ở dạng thường

25 ConcurrencyStamp string Stamp thay đổi

27 ShouldChangePassword onNextLogin bool Đổi mật khẩu trong lần đăng nhập tiếp theo

Thời gian hết hạn của Token đăng nhập (theo múi giờ UTC)

29 SignInToken string Token đăng nhập

Bảng 4.31: Mô tả chi tiết lớp “AbpUsers”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã quyền hạn

2 CreationTime datetime Thời gian tạo

3 CreatorUseId int Id của người tạo

4 DisplayName string Tên hiển thị

6 isGranted bool Được cấp quyền

7 isDefault bool Quyền mặc định

Bảng 4.32: Mô tả chi tiết lớp “AbpRoles”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã bài đăng

2 TagLoaiBaiDang string Nhãn loại bài đăng

3 ThoiDiemDang datetime Thời điểm đăng

12 LuotYeuThich int Lượt yêu thích

13 DiemBaiDang demical Điểm bài đăng

15 TagTimKiem string Nhãn tìm kiếm

17 UserId int Mã người dùng

18 DanhMucId int Mã danh mục

21 FeatureImage string Ảnh đại diện

Bảng 4.33: Mô tả chi tiết lớp “BaiDangs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã gói bài đăng

2 TenGoi string Tên gói bài đăng

3 Phi string Phí bài đăng

4 DoUuTien int Độ ưu tiên

5 ThoiGianToiThieu int Thời gian tối thiểu

6 MoTa string Mô tả gói bài đăng

7 TrangThai string Trạng thái gói bài đăng

Bảng 4.34: Mô tả chi tiết lớp “GoiBaiDangs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id string Mã chi tiết hóa đơn bài đăng

2 ThoiDiem datetime Thời điểm mua

3 GiaGoi double Giá gói bài đăng

4 SoNgayMua int Số ngày mua

7 BaiDangId int Mã bài đăng

8 GoiBaiDangId int Mã gói bài đăng

9 UserId int Mã người dùng

Bảng 4.35: Mô tả chi tiết lớp “ChiTietHoaDonBaiDangs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã lịch sử giao dịch

2 SoTien double Số tiền giao dịch

3 ThoiDiem datetime Thời điểm giao dịch

5 UserId int Mã người dùng

6 ChiTietHoaDonBaiDangId string Mã chi tiết hóa đơn bài đăng

7 KiemDuyetVienId int Mã kiểm duyệt viên

Bảng 4.36: Mô tả chi tiết lớp “LichSuGiaoDichs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã bài ghim

4 UserId int Mã người dùng

5 BaiDangId int Mã bài đăng

Bảng 4.37: Mô tả chi tiết lớp “BaiGhimYeuThichs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã hình ảnh

3 BaiDangId int Mã bài đăng

Bảng 4.38: Mô tả chi tiết lớp “HinhAnhs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã thuộc tính

2 GiaTri string Giá trị thuộc tính

3 ThuocTinhId int Mã thuộc tính

4 BaiDangId int Mã bài đăng

Bảng 4.39: Mô tả chi tiết lớp “ChiTietBaiDangs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã thuộc tính

2 TenThuocTinh string Tên thuộc tính

3 KieuDuLieu string Kiểu dữ liệu thuộc tính

Bảng 4.40: Mô tả chi tiết lớp “ThuocTinhs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã danh mục

2 TenDanhMuc string Tên danh mục

4 TrangThai string Trạng thái danh mục

5 DanhMucCha int Mã danh mục cha

Bảng 4.41: Mô tả chi tiết lớp “DanhMucs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.42: Mô tả chi tiết lớp “Xas”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.43: Mô tả chi tiết lớp “Huyens”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.44: Mô tả chi tiết lớp “Tinhs”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 Id int Mã tham số

2 TenThamSo string Tên tham số

3 KieuDuLieu string Kiểu dữ liệu tham số

4 GiaTri string Giá trị tham số

Bảng 4.45: Mô tả chi tiết lớp “ThamSos”

Sơ đồ logic

4.7.1 Thiết kế sơ đồ logic

4.7.2 Mô tả sơ đồ logic

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaNguoiDung int Mã người dùng

2 TenTaiKhoan string Tên tài khoản

4 QuyenHan string Quyền hạn của tài khoản

5 HoTen string Họ tên người dùng

6 GioiTinh string Giới tính người dùng

8 SoDT string Số điện thoại người dùng

10 Email string Địa chỉ email người dùng

11 NgayLapTaiKhoan datetime Ngày lập tài khoản

Bảng 4.46: Mô tả chi tiết bảng “Người dùng”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaBaiDang int Mã bài đăng

2 TagLoaiBaiDang string Nhãn loại bài đăng

3 MaDanhMuc int Thời điểm đăng

5 TenBaiDang string Tên bài đăng

6 ThoiDiemDang datetime Thời điểm đăng

16 LuotYeuThich int Lượt yêu thích

17 DiemBaiDang demical Điểm bài đăng

19 TagTimKiem string Nhãn tìm kiếm

22 DoUuTien int Độ ưu tiên

23 FeatureImage string Ảnh đại diện

Bảng 4.47: Mô tả chi tiết bảng “BaiDang”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaDanhMuc int Mã danh mục

2 TenDanhMuc string Tên danh mục

3 Tag string Nhãn danh mục

5 DanhMucCha int Mã danh mục cha

Bảng 4.48: Mô tả chi tiết bảng “DanhMuc”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaThuocTinh int Mã thuộc tính

2 TenThuocTinh string Tên thuộc tính

3 KieuDuLieu string Kiểu dữ liệu thuộc tính

Bảng 4.49: Mô tả chi tiết bảng “ThuocTinh”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaChiTiet int Mã chi tiết bài đăng

2 MaThuocTinh int Mã thuộc tính

3 MaBaiDang int Mã bài đăng

4 GiaTri string Giá trị thuộc tính

Bảng 4.50: Mô tả chi tiết bảng “ChiTietBaiDang”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaHinhAnh int Mã hình ảnh

3 MaBaiDang int Mã bài đăng

Bảng 4.51: Mô tả chi tiết bảng “HinhAnh”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.52: Mô tả chi tiết bảng “Xa”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.53: Mô tả chi tiết bảng “Huyen”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

Bảng 4.54: Mô tả chi tiết bảng “Tinh”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaThamSo int Mã tham số

2 TenThamSo string Tên tham số

3 KieuDuLieu string Kiểu dữ liệu tham số

4 GiaTri string Giá trị tham số

Bảng 4.55: Mô tả chi tiết bảng “ThamSo”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaGoi int Mã gói bài đăng

2 TenGoi string Tên gói bài đăng

3 Phi string Phí bài đăng

4 DoUuTien int Độ ưu tiên

5 ThoiGianToiThieu int Thời gian tối thiểu

6 MoTa string Mô tả gói bài đăng

7 TrangThai string Trạng thái gói bài đăng

Bảng 4.56: Mô tả chi tiết bảng “GoiBaiDang”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaNguoiDung int Mã người dùng

2 MaBaiDang int Mã bài đăng

Bảng 4.57: Mô tả chi tiết bảng “BaiGhimYeuThich”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaChiTietHoaDon string Mã chi tiết hóa đơn bài đăng

2 ThoiDiem datetime Thời điểm mua

3 GiaGoi double Giá gói bài đăng

4 SoNgayMua int Số ngày mua

6 MaBaiDang int Mã bài đăng

7 MaGoi int Mã gói bài đăng

8 MaNguoiDung int Mã người dùng

Bảng 4.58: Mô tả chi tiết bảng “ChiTietHoaDonBaiDang”

STT Tên thuộc tính Loại Ý nghĩa/ghi chú

1 MaGiaoDich int Mã lịch sử giao dịch

2 MaNguoiDung int Mã người dùng

3 MaKiemDuyetVien int Mã kiểm duyệt viên

4 SoTien double Số tiền giao dịch

5 ThoiDiem datetime Thời điểm giao dịch

Bảng 4.59: Mô tả chi tiết bảng “LichSuGiaoDich”

Thiết kế kiến trúc

Hệ thống sử dụng kiến trúc client-server ứng dụng Flutter Framework, ASP.NET Solution và giao thức API để trao đổi thông tin

Hình 4.49: Kiến trúc tổng quát của hệ thống

Flutter được phát triển để hoạt động độc lập với back-end ASP.NET Core Sau khi triển khai, ứng dụng Flutter sẽ hoạt động độc lập trên các nền tảng Android và iOS, kết nối với máy chủ thông qua RESTful API.

In the architecture of an ASP.NET Core Solution, there is no presence of HTML, JavaScript, or CSS code Instead, it solely provides endpoints for authentication based on token codes and utilizes application services through REST APIs.

Bên trong ASP.NET Core Solution, các thành phần được xây dựng dựa trên nguyên tắc SOLID:

• Single Responsibilty Priciple (SRP): mỗi class chỉ nên giữ 1 trách nhiệm duy nhất và một lớp chỉ có một, và chỉ một lý do để thay đổi

• Open/Closed Priciple (OCP): Có thể thoải mái mở rộng 1 class, nhưng không được thay đổi bên trong class đó

Nguyên tắc Thay thế Liskov (LSP) quy định rằng trong một chương trình, các đối tượng của lớp con có thể thay thế cho lớp cha mà không làm ảnh hưởng đến tính chính xác của chương trình.

• Interface Segregation Priciple (ISP): Thay vì dùng 1 interface lớn, ta nên tách thành nhiều interface nhỏ, với nhiều mục đích cụ thể

The Dependency Inversion Principle (DIP) states that high-level modules should not depend on low-level modules; both should rely on abstractions Additionally, interfaces should not depend on details; rather, the implementation should depend on the interface, ensuring that classes communicate through abstractions rather than concrete implementations.

Thiết kế giao diện

Hình 4.50: Giao diện “Đăng nhập”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Username TextFormField Nhập tên đăng nhập

2 Password TextFormField Nhập mật khẩu Nội dung ở dạng kí tự tròn

3 Quên mật khẩu FlatButton Chuyển đến trang quên

4 Đăng nhập FlatButton Đăng nhập vào hệ thống

Thực hiện khi các thông tin đã được điền đầy đủ

5 Đăng ký FlatButton Tạo tài khoản mới

6 Tiếp tục với tư cách khách FlatButton Truy cập ứng dụng với tư cách khác

Bảng 4.60: Mô tả chi tiết màn hình “Đăng nhập”

Hình 4.51: Giao diện “Đăng ký”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

3 Emial TextFormField Nhập email Định dạng email

4 Tên đăng nhập TextFormField Nhập tên đăng nhập

5 Mật khẩu TextFormField Nhập mật khẩu Nội dung ở dạng kí tự tròn

6 Nhập lại mật khẩu TextFormField Nhập lại mật khẩu Nội dung ở dạng kí tự tròn

7 Đăng ký FlatButton Đăng ký tài khoản

Thực hiện khi các thông tin đã được điền đầy đủ Bảng 4.61: Mô tả chi tiết màn hình “Đăng ký”

4.9.3 Màn hình Quên mật khẩu

Hình 4.52: Giao diện “Quên mật khẩu”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Email TextFormField Nhập email khôi phục Định dạng email

2 Gửi FlatButton Gửi email khôi phục

Thực hiện khi các thông tin đã được điền đầy đủ

Bảng 4.62: Mô tả chi tiết màn hình “Quên mật khẩu”

4.9.4.1 Màn hình Trang chủ chế độ người dùng khách

Hình 4.53: Giao diện “Trang chủ” ở chế độ “Khách”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Hiển thị bộ lọc nâng cao FlatButton Hiển thị bộ lọc nâng cao Đổi màu nếu sử dụng bộ lọc

4 Bài đăng ListView Danh sách bài đăng

5 LogIn IconButton Đến màn hình đăng

6 Bản đồ BottomTabBar Đến màn hình bản đồ

Bảng 4.63: Mô tả chi tiết màn hình “Trang chủ” ở chế độ “Khách”

Hình 4.54: Giao diện “Trang chủ” khi đã đăng nhập

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Hiển thị bộ lọc nâng cao FlatButton Hiển thị bộ lọc nâng cao Đổi màu nếu sử dụng bộ lọc

4 Bài đăng ListView Danh sách bài đăng

5 Bản đồ BottomTabBar Đến màn hình bản đồ

6 Bài đăng mới BottomTabBar Đến màn hình đăng bài Cấp người dùng

7 Cá nhân BottomTabBar Đến màn hình cá nhân Cấp người dùng

8 Quản trị BottomTabBar Đến màn hình quản trị Cấp kiểm duyệt viên, admin Bảng 4.64: Mô tả chi tiết màn hình “Trang chủ” khi đã đăng nhập

4.9.4.3 Màn hình Bộ lọc bài đăng

Hình 4.55: Giao diện “Bộ lọc bài đăng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Loại bài DropDownButton Chọn loại bài đăng

2 Giá tiền DropDownButton Chọn và nhập giá tiền

3 Diện tích DropDownButton Chọn và nhập diện tích

4 Địa chỉ TextFormField Nhập địa chỉ

6 Tỉnh DropDownButton Lựa chọn tỉnh/thành

Sau khi chọn, hiện Drop

8 Tên dự án TextFormField Nhập tên dự án

9 Chủ dự án TextFormField Nhập chủ dự án

10 Sử dụng bộ lọc FlatButton Áp dụng bộ

11 Đặt lại giá trị FlatButton Đặt lại giá trị bộ lọc

Bảng 4.65: Mô tả chi tiết màn hình “Bộ lọc bài đăng”

4.9.4.4 Màn hình Chi tiết bài đăng

Hình 4.56: Giao diện “Chi tiết bài đăng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Yêu thích IconButton Đánh dấu là bài đăng yêu thích

2 Location on map IconButton Di chuyển tới vị trí

3 Đơn vị tiền SwitchButton Đổi đơn vị tiền triệu/m2 hoặc tỷ

3 Tag FlatButton Tìm kiếm bài đăng theo tag

4 Bài viết cùng chủ đề GestureDetector Truy cập bài viết cùng chủ đề

5 Điện thoại IconButton Chuyển đến điện thoại

124 và nhập số để gọi

6 Tin nhắn IconButton Chuyển đến tin nhắn

Bảng 4.66: Mô tả chi tiết màn hình “Chi tiết bài đăng”

4.9.5.1 Màn hình Xem bản đồ

Hình 4.57: Giao diện “Xem bản đồ”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm InputDecoration Nhập kinh độ và vĩ độ để tìm kiếm vị trí

Phải nhập theo định dạng “kinh độ, vĩ độ”

2 Loại bản đồ FloatingActionButton Chuyển bản đồ sang

3 Vị trí hiện tại FloatingActionButton Di chuyển đến vị trí hiện tại của thiết bị

Yêu cầu thiết bị phải bật định vị và chia sẻ vị trí với ứng dụng

4 Thông tin bài đăng GestureDetector

Hiển thị thông tin cơ bản về bài đăng và di chuyển đến chi tiết bài đăng

Hiển thị khi người dùng nhấn vào các bài đăng được đánh dấu trên bản đồ

5 Đánh dấu Marker Đánh dấu các vị trí bài đăng

Bài đăng phải còn hạn

6 Thông tin đánh dấu InfoWindow

Hiển thị loạivà giá tiền của bài đăng được đánh dấu

Bảng 4.67: Mô tả chi tiết màn hình “Xem bản đồ”

4.9.5.2 Màn hình Tìm kiếm trên bản đồ

Hình 4.58: Giao diện “Tìm kiếm trên bản đồ”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Danh sách các địa điểm ListView

Hiển thị danh sách các địa điểm khi người dùng tìm kiếm

“kinh độ, vĩ độ” và tìm kiếm

2 Thông tin khu vực Text

Hiển thị tên địa chỉ, xã, huyện, tỉnh và đất nước (nếu có)

Bảng 4.68: Mô tả chi tiết màn hình “Tìm kiếm trên bản đồ”

Hình 4.59: Giao diện “Đăng bài”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tiêu đề TextFormField Nhập tiêu đề bài đăng

2 Tỉnh thành phố DropdownSearch Chọn vào nhập tỉnh thành phố

Chọn quận huyện với tỉnh thành phố tương ứng

4 Chọn xã phường DropDownButton Chọn xã/phường với quận huyện tương ứng

Sau khi chọn chuyển sang màn

5 Địa chỉ TextFormField Nhập địa chỉ cụ thể

6 Chọn phương thức DropDownButton Lựa chọn phương thức

7 Chọn hình thức DropDownButton Lựa chọn hình thức

DropDownButton của hình thức bổ sung (nếu có)

8 Chọn hình thức bổ sung DropDownButton Lựa chọn hình thức bổ sung

9 Diện tích TextFormField Nhập diện tích

11 Một số hình thức bổ sung ExpansionTile Thu hoặc đóng chi tiết bài đăng

Hiện ra list texform hoặc dropdown cho người dùng chọn

12 Chọn gói bài đăng DropDownButton Chọn gói bài đăng

Sau khi chọn hiện ra số button chọn ngày kết thúc

Chọn ngày kết thúc của bài đăng

14 Mô tả TextFormField Nhập mô tả bài đăng

15 Tên dự án TextFormField Nhập tên dự án

16 Chủ dự án TextFormField Nhập chủ dự án

17 Mô tả dự án TextFormField Nhập mô tả dự án

18 Hình ảnh GridView Tập hợp các hình ảnh của bài đăng

19 Thêm hình ảnh IconButton Thêm một hình ảnh cho grid

Sau khi chọn them hình ảnh vào Gridview hình ảnh

Widget Đăng tin với nội dung vừa nhập

Hiển thị dialog hỏi ý người dùng nếu thành công chuyểnn sang màn hình detail của bài đăng Bảng 4.69: Mô tả chi tiết màn hình “Đăng bài”

Hình 4.60: Giao diện “Trang cá nhân”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Hiển thị ảnh đại diện CircleAvatar Hiển thị ảnh đại diện của người dùng

2 Đổi ảnh đại diện FlatButton Đến thư viện ảnh chọn ảnh đổi ảnh đại diện

3 Hiển thị họ tên Text Hiển thị họ tên người dùng

4 Hiển thị chức vụ Text Hiển thị chức vụ người dùng

5 Hiển thị số tiền GestureDetector Hiển thị số tiền và đưa đến trang ví tiền

6 Hiển thị số bài đăng GestureDetector

Hiển thị số bài đăng và đưa tới trang quản lý bài đăng cá nhân

7 Xem thông tin cá nhân FlatButton Đưa đến trang tài khoản của tôi

8 Xem ví tiền FlatButton Đưa đến trang ví tiền

9 Xem thống kê FlatButton Đưa đến trang thống kê

10 Cài đặt FlatButton Đưa đến trang cài đặt

11 Trợ giúp FlatButton Đưa đến trang trợ giúp

12 Danh sách bài ghim FlatButton Đưa đến trang danh sách bài ghim Bảng 4.70: Mô tả chi tiết màn hình “Cá nhân”

4.9.7.1 Màn hình Tài khoản của tôi

Hình 4.61: Giao diện “Tài khoản của tôi”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Hiển thị ảnh đại diện CircleAvatar Hiển thị ảnh đại diện của người dùng

2 Hiển thị họ tên Text Hiển thị họ tên người dùng

3 Hiển thị chức vụ Text Hiển thị chức vụ người dùng

4 Tài khoản Text Hiển thị tên tài khoản

5 Emai Text Hiển thị tên email

6 Điện thoại Text Hiện thị số điện thoại

7 Ngày tham gia Text Hiển thị ngày tham gia

8 Chỉnh sửa thông tin FlatButton Đưa đến trang chỉnh sửa thông tin cá nhân Bảng 4.71: Mô tả chi tiết màn hình “Tài khoản của tôi”

4.9.7.2 Màn hình Chỉnh sửa thông tin cá nhân

Hình 4.62: Giao diện “Chỉnh sửa thông tin cá nhân”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

4 Điện thoại TextField Nhập số điện thoại

5 Lưu thông tin FlatButton Cập nhật thôn tin cá nhân

Chỉ lưu khi các thông tin được

135 nhập đầy đủ Bảng 4.72: Mô tả chi tiết màn hình “Chỉnh sửa thông tin cá nhân”

4.9.7.3 Màn hình Ví tiền của tôi

Hình 4.63: Giao diện “Ví tiền của tôi”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Ví tiền TabBar Đưa đến nạp tiền hoặc xem lịch xử giao dịch

2 Hình momo Image Hiển thị hình momo

3 Hướng dẫn chuyển tiền Text Hiển thị nội dung hướng dẫn chuyển tiền

4 Nạp tiền FlatButton Đưa đến trang nạp tiền

5 Hiển thị bộ GestureDetector Hiển thị bộ loc

Danh sách lịch sử giao dịch

ListView Hiển thị danh sách lịch sử giao dịch

7 Giao dịch GestureDetector Hiển thị chi tiết giao dịch Bảng 4.73: Mô tả chi tiết màn hình “Ví tiền của tôi”

Hình 4.64: Giao diện “Nạp tiền”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Số tiền nạp TextField Nhập số tiền nạp Người dùng chỉ được nhập số

2 Nạp tiền FlatButton Lưu thông tin nạp tiền Số tiền phải lớn hơn 1000 Bảng 4.74: Mô tả chi tiết màn hình “Nạp tiền”

4.9.7.5 Màn hình Bộ lọc lịch sử giao dịch

Hình 4.65: Giao diện “Bộ lọc lịch sử giao dịch”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

Loại lịch sử giao dịch DropDownButton Chọn loại lịch sử giao dịch

2 Thời gian DateRangePicker Chọn khoản thời gian

Sử dụng bộ lọc FlatButton Áp dụng bộ lọc tìm kiếm

4 Đặt lại giá trị FlatButton Đặt lại giá trị bộ lọc

Bảng 4.75: Mô tả chi tiết màn hình “Bộ lọc lịch sử giao dịch”

4.9.7.6 Màn hình Báo cáo thông kê

Hình 4.66: Giao diện “Báo cáo thống kê”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Thống kê TabBar Đưa đến biểu đồ cột hoặc biểu đồ tròn

2 Loại giao dịch DropDownButton Chọn loại giao dịch thống kê

3 Thống kê biểu đồ cột BarChart Thông kê dưới dạng biểu đồ cột

4 Thống kê PieChart Thống kê dòng tiền

Bảng 4.76: Mô tả chi tiết màn hình “Báo cáo thống kê”

Hình 4.67: Giao diện “Cài đặt”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Đổi chế độ nền FlatButton Đổi chế độ nền của ứng dụng

2 Đổi mật khẩu FlatButton Đến màn hình đổi mật khẩu

3 Đăng xuất FlatButton Đăng xuất ứng dụng

Bảng 4.77: Mô tả chi tiết màn hình “Cài đặt”

4.9.7.8 Màn hình Đổi mật khẩu

Hình 4.68: Giao diện “Đổi mật khẩu”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Mật khẩu hiện tại TextFormField Nhập mật khẩu hiện tại Ký tự tròn

2 Mật khẩu mới TextFormField Nhập mật khẩu mới Ký tự tròn

3 Nhập lại mật khẩu mới TextFormField Nhập lại mật khẩu mới Ký tự tròn

Bảng 4.78: Mô tả chi tiết màn hình “Đổi mật khẩu”

4.9.7.9 Màn hình Bài đăng của tôi

Hình 4.69: Giao diện “Bài đăng của tôi”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Chọn loại tìm kiếm DropDownButton Chọn loại tìm kiếm Đổi loại hình sẽ thay đổi cách tìm kiếm

4 Bài đăng ListView Danh sách bài đăng

5 Bản đồ BottomTabBar Đến màn hình bản đồ

6 Gia hạn ExpansionTile Ẩn/hiện thông tin gia

7 Chọn ngày kết thúc RoundedButtonWidget Chọn ngày cần gia hạn

Sau khi chọn xong hiển thị nút gia hạn

8 Gia hạn RoundedButtonWidget Gia hạn với thông tin đã chọn

9 Chỉnh sửa GestureDetector Chỉnh sửa cho bài đăng

Sau khi nhấn chuyển đến màn hình chỉnh sửa bài đăng

10 Xóa GestureDetector Xóa bài đăng Xóa bài đăng được chọn Bảng 4.79: Mô tả chi tiết màn hình “Bài đăng của tôi”

4.9.7.10 Màn hình Bài ghim yêu thích

Hình 4.70: Giao diện “Bài ghim yêu thích”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Chọn loại tìm kiếm DropDownButton Chọn loại tìm kiếm Đổi loại hình sẽ thay đổi cách tìm kiếm

4 Bài đăng ListView Danh sách bài đăng

Bấm vào chuyển đến màn hình chi tiết bài đăng Bảng 4.80: Mô tả chi tiết màn hình “Bài ghim yêu thích”

4.9.7.11 Màn hình Biểu đồ giá

Hình 4.71: Giao diện “Biểu đồ giá”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Khu vực Marquee Hiển thị tên khu vực và chọn khu vực khác

2 Bộ lọc InkWell Lọc BĐS theo thuộc tính

3 Danh sách TabBar Chọn loại danh mục

Biểu đồ giá tại khu vực theo danh mục người dùng đã chọn Bảng 4.81: Mô tả chi tiết màn hình “Biểu đồ giá”

4.9.7.12 Màn hình Tra cứu bất động sản và kết quả tra cứu

Hình 4.72: Giao diện “Tra cứu bất động sản”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Đơn vị tiền SwitchButton Đổi đơn vị tiền triệu/m2 hoặc tỷ

2 Số tiền thấp nhất TextFormField Số tiền thấp nhất của

3 Số tiền cao nhất TextFormField Số tiền cao nhất của

BĐS DropdownSearch Chọn loại hình BĐS muốn tìm kiếm

5 Thuộc tính của BĐS ExpansionTile Bộ lọc thuộc tính cho các BĐS

6 Danh sách các quận ExpansionTile

Hiển thị danh sách các quận có chứa BĐS phù hợp

Nhấn vào sẽ mở ra danh sách các xã có chứa BĐS phù hợp

7 Danh sách các xã InkWell Hiển thị danh sách các xã chứa BĐS phù hợp

Nhấn vào để truy cập trang chứa các bài viết liên quan đến thông tin của người dùng Bảng 4.82 cung cấp mô tả chi tiết về màn hình "Tra cứu bất động sản".

4.9.8 Màn hình Quản trị (Chỉ hiển thị với admin và kiểm duyệt viên)

Hình 4.73: Giao diện “Quản trị”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tổng quan tháng Text Hiển thị tháng năm theo thời gian hiện tại

Hiển thị số người dùng mới trong tháng hiện tại

Hiển thị số bài đăng mới trong tháng hiện tại

4 Quản lý người dùng ElevatedButton Di chuyển đến trang quản lý người dùng

Hiển thị khi là admin

5 Quản lý vai trò ElevatedButton Di chuyển đến trang quản lý vai trò

Hiển thị khi là admin

6 Quản lý danh mục ElevatedButton Di chuyển đến trang quản lý danh mục

Hiển thị khi là admin

7 Quản lý gói bài đăng ElevatedButton Di chuyển đến trang quản lý gói bài đăng

Hiển thị khi là admin

8 Quản lý thuộc tính ElevatedButton Di chuyển đến trang quản lý thuộc tính

Hiển thị khi là admin

9 Kiểm duyệt giao dịch ElevatedButton Di chuyển đến trang kiểm duyệt giao dịch

Hiển thị khi là admin hoặc kiểm duyệt viên

Bảng 4.83: Mô tả chi tiết màn hình “Quản trị”

4.9.8.1 Màn hình Quản lý người dùng

Hình 4.74: Giao diện “Quản lý người dùng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Thêm người dùng IconButton Chuyển đến trang thêm người dùng

4 Danh sách người dùng ListView

Hiển thị danh sách người dùng trong hệ thống

5 Avatar CircleAvatar Ảnh đại diện Hiển thị ảnh mặc

150 định nếu không có ảnh đại diện

6 Tên Text Tên người dùng

7 Email Text Địa chỉ email người dùng Bảng 4.84: Mô tả chi tiết màn hình “Quản lý người dùng”

4.9.8.2 Màn hình Xem thông tin chi tiết người dùng

Hình 4.75: Giao diện “Xem thông tin chi tiết người dùng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Chỉnh sửa IconButton Chỉnh sửa thông tin người dùng

2 Avatar CircleAvatar Ảnh đại diện

3 Tên Text Tên người dùng

4 Vai trò Text Vai trò của người dùng

5 Tài khoản Text Tên tài khoản đăng nhập

6 Kích hoạt Icon Tài khoản có được kích hoạt hay không

Tích xanh khi kích hoạt và dấu x đỏ khi không được kích hoạt

7 Email Text Địa chỉ email

8 Xác nhận email Icon Xác nhận địa chỉ email

9 Điện thoại Text Số điện thoại

10 Ngày tham gia Text Ngày tạo tài khoản

11 Phân quyền ElevatedButton Chỉnh sửa vai trò hoặc quyền cho người dùng

Chuyển hướng đến trang web quản lý

Bảng 4.85: Mô tả chi tiết màn hình “Xem thông tin chi tiết người dùng”

4.9.8.3 Màn hình Thêm mới/Chỉnh sửa thông tin người dùng

Hình 4.76: Giao diện “Thêm mới/Chỉnh sửa thông tin người dùng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

3 Email TextFormField Nhập email Định dạng email

4 Tên đăng nhập TextFormField Nhập tên tài khoản

5 Điện thoại TextFormField Nhập số điện thoại

6 Mật khẩu TextFormField Nhập mật khẩu

Có thể không nhập khi chỉnh sửa

7 Xác nhận TextFormField Nhập lại mật khẩu để Có thể không

153 mật khẩu xác nhận nhập khi chỉnh sửa

8 Vai trò CheckboxListTile Chọn vai trò Không chọn sẽ mặc định là user

9 Kích hoạt Checkbox Kích hoạt/Không kích hoạt tài khoản

Thêm mới/Chỉnh sửa người dùng

Thực hiện khi các thông tin đã được điền đầy đủ Bảng 4.86: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa người dùng”

4.9.8.4 Màn hình Quản lý vai trò

Hình 4.77: Giao diện “Quản lý vai trò”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Thêm vai trò IconButton Thêm vai trò mới

Chuyển hướng đến trang web quản lý

2 Danh sách ListView Danh sách vai trò trong hệ thống

3 Tên Text Tên vai trò

4 Ngày tạo Text Ngày vai trò được tạo

5 Tĩnh Container Vai trò ở chế độ tĩnh Vai trò không thể xóa

6 Mặc định Container Vai trò ở chế độ mặc định

Vai trò mặc định khi đăng ký

7 Chỉnh sửa Icon Chỉnh sửa vai trò Chuyển đến trang web quản lý Bảng 4.87: Mô tả chi tiết màn hình “Quản lý vai trò”

4.9.8.5 Màn hình Quản lý danh mục

Hình 4.78: Giao diện “Quản lý danh mục”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện tìm kiếm

3 Thêm danh mục IconButton Di chuyển đến trang tạo danh mục mới

4 Danh sách ListView Danh sách danh mục trong hệ thống

5 Tên Text Tên danh mục

6 Nhãn Text Nhãn của danh mục

7 Trạng thái Text Trạng thái của danh Có 2 trạng thái là

8 Chỉnh sửa Icon Di chuyển đến trang chỉnh sửa danh mục Bảng 4.88: Mô tả chi tiết màn hình “Quản lý danh mục”

4.9.8.6 Màn hình Thêm mới/Chỉnh sửa danh mục

Hình 4.79: Giao diện “Thêm mới/Chỉnh sửa danh mục”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tên TextFormField Nhập tên danh mục

2 Nhãn TextFormField Nhập nhãn danh mục

Chọn danh mục cha (Tối đa 2 lớp)

Danh mục có thể không có danh mục cha

4 Kích hoạt Checkbox Kích hoạt/Không kích hoạt danh mục

Thêm mới/Chỉnh sửa danh mục

Thực hiện khi thông tin điền đầy đủ

Bảng 4.89: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa danh mục”

4.9.8.7 Màn hình Quản lý gói bài đăng

Hình 4.80: Giao diện “Quản lý gói bài đăng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện tìm kiếm

3 Thêm gói bài đăng IconButton Di chuyển đến trang tạo gói bài đăng mới

4 Danh sách ListView Danh sách các gói bài đăng trong hệ thống

5 Tên Text Tên gói bài đăng

6 Phí Text Phí của gói bài đăng

7 Trạng thái Text Trạng thái của gói bài đăng

Di chuyển đến trang chỉnh sửa gói bài đăng

Bảng 4.90: Mô tả chi tiết màn hình “Quản lý gói bài đăng”

4.9.8.8 Màn hình Thêm mới/Chỉnh sửa gói bài đăng

Hình 4.81: Giao diện “Thêm mới/Chỉnh sửa gói bài đăng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tên TextFormField Nhập tên gói bài đăng

2 Phí TextFormField Nhập phí gói bài đăng

3 Độ ưu tiên TextFormField Nhập độ ưu tiên gói bài đăng (1-10)

Nếu không nhập mặc định là 1

4 Thời gian tối thiểu TextFormField

Nhập thời gian tối thiểu của gói bài đăng (1-365)

Nếu không nhập mặc định là 1

5 Mô tả TextFormField Nhập mô tả gói bài

Kích hoạt/Không kích hoạt gói bài đăng

Thêm mới/Chỉnh sửa gói bài đăng

Thực hiện khi các thông tin đã được điền đầy đủ Bảng 4.91: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa gói bài đăng”

4.9.8.9 Màn hình Quản lý thuộc tính

Hình 4.82: Giao diện “Quản lý thuộc tính”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm

2 Search IconButton Thực hiện việc tìm kiếm

3 Thêm thuộc tính IconButton Di chuyển đến trang tạo thuộc tính mới

4 Danh sách ListView Danh sách các thuộc tính trong hệ thống

5 Tên Text Tên thuộc tính

6 Kiểu dữ liệu Text Kiểu dữ liệu của thuộc tính

7 Trạng thái Text Trạng thái của thuộc tính

8 Chỉnh sửa Icon Di chuyển đến trang chỉnh sửa thuộc tính Bảng 4.92: Mô tả chi tiết màn hình “Quản lý thuộc tính”

4.9.8.10 Màn hình Thêm mới/Chỉnh sửa thuộc tính

Hình 4.83: Giao diện “Thêm mới/Chỉnh sửa thuộc tính”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tên TextFormField Nhập tên thuộc tính

2 Kiểu dữ liệu DropdownButton Chọn kiểu dữ liệu cho thuộc tính mới

3 Kích hoạt Checkbox Kích hoạt/Không kích hoạt thuộc tính

Thêm mới/Chỉnh sửa thuộc tính

Thực hiện khi thông tin đủ Bảng 4.93: Mô tả chi tiết màn hình “Thêm mới/Chỉnh sửa thuộc tính”

4.9.8.11 Màn hình Kiểm duyệt giao dịch

Hình 4.84: Giao diện “Kiểm duyệt giao dịch”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Hiển thị bộ lọc nâng cao GestureDetector Hiển thị bộ loc

2 Giao dịch ListView Danh sách Giao dịch

3 Nội dung giao dịch ExpansionTile Hiển thị nội dung giao dịch

Chọn vào icon để hiển thị thêm thông tin

4 Duyệt nạp tiền FlatButton Kiểm duyệt nạp tiền

Người dùng đã chuyển tiền qua momo

Bảng 4.94: Mô tả chi tiết màn hình “Kiểm duyệt giao dịch”

4.9.8.12 Màn hình Quản lý bài đăng

Hình 4.85: Giao diện “Quản lý bài đăng”

STT Tên Kiểu Chức năng/Biến cố Ghi chú

1 Tìm kiếm TextFormField Nhập nội dung tìm kiếm

2 Search IconButton Thực hiện việc tìm kiếm

3 Chọn loại tìm kiếm DropDownButton Chọn loại tìm kiếm Đổi loại hình sẽ thay đổi cách tìm kiếm

4 Bài đăng ListView Danh sách bài đăng

5 Bản đồ BottomTabBar Đến màn hình bản đồ

6 Gia hạn ExpansionTile Ẩn/hiện thông tin gia hạn

RoundedButton Widget Chọn ngày cần gia hạn

Sau khi chọn xong hiển thị nút gia hạn

Gia hạn với thông tin đã chọn

9 Chỉnh sửa GestureDetector Chỉnh sửa cho bài đăng

Sau khi nhấn chuyển đến màn hình chỉnh sửa bài đăng

10 Xóa GestureDetector Xóa bài đăng Xóa bài đăng được chọn Bảng 4.95: Mô tả chi tiết màn hình “Quản lý bài đăng”

PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG

KIỂM THỬ

Ngày đăng: 16/06/2022, 21:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] T.Việt, “Flutter là gì? Nó có ưu điểm vượt trội ra sao để làm một ứng dụng mobile?,” 2018. [Trực tuyến]. Địa chỉ: https://topdev.vn/blog/flutter-la-gi/.[Truy cập 16/3/2022] Sách, tạp chí
Tiêu đề: Flutter là gì? Nó có ưu điểm vượt trội ra sao để làm một ứng dụng mobile
[2] V.N.Tuấn, “Giới thiệu về Flutter,” 2018. [Trực tuyến]. Địa chỉ: https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw. [Truy cập 17/3/2022] Sách, tạp chí
Tiêu đề: Giới thiệu về Flutter
[3] M.Bão, “MariaDB là gì? Cách cài đặt và kết nối MariaDB,” 2021. [Trực tuyến]. Địa chỉ: https://wiki.matbao.net/mariadb-la-gi-cach-cai-dat-va-ket-noi-mariadb/. [Truy cập 12/3/2022].[4] “MariaDB,” 2022. [Trực tuyến]. Địa chỉ:https://vi.wikipedia.org/wiki/MariaDB. [Truy cập 15/3/2022] Sách, tạp chí
Tiêu đề: MariaDB là gì? Cách cài đặt và kết nối MariaDB,” 2021. [Trực tuyến]. Địa chỉ: https://wiki.matbao.net/mariadb-la-gi-cach-cai-dat-va-ket-noi-mariadb/. [Truy cập 12/3/2022]. [4] “MariaDB
[5] N.T.Phương, “Adobe XD là gì? Các tính năng thiết kế web nổi bật trên Adobe XD,” 2021. [Trực tuyến]. Địa chỉ: https://www.thegioididong.com/game-app/adobe-xd-la-gi-cac-tinh-nang-thiet-ke-web-noi-bat-tren-adobe-1376731.[Truy cập 20/3/2022] Sách, tạp chí
Tiêu đề: Adobe XD là gì? Các tính năng thiết kế web nổi bật trên Adobe XD
[6] INet, “Thông tin WHOIS tên miền batdongsan24h.com.vn,” 2022. [Trực tuyến]. Địa chỉ: https://whois.inet.vn/whois?domain=batdongsan24h.com.vn.[Truy cập 22/5/2022] Sách, tạp chí
Tiêu đề: Thông tin WHOIS tên miền batdongsan24h.com.vn
[7] INet, “Thông tin WHOIS tên miền chotot.com,” 2022. [Trực tuyến]. Địa chỉ: https://whois.inet.vn/whois?domain= chotot.com. [Truy cập 22/5/2022] Sách, tạp chí
Tiêu đề: Thông tin WHOIS tên miền chotot.com
[8] INet, “Thông tin WHOIS tên miền batdongsan.com.vn,” 2022. [Trực tuyến]. Địa chỉ: https://whois.inet.vn/whois?domain=batdongsan.com.vn. [Truy cập 22/5/2022] Sách, tạp chí
Tiêu đề: Thông tin WHOIS tên miền batdongsan.com.vn
[9] Đ.N.T.Mại, “Các yếu tố ảnh hưởng đến giá trị bất động sản,” 2022. [Trực tuyến]. Địa chỉ: https://datnenthuongmai.com/tin-tuc/cac-yeu-to-anh-huong-den-gia-tri-bat-dong-san/. [Truy cập 22/5/2022] Sách, tạp chí
Tiêu đề: Các yếu tố ảnh hưởng đến giá trị bất động sản
[10] Volosoft, “Explore the ASP.NET Zero Features,” 2022. [Online]. Available: https://aspnetzero.com/Features. [Accessed 19/3/2022] Sách, tạp chí
Tiêu đề: Explore the ASP.NET Zero Features
[11] N.Constant, “What is ImgBB? (& How to Use it For Free Image Hosting!),” Sách, tạp chí
Tiêu đề: What is ImgBB? (& How to Use it For Free Image Hosting!)
[12] MariaDB Foundation, "About MariaDB Server," 2022. [Online]. Available: https://mariadb.org/documentation/. [Accessed 12/3/2022] Sách, tạp chí
Tiêu đề: About MariaDB Server
[13] Zoom59, “The Ultimate Web Scraping Guide,” 2021. [Online]. Available: https://webscraper.io/blog/ultimate-web-scraping-guide. [Accessed 14/3/2022] Sách, tạp chí
Tiêu đề: The Ultimate Web Scraping Guide

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Sơ đồ trang batdongsan.com.vn - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 3.1 Sơ đồ trang batdongsan.com.vn (Trang 38)
Hình 4.3: Sơ đồ hoạt động của “Đăng ký” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.3 Sơ đồ hoạt động của “Đăng ký” (Trang 58)
Hình 4.4: Sơ đồ hoạt động của “Đăng nhập” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.4 Sơ đồ hoạt động của “Đăng nhập” (Trang 60)
Hình 4.5: Sơ đồ hoạt động của “Xem bài đăng” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.5 Sơ đồ hoạt động của “Xem bài đăng” (Trang 62)
Hình 4.7: Sơ đồ hoạt động của “Ghim bài đăng” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.7 Sơ đồ hoạt động của “Ghim bài đăng” (Trang 66)
Hình 4.9: Sơ đồ hoạt động của “Tìm kiếm xung quanh khu vực” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.9 Sơ đồ hoạt động của “Tìm kiếm xung quanh khu vực” (Trang 71)
Hình 4.11: Sơ đồ hoạt động của “Quản lý thông tin cá nhân” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.11 Sơ đồ hoạt động của “Quản lý thông tin cá nhân” (Trang 74)
Hình 4.15: Sơ đồ hoạt động của “So sánh hai bài đăng” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.15 Sơ đồ hoạt động của “So sánh hai bài đăng” (Trang 81)
Hình 4.17: Sơ đồ hoạt động của “Xem báo cáo cá nhân” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.17 Sơ đồ hoạt động của “Xem báo cáo cá nhân” (Trang 85)
Hình 4.18: Sơ đồ hoạt động của “Xem biểu đồ giá khu vực” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.18 Sơ đồ hoạt động của “Xem biểu đồ giá khu vực” (Trang 87)
Hình 4.19: Sơ đồ hoạt động của “Tra cứu bất động sản phù hợp” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.19 Sơ đồ hoạt động của “Tra cứu bất động sản phù hợp” (Trang 89)
Hình 4.20: Sơ đồ Usecase cho Actor “Kiểm duyệt viên” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.20 Sơ đồ Usecase cho Actor “Kiểm duyệt viên” (Trang 90)
Hình 4.21: Sơ đồ hoạt động của “Kiểm duyệt bài đăng không hợp lệ” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.21 Sơ đồ hoạt động của “Kiểm duyệt bài đăng không hợp lệ” (Trang 92)
Hình 4.22: Sơ đồ hoạt động của “Xác nhận nạp tiền” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.22 Sơ đồ hoạt động của “Xác nhận nạp tiền” (Trang 94)
Hình 4.23: Sơ đồ Usecase cho Actor “Admin” - Ứng dụng bất động sản kết hợp hệ thống hỗ trợ quyết định dựa trên giá thị trường (khóa luận tốt nghiệp)
Hình 4.23 Sơ đồ Usecase cho Actor “Admin” (Trang 95)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN