1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứ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)

207 6 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

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

Cấu trúc

  • Chương 1. TỔNG QUAN ĐỀ TÀI (0)
    • 1.1. Đặt vấn đề (28)
    • 1.2. Mục tiêu đề tài (28)
    • 1.3. Đối tượng và phạm vi đề tài (29)
      • 1.3.1. Đối tượng (29)
      • 1.3.2. Phạm vi đề tài (29)
    • 1.4. Công cụ sử dụng (29)
  • Chương 2. KIẾN THỨC NỀN TẢNG (0)
    • 2.1. Flutter Framework (30)
      • 2.1.1. Flutter là gì? (30)
      • 2.1.2. Tại sao lại là Flutter? (30)
      • 2.1.3. Đặc điểm nổi bật (31)
    • 2.2. ASP.NET Zero (31)
      • 2.2.1. ASP.NET Zero là gì? (31)
      • 2.2.2. Tại sao lại là ASP.NET Zero? (32)
      • 2.2.3. Đặc điểm nổi bật (32)
    • 2.3. ImgBB (32)
      • 2.3.1. ImgBB là gì? (32)
      • 2.3.2. Tại sao lại là ImgBB? (32)
      • 2.3.3. Đặc điểm nổi bật (32)
    • 2.4. MariaDB (33)
      • 2.4.1. MariaDB là gì? (33)
      • 2.4.2. Tại sao lại là MariaDB? (33)
      • 2.4.3. Đặc điểm nổi bật (33)
    • 2.5. Web Scraper (34)
      • 2.5.1. Web scraper là gì? (34)
      • 2.5.2. Tại sao lại là Web scraper? (34)
      • 2.5.3. Đặc điểm nổi bật (34)
    • 2.6. Adobe XD (35)
      • 2.6.1. Adobe XD là gì? (35)
      • 2.6.2. Tại sao lại là Adobe XD? (35)
      • 2.6.3. Đặc điểm nổi bật (35)
    • 2.7. Hệ thống hỗ trợ người dùng ra quyết định (36)
      • 2.7.1. Ra quyết định là gì? (36)
      • 2.7.2. Khái niệm hệ hỗ trợ ra quyết định (37)
      • 2.7.3. Phương pháp xây dựng hệ thống hỗ trợ ra quyết định (37)
  • Chương 3. HỆ HỖ TRỢ QUYẾT ĐỊNH (0)
    • 3.1. Sơ lược hệ thống hỗ trợ quyết định của đề tài (38)
    • 3.2. Các thách thức khi xây dựng hệ hỗ trợ quyết định (38)
    • 3.3. Chuẩn bị dữ liệu (38)
      • 3.3.1. Lựa chọn nền tảng đăng tin (38)
        • 3.3.1.1. Trang batdongsan24h.com.vn (38)
        • 3.3.1.2. Trang nha.chotot.com (39)
        • 3.3.1.3. Trang batdongsan.com.vn (39)
        • 3.3.1.4. Kết quả lựa chọn nền tảng (39)
      • 3.3.2. Quá trình thu thập dữ liệu (40)
        • 3.3.2.1. Vẽ sơ đồ trang web batdongsan.com.vn (40)
        • 3.3.2.2. Lựa chọn các thông tin của một bài đăng (41)
        • 3.3.2.3. Cào dữ liệu (42)
        • 3.3.2.4. Xử lý dữ liệu (43)
        • 3.3.2.5. Kết quả (45)
    • 3.4. Xây dựng biểu đồ giá của từng loại hình theo khu vực (47)
    • 3.5. Tính năng nhận xét nhanh cho biểu đồ giá (49)
    • 3.6. Tính năng gợi ý bất động sản phù hợp (50)
  • Chương 4. PHÂN TÍCH ĐẶC TẢ YÊU CẦU (0)
    • 4.1. Danh sách yêu cầu (52)
      • 4.1.1. Yêu cầu phần mềm (52)
      • 4.1.2. Bảng trách nhiệm cho từng yêu cầu (53)
        • 4.1.2.1. Yêu cầu nghiệp vụ (53)
        • 4.1.2.2. Yêu cầu tiến hóa (54)
        • 4.1.2.3. Yêu cầu hiệu quả (56)
        • 4.1.2.4. Yêu cầu tiện dụng (57)
      • 4.1.3. Yêu cầu phần cứng (59)
        • 4.1.3.1. Người dùng (59)
        • 4.1.3.2. Hệ thống máy chủ (60)
    • 4.2. Quy tắc nghiệp vụ (60)
    • 4.3. Usecase, Đặc tả usecase và sơ đồ hoạt động (62)
      • 4.3.1. Usecase tổng quát (63)
      • 4.3.2. Usecase cho Khách (63)
      • 4.3.3. Usecase cho Người dùng (79)
      • 4.3.4. Usecase cho Kiểm duyệt viên (97)
      • 4.3.5. Usecase cho Admin (102)
    • 4.4. Sơ đồ tuần tự (122)
      • 4.4.1. Sơ đồ tuần tự việc đăng ký (122)
      • 4.4.2. Sơ đồ tuần tự cho việc thêm bài đăng (123)
      • 4.4.3. Sơ đồ tuần tự cho việc nạp tiền (124)
      • 4.4.4. Sơ đồ tuần tự cho việc gia hạn bài viết (124)
      • 4.4.5. Sơ đồ tuần tự cho việc lập báo cáo (125)
    • 4.5. Sơ đồ trạng thái (126)
      • 4.5.1. Sơ đồ trạng thái cho Đăng nhập (126)
      • 4.5.2. Sơ đồ trạng thái cho Thêm tài khoản (127)
      • 4.5.3. Sơ đồ trạng thái cho Nạp tiền cho tài khoản (127)
      • 4.5.4. Sơ đồ trạng thái cho Tạo bài đăng mới (128)
      • 4.5.5. Sơ đồ trạng thái cho Tìm kiếm bài đăng (129)
    • 4.6. ERD và sơ đồ lớp (130)
      • 4.6.1. Mô hình thực thể ERD hoàn thiện (130)
      • 4.6.2. Sơ đồ lớp (131)
      • 4.6.3. Mô tả sơ đồ lớp (132)
        • 4.6.3.1. Danh sách các lớp đối tượng và quan hệ (132)
        • 4.6.3.2. Mô tả chi tiết từng lớp đối tượng (132)
  • Chương 5. THIẾT KẾ HỆ THỐNG (0)
    • 5.1. Sơ đồ logic (139)
      • 5.1.1. Thiết kế sơ đồ logic (139)
      • 5.1.2. Mô tả sơ đồ logic (140)
        • 5.1.2.1. Bảng NguoiDung (140)
        • 5.1.2.2. Bảng BaiDang (140)
        • 5.1.2.3. Bảng DanhMuc (141)
        • 5.1.2.4. Bảng ThuocTinh (141)
        • 5.1.2.5. Bảng ChiTietBaiDang (142)
        • 5.1.2.6. Bảng HinhAnh (142)
        • 5.1.2.7. Bảng Xa (142)
        • 5.1.2.8. Bảng Huyen (142)
        • 5.1.2.9. Bảng Tinh (143)
        • 5.1.2.10. Bảng ThamSo (143)
        • 5.1.2.11. Bảng GoiBaiDang (143)
        • 5.1.2.12. Bảng BaiGhimYeuThich (143)
        • 5.1.2.13. Bảng ChiTietHoaDonBaiDang (144)
        • 5.1.2.14. Bảng LichSuGiaoDich (144)
    • 5.2. Thiết kế kiến trúc (144)
      • 5.2.1. Kiến trúc tổng quan (144)
      • 5.2.2. Flutter App (145)
      • 5.2.3. ASP.NET Core Solution (145)
    • 5.3. Thiết kế giao diện (146)
      • 5.3.1. Màn hình Đăng nhập (146)
      • 5.3.2. Màn hình Đăng ký (147)
      • 5.3.3. Màn hình Quên mật khẩu (149)
      • 5.3.4. Màn hình Trang chủ (150)
        • 5.3.4.1. Màn hình Trang chủ chế độ người dùng khách (150)
        • 5.3.4.2. Màn hình Trang chủ (151)
        • 5.3.4.3. Màn hình Bộ lọc bài đăng (152)
        • 5.3.4.4. Màn hình Chi tiết bài đăng (154)
      • 5.3.5. Màn hình Bản đồ (156)
        • 5.3.5.1. Màn hình Xem bản đồ (156)
        • 5.3.5.2. Màn hình Tìm kiếm trên bản đồ (158)
      • 5.3.6. Màn hình Đăng bài (159)
      • 5.3.7. Màn hình Cá nhân (162)
        • 5.3.7.1. Màn hình Tài khoản của tôi (164)
        • 5.3.7.2. Màn hình Chỉnh sửa thông tin cá nhân (165)
        • 5.3.7.3. Màn hình Ví tiền của tôi (166)
        • 5.3.7.4. Màn hình Nạp tiền (167)
        • 5.3.7.5. Màn hình Bộ lọc lịch sử giao dịch (168)
        • 5.3.7.6. Màn hình Báo cáo thông kê (169)
        • 5.3.7.7. Màn hình Cài đặt (170)
        • 5.3.7.8. Màn hình Đổi mật khẩu (171)
        • 5.3.7.9. Màn hình Bài đăng của tôi (172)
        • 5.3.7.10. Màn hình Bài ghim yêu thích (174)
        • 5.3.7.11. Màn hình Biểu đồ giá (175)
        • 5.3.7.12. Màn hình Tra cứu bất động sản và kết quả tra cứu (176)
      • 5.3.8. Màn hình Quản trị (Chỉ hiển thị với admin và kiểm duyệt viên) (178)
        • 5.3.8.1. Màn hình Quản lý người dùng (180)
        • 5.3.8.2. Màn hình Xem thông tin chi tiết người dùng (181)
        • 5.3.8.3. Màn hình Thêm mới/Chỉnh sửa thông tin người dùng (183)
        • 5.3.8.4. Màn hình Quản lý vai trò (184)
        • 5.3.8.5. Màn hình Quản lý danh mục (186)
        • 5.3.8.6. Màn hình Thêm mới/Chỉnh sửa danh mục (187)
        • 5.3.8.7. Màn hình Quản lý gói bài đăng (188)
        • 5.3.8.8. Màn hình Thêm mới/Chỉnh sửa gói bài đăng (190)
        • 5.3.8.9. Màn hình Quản lý thuộc tính (191)
        • 5.3.8.10. Màn hình Thêm mới/Chỉnh sửa thuộc tính (193)
        • 5.3.8.11. Màn hình Kiểm duyệt giao dịch (194)
        • 5.3.8.12. Màn hình Quản lý bài đăng (195)
  • Chương 6. PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG (0)
    • 6.1. Môi trường phát triển ứng dụng (197)
    • 6.2. Môi trường triển khai ứng dụng (197)
    • 6.3. Thanh toán qua Momo (197)
    • 6.4. Xuất bản trên CH Play (198)
    • 6.5. Cài đặt dành cho nhà phát triển (198)
      • 6.5.1. Cài đặt tiên quyết (198)
      • 6.5.2. Hướng dẫn cài đặt từng bước (199)
  • Chương 7. KIỂM THỬ (0)
    • 7.1. Testcase (200)
    • 7.2. Unit Test (200)
    • 7.3. Automation Test (0)
  • Chương 8. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 8.1. Kết quả đạt được (0)
      • 8.1.1. Về mặt nghiên cứu (0)
      • 8.1.2. Về mặt ứng dụng (0)
      • 8.1.3. Về mặt hạn chế (0)
    • 8.2. Hướng phát triển (0)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN MINH ĐỨC PHẠM QUỐC ĐẠT KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG BẤT ĐỘNG SẢN KẾT HỢP HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH DỰA TR

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

Flutter Framework

Flutter [1, 2] là mobile UI framework của Google nhằm tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức

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 công nghệ mới được Google phát triển, một framework dựa trên ngôn ngữ lập trình Dart Đây được kỷ vọng sẽ là một công nghệ có thể khắc phục các nhược điểm của React Native

Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với những ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và hiệu suất Và chỉ cần thêm một số tham số là có thể triển khai phiên bản IOS của một ứng dụng

Với khả năng chạy hỗ trợ 60 khung hình trên giây, giao diện người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các framework phát triển đa nền tảng khác chẳng hạn như React Native và Ionic Một số điểm đặc biệt của Flutter:

• 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

• Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao diện của Flutter vô cùng đẹp mắt theo phong cách Material Design và Cupertino, hỗ trợ nhiều các APIs chuyển động, smooth scrolling

• Native Performance: Các widget của fluter kết hợp các sự khác biệt của các nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng tốt nhất tới iOS và Android

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 [12]: Đây là một Visual Studio solution nền cho các dự án Web app mới Cung cấp kiến trúc SOLID và dễ dàng scale Có sẵn các vấn đề về quản lý người dung, chức vụ, phân quyền, audit logging, setting management, quản lý user profile, … Được xây dựng 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 tiết kiệm thời gian phát triển bằng cách cung cấp các tính năng thường gặp ở các dự án phần mềm với kiến trúc SOLID Mặt khác, tốc độ phát triển và sửa lỗi sẽ nhanh hơn so với các Framework của Javascript/ 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 [13] là một dịch vụ lưu trữ hình ảnh miễn phí Quá trình sử dụng và tài liệu API gọn nhẹ, nhanh chóng để triển khai tích hợp cho dự án

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 [3, 4, 14] là hệ quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL MariaDB được phát triển nhằm thay thế công nghệ cơ sở dữ liệu MySQL, vì thế nó tương thích và cho một hiệu suất cao hơn so với MySQL

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

