Chương 3 PHÁT BIỂU BÀI TOÁN
3.2.3. So sánh hệ thống với các website
17
Ưu điểm Khuyết điểm Website
batdongsan.com.vn
- Tìm kiếm thơng tin loại hình bất động sản dễ dàng thông minh bằng cách gõ: tên loại hình bất động sản, hoặc địa chỉ, diện tích hay mức giá. Hệ thống tìm kiếm và xem nhanh thơng tin, giúp tìm thơng tin một cách nhanh nhất.
- Website batdongsan.com.vn thể hiện chi tiết cụ thể một loại hình thơng tin bất động sản: tên loại hình bất động sản, giá cả, địa chỉ, giá cả, hình ảnh, phong thủy nội thất…
- Hệ thống đăng bài rao tin chi tiết cụ thể và nhanh chóng.
- Hệ thống thông tin hiển thị của trang web rất rối mắt vì các hình ảnh cứ lặp đi lặp lại nhiều.
- Thơng tin một chiều, có 1 vài tin khơng rõ thông tin người bán.
Website mogi.vn - Tìm kiếm thơng tin loại hình bất động sản dễ dàng thông minh bằng cách gõ: tên loại
hình bất động sản, hoặc địa chỉ, diện tích hay mức giá. Hệ thống tìm kiếm và xem nhanh thơng tin, giúp tìm thơng tin một cách nhanh nhất.
- Website mogi.vn thể hiện chi tiết cụ thể một loại hình thông tin bất động sản: tên loại hình bất động sản, giá cả, địa chỉ, giá cả, hình ảnh, phong thủy nội thất…
- Cổng liên hệ chưa tốt, chưa có trị chuyện trực tiếp.
- Chưa có chức năng thích và bình luận bài viết cụ thể như một bài viết trên trang mạng xã hội.
- Thông tin một chiều, không có tính tương tác của người dùng để biết sản phẩm ra sao.
18
- Hệ thống giao diện bắt mắt, gọn gang giúp người dùng dễ tìm kiếm thơng tin.
Hệ thống website của nhóm
- Hệ thống thơng tin hiển thị của trang web đơn giản, cung cấp đầy đủ chi tiết của một tin bất động sản.
- Có các bài viết có tin tức về sàn bất động sản.
- Thông tin được đánh giá bởi những người dùng khác, an tồn và cơng khai.
- Có tính năng trị chuyện với bot để giải đáp những thắc mắc của hệ thống. - Hệ thống chưa có nhiều người dùng, còn hạn chế về lượt tương tác. - Hạn chế về lượng thông tin bất động sản. - Hạn chế về tính năng hỗ trợ cho người dùng. - Hạn chế về các nhân viên hỗ trợ kỹ thuật Bảng 3.1 Bảng so sánh giữa các hệ thống 3.3. Yêu cầu hệ thống
3.3.1. Yêu cầu chức năng
- Yêu cầu lưu trữ: Hệ thống đáp ứng yêu cầu lưu trữ các thơng tin như:
• Thơng tin bất động sản: địa điểm, loại hình bất động sản, diện tích, kích thước, giá bán, hướng nhà, người đăng tin.
• Thơng tin người dùng: họ tên.
• Thơng tin về hình ảnh: hình ảnh chân thật, rõ ràng. • Thơng tin loại hình bất động sản.
- Yêu cầu tìm kiếm:
• Tìm kiếm loại hình bất động sản ví dụ như: bán, thuê, nhà riêng, biệt thự, đất nền dự án ...
19
• Tìm kiếm thơng tin cụ thể của tin tức bất động sản như: địa điểm, khu vực, mức giá, diện tích.
- u cầu sắp xếp:
• Sắp xếp tin tức bất động sản ví dụ như: theo lượt thích, lượt bình luận, bài đăng mới nhất.
3.3.2. Yêu cầu phi chức năng
- Yêu cầu về giao diện:
Giao diện hệ thống gần gũi. Đơn dạng với đại đa số người dùng, mang lại cảm giác thân thiện khơng rối mắt, hướng người dùng, tính tương tác cao.
- u cầu chất lượng: • Tính tiến hóa:
▪ Dễ dàng nâng cấp khi muốn nâng cao tính năng sẵn có nhờ vào tính tối ưu hố của code.
▪ Dễ dàng mở rộng khi ứng dụng được đón nhận rộng rãi và nhu cầu người dùng tăng lên nhờ vào Java và Reactjs.
• Tính tiện dụng:
▪ Hệ thống có giao diện trực quan, thân thiện và dễ sử dụng. ▪ Các nút ấn và dòng chữ hiển thị rõ ràng, dễ nhận thấy.
▪ Hệ thống có tính responsive cho các dịng điện thoại và máy tính bảng. ▪ Các nút ấn và dòng chữ hiển thị trực quan nội dung muốn truyền đạt. • Tính hiệu quả:
20
▪ Qua việc tìm kiếm thơng tin loại hình bất động sản, hệ thống hiển thị đầy đủ các thông tin của tin tức bất động sản như tiêu đề của bài viết, nội dung bài viết và các hình ảnh về bất động sản mà người dùng đăng lên.
▪ Qua việc có thể đăng tin, xố tin, sửa tin, thích, bình luận như trang mạng xã hội hiện nay.
▪ Sắp xếp tin tức. • Tính tương thích:
▪ Hoạt động tốt trên nhiều trình duyệt web khác nhau. ▪ Hoạt động tốt trên nhiều điện thoại thông minh.
21
Chương 4. ĐẶC TẢ CÁC CHỨC NĂNG
4.1. Chức năng đăng bài viết
Chức năng Đăng bài viết
Mô tả Đăng các bài viết liên quan đến sản phẩm cần bán hoặc cần mua
bao gồm thơng tin, hình ảnh, giá cả, ….
Mục đích Tiếp cận được với các đối tượng khi tham gia vào web và dễ
dàng đưa thông tin sản phẩm lan rộng.
Khó khăn gặp phải
- Xác thực thơng tin chính xác - Spam đăng bài viết
Giải pháp
- Yêu cầu người dung xác thực thông tin tài khoản (KYC), sau đó mới được phép đăng tải bài viết, chịu trách nhiệm bồi thường nếu thơng tin khơng chính xác.
- Giới hạn lượt đăng bài của mỗi tài khoản
Bảng 4.1: Đặc tả chức năng bài viết
4.2. Chức năng tìm kiếm bài viết
Chức năng Tìm kiếm lọc bài viết
Mơ tả Dùng để tìm kiếm thơng tin liên quan đến nhà, đất theo ý muốn.
Tích hợp các filter lọc thơng tin.
Mục đích Dễ dàng tiếp cận các sản phẩm quan tâm.
Khó khăn gặp phải
- Lọc thơng tin khơng theo ý muốn của người dùng - Xử lí lọc thơng tin chậm
Giải pháp - Tăng cường bộ lọc đa dạng
- Tối ưu thuật toán giúp lọc thông tin nhanh hơn
Bảng 4.2: Đặc tả chức năng tìm kiếm bài viết
4.3. Chức năng u thích, lưu lại thơng tin bài viết quan tâm
Chức năng Chức năng u thích, lưu lại thơng tin bài viết
Mô tả Lưu trữ các bài viết quan tâm để xem lại.
Mục đích Truy xuất nhanh các bài viết mình cần quan tâm.
Khó khăn gặp phải
- Người dung lưu nhiều thông tin dẫn đến bị nhầm lẫn giữa các bài viết
Giải pháp - Thêm bộ lọc, lưu trữ thêm thông tin về thời gian, chú thích
22
4.4. Chức năng recommend bài viết
Chức năng Hiển thị tự động bài viết khuyến khích cho người dùng
Mơ tả Hiển thị một số loại bài viết tương tự mà người dùng đã quan
tâm trước đó
Mục đích Dễ dàng tiếp cận các sản phẩm quan tâm.
Khó khăn gặp phải
- Xử lí thơng tin khơng chính xác
- Cần phải thông qua dữ liệu của người dùng sau một thời gian sử dụng
Giải pháp - Tối ưu thuật toán
Bảng 4.4: Đặc tả chức năng recommend bài viết
4.5. Chức năng quản lý người dùng
Chức năng Quản lý thông tin người dùng
Mô tả Quản lý thông tin, lịch sử quan tâm,.. của người dùng trong hệ
thống
Mục đích Biết được nhu cầu, dễ dàng đáp ứng nhu cầu của người dùng
Khó khăn gặp phải
- Phân loại người dùng
Giải pháp - Phân chia dựa theo số lượng quan tâm bài viết của người dùng
Bảng 4.5: Đặc tả chức năng quản lý người dùng
4.6. Chức năng quản lý bài viết
Chức năng Quản lý bài viết
Mô tả Quản lý thông tin bài viết, cho phép duyệt, từ chối đến những
bài viết khơng đạt u cầu
Mục đích Đảm bảo thơng tin, tính xác thực của bài viết
Khó khăn gặp phải
- Phân loại khơng chính xác bài viết
Giải pháp - Cho phép người dùng gửi lại thơng tin bài viết kèm lí do để
quản trị viên xem xét
Bảng 4.6: Đặc tả chức năng quản lý bài viết
4.7. Chức năng quản lý các báo cáo
Chức năng Quản lý báo cáo, thống kê
23 viết, …
Mục đích Dễ dàng tổng kết, quản lí thơng tin của hệ thống
Khó khăn gặp phải
- Thống kê cần phải chi tiết và chính xác
Giải pháp - Chia nhỏ thống kê và tối ưu thuật toán
Bảng 4.7: Đặc tả chức năng quản lý báo cáo
4.8. Chức năng cập nhật mục tiêu tìm kiếm
Chức năng Cập nhật mục tiêu tìm kiếm của người dùng
Mơ tả
Người dùng có thể đưa ra được mục tiêu, mong muốn tìm kiếm bất động sản của bản thân. Từ địa điểm, giá cả, diện tích, … từ đó hệ thống sẽ đưa ra những lựa chọn phù hợp với người dùng
Mục đích - Hệ thống phân loại và đưa ra những sản phẩm phù hợp với
mục tiêu tìm kiếm của các nhân
Khó khăn gặp phải
- Người dùng cần cung cấp đầy đủ thơng tin. Càng chi tiết thì hệ thống sẽ càng đưa ra những bất động sản càng phù hợp hơn đối với người dùng
Giải pháp - Tối ưu thuật toán
Bảng 4.8: Đặc tả chức năng cập nhật mục tiêu tìm kiếm
4.9. Chức năng hiển thị độ phù hợp của bất động sản đối với người dùng
Chức năng Hiển thị đồ phù hợp của bất động sản đối với người dùng
Mô tả
Dựa trên mục tiêu của từng người dùng hệ thống sẽ phân tích và đưa ra được phần trăm độ phù hợp của từng bất động sản đối với người dùng.
Mục đích - Người dùng sẽ dễ dàng có cái nhìn tổng quan hơn, dễ dàng tìm
kiếm được bất động sản phù hợp với mong muốn của bản thân
Khó khăn gặp phải
- Cần phải nâng cao độ chính xác để đưa ra được độ phù hợp chuẩn xác đối với người dùng
Giải pháp - Tối ưu thuật toán
Bảng 4.9: Đặc tả chức năng hiển thị độ phù hợp của bất động sản đối với người dùng
4.10. Chức năng thống kê tổng quát bất động sản
Chức năng Thống kê tổng quát bất động sản dưới dạng biểu đồ
Mô tả
Hệ thống sẽ thống kê số lượng bất động sản dựa trên các yếu tốt như địa điểm, giá cả, diện tích để người dùng có cái nhìn tổng quát hơn, đồng thời đưa ra những sản phẩm nổi bật phù hợp với
24
người dùng cho phép người dùng dễ dàng lựa chọn
Mục đích - Người dùng có thể khảo sát, xem xét được tổng quát các bất
động sản để đưa ra quyết định phù hợp với nhu cầu của mình
Khó khăn gặp phải
- Cần tối ưu hóa biểu đồ để người dùng có cách nhìn trực quan hơn
Giải pháp - Hiển thị 3 dạng biểu đồ: đường, cột, radar để người dùng dễ
dàng quan sát
25
Chương 5. THIẾT KẾ DỮ LIỆU
5.1. Sơ đồ cơ sở dữ liệu
Hình 5.1: Sơ đồ cơ sở dữ liệu
5.2. Mô tả chi tiết các bảng
5.2.1. Bảng “user” – Tài Khoản người Dùng
Z` Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính ID định danh của bảng user
2 username varchar Bắt buộc nhập Tên đăng nhập của người dùng
26
3 password varchar Bắt buộc nhập Mật khẩu của người dùng
4 first_name varchar Tên người dùng 5 last_name varchar Họ người dùng 6 full_name varchar Họ tên đầy đủ của
người dùng
7 gender varchar Giới tính của người dùng
8 email varchar Email của người dùng 9 avatar varchar Ảnh đại diện của
người dùng 10 description varchar Mô tả người dùng 11 phone varchar Số điện thoại người 12 is_deleted boolean Xác định đối tượng đã
xóa hay chưa
13 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng
14 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng
15 created_at date Thời gian khởi tạo đối tượng
16 updated_at date Thời gian cập nhật đối tượng
27
Bảng 5.1: Mô tả bảng “user” – Thông tin người dùng
5.2.2. Bảng “role” – Vai trò của người dùng
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id varchar Khóa chính ID định danh của bảng role
2 description varchar Mơ tả chi tiết vai trị 3 is_deleted boolean Xác định đối tượng đã
xóa hay chưa
4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng
5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng
6 created_at date Thời gian khởi tạo đối tượng
7 updated_at date Thời gian cập nhật đối tượng
Bảng 5.2: Mô tả bảng “role” – Vai trò của người dùng
5.2.3. Bảng “privilege” – Quyền hạn có trong hệ thống
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id varchar Khóa chính ID định danh của bảng privilege 2 description varchar Mô tả chi tiết quyền
28
3 is_deleted boolean Xác định đối tượng đã xóa hay chưa
4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng
5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng
6 created_at date Thời gian khởi tạo đối tượng
7 updated_at date Thời gian cập nhật đối tượng
Bảng 5.3: Mô tả bảng “privilege” – Quyền hạn có trong hệ thống
5.2.4. Bảng “role_privilege” – Quyền hạn của vai trò
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 role_id varchar Khóa chính, Khóa ngoại
ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng role
2 privilege_id varchar Khóa chính, Khóa ngoại
ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng privilege
3 is_deleted boolean Xác định đối tượng đã xóa hay chưa
29
4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng
5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng
6 created_at date Thời gian khởi tạo đối tượng
7 updated_at date Thời gian cập nhật đối tượng
Bảng 5.4: Mơ tả bảng “role_privilege” – Quyền hạn của vai trị
5.2.5. Bảng “user_address” – Địa chỉ của người dùng
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính, Khóa ngoại
ID định danh của bảng user_address, quan hệ 1-1 với bảng user
2 address varchar Bắt buộc nhập Mô tả chi tiết địa chỉ người dùng
3 country_id varchar Khóa Ngoại, Bắt buộc nhập
Khóa ngoại trỏ đến bảng country, cho biết người dùng thuộc quốc gia nào 4 province_id int Khóa Ngoại, Bắt
buộc nhập
Khóa ngoại trỏ đến bảng province, cho
30
biết người dùng thuộc tỉnh, thành phố nào 5 district_id int Khóa Ngoại, Bắt
buộc nhập
Khóa ngoại trỏ đến bảng district, cho biết người dùng thuộc xã, huyện nào
Bảng 5.5: Mô tả bảng “user_address” – Địa chỉ của người dùng
5.2.6. Bảng “country” – Quốc gia
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 code varchar Khóa chính ID định danh của bảng country 2 name varchar Bắt buộc nhập Tên quốc gia 3 phone_code int Bắt buộc nhập Mã code điện thoại
của quốc gia
Bảng 5.6: Mô tả bảng “country” – Quốc gia
5.2.7. Bảng “province” – Tỉnh, Thành Phố
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id id Khóa chính ID định danh của bảng province
2 is_city boolean Bắt buộc nhập Kiểm tra đối tượng có phải thành phố hay không
3 name varchar Bắt buộc nhập Tên của tỉnh, thành phố
31
4 short_name varchar Bắt buộc nhập Tên rút gọn của tỉnh, thành phố
5 country_id varchar Khóa ngoại, Bắt buộc nhập
Khóa ngoại trỏ đến bảng country, cho biết tỉnh, thành phố thuộc quốc gia nào
Bảng 5.7: Mô tả bảng “province” – Tỉnh, Thành Phố
5.2.8. Bảng “district” – Xã, Huyện
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id id Khóa chính ID định danh của bảng district 2 name varchar Bắt buộc nhập Tên của xã, huyện 3 short_name varchar Bắt buộc nhập Tên rút gọn của xã,
huyện 4 province_id int Khóa ngoại, Bắt
buộc nhập
Khóa ngoại trỏ đến bảng province, cho biết xã, huyện thuộc tỉnh, thành phố nào
Bảng 5.8: Mô tả bảng “district” – Xã, Huyện
5.2.9. Bảng “apartment” – Thông tin bất động sản
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú