Tải bản đầy đủ (.pdf) (96 trang)

Xây dựng ứng dụng chatbot hỗ trợ tư vấn lựa chọn bất động sản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.26 MB, 96 trang )

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

ĐỒ ÁN 1
XÂY DỰNG ỨNG DỤNG CHATBOT
HỖ TRỢ TƯ VẤN LỰA CHỌN BẤT ĐỘNG SẢN
BUIDING CHATBOT APPLICATION
TO SUPPORT CONSULTING REAL ESTATE SELECTION

GIẢNG VIÊN HƯỚNG DẪN
Thạc sĩ: Trần Anh Dũng
SINH VIÊN THỰC HIỆN
Trần Hoàng Gia Bảo – 19521258
Nguyễn Trọng Tính – 19521024

TP. HỒ CHÍ MINH, 2022


ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC

CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự Do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
Tp.HCM, ngày 17 tháng 6 năm 2022

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng ứng dựng chatbot hỗ trợ tư vấn lựa chọn bất động sản
Cán bộ hướng dẫn: ThS. Trần Anh Dũng


Thời gian thực hiện: Từ ngày 21/02/22 đến ngày 11/06/22
Sinh viên thực hiện:
Nguyễn Trọng Tính – 19521024
Trần Hồng Gia Bảo - 19521258


Nội dung đề tài
1. Lý do chọn đề tài:
Bất động sản là một kênh đầu tư hiện đang được rất nhiều người quan tâm. Tuy
nhiên không phải nhà đầu tư nào cũng có được quyết định chính xác. Có được lợi nhuận
như mình mong muốn. Kể cả việc đưa ra những quyết định đầu tư thì cũng có rất nhiều
điều. Cần phải tìm hiểu về các sản phẩm bất động sản, thị trường, thị hiếu… Chính vì thế
việc tìm đến những người tư vấn bất động sản là điều mà nhiều người làm. Tư vấn bất
động sản là gì
Tư vấn chính là bước rất quan trọng khi muốn bán một sản phẩm bất động sản. Tư
vấn bất động sản là cung cấp những tài liệu nghiên cứu. Những số liệu thống kê và cung
cấp những thông tin cần thiết cho khách hàng. Những thơng tin này chính là tài liệu tham
khảo để khách hàng đưa ra những quyết định đầu tư.
Thơng qua việc tư vấn bất động sản thì khách hàng sẽ nhận được rất nhiều lợi ích
như:
o Hiểu rõ giá trị, tiềm năng của bất động sản mà mình sắp mua hay đầu tư.
o Khơng cịn mơ hồ và những thủ tục giấy tờ, hợp đồng giao dịch nhà đất. Văn
bản pháp lý để có thể mua được những bất động sản này.
o Khi tham khảo ý kiến của người tư vấn bất động sản thì khách hàng cịn có
thể biết thêm được thị hiếu. Nhu cầu của nhiều khách hàng khác. Điều này
cũng ảnh hưởng rất lớn đến các quyết định đầu tư.
o Lợi ích tốt nhất mà khách hàng nhận được đó chính là đề xuất mức giá, bất
động sản phù hợp với điều kiện ngân sách.
Điều tối kỵ các sàn giao dịch bất động sản cần tránh khi nghiên cứu nhu cầu khách
hàng chính là sự lạc hậu và thiếu tính cập nhật, tức là những phương thức nghiên cứu

khách hàng truyền thống và cũ xưa như Excel hay những dữ liệu đã lạc hậu sẽ khơng cịn
hiệu quả.
Hiện nay sự phát triển đa dạng của nền tảng công nghệ cũng tạo thành giải pháp hỗ
trợ ưu việt cho các sàn giao dịch bất động sản khi nghiên cứu nhu cầu khách hàng, và phần
mềm chatbot hỗ trợ tư vấn lựa chọn bất động sản khả năng cập nhật công nghệ liên tục và


đổi mới giúp khách hàng giao dịch nghiên cứu hiệu quả hơn, giúp sàn giao dịch phát triển
ổn định và bền vững.
2. Mục tiêu: bao gồm 2 mục tiêu chính:
1. Xây dựng chatbot:
o FAQ giải đáp nhanh các thắc mắc chung, giảm tối đa thời gian tiêu tốn cần thiết
cho việc tư vấn.
o

Cung cấp thơng tin hữu ích, đa dạng nhanh chóng và chính xác

o Tư vấn lựa chọn dựa trên thông tin đầu vào của khách hàng
o Áp dụng ngơn ngữ tự nhiên để giao tiếp
o Tìm kiếm thơng tin khu đất dựa trên một khu vực nhất định
2. Xây dựng ứng dụng hỗ trợ chatbot:
o

Cho phép phía trung tâm quản lý bài viết, hỏi đáp một cách nhanh chóng, dễ
dàng

o

Giới thiệu thơng tin về trung tâm, về khóa học… dưới dạng văn bản


o

Đặt lịch hẹn trực tiếp thông qua ứng dụng

o

Cung cấp danh sách tin tức từ mới đến cũ

o

Cung cấp danh sách các câu hỏi thường gặp và giải đáp từ phía trung tâm.
3. Phạm vi:

Phạm vi mơi trường: Ứng dụng tích hợp trong web bất động sản
Phạm vi chức năng:
− Đối với chatbot:
+ Có khả năng trả lời các câu hỏi về các thủ tục một cách chi tiết
+ Phân tích được nhu cầu và đưa ra tư vấn hợp lý đối với người dùng
+ Cung cấp liên hệ trực tiếp đến với nhân viên tư vấn khi vấn đề đặt ra
ngoài phạm vi của bản thân nó và cập nhập được cách xử lý đối với
các trường hợp này
+ Đăng kí lịch hẹn với nhân viên của web bất động sản
+ Cung cấp các thông tin về mặt bằng BĐS hiện tại
+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên
− Đối với ứng dụng:


+ Cung cấp dữ liệu từ nguồn có thật (batdongsan.com.vn)
4. Đối tượng sử dụng:
− Tất cả khách hàng muốn tham khảo kỹ hơn về BĐS trên web, có

khúc mắc về thủ tục, cách thức….
− Quản trị viên phía trung tâm BĐS muốn quản lý thông tin bài đăng (về
trung tâm, về các câu hỏi thường gặp…) đến mọi người truy cập vào
web và dùng tính năng chatbot.
5. Phương pháp thực hiện:
Phương pháp làm việc:
Làm việc nhóm 2 thành viên thơng qua cả 2 phương thức online dưới sự
hướng dẫn của giảng viên hướng dẫn.
Phương pháp nghiên cứu:
− Phân tích nhu cầu sử dụng của đối tượng người dùng.
− Nghiên cứu tài liệu các công nghệ liên quan.
Phương pháp công nghệ:
− Quản lý source code thông qua Github
− Sử dụng Trello, Google doc,… để quản lý tiến trình và tài liệu
6. Nền tảng công nghệ:
− Front-end: ReactJS
− Backend: Express/ NodeJS
− Database: MongoDB
− Process Flow Diagram Chatbot
− IDE: Visual Studio Code
7. Kết quả mong đợi:


Chatbot có khả năng phản hồi nhanh và chính xác ở mức tương đối.



Ứng dụng hoạt động ổn định, có thể xử lý thơng tin nhanh chóng…

8. Hướng phát triển của đề tài:

− Tính năng cập nhật thoại chatbot dành cho người dùng
− Tính năng chuyển đổi gói ngôn ngữ


− Nâng cấp khả năng xử lý ngôn ngữ tự nhiên của chatbot
9. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 13/3/2022 đến ngày kết thúc môn Đồ án 1. Nhóm chia
thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hồn thiện giao diện người dùng và các tính năng cơ bản.
Gồm 3 sprint với thời gian mỗi sprint kéo dài 2 tuần:
Sprint 1: Tìm hiểu cơng nghệ cho chatbot
Sprint 2: Phân tích yêu cầu và chức năng, chuẩn bị tài liệu, chuẩn bị kịch bản cho
chatbot


Sprint 3: Xây dựng và phát triển ứng dụng với các chức năng cơ bản
Sprint

Thời gian

Công việc dự kiến

Sprint 1

13/3/2022 - 27/3/2022

− Tìm hiểu cơng nghệ
− Tìm hiểu các u cầu nghiệp vụ
của đề tài


Sprint 2

28/3/2022 - 11/4/2022

− Phân tích yêu cầu và chức năng
của ứng dụng
− Viết tài liệu mơ tả
− Xây dựng bản vẽ
− Tìm hiểu craw dữ liệu

Sprint 3

12/4/2022 - 26/4/2022

− Xây dựng giao diện web
− Xây dựng Chatbot với các thoại
cơ bản
− Xây dựng các tính năng cơ bản
của ứng dụng
− Liên kết Chatbot vào ứng dụng