MariaDB được Michael “Monty” Widenius, developer hàng đầu của MySQL dẫn dắt và phát triển Ưu điểm lớn nhất của hệ quản trị này là tương thích với nhiều hệ điều hành, bao gồm Linux CentOS, Ubuntu và Window với các gói cài đặt tar, zip, MSI, rpm cho cả 32bit và 64bit với hiệu suất cao hơn so với MySQL

Vì thế, MariaDB đang ngày càng được đông đảo các nhà phát triển sử dụng, trong đó có wikipedia, Fullstack-Station, … MariaDB đang có xu hướng thay thế cho MySQL – hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất được sử dụng từ trước đế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 [15] là một công nghệ trích xuất dữ liệu từ trang web Có khả năng tự động hóa công việc thủ công của việc sao chép thông tin một cách thủ công Chỉ cần một crawler để thu thập các văn bản, giá cả, hình ảnh, liên kết sản phẩm trong một tệp xuất trong khi quy trình thủ công có thể mất nhiều thời gian

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

Web scraper miễn phí, không cần cài đặt vào hệ thống Windows, mà là một tiện ích tích hợp của Chrome và cách sữ dụng rất đơn giản Do đó, tiết kiệm được nhiều thời gian, công sức cho việc lấy dữ liệu Thời gian tiết kiệm được sẽ tập trung cho việc làm sạch bộ dữ liệu

• 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 [5] (còn được gọi là Adobe Experience Design) là một công cụ chuyên hỗ trợ về thiết kế website và ứng dụng được phát triển bởi Adobe Inc Adobe

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?

Khi sử dụng Adobe XD có thể hiểu thêm được quy trình về xây dựng Wireframe, giúp tạo và thiết kế giao diện cho người dùng về App Mobile/Web/Landing Page nhanh chóng Giao diện Adobe XD ít công cụ, giúp người dùng dễ dàng tìm thấy các công cụ khác trong lúc thao tác hơn những phần mềm khác nên có thể sử dụng cả khi là một người không chuyên Trong lúc làm việc với Adobe XD, có thể cùng lúc mở nhiều bản vẽ cho nhiều giao diện màn hình

Nếu là một lập trình viên hoặc đã từng sử dụng và hiểu rõ về X-Code (công cụ lập trình iOS) thì việc chuyển hướng qua Adobe XD rất đơn giản bởi phần mềm này có giao diện khá tương tự và điều hướng với phần mềm 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 chia sẻ các nội dung như ký tự, hình ảnh, màu sắc và những nội dung khác theo mong muốn để tạo nội dung cho các dự án Adobe XD tiết kiệm được nhiều thời gian hơn

• Prototype xem trước bản vẽ thiết kế vô cùng tiện lợi thông qua tạo liên kết giữa các artboard và những đố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

Hệ thống hỗ trợ người dùng ra quyết định

2.7.1 Ra quyết định là gì?

Ra quyết định [6] là một quá trình lựa chọn có ý thức giữa hai hoặc nhiều phản ánh để chọn ra một phản ánh và phản ánh này sẽ tạo ra được một kết quả mong muốn trong các điều kiện ràng buộc đã biết

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

• Quyết định có thể là nhận thức ở dạng mô tả;

• Quyết định có thể là nhận thức ở dạng quá trình;

• Quyết định có thể là một hoạt động giàu ý thức;

• Quyết định có thể là những thay đổi trạng thái kiến thức

2.7.2 Khái niệm hệ hỗ trợ ra quyết định

Hệ hỗ trợ ra quyết định (DSS – Decision Support System) [7] cho phép tổng hợp dữ liệu và phân tích dữ liệu qua các mô hình phức tạp để hỗ trợ cho những quyết định dạng không có cấu trúc hoặc bán cấu trúc

Hệ thống này có chức năng cung cấp thông tin và trợ giúp cho các nhà quản lý trong suốt quá trình xây dựng và thông qua các quyết định quản lý Các nhà quản lý có thể tìm những dữ liệu thích hợp, lựa chọn và sử dụng các mô hình thích hợp, điều khiển quá trình thực hiện nhờ những phương tiện có tính chuyên nghiệp

2.7.3 Phương pháp xây dựng hệ thống hỗ trợ ra quyết định

• Phân tích: nhằm xác định các vấn đề và các khả năng mà người dùng hoặc nhà quản lý có thể cho là hữu ích trong việc dẫn dắt tới các quyết định liên quan tới vấn đề đó

• Thiết kế: hệ thống DSS được thực hiện theo các bước lặp có sử dụng mẫu thử nghiệm Hệ thống đã thiết kế sẽ được đưa vào dùng thử, phát hiện các sai sót hoặc bất hợp lý, thực hiện điều chỉnh…; cứ thế lặp đi lặp lại cho tới khi có được một sản phẩm được coi là “phù hợp”

• Thực hiện: việc thiết kế DSS không bao gồm việc thực hiện một cách riêng rẽ mà việc phát triển hệ thống sẽ được thực hiện một cách liên tục Trong quá trình sử dụng hệ thống, các nhà quản lý sẽ đánh giá hệ thống và liên tục phát triển hệ thống cho phù hợp với yêu cầu của hệ thống.

HỆ HỖ TRỢ QUYẾT ĐỊNH

Sơ lược hệ thống hỗ trợ quyết định của đề tài

Thông thường, nhà đầu tư cần khảo sát thị trường nhà đất trong quá trình nhà đầu tư tìm kiếm BĐS phù hợp Điều này làm tiêu tốn rất nhiều thời gian, công sức, chi phí của nhà đầu tư Nên họ cần một hệ thống có thể đưa ra các thông tin nhanh về thị trường của loại hình BĐS tại khu vực quan tâm, các thông tin cần độ chính xác cao để họ có thể ra các quyết định đầu tư

Vì vậy, hệ thống hộ trợ quyết định của đề tài được xây dựng để đáp ứng nhu cầu trên Hệ thống sẽ tập trung chủ yếu vào việc xây dựng biểu đồ giá và đưa ra một số nhận xét để hỗ trợ người dùng ra quyết định Đây sẽ là điểm nổi bật của đề tài, tính năng chưa từng có mặt trên thị trường.

Các thách thức khi xây dựng hệ hỗ trợ quyết định

• Chất lượng của bộ dữ liệu cho hệ thống phải tốt

• Quá trình rút trích dữ liệu cần tham khảo ý kiến của các nhà môi giới cũng như đầu tư để chọn ngưỡng phù hợp, các ngưỡng sẽ dần hoàn thiện theo thời gian

• Tốc độ truy xuất biểu đồ giá phải nhanh, đồng nghĩa với thuật toán phân tích phải đạt hiệu suất cao

• Tốc độ của nhận xét giá của BĐS cũng phải nhanh để đáp ứng được lượng truy suất lớn từ người dùng.

Chuẩn bị dữ liệu

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

Thông tin chung: batdongsan24h.com.vn [8] là trang đăng tin mua bán BĐS lâu đời Được triển khai từ 28/09/2015 bởi Công ty Cổ Phần Đầu Tư Toàn Hải Phát

13 Ưu điểm: Là trang đã sớm hoạt động tại Việt Nam, nên sẽ có được lượng thông tin trải dài theo thị trường và có thể đăng tin miễn phí, tốc độ truy cập nhanh

Nhược điểm: Không có API cho nhà phát triển, việc cho phép đăng tin miễn phí cũng làm cho bộ dữ liệu chất lượng thấp, dù có lượng thông tin trải dài nhưng số lượng bài đăng rất ít

Thông tin chung: nha.chotot.com [9] là một trang đăng tin BĐS mới xuất hiện gần đây Được triển khai từ 28/06/2017 bởi Công Ty TNHH Chợ Tốt Ưu điểm: Số lượng bài đăng nhiều hơn so với batdongsan24h.com.vn, tốc độ truy cập nhanh, là trang đăng tin miễn phí

Nhược điểm: thường crawl dữ liệu từ các trang khác nên chất lượng dữ liệu rất thấp, không có API cho nhà phát triển, dù số lượng bài đăng nhiều nhưng không đảm bảo

Thông tin chung: batdongsan.com.vn [10] là một trang đăng tin mua bán BĐS đầu ngành tại Việt Nam Được triển khai từ 22/12/2004 bởi Công ty Cổ phần PropertyGuru Việt Nam Ưu điểm: Là trang đăng tin mua bán BĐS lớn nhất và đầu tiên tại Việt Nam, tốc độ truy cập nhanh, dù là trang đăng tin trả phí, nhưng việc trả phí cũng giống như một phễu lọc dữ liệu, khiến chất lượng của bộ dữ liệu được đảm bảm số lượng bài đăng lớn hơn nhiều so với hai trang trướ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

3.3.1.4 Kết quả lựa chọn nền tảng

Việc phân tích, lựa chọn trang để tạo bộ dữ liệu rất quan trọng trong lĩnh vực này vì có thể ảnh hưởn trực tiếp đến nhà đầu tư Vậy nên, chất lượng của nguồn dữ

14 liệu là tiêu chí hàng đầu cho việc lựa chọn Vì việc lấy dữ liệu cần rất nhiều tài nguyên (phần cứng và thời gian) nên trang batdongsan.com.vn sẽ được ưu tiên để triển khai việc tạo bộ dữ liệu và trong đề tài này sẽ ưu tiên cho Thành phố Hồ Chí Minh

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

3.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.3.2.2 Lựa chọn các thông tin của một bài đăng

Các thông tin cần thiết của một bài đăng được mô tả chi tiết ở hình bên dưới Tuy nhiên một số thuộc tính của từng bài đăng sẽ không cố định hoặc cần thao tác đặc biệt, chi tiết như 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

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

Khi đã xác định được các thông tin cần thiết cho bộ dữ liệu, tiến hành cào dữ liệu bằng Web scraper (một tiện ích của Chrome) Việc cào dữ liệu sẽ được cài đặt theo sơ đồ trang web, và tiến hành hoàn toàn tự động

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.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 [11] 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ĐS: khả năng sinh lời do yếu tố vị trí BĐS mang lại càng cao thì giá trị của BĐS càng lớn Mỗi BĐS luôn đồng thời tồn tại 2 loại vị trí, vị trí tuyệt đối và vị trí tương đối Xét trên phương diện tổng quát, cả 2 loại vị trí nói trên đều có vai trò quan trọng trong việc xác lập giá trị của BĐS

• Kích thước, hình thể, diện tích thửa đất hoặc lô đất: một kích thước và diện tích thửa đất tối ưu khi nó thoả mãn một loại nhu cầu cụ thể của đa số dân cư trong vùng

• Địa hình BĐS toạ lạc: địa hình nơi BĐS toạ lạc cao hay thấp so với các BĐS khác trong vùng lân cận có tác động đến giá trị BĐS Ở những khu vực thấp, thường hay bị ngập nước vào mùa mưa hay bị hiện tượng triều cường thì giá của BĐS sẽ thấp, ngược lại giá của nó sẽ cao hơn

• Hình thức bên ngoài của BĐS (đối với BĐS là nhà hoặc là các công trình xây dựng khác): nếu 2 BĐS có giá xây dựng như nhau, BĐS nào có kiến trúc phù hợp với thị hiếu thì giá trị của nó sẽ cao hơn và ngược lại

• Đặc điểm trên mặt đất và dưới lòng đất (độ dày của lớp bề mặt, tính chất thổ nhưỡng, tính chất vật lý ) Mức độ ảnh hưởng của các yếu tố trên đến giá trị của BĐS tuỳ thuộc vào mục đích sử dụng đất Ví dụ: độ màu mỡ của đất có thể rất quan trọng đối với giá trị đất khi sử dụng vào mục đích nông nghiệp, nhưng lại không quan trọng khi sử dụng đất 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

Xây dựng biểu đồ giá của từng loại hình theo khu vực

Sau khi đã thu thu thập, rút trích dữ liệu, nhóm đã tiến hành xây dựng biểu đồ giá của các loại hình BĐS theo từng phường tại địa bàn Thành phố Hồ Chí Minh Biểu đồ giá sẽ gồm giá của BĐS thấp nhất, cao nhất, trung bình và khoảng giá tập trung theo từng tháng Việc xây dựng biểu đồ giá không chỉ dừng lại tại các loại hình BĐS mà còn bao gồm cả các biểu đồ giá của các loại hình sau khi đã lựa chọn các thuộc tính thêm như số tầng, số phòng ngủ, trạng thái pháp lý… Các loại hình BĐS đã được xây dựng biểu đồ giá trong bảng bên dưới:

STT Loại hình STT Loại hình

1 Căn hộ chung cư 7 Khu nghỉ dưỡng

3 Nhà biệt thự 9 Kho, xưởng

5 Đất nền dự án 11 Shophouse

Bảng 3.3: Bảng các loại hình BĐS được xây dựng biểu đồ giá

Hình 3.5: Ví dụ biểu đồ giá của Căn hộ chung cư tại Phường Bến Nghé, Quận 1

Hình 3.6: Các bộ lọc thuộc tính của biểu đồ giá

Tính năng nhận xét nhanh cho biểu đồ giá

Như đã đề cập ở chương 3, các nhà đầu tư cần một số thông số như giá tăng hay giảm so với các tháng trước đó, so sánh giá của BĐS đang xem với thị trường khu vực để giúp họ có thể ra những quyết định nhanh hơn Tính năng này sẽ được tích hợp ngay trong khi nhà đầu tư xem các bài đăng BĐS trên nền tảng

Hình 3.7: Ví dụ về tính năng nhận xét trong bài đăng

Tính năng gợi ý bất động sản phù hợp

Về cơ bản, tính năng này gần như tính năng lọc bài đăng ở các nền tảng khác Nhưng các nền tảng khác thì chỉ dừng lại ở lọc được số phòng ngủ, hướng nhà, không đa dạng như của đề tài có thể lọc các thuộc tính: Số tầng, đường vào (m), số phòng ngủ, mặt tiền (m), trạng thái pháp lý, nội thất

25 Hình 3.8: Tính năng gợi ý bất động sản phù hợp

PHÂN TÍCH ĐẶC TẢ YÊU CẦU

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

6 Xem đánh giá giá BĐS trên thị trường Khách

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

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

11 Xem biểu đồ giá BĐS trên thị trường Thành viên

12 Tìm kiếm BĐS theo nhu cầu Thành viên

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

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

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

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

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

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

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

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

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

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

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

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ệ,

28 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

BR-5 Người dùng phải cập nhật đầu đủ thông tin cá nhân thì mới có thể đăng bài Ràng buộc Động BR-6 Chỉ có kiểm duyệt viên hoặc quản trị hệ Ràng buộc Tĩnh

35 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

BR-14 Thông tin bài đăng phải có thông tin: Tên bài đăng, diện tích, giá tiền, địa chỉ Ràng buộc Tĩnh BR-15 Người dùng đã đă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

Mô tả: Người dùng đăng ký tài khoản để đăng nhập vào hệ thống Mục đích: Cấp tài khoản cho người dùng truy cập vào hệ thố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 đă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ý”

39 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”

41 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”

43 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

Mô tả: Người dùng cần tìm kiếm thông tin của bài đăng phù hợp Mục đích: Cung cấp thông tin mà người dùng đang muốn tìm kiế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: 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”

45 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”

47 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 đồ”

50 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”

52 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”

55 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”

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

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

60 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”

62 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”

64 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”

66 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

Mô tả: Người dùng xem biểu đồ giá theo từng khu vực mong muốn Mục đích: Hệ thống cho phép người dùng xem biểu đồ giá BĐS theo từng khu vực Đ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 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”

68 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”

70 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ệ”

73 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”

75 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”

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

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

81 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

Mô tả: Admin xem báo cáo tổng thể của người dùng toàn hệ thống Mục đích: Hệ thống lập ra báo cáo tổng thể của 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 Đ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ể”

83 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”

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

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

87 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”

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

90 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”

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

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

95 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”

THIẾT KẾ HỆ THỐNG

PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG

KIỂM THỬ

Ngày đăng: 17/08/2022, 21:15

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm