ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA 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ÊN GIÁ THỊ TRƯỜNG
Real estate application with decision support system based on
market prices
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
TP. HỒ CHÍ MINH, 2022
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
NGUYỄN MINH ĐỨC – 18520210
PHẠM QUỐC ĐẠT – 18520584
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ÊN GIÁ THỊ TRƯỜNG
Real estate application with decision support system based on
market prices
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
ThS. TRẦN ANH DŨNG
TP. HỒ CHÍ MINH, 2022
THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
LỜI CẢM ƠN
Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn q thầy cơ khoa Cơng
nghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, đã tận
tình hướng dẫn nhóm trong suốt thời gian qua. Những kiến thức mà thầy cô đã
truyền đạt là nền tảng quan trọng để nhóm có thể hồn thành đề tài này.
Nhóm tác giả xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến ThS.
Trần Anh Dũng, cảm ơn thầy đã tận tình hướng dẫn và tạo điều kiện tốt nhất cho
nhóm hồn thành đề tài này. Những lời động viên, góp ý chân tình của thầy là động
lực q báu để nhóm vượt qua những khó khăn khi tìm hiểu và thực hiện đề tài.
Trong thời gian hơn 3 tháng thực hiện đề tài, nhóm tác giả đã cố gắng vận dụng
những kiến thức nền tảng đã học, kết hợp học hỏi và tìm hiểu cơng nghệ mới để ứng
dụng xây dựng đề tài môn học. Tuy nhiên trong quá trình thực hiện, do kiến thức và
kinh nghiệm cịn nhiều hạn chế, khó tránh khỏi những thiếu sót. Chính vì vậy, nhóm
tác giả rất mong nhận được sự góp ý từ q thầy cơ để nhóm hồn thiện thêm những
kiến thức mà nhóm đã học tập, làm hành trang q báu cho nhóm trong cơng việc
sau này.
Xin chân thành cảm ơn q thầy cơ!
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Ứ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ÊN ĐỀ TÀI (Tiếng Anh): Real estate application with decision support system
based on market prices
Cán bộ hướng dẫn: Ths. Trần Anh Dũng
Thời gian thực hiện: Từ ngày 01/03/2022 đến ngày 17/06/2022
Sinh viên thực hiện:
Nguyễn Minh Đức – 18520210
Phạm Quốc Đạt – 18520584
Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực
hiện, kết quả mong đợi của đề tài)
1. Đặt vấn đề
• Theo cách giao dịch bất động sản thơng thường, những người có nhu cầu
mua hoặc thuê các loại hình bất động sản phải tốn nhiều công sức trong
việc khảo sát thực địa các vấn đề về diện tích, giá cả, ... Mặt khác, những
người muốn bán hoặc cho thuê bất động sản cũng rất khó khăn để có thể
tiếp cận các khách hàng tiềm năng. Vì vậy, nhu cầu cho một ứng dụng có
chức năng kết nối giữa khách hàng và người có nhu cầu cho thuê hoặc
bán bất động sản là rất cấp thiết.
• Trong đó, khi người mua bắt đầu quan tâm đến các giao dịch bất động
sản thì việc tham khảo giá cả thị trường là điều tất yếu và tốn rất nhiều
thời gian, công sức mà độ chính xác khơng cao.
• Từ những vấn đề trên, nhóm quyết định làm đồ án “Ứng dụng bất động
sản hỗ trợ quyết định dựa trên giá thị trường”.
2. Mục tiêu đề tài
• Xây dựng ứng dụng cung cấp nền tảng cho phép người dùng đăng tin
mua bán, cho thuê bất động sản.
• Xây dựng bộ dữ liệu cho hệ thống hỗ trợ quyết định dựa trên giá thị
trường.
• Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường.
• Tạo ra ứng dụng có giao diện thân thiện với người dùng và có tính thực
tiễn cao để có thể triển khai vào thực tế.
• Thu thập dữ liệu từ các bài đăng bất động sản để đưa vào hệ thống hỗ trợ
quyết định dựa trên giá thị trường.
• Tích hợp cổng thanh tốn trong ứng dụng.
• Tổng hợp kết quả và viết báo cáo.
3. Tính mới/ khác biệt về chức năng
Khảo sát qua các trang web và các ứng dụng lớn bất động sản của
Việt Nam hiện nay như diaoconline.vn, batdongsan.com.vn, Homedy,
NhaDat24h, … nhóm nhận thấy:
• Các nền tảng này chưa có hệ thống hỗ trợ để người dùng nắm bắt giá bất
động sản tại khu vực mà họ quan tâm. Do đó, việc tích hợp hệ thống này
vào ứng dụng sẽ là tính năng đột phá.
• Các trang web và ứng dụng hầu như thiếu tính năng hỗ trợ lưu các bất
động sản mà người dùng quan tâm. Vì vậy, ứng dụng sẽ tích hợp thêm
tính năng này để tạo sự thuận tiện cho người dùng.
• Khi khảo sát trang batdongsan.com.vn, chức năng đăng bài theo gói bài
đăng hoạt động tương tự khi trả phí để quảng cáo bài đăng ngay trong nền
tảng đó. Do đó, nhóm sẽ tích hợp tính năng mới này vào ứng dụng, đồng
thời tích hợp cổng thanh tốn Momo.
4. Đối tượng và Phạm vi
• Những người có nhu cầu tìm kiếm và đăng tin bất động sản.
• Các hệ thống hỗ trợ quyết định.
• Phạm vi địa lý: Ứng dụng sử dụng tại Việt Nam, riêng hệ thống hỗ trợ
quyết định chỉ sử dụng tại địa bàn TP.HCM.
• Phạm vi chức năng:
o Xây dựng ứng dụng cho phép người dùng có thể tìm kiếm, đăng
tin mua bán, cho thuê bất động sản.
o Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường tại
khu vực.
o Chức năng quản lý thông tin người dùng.
o Quản lý phân quyền người dùng.
o Tích hợp cổng thanh tốn Momo để nạp tiền vào ứng dụng.
5. Phương pháp thực hiện
• Khảo sát các trang web, ứng dụng Bất động sản đã có trên thị trường.
• Đánh giá ưu khuyết điểm của các nền tảng.
• Tìm hiểu về các hệ thống hỗ trợ quyết định.
• Xây dựng ứng dụng cung cấp nền tảng cho phép người dùng đăng tin
mua bán, cho thuê bất động sản.
• Xây dựng bộ dữ liệu cho hệ thống hỗ trợ quyết định dựa trên giá thị
trường.
• Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị trường.
• Tổng hợp kết quả và viết báo cáo.
6. Kết quả mong đợi
• Hồn thiện ứng dụng đăng tin mua bán, cho thuê bất động sản.
• Xây dựng thành công hệ thống hỗ trợ quyết định dựa trên giá thị trường
cho khu vực TP.HCM.
• Tích hợp hệ thống hỗ trợ quyết định trên vào ứng dụng bất động sản.
Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho
từng sinh viên tham gia)
Công việc
STT
Người phụ
trách
Giai đoạn 1: 01/03/2022 – 01/04/2022
1
2
3
4
Khảo sát các nền tảng đăng tin bất động sản đã có mặt
trên thị trường.
Vẽ sơ đồ UML cho ứng dụng.
Nghiên cứu về các công nghệ được sử dụng: ASP.NET
Zero, Flutter, MariaDB, Crawler, Adobe XD, …
Thiết kế UI/UX cho ứng dụng bằng Adobe XD.
Đức, Đạt
Đức, Đạt
Đức, Đạt
Đạt
Xây dựng ứng dụng cơ bản theo kiến trúc Client –
5
Server với Flutter tại Client và ASP.NET Zero tại
Đức
Server.
Giai đoạn 2: 02/04/2022 – 20/05/2022
6
Xây dựng Cơ sở dữ liệu cho ứng dụng.
Đức
7
Xây dựng các API cho các chức năng của ứng dụng.
Đức
8
Xây dựng Giao diện người dùng theo mẫu thiết kế từ
giai đoạn 1.
Đạt
9
Xây dựng hệ thống hỗ trợ quyết định dựa trên giá thị
trường.
Đức, Đạt
Giai đoạn 3: 21/05/2022 – 17/06/2022
10
11
Tích hợp hệ thống hỗ trợ quyết định trên vào ứng dụng
bất động sản.
Tổng hợp và viết báo cáo
Đức, Đạt
Đức, Đạt
Xác nhận của CBHD
TP. HCM, ngày 18 tháng 2 năm 2022
(Ký tên và ghi rõ họ tên)
Sinh viên
(Ký tên và ghi rõ họ tên)
Ths. Trần Anh Dũng
Nguyễn Minh Đức
Phạm Quốc Đạt
MỤC LỤC
TÓM TẮT KHÓA LUẬN ..........................................................................................1
Chương 1.
TỔNG QUAN ĐỀ TÀI .........................................................................2
1.1.
Đặt vấn đề .....................................................................................................2
1.2.
Mục tiêu đề tài ..............................................................................................2
1.3.
Đối tượng và phạm vi đề tài .........................................................................3
1.3.1.
Đối tượng ..............................................................................................3
1.3.2.
Phạm vi đề tài........................................................................................3
1.4.
Công cụ sử dụng ...........................................................................................3
Chương 2.
2.1.
KIẾN THỨC NỀN TẢNG....................................................................4
Flutter Framework ........................................................................................4
2.1.1.
Flutter là gì? ..........................................................................................4
2.1.2.
Tại sao lại là Flutter?.............................................................................4
2.1.3.
Đặc điểm nổi bật ...................................................................................5
2.2.
ASP.NET Zero .............................................................................................5
2.2.1.
ASP.NET Zero là gì? ............................................................................5
2.2.2.
Tại sao lại là ASP.NET Zero?...............................................................6
2.2.3.
Đặc điểm nổi bật ...................................................................................6
2.3.
ImgBB ..........................................................................................................6
2.3.1.
ImgBB là gì? .........................................................................................6
2.3.2.
Tại sao lại là ImgBB? ...........................................................................6
2.3.3.
Đặc điểm nổi bật ...................................................................................6
2.4.
MariaDB .......................................................................................................7
2.4.1.
MariaDB là gì? ......................................................................................7
2.4.2.
Tại sao lại là MariaDB? ........................................................................7
2.4.3.
Đặc điểm nổi bật ...................................................................................7
2.5.
Web Scraper .................................................................................................8
2.5.1.
Web scraper là gì? .................................................................................8
2.5.2.
Tại sao lại là Web scraper? ...................................................................8
2.5.3.
Đặc điểm nổi bật ...................................................................................8
2.6.
Adobe XD.....................................................................................................9
2.6.1.
Adobe XD là gì? ...................................................................................9
2.6.2.
Tại sao lại là Adobe XD? ......................................................................9
2.6.3.
Đặc điểm nổi bật ...................................................................................9
Chương 3.
CHUẨN BỊ DỮ LIỆU ........................................................................11
3.1.
Lựa chọn nền tảng đăng tin ........................................................................11
3.1.1.
Trang batdongsan24h.com.vn .............................................................11
3.1.2.
Trang nha.chotot.com .........................................................................11
3.1.3.
Trang batdongsan.com.vn ...................................................................11
3.1.4.
Kết luận ...............................................................................................12
3.2.
Quá trình thu thập dữ liệu...........................................................................12
3.2.1.
Vẽ sơ đồ trang web batdongsan.com.vn .............................................12
3.2.2.
Lựa chọn các thông tin của một bài đăng ...........................................13
3.2.3.
Cào dữ liệu ..........................................................................................15
3.2.4.
Xử lý dữ liệu .......................................................................................16
3.2.5.
Kết quả ................................................................................................18
Chương 4.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ........................................20
4.1.
Danh sách yêu cầu ......................................................................................20
4.1.1.
Yêu cầu phần mềm..............................................................................20
4.1.2.
Bảng trách nhiệm cho từng yêu cầu ....................................................21
4.1.2.1.
Yêu cầu nghiệp vụ .......................................................................21
4.1.2.2.
Yêu cầu tiến hóa ..........................................................................22
4.1.2.3.
Yêu cầu hiệu quả .........................................................................24
4.1.2.4.
Yêu cầu tiện dụng ........................................................................25
4.1.3.
Yêu cầu phần cứng ..............................................................................27
4.1.3.1.
Người dùng ..................................................................................27
4.1.3.2.
Hệ thống máy chủ ........................................................................28
4.2.
Quy tắc nghiệp vụ.......................................................................................28
4.3.
Usecase, Đặc tả usecase và sơ đồ hoạt động ..............................................29
4.3.1.
Usecase tổng quát ...............................................................................31
4.3.2.
Usecase cho Khách .............................................................................31
4.3.3.
Usecase cho Người dùng ....................................................................47
4.3.4.
Usecase cho Kiểm duyệt viên .............................................................65
4.3.5.
Usecase cho Admin.............................................................................70
4.4.
Sơ đồ tuần tự...............................................................................................90
4.4.1.
Sơ đồ tuần tự việc đăng ký..................................................................90
4.4.2.
Sơ đồ tuần tự cho việc thêm bài đăng .................................................91
4.4.3.
Sơ đồ tuần tự cho việc nạp tiền ...........................................................92
4.4.4.
Sơ đồ tuần tự cho việc gia hạn bài viết ...............................................92
4.4.5.
Sơ đồ tuần tự cho việc lập báo cáo .....................................................93
4.5.
Sơ đồ trạng thái ..........................................................................................94
4.5.1.
Sơ đồ trạng thái cho Đăng nhập ..........................................................94
4.5.2.
Sơ đồ trạng thái cho Thêm tài khoản ..................................................95
4.5.3.
Sơ đồ trạng thái cho Nạp tiền cho tài khoản .......................................95
4.5.4.
Sơ đồ trạng thái cho Tạo bài đăng mới ...............................................96
4.5.5.
Sơ đồ trạng thái cho Tìm kiếm bài đăng .............................................97
4.6.
ERD và sơ đồ lớp .......................................................................................98
4.6.1.
Mơ hình thực thể ERD hồn thiện ......................................................98
4.6.2.
Sơ đồ lớp .............................................................................................99
4.6.3.
Mô tả sơ đồ lớp .................................................................................100
4.7.
4.6.3.1.
Danh sách các lớp đối tượng và quan hệ ...................................100
4.6.3.2.
Mô tả chi tiết từng lớp đối tượng ...............................................100
Sơ đồ logic ................................................................................................107
4.7.1.
Thiết kế sơ đồ logic ...........................................................................107
4.7.2.
Mô tả sơ đồ logic ..............................................................................108
4.7.2.1.
Bảng NguoiDung .......................................................................108
4.7.2.2.
Bảng BaiDang............................................................................108
4.7.2.3.
Bảng DanhMuc ..........................................................................109
4.7.2.4.
Bảng ThuocTinh ........................................................................109
4.7.2.5.
Bảng ChiTietBaiDang ...............................................................110
4.7.2.6.
Bảng HinhAnh ...........................................................................110
4.7.2.7.
Bảng Xa .....................................................................................110
4.7.2.8.
Bảng Huyen ...............................................................................110
4.7.2.9.
Bảng Tinh ..................................................................................111
4.7.2.10. Bảng ThamSo ............................................................................111
4.7.2.11. Bảng GoiBaiDang......................................................................111
4.7.2.12. Bảng BaiGhimYeuThich ...........................................................111
4.7.2.13. Bảng ChiTietHoaDonBaiDang ..................................................112
4.7.2.14. Bảng LichSuGiaoDich ...............................................................112
4.8.
Thiết kế kiến trúc ......................................................................................112
4.8.1.
Kiến trúc tổng quan ...........................................................................112
4.8.2.
Flutter App ........................................................................................113
4.8.3.
ASP.NET Core Solution ...................................................................113
4.9.
Thiết kế giao diện .....................................................................................114
4.9.1.
Màn hình Đăng nhập .........................................................................114
4.9.2.
Màn hình Đăng ký ............................................................................115
4.9.3.
Màn hình Quên mật khẩu ..................................................................117
4.9.4.
Màn hình Trang chủ ..........................................................................118
4.9.4.1.
Màn hình Trang chủ chế độ người dùng khách .........................118
4.9.4.2.
Màn hình Trang chủ ..................................................................119
4.9.4.3.
Màn hình Bộ lọc bài đăng .........................................................120
4.9.4.4.
Màn hình Chi tiết bài đăng ........................................................122
4.9.5.
Màn hình Bản đồ ...............................................................................124
4.9.5.1.
Màn hình Xem bản đồ ...............................................................124
4.9.5.2.
Màn hình Tìm kiếm trên bản đồ ................................................126
4.9.6.
Màn hình Đăng bài............................................................................127
4.9.7.
Màn hình Cá nhân .............................................................................131
4.9.7.1.
Màn hình Tài khoản của tơi .......................................................133
4.9.7.2.
Màn hình Chỉnh sửa thơng tin cá nhân ......................................134
4.9.7.3.
Màn hình Ví tiền của tôi ............................................................135
4.9.7.4.
Màn hình Nạp tiền .....................................................................136
4.9.7.5.
Màn hình Bộ lọc lịch sử giao dịch.............................................137
4.9.7.6.
Màn hình Báo cáo thơng kê .......................................................138
4.9.7.7.
Màn hình Cài đặt .......................................................................139
4.9.7.8.
Màn hình Đổi mật khẩu .............................................................140
4.9.7.9.
Màn hình Bài đăng của tơi.........................................................141
4.9.7.10. Màn hình Bài ghim u thích ....................................................143
4.9.7.11. Màn hình Biểu đồ giá ................................................................144
4.9.7.12. Màn hình Tra cứu bất động sản và kết quả tra cứu ...................145
4.9.8.
Màn hình Quản trị (Chỉ hiển thị với admin và kiểm duyệt viên) .....147
4.9.8.1.
Màn hình Quản lý người dùng ..................................................149
4.9.8.2.
Màn hình Xem thơng tin chi tiết người dùng ............................150
4.9.8.3.
Màn hình Thêm mới/Chỉnh sửa thơng tin người dùng ..............152
4.9.8.4.
Màn hình Quản lý vai trị...........................................................153
4.9.8.5.
Màn hình Quản lý danh mục .....................................................155
4.9.8.6.
Màn hình Thêm mới/Chỉnh sửa danh mục ................................156
4.9.8.7.
Màn hình Quản lý gói bài đăng .................................................157
4.9.8.8.
Màn hình Thêm mới/Chỉnh sửa gói bài đăng ............................159
4.9.8.9.
Màn hình Quản lý thuộc tính .....................................................160
4.9.8.10. Màn hình Thêm mới/Chỉnh sửa thuộc tính ...............................162
4.9.8.11. Màn hình Kiểm duyệt giao dịch ................................................163
4.9.8.12. Màn hình Quản lý bài đăng .......................................................164
Chương 5.
5.1.
PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG .....................................166
Môi trường phát triển ứng dụng ...............................................................166
5.2.
Môi trường triển khai ứng dụng ...............................................................166
5.3.
Xuất bản trên CH Play..............................................................................166
5.4.
Cài đặt dành cho nhà phát triển ................................................................166
5.4.1.
Cài đặt tiên quyết ..............................................................................166
5.4.2.
Hướng dẫn cài đặt từng bước ............................................................167
Chương 6.
KIỂM THỬ .......................................................................................168
6.1.
Testcase ....................................................................................................168
6.2.
Unit Test ...................................................................................................168
6.3.
Automation Test .......................................................................................170
Chương 7.
7.1.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................172
Kết luận ....................................................................................................172
7.1.1.
Kết quả đạt được ...............................................................................172
7.1.2.
Điểm đặc sắc của đề tài .....................................................................172
7.2.
Hướng phát triển.......................................................................................173
TÀI LIỆU THAM KHẢO .......................................................................................174
DANH MỤC HÌNH
Hình 2.1: Ví dụ minh họa cho Flutter .........................................................................5
Hình 2.2: Hệ quản trị cơ sở dữ liệu MariaDB .............................................................8
Hình 2.3: Tiện ích Web Scraper ..................................................................................9
Hình 2.4: Ứng dụng Adobe XD ................................................................................10
Hình 3.1: Sơ đồ trang batdongsan.com.vn ................................................................13
Hình 3.2: Một số thuộc tính chính của bài đăng trên trang batdongsan.com.vn ......14
Hình 3.3: Crawl dữ liệu bằng Web scraper ...............................................................15
Hình 4.1: Sơ đồ Usecase tổng quát ...........................................................................31
Hình 4.2: Sơ đồ Usecase cho Actor “Khách” ...........................................................31
Hình 4.3: Sơ đồ hoạt động của “Đăng ký” ................................................................33
Hình 4.4: Sơ đồ hoạt động của “Đăng nhập” ............................................................35
Hình 4.5: Sơ đồ hoạt động của “Xem bài đăng” .......................................................37
Hình 4.6: Sơ đồ hoạt động của “Tìm kiếm bài đăng” ...............................................39
Hình 4.7: Sơ đồ hoạt động của “Ghim bài đăng” .....................................................41
Hình 4.8: Sơ đồ hoạt động của “Xem bản đồ” ..........................................................44
Hình 4.9: Sơ đồ hoạt động của “Tìm kiếm xung quanh khu vực” ............................46
Hình 4.10: Sơ đồ Usecase cho Actor “Người dùng” ................................................47
Hình 4.11: Sơ đồ hoạt động của “Quản lý thơng tin cá nhân” ..................................49
Hình 4.12: Sơ đồ hoạt động của “Đăng bài” .............................................................52
Hình 4.13: Sơ đồ hoạt động của “Chỉnh sửa bài đăng” ............................................53
Hình 4.14: Sơ đồ hoạt động của “Xóa bài đăng” ......................................................54
Hình 4.15: Sơ đồ hoạt động của “So sánh hai bài đăng” ..........................................56
Hình 4.16: Sơ đồ hoạt động của “Gia hạn bài viết” ..................................................58
Hình 4.17: Sơ đồ hoạt động của “Xem báo cáo cá nhân” .........................................60
Hình 4.18: Sơ đồ hoạt động của “Xem biểu đồ giá khu vực” ...................................62
Hình 4.19: Sơ đồ hoạt động của “Tra cứu bất động sản phù hợp” ...........................64
Hình 4.20: Sơ đồ Usecase cho Actor “Kiểm duyệt viên” .........................................65
Hình 4.21: Sơ đồ hoạt động của “Kiểm duyệt bài đăng không hợp lệ” ....................67
Hình 4.22: Sơ đồ hoạt động của “Xác nhận nạp tiền” ..............................................69
Hình 4.23: Sơ đồ Usecase cho Actor “Admin”.........................................................70
Hình 4.24: Sơ đồ hoạt động của “Thêm người dùng mới” .......................................73
Hình 4.25: Sơ đồ hoạt động của “Chỉnh sửa thông tin người dùng” ........................74
Hình 4.26: Sơ đồ hoạt động của “Xóa người dùng” .................................................75
Hình 4.27: Sơ đồ hoạt động của “Xem báo cáo tổng thể” ........................................77
Hình 4.28: Sơ đồ hoạt động của “Thêm danh mục mới” ..........................................79
Hình 4.29: Sơ đồ hoạt động của “Chỉnh sửa danh mục” ..........................................80
Hình 4.30: Sơ đồ hoạt động của “Cập nhật thông tin hiển thị danh mục” ................81
Hình 4.31: Sơ đồ hoạt động của “Thêm thuộc tính mới” .........................................83
Hình 4.32: Sơ đồ hoạt động của “Chỉnh sửa thuộc tính” ..........................................84
Hình 4.33: Sơ đồ hoạt động của “Thêm gói bài đăng mới” ......................................87
Hình 4.34: Sơ đồ hoạt động của “Chỉnh sửa thơng tin gói bài đăng” .......................88
Hình 4.35: Sơ đồ hoạt động của “Cập nhật hiển thị cho gói bài đăng” ....................89
Hình 4.36: Sơ đồ tuần tự cho việc “Đăng ký” ..........................................................90
Hình 4.37: Sơ đồ tuần tự cho việc “Thêm bài đăng” ................................................91
Hình 4.38: Sơ đồ tuần tự cho việc “Nạp tiền” ..........................................................92
Hình 4.39: Sơ đồ tuần tự cho việc “Gia hạn bài viết”...............................................92
Hình 4.40: Sơ đồ tuần tự cho việc “Lập báo cáo”.....................................................93
Hình 4.41: Sơ đồ trạng thái cho “Đăng nhập” ..........................................................94
Hình 4.42: Sơ đồ trạng thái cho “Thêm tài khoản”...................................................95
Hình 4.43: Sơ đồ trạng thái cho “Nạp tiền cho tài khoản” .......................................95
Hình 4.44: Sơ đồ trạng thái cho “Tạo bài đăng mới” ...............................................96
Hình 4.45: Sơ đồ trạng thái cho “Tìm kiếm bài đăng” .............................................97
Hình 4.46: Mơ hình thực thể ERD ............................................................................98
Hình 4.47: Sơ đồ lớp .................................................................................................99
Hình 4.48: Sơ đồ logic ............................................................................................107
Hình 4.49: Kiến trúc tổng quát của hệ thống ..........................................................113
Hình 4.50: Giao diện “Đăng nhập” .........................................................................114
Hình 4.51: Giao diện “Đăng ký” .............................................................................115
Hình 4.52: Giao diện “Quên mật khẩu” ..................................................................117
Hình 4.53: Giao diện “Trang chủ” ở chế độ “Khách” ............................................118
Hình 4.54: Giao diện “Trang chủ” khi đã đăng nhập..............................................119
Hình 4.55: Giao diện “Bộ lọc bài đăng” .................................................................120
Hình 4.56: Giao diện “Chi tiết bài đăng” ................................................................123
Hình 4.57: Giao diện “Xem bản đồ” .......................................................................124
Hình 4.58: Giao diện “Tìm kiếm trên bản đồ” ........................................................126
Hình 4.59: Giao diện “Đăng bài” ............................................................................128
Hình 4.60: Giao diện “Trang cá nhân” ...................................................................131
Hình 4.61: Giao diện “Tài khoản của tơi” ..............................................................133
Hình 4.62: Giao diện “Chỉnh sửa thơng tin cá nhân” .............................................134
Hình 4.63: Giao diện “Ví tiền của tơi”....................................................................135
Hình 4.64: Giao diện “Nạp tiền” .............................................................................136
Hình 4.65: Giao diện “Bộ lọc lịch sử giao dịch” ....................................................137
Hình 4.66: Giao diện “Báo cáo thống kê” ..............................................................138
Hình 4.67: Giao diện “Cài đặt” ...............................................................................139
Hình 4.68: Giao diện “Đổi mật khẩu”.....................................................................140
Hình 4.69: Giao diện “Bài đăng của tơi” ................................................................141
Hình 4.70: Giao diện “Bài ghim u thích” ............................................................143
Hình 4.71: Giao diện “Biểu đồ giá” ........................................................................144
Hình 4.72: Giao diện “Tra cứu bất động sản” .........................................................145
Hình 4.73: Giao diện “Quản trị” .............................................................................147
Hình 4.74: Giao diện “Quản lý người dùng” ..........................................................149
Hình 4.75: Giao diện “Xem thơng tin chi tiết người dùng” ....................................150
Hình 4.76: Giao diện “Thêm mới/Chỉnh sửa thơng tin người dùng” .....................152
Hình 4.77: Giao diện “Quản lý vai trị” ..................................................................153
Hình 4.78: Giao diện “Quản lý danh mục” .............................................................155
Hình 4.79: Giao diện “Thêm mới/Chỉnh sửa danh mục”........................................156
Hình 4.80: Giao diện “Quản lý gói bài đăng” .........................................................157
Hình 4.81: Giao diện “Thêm mới/Chỉnh sửa gói bài đăng” ...................................159
Hình 4.82: Giao diện “Quản lý thuộc tính” ............................................................160
Hình 4.83: Giao diện “Thêm mới/Chỉnh sửa thuộc tính” .......................................162
Hình 4.84: Giao diện “Kiểm duyệt giao dịch” ........................................................163
Hình 4.85: Giao diện “Quản lý bài đăng” ...............................................................164
Hình 6.1: Biểu đồ thể hiện kết quả Unit Test..........................................................170
DANH MỤC BẢNG
Bảng 3.1: Bảng mô tả chi tiết các thuộc tính chính của bài đăng .............................15
Bảng 3.2: Bảng kết quả sau khi lọc dữ liệu ảo ..........................................................19
Bảng 4.1: Bảng danh sách yêu cầu khách hàng ........................................................20
Bảng 4.2: Bảng trách nhiệm cho yêu cầu nghiệp vụ .................................................22
Bảng 4.3: Bảng trách nhiệm cho yêu cầu tiến hóa ....................................................24
Bảng 4.4: Bảng trách nhiệm cho yêu cầu hiệu quả ...................................................25
Bảng 4.5: Bảng trách nhiệm cho yêu cầu tiện dụng..................................................27
Bảng 4.6: Bảng quy tắc nghiệp vụ ............................................................................29
Bảng 4.7: Danh sách các Actor và các Usecases tương ứng ....................................30
Bảng 4.8: Bảng đặc tả Usecase “Đăng ký” ...............................................................32
Bảng 4.9: Bảng đặc tả Usecase “Đăng nhập” ...........................................................34
Bảng 4.10: Bảng đặc tả Usecase “Xem bài đăng” ....................................................36
Bảng 4.11: Bảng đặc tả Usecase “Tìm kiếm bài đăng” ............................................38
Bảng 4.12: Bảng đặc tả Usecase “Ghim bài đăng” ...................................................40
Bảng 4.13: Bảng đặc tả Usecase “Xem bài đăng đã ghim” ......................................42
Bảng 4.14: Bảng đặc tả Usecase “Xem bản đồ” .......................................................43
Bảng 4.15: Bảng đặc tả Usecase “Tìm kiếm xung quanh khu vực” .........................45
Bảng 4.16: Bảng đặc tả Usecase “Quản lý thông tin cá nhân” .................................48
Bảng 4.17: Bảng đặc tả Usecase “Quản lý bài đăng” ...............................................51
Bảng 4.18: Bảng đặc tả Usecase “So sánh hai bài đăng” .........................................55
Bảng 4.19: Bảng đặc tả Usecase “Gia hạn bài đăng” ...............................................57
Bảng 4.20: Bảng đặc tả Usecase “Xem báo cáo cá nhân” ........................................59
Bảng 4.21: Bảng đặc tả Usecase “Xem biểu đồ giá khu vực” ..................................61
Bảng 4.22: Bảng đặc tả Usecase “Tra cứu bất động sản phù hợp” ...........................63
Bảng 4.23: Bảng đặc tả Usecase “Kiểm duyệt bài đăng không hợp lệ” ...................66
Bảng 4.24: Bảng đặc tả Usecase “Xác nhận nạp tiền”..............................................68
Bảng 4.25: Bảng đặc tả Usecase “Quản lý người dùng” ..........................................72
Bảng 4.26: Bảng đặc tả Usecase “Xem báo cáo tổng thể” .......................................76
Bảng 4.27: Bảng đặc tả Usecase “Quản lý danh mục” .............................................78
Bảng 4.28: Bảng đặc tả Usecase “Quản lý thuộc tính bất động sản” .......................82
Bảng 4.29: Bảng đặc tả Usecase “Quản lý gói bài đăng” .........................................86
Bảng 4.30: Danh sách các lớp đối tượng và quan hệ ..............................................100
Bảng 4.31: Mô tả chi tiết lớp “AbpUsers” ..............................................................102
Bảng 4.32: Mô tả chi tiết lớp “AbpRoles” ..............................................................102
Bảng 4.33: Mô tả chi tiết lớp “BaiDangs” ..............................................................103
Bảng 4.34: Mô tả chi tiết lớp “GoiBaiDangs” ........................................................103
Bảng 4.35: Mô tả chi tiết lớp “ChiTietHoaDonBaiDangs” ....................................104
Bảng 4.36: Mô tả chi tiết lớp “LichSuGiaoDichs” .................................................104
Bảng 4.37: Mô tả chi tiết lớp “BaiGhimYeuThichs” ..............................................104
Bảng 4.38: Mô tả chi tiết lớp “HinhAnhs” .............................................................104
Bảng 4.39: Mô tả chi tiết lớp “ChiTietBaiDangs” ..................................................105
Bảng 4.40: Mô tả chi tiết lớp “ThuocTinhs”...........................................................105
Bảng 4.41: Mô tả chi tiết lớp “DanhMucs” ............................................................105
Bảng 4.42: Mô tả chi tiết lớp “Xas” ........................................................................105
Bảng 4.43: Mô tả chi tiết lớp “Huyens” ..................................................................106
Bảng 4.44: Mô tả chi tiết lớp “Tinhs” .....................................................................106
Bảng 4.45: Mô tả chi tiết lớp “ThamSos” ...............................................................106
Bảng 4.46: Mô tả chi tiết bảng “Người dùng” ........................................................108
Bảng 4.47: Mô tả chi tiết bảng “BaiDang” .............................................................109
Bảng 4.48: Mô tả chi tiết bảng “DanhMuc” ...........................................................109
Bảng 4.49: Mô tả chi tiết bảng “ThuocTinh”..........................................................109
Bảng 4.50: Mô tả chi tiết bảng “ChiTietBaiDang” .................................................110
Bảng 4.51: Mô tả chi tiết bảng “HinhAnh” ............................................................110
Bảng 4.52: Mô tả chi tiết bảng “Xa” .......................................................................110
Bảng 4.53: Mô tả chi tiết bảng “Huyen” .................................................................110
Bảng 4.54: Mô tả chi tiết bảng “Tinh” ....................................................................111
Bảng 4.55: Mô tả chi tiết bảng “ThamSo” ..............................................................111
Bảng 4.56: Mô tả chi tiết bảng “GoiBaiDang” .......................................................111
Bảng 4.57: Mô tả chi tiết bảng “BaiGhimYeuThich” .............................................112
Bảng 4.58: Mô tả chi tiết bảng “ChiTietHoaDonBaiDang” ...................................112
Bảng 4.59: Mô tả chi tiết bảng “LichSuGiaoDich” ................................................112
Bảng 4.60: Mơ tả chi tiết màn hình “Đăng nhập” ...................................................115
Bảng 4.61: Mơ tả chi tiết màn hình “Đăng ký” ......................................................116
Bảng 4.62: Mơ tả chi tiết màn hình “Quên mật khẩu” ............................................117
Bảng 4.63: Mô tả chi tiết màn hình “Trang chủ” ở chế độ “Khách” ......................119
Bảng 4.64: Mơ tả chi tiết màn hình “Trang chủ” khi đã đăng nhập .......................120
Bảng 4.65: Mơ tả chi tiết màn hình “Bộ lọc bài đăng” ...........................................121
Bảng 4.66: Mô tả chi tiết màn hình “Chi tiết bài đăng”..........................................124
Bảng 4.67: Mơ tả chi tiết màn hình “Xem bản đồ”.................................................125
Bảng 4.68: Mơ tả chi tiết màn hình “Tìm kiếm trên bản đồ” .................................126
Bảng 4.69: Mơ tả chi tiết màn hình “Đăng bài”......................................................130
Bảng 4.70: Mơ tả chi tiết màn hình “Cá nhân” .......................................................132
Bảng 4.71: Mơ tả chi tiết màn hình “Tài khoản của tơi” ........................................134
Bảng 4.72: Mơ tả chi tiết màn hình “Chỉnh sửa thơng tin cá nhân” .......................135
Bảng 4.73: Mơ tả chi tiết màn hình “Ví tiền của tơi” .............................................136
Bảng 4.74: Mơ tả chi tiết màn hình “Nạp tiền” ......................................................137
Bảng 4.75: Mơ tả chi tiết màn hình “Bộ lọc lịch sử giao dịch” ..............................138
Bảng 4.76: Mơ tả chi tiết màn hình “Báo cáo thống kê” ........................................139
Bảng 4.77: Mơ tả chi tiết màn hình “Cài đặt” .........................................................139
Bảng 4.78: Mơ tả chi tiết màn hình “Đổi mật khẩu” ..............................................140
Bảng 4.79: Mơ tả chi tiết màn hình “Bài đăng của tôi” ..........................................142
Bảng 4.80: Mô tả chi tiết màn hình “Bài ghim u thích”......................................144
Bảng 4.81: Mơ tả chi tiết màn hình “Biểu đồ giá” ..................................................145
Bảng 4.82: Mơ tả chi tiết màn hình “Tra cứu bất động sản” ..................................146
Bảng 4.83: Mơ tả chi tiết màn hình “Quản trị” .......................................................148
Bảng 4.84: Mơ tả chi tiết màn hình “Quản lý người dùng” ....................................150
Bảng 4.85: Mơ tả chi tiết màn hình “Xem thơng tin chi tiết người dùng” .............151
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”...............153
Bảng 4.87: Mơ tả chi tiết màn hình “Quản lý vai trị” ............................................154
Bảng 4.88: Mơ tả chi tiết màn hình “Quản lý danh mục” .......................................156
Bảng 4.89: Mơ tả chi tiết màn hình “Thêm mới/Chỉnh sửa danh mục” .................157
Bảng 4.90: Mô tả chi tiết màn hình “Quản lý gói bài đăng”...................................158
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” .............160
Bảng 4.92: Mơ tả chi tiết màn hình “Quản lý thuộc tính” ......................................161
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” .................162
Bảng 4.94: Mơ tả chi tiết màn hình “Kiểm duyệt giao dịch” .................................163
Bảng 4.95: Mơ tả chi tiết màn hình “Quản lý bài đăng” .........................................165
Bảng 6.1: Kết quả kiểm thử 171 testcase trên 15 modules .....................................168
Bảng 6.2: Bảng kết quả Unit Test ...........................................................................169
Bảng 6.3: Bảng thống kê tổng quan Unit Test ........................................................169
Bảng 6.4: Bảng kết quả Unit Test ...........................................................................171
DANH MỤC TỪ VIẾT TẮT
STT
Từ viết tắt
Ý nghĩa
01
API
02
BĐS
Bất động sản – Real estate
03
TP.HCM
Thành phố Hồ Chí Minh – Ho Chi Minh city
04
UI
Giao diện người dùng – User Interface
05
UX
Trải nghiệm người dùng – User Experience
Giao diện lập trình ứng dụng –
Application Programming Interface