Giai đoạn 2: Hồn thiện các tính năng năng cơ bản và nâng cao của ứng dụng, triển
khai và kiểm thử ứng dụng, viết báo cáo. ... Gồm 3 sprint với thời gian mỗi sprint
kéo dài 2 tuần:
Sprint 4: Hoàn thiện tính năng của ứng dụng
Sprint 5: Xây dựng các chức năng mở rộng
Sprint 6: Triển khai và viết báo cáo
Sprint
Thời gian
Sprint 4


27/4/2022 - 11/5/2022

Cơng việc dự kiến
− Hồn thiện giao diện ứng dụng
− Tiếp tục hồn thiện các tính
năng của ứng dụng ở giai
đoạn 1
− Kiểm thử ứng dụng


Sprint 5

− Hồn thiện các tính năng của

12/5/2022 - 26/5/2022

ứng dụng
− Kiểm thử ứng dụng
Sprint 6

27/5/2021 - báo cáo cuối

− Kiểm thử ứng dụng

kỳ

− Viết báo cáo

10. Phân công công việc:

Cơng việc

Mơ tả cơng việc

Cơng việc chung

− Tìm hiểu cơng nghệ
− Phân tích u cầu
− Lập trình Backend
− Lập trình Frontend
− Kiểm thử
− Chuẩn bị tài liệu, viết báo cáo

Công việc cá nhân

Nguyễn Trọng Tính

Trần Hồng Gia Bảo

− Xây dựng Chatbot

− Xây dựng DiaFlow
Chatbot

− Liên kết Chatbot
− Backend

− Xử lý ngơn ngữ tự
nhiên


− Front-end
Tp.Hồ Chí Minh, ngày 13 tháng 3 năm 2022


MỤC LỤC
Chương 1. Giới thiệu chung ....................................................................... 1
1.1.

Lý do chọn đề tài...................................................................... 1

1.2.

Tính năng mới khác biệt .......................................................... 1

1.3.

Đối tượng nghiên cứu .............................................................. 2

1.4.

Phạm vi nghiên cứu ................................................................. 2

Chương 2. Xây dựng hệ thống ................................................................... 3
2.1. Xây dựng kiến trúc hệ thống .................................................... 3
2.1.1. Kiến trúc hệ thống website ...................................................... 3
2.1.2. Kiến trúc hệ thống chatbot ....................................................... 3
2.2.

Phân tích thiết kế hệ thống ....................................................... 3


2.2.1. Sơ đồ use-case .......................................................................... 4
2.2.1.1. Danh sách use case ................................................................ 4
2.2.1.2. Đặc tả use case ...................................................................... 5
2.2.2. Sơ đồ dữ liệu .......................................................................... 24
2.2.2.1. Chi tiết sơ đồ ....................................................................... 26
Chương 3. Thiết kế giao diện................................................................... 31
3.1. Danh sách giao diện trang web ................................................. 31
3.1.1. Giao diện trang chủ ............................................................... 31
3.1.2. Giao diện bài đăng Bđs .......................................................... 44
3.1.3. Giao diện chi tiết bài đăng Bđs .............................................. 48
3.1.4. Giao diện danh sách tin tức .................................................... 50
3.1.5. Giao diện chi tiết tin tức ......................................................... 52
3.1.6. Giao diện quản lý tin tức ........................................................ 54
3.1.7. Giao diện bài đăng bđs ........................................................... 57
3.1.8. Giao diện quản lý bài đăng..................................................... 64


3.1.9. Giao diện quản lý thông tin cá nhân ...................................... 65
3.1.10. Giao diện thông tin giới thiệu .............................................. 68
3.1.11. Giao diện quản lý u thích ................................................. 71
Chương 4. Cơng nghệ chatbot ................................................................. 76
4.1. Dialogflow ................................................................................. 77
4.2. Kommunicate ............................................................................ 77
4.3. Sơ đồ kịch bản chatbot .............................................................. 78
4.4. Giao diện chatbot ...................................................................... 79
4.5. Kết quả đạt được ....................................................................... 80
Chương 5. Kết luận, hướng phát triển ..................................................... 80
5.1. Ưu điểm ..................................................................................... 80
5.2. Nhược điểm ............................................................................... 80
5.3. Kết quả đạt được ....................................................................... 81

5.4. Hướng phát triển ....................................................................... 81
Tài liệu tham khảo.................................................................................... 82


CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1.

Lý do chọn đề tài
Bất Động Sản chưa bao giờ ngành hết “hot” trên thị trường Thế Giới nói chung và

Việt Nam nói riêng. Bất Động Sản luôn là điểm đến thu hút rất nhiều nhà đầu tư với mong
muốn làm giàu. Ngành đầu tư Bất Động Sản là nơi sản sinh ra nhiều tỷ phú nhất, đây là
ngành giúp bạn nhanh chóng kiếm được số tiền khổng lồ nếu bạn có chiến lược tốt. Vì thế
ngành Bất động Sản luôn là ngành thu hút được nhiều nhân tài tham gia. Với người bán,
Bất động sản hiện đang được nhiều người săn đón, đây là một công cụ kiếm tiền một hiệu
quả, bị động mà bạn khơng cần phải bỏ nhiều cơng sức.
1.2.

Tính năng mới/khác biệt
Sau khi tham khảo một số chatbot hỗ trợ bất động sản hiện nay nhóm nhận thấy

các vấn đề sau:


Một số chatbot trả lời bằng cách spam tin nhắn gây lost focus người dùng.



Một số chatbot khác lại lựa chọn trả lời toàn bộ nội dung về một chủ đề, trong khi
thực tế người dùng không cần nhiều thông tin đến thế.




Chưa có hoặc rất ít cơng cụ hỗ trợ mơ tả trực quan sinh động



Khó khăn hoặc mất thời gian trong việc tìm kiếm thơng cần thiết



Mất tập trung vì các lý do khác
Chính vì vậy việc tìm kiếm mua bán, thuê bất động sản, là một việc hết sức cần

thiết để người bán/cho thuê / mua được thuận lợi. Để đáp ứng những nhu cầu đó, nhóm
em quyết định chọn đề tài này, phát triển một ứng dụng cung cấp nhanh chóng thơng tin
về phía trung tâm và tích hợp chatbot hỗ trợ tự động tư vấn bất động sản.
Về phần giao diện: Nhóm quyết định sử dụng tương tác chat từ người dùng là chủ
yếu, lấy hiểu ý nghĩa câu nói làm gốc thay vi làm hệ thống button menu chọn phức tạp.
Về phần chức năng:


Xây dựng tính năng chatnot



Thêm chức năng gợi ý phong thuỷ
1



1.3.

Đối tượng nghiên cứu
Khoá luận này hướng đến nghiên cứu các đối tượng sau:

− Các công nghệ:
+ Front-end: Nest/ReactJS
+ Back-end: H3 / NodeJS.
+ Database: Postgres - SQL
+ Dialogflow CX
+ Facebook Messenger
+ IDE: Visual Studio Code


Đối tượng trong phạm vị đề tài hướng đến:

+ Mua bán bất động sản không chuyên.
+ Dành cho học sinh, sinh viên, người lào động có dự định thuê nhà.
1.4.

Phạm vi nghiên cứu
Phạm vi môi trường: Web.
Phạm vi chức năng:

− Đối với chatbot:
+ Có khả năng cung cấp dữ liệu về bất động sản dựa trên một số yêu cầu của người
dùng
+ Cung có cho người dùng một số tiện ích liên quan đến các vấn đề phong thủy, tâm
linh.
+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên.

− Đối với ứng dụng Web:
+ Hiển thị các khu đất theo dạng danh sách cho người dùng tiện theo dõi.
+ Tư vấn phong thuỷ dựa trên thông tin người dùng cung cấp
Cho phép người dùng đăng tin bđs

2


CHƯƠNG 2. XÂY DỰNG HỆ THỐNG
2.1. Xây dựng kiến trúc hệ thống
2.1.1. Kiến trúc hệ thống Website
Hệ thống bao gồm các thành phần sau
Web (client): thể hiện giao diện nơi người dùng tương tác với hệ thống. Client giao tiếp
với Server thông qua Request/Response để yêu cầu xử lý thông tin và nhận kết quả hiển
thị lên cho người dùng. Web (client) được hiện thực hóa sử dụng ReactJS.
Server (Nodejs): Nhận và xử lý request từ Client. Có thể tương tác với Database để tương
tác dữ liệu và trả kết quả về cho Client thông qua Response
Database (MongoDB): lưu trữ toàn bộ dữ liệu của hệ thống.
2.1.2. Kiến trúc hệ thống Chatbot
Hệ thống bao gồm các thành phần và tương tác như sau:
-

Hệ thống xử lý kịch bản: Xử lý hành vi chat/tương tác của người dùng để chọn và
xử lý kịch bản phù hợp.

-

Hệ thống xử lý: Xử lý hành vi chat/tương tác của người dùng để đưa ra các mẫu
câu/hành động phù hợp.


-

Dialogflow ES: Xử lý ngôn ngữ tự nhiên của người dùng để đưa ra các thông tin
phù hợp đến hệ thống xử lý kịch bản.

-

Database (MongoDB): Chatbot sẽ kết nối trực tiếp với dữ liệu của Website (để tìm
kiếm BĐS, tra cứu thơng tin…).

-

Đối với các hành động đã được phân tích cần lấy dữ liệu từ database thì hệ thống
xử lý sẽ phân tích dữ liệu từ database và sẽ thơng báo có những dữ liệu phù hợp cho
người dùng.

-

Đối với các hành động đã được phân tích cần xử lý phân tích ngơn ngữ tự nhiên thì
hệ thống xử lý thơng qua Dialogflow ES. Sau đó, dựa vào kết quả Dialogflow ES
trả về sẽ chọn kịch bản phù hợp để đưa đến hệ thống xử lý kịch bản và trả về những
thông tin cần thiết cho người dùng.

3


2.2. Phân tích thiết kế hệ thống
2.2.1. Sơ đồ use case
2.2.1.1. Danh sách use-case


Hình 2.2.1.1-1. Sơ đồ use-case cho user

4


Hình 2.2.1.1-2. Sơ đồ use-case cho Admin
2.2.1.2. Đặc tả use-case
a. Đặc tả use case Đăng nhập
Tên use
case

Đăng nhập

Mục đích

Đăng nhập vào tài khoản

Người dùng User / Admin
Điều kiện
kích hoạt

Người dùng nhấn vào nút đăng nhập trên header

Điều kiện
trước

Có tài khoản, mật khẩu trước đó hoặc có tài khoản google hoặc có tài
khoản facebook

Điều kiện


Di chuyển vào trang home đồng thời thay đổi thanh header
5


sau
Luồng sự
kiện chính

B1: Chọn nút Đăng nhập trên header
B2: Hệ thống hiển thị popup đăng nhập
B3: Người dùng nhập email và password của tài khoản
B4: Người dùng nhấn nút “Đăng nhập”.
B5: Hệ thống kiểm tra định dạng các thông tin đã nhập. Nếu sai, thông
báo lỗi và quay lại bước 3.
B6: Hệ thống di chuyển vào trang home và cập nhật lại header

Luồng sự
kiện phụ

* Lưu mật khẩu:
B1: Chọn nút Đăng nhập trên header
B2: Hệ thống hiển thị popup đăng nhập
B3: Người dùng nhập email và password của tài khoản
B4: Người dùng nhấn vào checkbox “Nhớ tài khoản” .
B5: Người dùng nhấn nút “Đăng nhập”.
B6: Hệ thống kiểm tra định dạng các thông tin đã nhập. Nếu sai, thông
báo lỗi và quay lại bước 3.
B7: Hệ thống sẽ lưu tài khoản và mật khẩu vào cookie trong phiên hoạt
động và hiển thị khi người dùng sử dụng chức năng đăng nhập.

B8: Hệ thống di chuyển vào trang home và cập nhật lại header
* Đăng nhập bằng Google:
B1: Chọn nút Đăng nhập trên header
B2: Hệ thống hiển thị popup đăng nhập
B3: Chọn nút Google để tiến hành đăng nhập
B4: Hệ thống hiển thị danh sách tài khoản Google đang đăng nhập trong
trình duyệt, chọn một tài khoản
B5: Hệ thống di chuyển vào trang home và cập nhật lại header
* Đăng nhập bằng Facebook:
B1: Chọn nút Đăng nhập trên header
B2: Hệ thống hiển thị popup đăng nhập
B3: Chọn nút Facebook để tiến hành đăng nhập
B4: Hệ thống hiển thị tài khoản Facebook đang đăng nhập trong trình
duyệt, chọn “Tiếp tục”
6


B5: Hệ thống di chuyển vào trang home và cập nhật lại header
Các ngoại
lệ

-

Kích hoạt
sự kiện
khác

Khơng

Nhập thiếu dữ liệu: Hiển thị thông báo yêu cầu nhập đầy đủ

Email sai định dạng: Hiển thị thông báo nhập sai định dạng email
Sai thông tin: Thông báo sai email hoặc mật khẩu

b. Đặc tả use case Đổi mật khẩu
Tên use
case

Đổi mật khẩu

Mục đích

Đổi mật khẩu tài khoản

Người dùng User / Admin
Điều kiện
kích hoạt

Người dùng chọn tab Thay đổi mật khẩu ở trong dropdown bên cạnh ảnh
đại diện người dùng ở giao diện trang chủ

Điều kiện
trước

Đã đăng nhập vào trang chủ thành công

Điều kiện
sau

Người dùng đổi mật khẩu tài khoản thành cơng


Luồng sự
kiện chính

B1: Chọn tab Thay đổi mật khẩu ở trong dropdown bên cạnh ảnh đại
diện người dùng
B2: Hệ thống mở tính năng đổi mật khẩu trong trang Quản lý người
dùng.
B3: Người dùng nhập mật khẩu hiện tại, mật khẩu mới.
B4: Người dùng chọn nút “Lưu”.
B5: Hệ thống kiểm tra định dạng các thông tin mật khẩu đã nhập và các
trường bắt buộc.
B6: Hệ thống kiểm tra mật khẩu hiện tại xem có trùng với mật khẩu tài
khoản đó trong cơ sở dữ liệu hay không.
7


B7: Thông báo đổi mật khẩu tài khoản thành công và cập nhật mật khẩu
mới của tài khoản đó trong cơ sở dữ liệu.
Luồng sự
kiện phụ

* Không đăng ký: Ở giao diện đổi mật khẩu trong trang Quản lý người
dùng, chọn nút “Hủy” để quay lại trạng thái trước đó.
* Đổi mật khẩu trước khi đăng nhập (User):
B1: Người dùng ở giao diện trang chủ và chưa đăng nhập.
B2: Người dùng chọn nút “Đăng nhập”.
B3: Người dùng chọn nút “Quên mật khẩu”.
B4: Người dùng nhập email tài khoản muốn đổi mật khẩu.
B5: Người dùng chọn nút “Quên mật khẩu”.
B6: Hệ thống kiểm tra định dạng email đã nhập. Nếu sai, thông báo lỗi

và quay lại bước 4.
B7: Hệ thống gửi mail đến email đã nhập.
B8: Người dùng chọn nút “Đổi mật khẩu” trong mail.
B9: Hệ thống kiểm tra, nếu còn trong thời hạn thì chuyển đến bước 10.
Nếu khơng thì chuyển đến trang link đã hết hạn và kết thúc.
B10: Tương tự như luồng sự kiện chính đổi mật khẩu ở trang quản lý
người dùng từ bước 3 đến bước 7.

Các ngoại
lệ

- Thiếu thông tin hoặc sai định dạng thông tin: Hệ thống thông báo lỗi và
yêu cầu nhập lại thông tin.
- Không trùng với mật khẩu hiện tại: Hệ thống thông báo lỗi và yêu cầu
nhập lại mật khẩu hiện tại.

Kích hoạt
sự kiện
khác

Khơng

c. Đặc tả use case Qn mật khẩu
Tên use
case

Quên mật khẩu

Mục đích


Nhằm giải quyết vấn đề cho người dùng quên mật khẩu

Người dùng User / Admin
Điều kiện
kích hoạt

Người dùng chọn nút “Quên mật khẩu” trong popup đăng nhập

8


Điều kiện
trước

Có tài khoản, mật khẩu trước đó

Điều kiện
sau

Người dùng sẽ thay đổi mật khẩu thành công và tiến hành đăng nhập
bình thường

Luồng sự
kiện chính

B1: Chọn nút Đăng nhập trên header
B2: Hệ thống hiển thị popup đăng nhập
B3: Nhấn vào nút “Quên mật khẩu”
B4: Hệ thống hiển thị popup cho phép người dùng nhập email đã đăng ký
trước đó

B5: Hệ thống xác thực tài khoản email của người dùng, nếu sai quay lại
bước 4
B6: Hệ thống tiến hành gửi mail có chứa đường link dẫn đến trang thay
đổi mật khẩu và thông báo gửi mail thành công
B7: Người dùng kiểm tra mail, nhấp vào đường link chuyển đến trang
thay đổi mật khẩu.
B8: Người dùng nhập mật khẩu mới và xác nhận mật khẩu mới
B9: Hệ thống kiểm tra mật khẩu, nếu sai hiển thị thông báo và quay lại
bước 8
B10: Người dùng tiến hành đăng nhập với mật khẩu mới

Luồng sự
kiện phụ
Các ngoại
lệ

Nhập sai, thiếu thông tin: Hệ thống hiển thị thơng báo

Kích hoạt
sự kiện
khác

Khơng

d. Đặc tả use case Đăng ký
9


Tên use
case


Đăng ký

Mục đích

Tạo một tài khoản mới

Người dùng Guest
Điều kiện
kích hoạt

Người dùng chọn nút đăng ký trên giao diện trang chủ web

Điều kiện
trước

Không

Điều kiện
sau

Người dùng tạo một tài khoản mới thành công nhưng email đăng ký sẽ
chưa được xác thực

Luồng sự
kiện chính

B1: Người dùng truy cập vào trang web và đang ở giao diện trang chủ
B2: Người dùng chọn nút “Đăng ký”
B3: Hệ thống hiển thị pop up Đăng ký

B4: Người dùng nhập thông tin để tạo tài khoản: email, mật khẩu, họ tên,
cmnd, vv…
B5: Người dùng chọn nút “Đăng ký”
B6: Hệ thống kiểm tra định dạng các thông tin đã nhập và các trường bắt
buộc.
B7: Hệ thống kiểm tra các giá trị email, cmnd, số tài khoản có trùng với
tài khoản nào trước đó hay chưa.
B8: Thơng báo đăng ký tài khoản thành công và lưu thông tin vào cơ sở
dữ liệu.

Luồng sự
kiện phụ

* Không đăng ký: Chọn “Đăng nhập” để đến màn hình Đăng nhập.

Các ngoại
lệ

- Sai định dạng hoặc thiếu thông tin: Hệ thống thông báo lỗi và yêu cầu
nhập lại.
- Trùng email hoặc trùng cmnd hoặc trùng số tài khoản: Hệ thống thông
báo lỗi và yêu cầu nhập lại phần thông tin bị trùng.
10


Kích hoạt
sự kiện
khác

* Đổi email sau khi đăng ký:

B1: Sau khi đăng ký thành công, hệ thống hiển thị pop up Xác thực
email.
B2: Chọn “Đổi email xác thực”.
B3: Hệ thống hiển thị pop up Cập nhật email.
B4: Người dùng nhập email mới.
B5: Người dùng chọn nút “Cập nhật email”.
B6: Hệ thống kiểm tra định dạng thông tin. Nếu sai thông báo lỗi và
quay lại bước 4.
B7: Cập nhật email mới ứng với tài khoản đã đăng ký trong cơ sở dữ
liệu. Hệ thống hiển thị pop up Xác thực email.
* Xác thực email:
B1: Sau khi đăng ký thành công, hệ thống hiển thị pop up Xác thực
email.
B2: Chọn “Xác thực email” hoặc “Gửi lại email xác thực”.
B3: Hệ thống gửi email xác thực đến email đã đăng ký tài khoản.
B4: Người dùng hoàn thành thao tác xác thực trong mail đã gửi.
B5: Hệ thống kiểm tra, nếu quá thời hạn thì dẫn đến trang có thơng báo
link đã hết hạn, nếu cịn trong thời hạn thì xác thực email thành công, cập
nhật dữ liệu và chuyển đến trang chủ.

e. Đặc tả use case Thông tin cá nhân
Tên use
case

Thông tin cá nhân

Mục đích

Xem chi tiết thơng tin cá nhân của người dùng


Người dùng Người dùng đã đăng nhập
Điều kiện
kích hoạt

Người dùng Click vào nút Thông tin cá nhân trên thanh left menu ở trang
admin

Điều kiện
trước

Đã đăng nhập thành công vào hệ thống

Điều kiện
sau

Không

Luồng sự

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


kiện chính

2.Các trường thơng tin cá nhân của người dùng hiển thị trên màn hình
3.Người dùng thay đổi thơng tin cá nhân
4.Người dùng sau khi thay đổi các trường thông tin cá nhân thì bấm nút
Lưu
5.Hệ thống sẽ kiểm tra thông tin và hiện thông báo là thành công hoặc

thất bại

Luồng sự
kiện phụ

Khơng

Các ngoại
lệ

Khơng

Kích hoạt
sự kiện
khác

Khơng

f. Đặc tả use case Thơng tin giới thiệu
Tên use
case

Thơng tin giới thiệu

Mục đích

Xem thơng tin của cơng ty ví dụ như: Tầm nhìn- Thành sàn giao dịch
BĐS lớn nhất VN, Sứ mệnh- Nơi đáng tin cậy, phụng sự của các nhà đầu
tư, Giá trị cốt lõi- Tập trung vào khách hàng và thực hiện mọi điều để đạt
được mục tiêu


Người dùng Guest
Điều kiện
kích hoạt

Người dùng kích vào mục kích vào “Thơng tin “ ở Header

Điều kiện
trước

Đăng nhập thành công vào hệ thống

Điều kiện
sau

Người dùng ở trang chủ kích vào mục kích vào “Thơng tin “ ở Header

Luồng sự
kiện chính

1.Người dùng truy cập vào trang web và đang ở giao diện trang chủ
home
12


2.Người dùng đang ở giao diện trang chủ home chọn vào mục “Thông
Tin” ở thanh Header
3.Hệ thống sẽ chuyển sang màn hình xem thơng tin giới thiệu
4.Người dùng thao tác xem các thông tin trong trang giới thiệu
5.Người dùng nhấn vào Button tìm kiếm ngay,hệ thống sẽ quay lại phần

tìm kiếm ở trang chủ
5.1. Người dùng nhấn vào Button Xem tất cả hệ thống sẽ dẫn tới các site
tương ứng như tin tức các dự án
Luồng sự
kiện phụ

Khơng

Các ngoại
lệ

Khơng

Kích hoạt
sự kiện
khác

Không

g. Đặc tả use case Danh sách bài đăng Bất Động Sản
Tên use
case

Danh sách bài đăng Bất Động Sản

Mục đích

Khách, người dùng có thể ghé thăm website, tham khảo về danh sách bất
động sản đang được đăng


Người dùng Khách, người dùng
Điều kiện
kích hoạt

Usecase này bắt đầu khi người dùng truy cập vào website, sau đó →
Người dùng bấm vào nút “Nhà đất bán” hoặc nút “Nhà đất mua” trên
header

Điều kiện
trước

Không

Điều kiện
sau

Không

13


Luồng sự
kiện chính

1.Người dùng truy cập vào trang web và đang ở giao diện trang chủ
home
2.Người dùng bấm vào nút “Nhà đất bán” hoặc nút “Nhà đất mua” trên
header
3.Hệ thống sẽ chuyển sang màn hình danh sách bài đăng sẽ có danh sách
bài đăng

4.Người dùng bấm vào một bất động sản cụ thể, hệ thống chuyển hướng
người dùng sang màn hình “chi tiết bất động sản”

Luồng sự
kiện phụ

Khơng

Các ngoại
lệ

Khơng

Kích hoạt
sự kiện
khác

Khi bấm vào icon tim vào một Bất Động Sản bất kỳ:
-

-

Nếu là khách (chưa đăng nhập), hệ thống yêu cầu đăng nhập, sau
đó thì bấm tim vào một bất động cụ thể, Bất Động Sản đó sẽ được
cập nhật vào “Mục yêu thích” trên thanh header
Nếu là người dùng (đã đăng nhập vào hệ thống), sau đó thì bấm
tim vào một bất động cụ thể, Bất Động Sản sẽ được cập nhật vào
“Mục yêu thích” trên thanh header

Khi số lượng bất động sản vượt quá 10, sẽ xuất hiện phân trang ở cuối

page. Có hiện thị số trang và có thể bấm để sang trang tiếp theo
Ở góc phải trên page có chức năng filter danh sách bất động sản theo các
đặc điểm, khi chọn một đặc điểm thì danh sách sẽ sắp xuất theo yêu cầu
với các đặc điểm:
- Thông thường
- Tin mới nhất
- Tin cũ nhất
- Giá từ thấp lên cao
- Giá từ cao xuống thấp
- Diện tích từ bé đến lớn
- Diện tích từ lớn đến bé

14


h. Đặc tả use case Đăng bài bất động sản
Tên use
case

Đăng bài bất động sản

Mục đích

Người dùng có thể điền thông tin bất động sản và đăng bài bất động sản
lên trang web

Người dùng Người dùng đã đăng nhập
Điều kiện
kích hoạt


Người dùng bấm vào nút "Đăng tin" ở header

Điều kiện
trước

Đã đăng nhập tài khoản

Điều kiện
sau

Khơng

Luồng sự
kiện chính

1. Người dùng truy cập vào trang web, đăng nhập và đang ở giao
diện home
2. Bấm vào nút “Đăng tin” ở thanh header
3. Hệ thống chuyển sang màn hình đăng tin bất động sản
4. Người dùng nhập thông tin bất động sản để đăng tin: tiêu đề, hình
thức, địa chỉ, giá, mơ tả, …
5. Người dùng bấm vào nút “Đăng tin” ở dưới cùng của trang
6. Hệ thống kiểm tra định dạng các thông tin đã nhập và các trường
bắt buộc.
7. Nếu người dùng đăng tin thành công
15


×