ĐẠ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 HOÀ 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 Hoà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: Hoà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 yê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: Hoà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
− Hoàn thiện giao diện ứng dụng
− Tiếp tục hoà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
− Hoà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 yê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 Hoà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ý yê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 Quên 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
- Xem thêm -