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

Đồ án ứng dụng tư vấn khóa học hỗ trợ chatbot

140 5 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 140
Dung lượng 5,47 MB

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

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU CHUNG (15)
    • 1.1. Tổng quan đề tài (15)
    • 1.2. Lý do chọn đề tài (15)
    • 1.3. Đối tượng sử dụng (16)
    • 1.4. Phạm vi nghiên cứu (17)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (18)
    • 2.1. IDE – Visual Studio Code (18)
    • 2.2. HTML (19)
    • 2.3. CSS (20)
    • 2.4. Javascript (21)
    • 2.5. ReactJS (22)
    • 2.6. NodeJS (23)
    • 2.7. npm (24)
    • 2.8. MySQL (25)
    • 2.9. GitHub (26)
  • CHƯƠNG 3: CHATBOT: DIALOGFLOW (27)
    • 3.1. Công nghệ sử dụng : DialogFlow (27)
    • 3.2. Giao diện chatbot (28)
    • 3.3. Quy trình hoạt động (29)
    • 3.4. Sơ đồ kịch bản đối thoại (33)
  • CHƯƠNG 4: THIẾT KẾ HỆ THỐNG (36)
    • 4.1. Kiến trúc hệ thống: Mô hình MVC (36)
    • 4.2. Chi tiết các thành phần trong hệ thống (37)
  • CHƯƠNG 5: ĐẶC TẢ USE CASE (38)
    • 5.1. Sơ đồ Use Case (38)
    • 5.2. Danh sách tác nhân (39)
    • 5.4. Mô tả chi tiết Use Case (42)
  • CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU (75)
    • 6.1. Sơ đồ logic (75)
    • 6.2. Danh sách các quan hệ (76)
  • CHƯƠNG 7: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG (81)
    • 7.1. Danh sách màn hình (81)
    • 7.2. Mô tả chi tiết từng màn hình (83)
  • CHƯƠNG 8: CÀI ĐẶT VÀ KIỂM THỬ (137)
    • 8.1. Môi trường cài đặt và kiểm thử (137)
    • 8.2. Kết quả kiểm thử (137)
  • CHƯƠNG 9: KẾT LUẬN (138)
    • 9.1. Tổng kết (138)
    • 9.2. Khó khăn (138)
    • 9.3. Kết quả đạt được (139)
    • 9.4. Hạn chế của đồ án (139)
    • 9.5. Hướng phát triển (139)
  • TÀI LIỆU THAM KHẢO (140)

Nội dung

Tại các trung tâm, các nhân viên luôn phải túc trực để tư vấn hướng dẫn, cung cấp thông tin khóa học, lộ trình học cho những người hiện đang có nhu cầu tìm hiểu.. Để giải quyết vấn đề tr

GIỚI THIỆU CHUNG

Tổng quan đề tài

- Tên ứng dụng: Course Adviser With Chatbot

- Chủ đề chính: Tư vấn khóa học Tiếng Anh cho một trung tâm cụ thể

- Nền tảng phát triển: Website trên Máy tính cá nhân

- Mô hình phát triển: MVC

Lý do chọn đề tài

Hiện nay, nhu cầu học tiếng Anh ngày càng tăng và các trung tâm Anh ngữ đang cung cấp nhiều khóa học với nhiều hình thức khác nhau, khiến người học cần được tư vấn để chọn khóa học tiếng Anh phù hợp với bản thân Nhiều học viên sau khi tham gia khóa học vẫn chưa biết lộ trình học tiếp theo Để đáp ứng nhu cầu này, chúng tôi quyết định xây dựng một website cung cấp thông tin nhanh chóng về các trung tâm tiếng Anh và tích hợp chatbot hỗ trợ tự động tư vấn, hướng dẫn đăng ký và lộ trình học cho người dùng khi truy cập ứng dụng.

Website hỗ trợ tư vấn khóa học của nhóm sẽ tập trung 4 Loại Khóa học mà học viên có thể chọn lựa, bao gồm:

Các khóa học luyện thi được chia thành 3 cấp độ PRE, INTER và ADV, tương ứng với mức độ nhập môn, trung bình và nâng cao Để đăng ký các khóa học này, học viên sẽ phải trải qua một bài kiểm tra đầu vào để xác định trình độ Nếu học viên chưa có kiến thức tiếng Anh hoặc không tham gia bài kiểm tra đầu vào, họ sẽ được mặc định xếp vào cấp nhập môn PRE của khóa học đăng ký.

Trung tâm sẽ phân bổ xếp lớp dựa trên kết quả bài kiểm tra đầu vào của học viên Để học lên cấp độ cao hơn, học viên bắt buộc phải đạt chỉ tiêu của các lớp học trước đó thông qua các bài kiểm tra thử do trung tâm tổ chức.

Khóa Tiếng Anh giao tiếp được thiết kế dành cho những người đã và đang đi làm, nhằm đáp ứng nhu cầu nâng cao hiệu quả giao tiếp bằng tiếng Anh Khóa tập trung phát triển hai kỹ năng chính là giao tiếp và viết bằng tiếng Anh một cách thực tiễn và hiệu quả, áp dụng ngay trong công việc và đời sống Chương trình chú trọng các kỹ năng giao tiếp ứng dụng, viết email, soạn thảo báo cáo và tin nhắn công sở, giúp học viên tự tin diễn đạt, mở rộng vốn từ và ngữ điệu trong môi trường làm việc Với phương pháp giảng dạy thực tế và bài tập tối ưu, khóa học mang lại hiệu quả nhanh chóng, hỗ trợ người học giao tiếp tiếng Anh tự tin hơn tại nơi công sở và trong các hoạt động hàng ngày.

Khóa học này gồm hai chương trình: SPEAKING FOR COMMUNITY – rèn luyện giao tiếp và ADVANCE WRITING – phát triển kỹ năng viết tài liệu Cả hai chương trình đều không yêu cầu đầu vào, tạo điều kiện cho mọi người tham gia.

Khóa học Tiếng Anh cho bé phù hợp với độ tuổi từ 3 đến 16 và được phân thành 3 cấp độ: JUMPSTART dành cho trẻ 3–6 tuổi, JUNIOR dành cho trẻ 6–11 tuổi, TEEN dành cho trẻ 11–16 tuổi Các cấp độ này không có yêu cầu đầu vào đặc biệt và tuyển sinh dựa trên độ tuổi của bé Mỗi khóa học kéo dài 1 năm.

Các khóa luyện thi IELTS, TOEIC và Tiếng Anh giao tiếp tại trung tâm được phân thành hai loại thời gian: Cấp tốc và Thường, tương ứng với thời lượng 6 tháng hoặc 1 năm cho mỗi khóa đào tạo Trung tâm còn triển khai chương trình đặc biệt 1 kèm 1 dành cho các khóa học trực tuyến, nhằm tối ưu hóa hiệu quả học tập cho người học Học phí được tính theo từng loại thời gian và chương trình đặc biệt áp dụng khi đăng ký, mang lại sự linh hoạt cho học viên Ứng dụng của trung tâm cung cấp các bài viết thông tin và cho phép người dùng trò chuyện với ChatBot để được tư vấn khóa học tự động, giúp học viên nắm bắt nhanh thông tin mới Bên cạnh đó, nhân viên trung tâm có thể truy cập ứng dụng để cập nhật và đăng tin một cách nhanh chóng, đảm bảo kênh thông tin luôn cập nhật cho học viên.

Đối tượng sử dụng

Tất cả mọi người muốn đăng ký các khóa học tiếng Anh tại trung tậm hoặc đã học nhưng chưa nắm rõ lộ trình giảng dạy của trung tâm

Quản trị viên phía trung tâm mong muốn cung cấp đầy đủ thông tin về trung tâm, về các khóa học và các chương trình đào tạo tới mọi người truy cập vào ứng dụng Thông tin được trình bày rõ ràng và tối ưu hóa cho người dùng, giúp họ dễ dàng tra cứu, so sánh các khóa học và nắm bắt lịch khai giảng cùng nội dung từng chương trình Việc chia sẻ thông tin trên ứng dụng sẽ tăng tính tương tác, cải thiện trải nghiệm người dùng và nâng cao khả năng tiếp cận các chương trình đào tạo của trung tâm.

Phạm vi nghiên cứu

1.4.1 Phạm vi môi trường: Website trên máy tính cá nhân

+ Có khả năng trả lời các câu hỏi về khóa họ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

Chúng tôi cung cấp liên hệ trực tiếp với đội ngũ tư vấn khi gặp các vấn đề vượt ngoài phạm vi chức năng của hệ thống và liên tục cập nhật quy trình xử lý cho từng trường hợp, nhằm đảm bảo người dùng nhận được hỗ trợ nhanh chóng, chính xác và phù hợp với thực tế.

+ Đăng kí lịch hẹn thi thử tại trung tâm

+ Cung cấp các thông tin về lộ trình học

+ Chatbot hiểu được tương đối tiếng Việt

+ Cung cấp thông tin mới nhất về trung tâm, về khóa học của trung tâm

+ Cung cấp chức năng đăng kí lịch hẹn thi thử tại trung tâm

+ Cung cấp các chức năng quản lí bài viết bao gồm đăng tải, cập nhập, xóa bỏ và thống kê danh sách bài viết

+ Cung cấp các chức năng quản lí hỏi đáp bao gồm đăng tải, cập nhập, xóa bỏ và thống kê danh sách hỏi đáp

Chúng tôi cung cấp các chức năng quản trị nhân sự cho các tài khoản đã đăng ký trong hệ thống, bao gồm tạo mới tài khoản, cập nhật thông tin, kích hoạt tài khoản, vô hiệu hóa tài khoản và thống kê danh sách tài khoản để quản lý người dùng một cách hiệu quả.

Chúng tôi cung cấp các chức năng quản lý chatbot toàn diện, cho phép tác động đến một số câu thoại và nội dung tư vấn của bot, đồng thời thực hiện cập nhật nội dung, kích hoạt và vô hiệu hóa các chức năng, và tiến hành kiểm thử kết quả trên test bot để đảm bảo chất lượng, hiệu suất và trải nghiệm người dùng.

CƠ SỞ LÝ THUYẾT

IDE – Visual Studio Code

Hình 2.1-1: Visual Studio Code

Visual Studio Code là trình soạn thảo mã nguồn do Microsoft phát triển, tương thích với Windows, Linux và macOS Đây là một trong những trình biên tập mã phổ biến nhất hiện nay và ngày càng thể hiện ưu thế vượt trội so với các phần mềm khác VS Code hỗ trợ gỡ lỗi, tích hợp Git, cùng với các tính năng nổi bật như tô sáng cú pháp, tự động hoàn thiện mã thông minh, snippets (đoạn mã mẫu) và tối ưu hóa quá trình viết mã thông qua các tiện ích mở rộng.

Visual Studio Code có rất nhiều ưu điểm vượt trội so:

- Hỗ trợ đa nền tảng: Windows, Linux, Mac

- Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, JSON

- Là phần mềm miễn phí

HTML

Hình 2.2-1: HyperText Markup Language — HTML

HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu dùng để thiết kế và xây dựng các trang web, giúp trình duyệt hiểu và hiện thị nội dung theo một cấu trúc có tổ chức HTML cho phép định nghĩa cấu trúc trang bằng các thẻ và phần tử từ tiêu đề, đoạn văn, hình ảnh tới liên kết và các thành phần đa phương tiện, đồng thời mô tả vai trò và mối quan hệ giữa chúng Việc sử dụng đúng các thẻ, thuộc tính và semantics của HTML giúp tối ưu hóa khả năng hiển thị trên các trình duyệt và cải thiện SEO HTML thường được kết hợp với CSS để định kiểu giao diện và với JavaScript để tăng tương tác, nhưng nền tảng vẫn là ngôn ngữ đánh dấu để trình bày nội dung một cách rõ ràng và có thể truy cập được.

Hypertext và ngôn ngữ đánh dấu là hai khía cạnh quan trọng của web Hypertext định nghĩa liên kết giữa các trang web, cho phép người dùng di chuyển dễ dàng giữa các thông tin liên quan Ngôn ngữ đánh dấu được dùng để định nghĩa tài liệu bên trong các thẻ, xây dựng cấu trúc của trang web và giúp người dùng cũng như máy móc nhận diện, hiểu và kiểm soát văn bản Hầu hết các ngôn ngữ đánh dấu có thể dễ dàng đọc hiểu bởi người lập trình và các công cụ xử lý Ngôn ngữ đánh dấu dùng thẻ để định dạng và kiểm soát cách văn bản hiển thị và cách mà nó được thao tác trên trang web.

HTML là ngôn ngữ đánh dấu được sử dụng trong trình duyệt để cấu trúc và trình bày nội dung web, bao gồm văn bản, hình ảnh và các nội dung đa phương tiện khác Nhờ HTML, các yếu tố này được quản lý và hiển thị theo định dạng được yêu cầu, nhằm mang lại trải nghiệm người dùng nhất quán và tối ưu trên các trình duyệt.

HTML được sáng tạo bởi Tim Berners-Lee vào năm 1991 Phiên bản đầu tiên của

HTML là HTML 1.0, nhưng bản tiêu chuẩn lại là HTML 2.0, ra mắt vào năm 1999

CSS

Hình 2.3-1: Cascading Style Sheets — CSS

CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ dùng để mô tả cách trình bày của các trang web và để tạo style sheets cho web CSS có sự hỗ trợ của HTML và có thể được sử dụng với bất kỳ ngôn ngữ đánh dấu dạng XML nào, giúp tách nội dung khỏi kiểu dáng và tối ưu hóa thiết kế, đồng thời nâng cao trải nghiệm người dùng và khả năng mở rộng cho dự án web.

CSS là công nghệ bạn nên học ngay sau HTML để trang trí và trình bày nội dung web, vì HTML định nghĩa cấu trúc và ý nghĩa của nó còn CSS đảm bảo giao diện trực quan Với CSS, bạn có thể thay đổi phông chữ, màu sắc, kích thước và khoảng cách giữa các phần tử, sắp xếp nội dung thành các cột hợp lý và thêm hoạt ảnh cùng các hiệu ứng trang trí để nâng cao trải nghiệm người dùng.

Javascript

JavaScript là một ngôn ngữ lập trình thông dịch hiện đại, được phát triển từ các ý niệm nguyên mẫu và ngày nay được sử dụng rộng rãi cho cả phía người dùng (web) lẫn phía máy chủ (với Node.js) Ngôn ngữ này do Brendan Eich sáng lập tại hãng Netscape và có cú pháp tương tự Java và C, nhưng nó lại gần hơn với ngôn ngữ Self về cách hoạt động Tập tin mã nguồn JavaScript thường có đuôi mở rộng js.

Trên trình duyệt, nhiều trang web sử dụng JavaScript để thiết kế các trang web động và thể hiện các hiệu ứng hình ảnh thông qua DOM JavaScript cho phép thực thi các tác vụ mà HTML thuần túy không thể làm được, như kiểm tra thông tin nhập liệu từ người dùng, tự động thay đổi hình ảnh và cập nhật nội dung một cách linh hoạt, giúp tăng cường tương tác và trải nghiệm người dùng Nhờ đó, các trang web trở nên sống động hơn, tối ưu hóa khả năng xử lý sự kiện và cung cấp các chức năng động mà vẫn giữ mã nguồn gọn nhẹ.

ReactJS

ReactJS là một thư viện JavaScript có tính hiệu quả và linh hoạt để xây dựng các thành phần giao diện người dùng (UI) có thể tái sử dụng Với kiến trúc dựa trên component, React giúp phân chia UI thành các phần độc lập, dễ bảo trì và tái sử dụng Nhờ Virtual DOM, React tối ưu hóa quá trình cập nhật giao diện, tăng hiệu suất render và mang lại trải nghiệm người dùng mượt mà JSX cho phép viết UI bằng cú pháp tương tự HTML, làm cho mã nguồn rõ ràng và dễ đọc Hệ sinh thái phong phú và quản lý trạng thái, vòng đời của component hỗ trợ phát triển ứng dụng quy mô lớn, đồng thời render phía máy chủ (SSR) góp phần cải thiện SEO và tốc độ tải trang.

UI phức tạp được chia nhỏ thành các thành phần gọi là component, giúp tối ưu hóa việc phát triển và bảo trì giao diện người dùng ReactJS được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook, và ban đầu được phát triển cũng như duy trì bởi Facebook, sau này được sử dụng rộng rãi trong các sản phẩm của công ty như WhatsApp và Instagram.

ReactJS is used to build single-page applications (SPAs) A key advantage of ReactJS is its ability to run on the client side as well as on the server side through server-side rendering, delivering faster initial loads and improving SEO.

NodeJS

Node.js là một nền tảng mã nguồn mở chạy trên môi trường V8 JavaScript runtime, động cơ JavaScript cực nhanh do Google Chrome phát triển Node.js cho phép các nhà phát triển xây dựng các ứng dụng web ở phía máy chủ một cách đơn giản và dễ dàng mở rộng, mang lại hiệu suất cao và khả năng mở rộng linh hoạt cho các hệ thống web.

NodeJS là nền tảng phát triển ứng dụng bằng JavaScript cho phép xây dựng nhiều loại ứng dụng khác nhau, từ ứng dụng dòng lệnh đến ứng dụng web và máy chủ REST Bạn có thể triển khai ứng dụng trò chuyện theo thời gian thực nhờ cơ chế bất đồng bộ và sự kiện của NodeJS, đồng thời tận dụng hiệu suất cao và khả năng mở rộng để phát triển các dịch vụ backend Với NodeJS, việc xây dựng API REST, hệ thống web động và các dịch vụ backend trở nên nhanh chóng và hiệu quả, phù hợp cho các dự án từ vừa đến lớn và đáp ứng tốt các yêu cầu về hiệu năng và trải nghiệm người dùng.

API, Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các chương trình mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET

Với đặc tính mã nguồn mở, bạn có thể sử dụng miễn phí và đồng thời hưởng lợi từ việc liên tục được chỉnh sửa, cập nhật và cải tiến bởi một cộng đồng các nhà phát triển toàn cầu Điều này đảm bảo phần mềm luôn nhận các bản vá an toàn, tối ưu hiệu suất và mang lại sự linh hoạt cho người dùng và doanh nghiệp khi triển khai.

npm

Hình 2.7-1: Node package manager – npm

NPM, hay Node Package Manager, là công cụ để tạo và quản lý các thư viện lập trình JavaScript cho Node.js Trong cộng đồng JavaScript, các lập trình viên chia sẻ hàng nghìn thư viện với các đoạn mã đã sẵn sàng, giúp các dự án mới tiết kiệm thời gian bằng cách tránh viết lại các thành phần cơ bản và dễ dàng tích hợp các framework NPM cho phép quản lý, tải về và include các thư viện có sẵn, từ đó đẩy nhanh quá trình phát triển và tối ưu hóa hiệu suất làm việc Cộng đồng sử dụng npm rất lớn với hàng nghìn thư viện được phát hành, hỗ trợ JavaScript ES6, React, Express, Grunt và nhiều công nghệ khác.

MySQL

Hình 2.8-1: Hệ quản trị cơ sở dữ liệu MySQL

MySQL là hệ quản trị cơ sở dữ liệu (DBMS) nguồn mở với hiệu suất cao và ổn định, hoạt động trên nhiều hệ điều hành và tích hợp một tập hợp hàm tiện ích mạnh mẽ Hệ quản trị cơ sở dữ liệu này quản lý dữ liệu được lưu trữ có cấu trúc, sắp xếp và phân lớp ngăn nắp, giúp truy cập dữ liệu nhanh chóng và thuận tiện cho người dùng và ứng dụng Nhờ hỗ trợ đa ngôn ngữ lập trình, MySQL trở thành cơ sở dữ liệu phổ biến nhất thế giới cho phát triển ứng dụng, được các nhà phát triển ưa chuộng và tin dùng trong quá trình triển khai dự án.

GitHub

Hình 2.9-1: Hệ thống quản lý mã nguồn GitHub

GitHub là một hệ thống quản lý dự án và quản lý phiên bản mã nguồn, hoạt động như một mạng xã hội dành cho lập trình viên Người dùng có thể clone mã nguồn từ các repository và GitHub là dịch vụ lưu trữ repository công khai, cho phép mỗi người đăng ký tài khoản để tạo kho chứa (repository) của riêng mình để làm việc GitHub cung cấp đầy đủ các tính năng của Git và bổ sung thêm các công cụ xã hội giúp các developer tương tác với nhau.

Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.

CHATBOT: DIALOGFLOW

Công nghệ sử dụng : DialogFlow

Dialogflow (tiền thân là API.AI) là dịch vụ do Google cung cấp nhằm giúp các lập trình viên dễ dàng xây dựng các sản phẩm có giao tiếp với người dùng qua các cuộc hội thoại bằng văn bản (text) hoặc giọng nói (voice) Nền tảng này sử dụng trí tuệ nhân tạo (AI) để phân tích ngôn ngữ tự nhiên và hiểu được những gì người dùng truyền đạt, từ đó tối ưu hóa khả năng phản hồi và tương tác của ứng dụng.

Dialogflow hiện có sẵn nhiều kịch bản và được huấn luyện với khối lượng dữ liệu lớn giúp xây dựng chatbot hiệu quả Đáng chú ý là Dialogflow hoạt động tốt hơn với tiếng Anh và một số ngôn ngữ của các nước đông dân, trong đó có tiếng Việt Bên cạnh đó, Dialogflow cho phép liên kết chatbot của bạn với Messenger, Skype và Slack một cách rất đơn giản, tối ưu cho triển khai trên nhiều kênh giao tiếp và tăng hiệu quả chăm sóc khách hàng.

Giao diện chatbot

Hình 3.2-1 mô tả trang trò chuyện với ChatBot, là giao diện diễn ra quá trình tương tác giữa chatbot tư vấn và người dùng Người dùng truy cập giao diện này bằng cách nhấn nút Chatbot ở phía bên phải màn hình chính để nhận được tư vấn và hỗ trợ từ hệ thống.

Ở đây người dùng có thể nhập thắc mắc và được chatbot tư vấn lập tức về các vấn đề liên quan đến trung tâm, khóa học và lộ trình học, giúp nhận được phản hồi nhanh và chuẩn xác Hệ thống hỗ trợ 24/7 giải đáp các câu hỏi về chương trình học, lịch khai giảng, mức học phí và các tùy chọn học tập phù hợp với nhu cầu từng người Các đối tượng trên màn hình được bố trí rõ ràng và trực quan để tăng cường khả năng tương tác, hiển thị các liên kết hữu ích, câu hỏi thường gặp và các tùy chọn tư vấn, từ đó tối ưu hóa trải nghiệm người dùng và hiệu quả SEO cho trang.

STT Tên đối tượng Loại Chức năng

1 Khung chat Div Khung chat giữa người dùng và

3 Chat Bubble Span Nội dung thoại

4 Vùng nhập thoại Input Vùng nhập nội dung thoại người dùng muốn nói

5 Nút gửi thoại Button Gửi nội dung thoại trong Vùng nhập thoại đến Chatbot

Quy trình hoạt động

Dialogflow Agent là một Chatbot ảo được thiết kế để xử lý các cuộc trò chuyện và đối thoại với người dùng Là một mô-đun hiểu ngôn ngữ tự nhiên, nó có thể nhận diện sắc thái cảm xúc và ngữ cảnh trong cuộc hội thoại Dialogflow Agent có khả năng hiểu văn bản hoặc giọng nói và phản hồi lại cho người dùng một cách tự nhiên Người lập trình viên có thể dễ dàng tạo và thiết kế một Agent để xử lý các đoạn hội thoại trong ứng dụng.

Dialogflow Agent hoạt động như một nhân viên hỗ trợ cuộc gọi trong các trung tâm chăm sóc khách hàng, được huấn luyện để xử lý các tình huống hội thoại dự kiến một cách hiệu quả Đặc biệt, quá trình đào tạo của Agent không cần quá chi tiết như đào tạo truyền thống, vì bot có khả năng tự học từ dữ liệu và các tương tác thực tế trong quá trình xử lý thông tin, nhờ nền tảng AI và máy học để cải thiện độ chính xác và hiệu suất giao tiếp theo thời gian.

Với chế độ Agent Setting (cài đặt tùy chỉnh Bot), người lập trình có thể tùy chọn gói ngôn ngữ, cài đặt chương trình học máy và kiểm soát hành vi của Bot thông qua các thiết lập tùy chỉnh này, từ đó tối ưu hóa hiệu suất, tính linh hoạt và đáp ứng tốt hơn các nhu cầu ứng dụng tự động.

- Intents: Phân loại thoại người dùng có thể sử dụng trong quá trình trò chuyện

- Entities: Xác định và rút trích dữ liệu cụ thể từ thoại người dùng sử dụng

Knowledge: Phân tích tài liệu và tìm câu trả lời tự động

- Integrations: Tích hợp cho các ứng dụng hoặc dịch vụ tương tác khác (ví dụ: Google Assistant)

- Fulfillment: Thực hiện kết nối với dịch vụ tích hợp khác b Về Intent

Intent (Intention) được sử dụng để phân loại lời thoại của người dùng trong một cuộc trò chuyện Mỗi Bot có thể định nghĩa nhiều Intent và có thể kết hợp, phân cấp các Intent để tạo thành một cuộc trò chuyện hoàn chỉnh Khi người dùng nhập lời thoại, ChatBot DialogFlow sẽ đối sánh và tìm ra Intent phù hợp nhất, rồi gửi phản hồi lại Quá trình đối sánh lời thoại này được gọi là phân loại Intent (Intent classification).

Một Intent cơ bản bao gồm những phần như sau:

Training phrases là tập hợp các cụm từ đào tạo trong một Intent, là những câu người dùng có thể nói khi trò chuyện với Chatbot Khi lời thoại của người dùng tương đồng với một trong các Training phrases, Dialogflow sẽ xác định đúng Intent, thực thi Action và trả về các Responses của Intent đó Nhờ khả năng học hỏi bằng trí tuệ nhân tạo, Dialogflow có thể tự động mở rộng danh sách Training phrases bằng các cụm từ tương tự với những gì người dùng nhập, từ đó tăng khả năng phân loại Intent và giảm thiểu thời gian phát triển cho lập trình viên.

Action là hành động của một Intent, có thể được điều chỉnh tùy ý Khi một Intent khớp với câu thoại người dùng nhập vào, Chatbot sẽ cung cấp phần Action cho hoạt động của Intent nhằm kích hoạt các hành động cụ thể do người tạo quy định.

Trong Dialogflow, Parameters là các tham số đi kèm với một Intent Khi một Intent được trùng khớp với lời thoại người dùng, Dialogflow sử dụng Parameters để cung cấp các giá trị được trích xuất từ nội dung lời nói Mỗi tham số có một kiểu, được xác định theo kiểu của Entity tương ứng, thể hiện đúng bản chất của tham số đó Không giống như lời thoại đầu vào thô, các tham số là dữ liệu có cấu trúc có thể dễ dàng được dùng để thực hiện các logic hoặc tạo phản hồi tự động.

Phản hồi của Intent có thể ở dạng văn bản, giọng nói hoặc hình ảnh, cho phép Dialogflow Chatbot giao tiếp với người dùng ở nhiều phương thức Dialogflow Chatbot có thể cung cấp các phản hồi đa dạng, như trả lời câu hỏi, đặt câu hỏi nhằm thu thập thêm thông tin, hoặc chấm dứt cuộc trò chuyện khi cần thiết, từ đó tối ưu hóa trải nghiệm người dùng và hiệu quả tương tác.

Một Intent phức tạp còn có thể có thêm những phần sau:

Contexts: Ngữ cảnh của Intent Tương tự trong thực tế, khi giao tiếp, chúng ta cần có ngữ cảnh để hiểu người nói đang đề cập đến điều gì Như vậy, để nhận diện đúng ý định (intent) và đưa ra phản hồi phù hợp, cần phân tích các yếu tố ngữ cảnh như mục tiêu giao tiếp, bối cảnh xã hội, thời gian và địa điểm, cũng như dấu hiệu ngôn ngữ và ngôn ngữ cơ thể Việc nắm bắt ngữ cảnh giúp tối ưu hóa nội dung, cải thiện sự hiểu biết và tăng hiệu quả truyền thông trong mọi tình huống.

Dialogflow Chatbot hiểu được thoại của người dùng nhập vào, nên cần xác định các ngữ cảnh khớp chính xác Contexts trong Intent sẽ bao gồm Lifespan — vòng đời của ngữ cảnh, tương ứng với số thoại tiếp theo mà Chatbot nhận được; khi Lifespan còn tồn tại, chatbot sẽ ngầm hiểu cuộc hội thoại vẫn nằm trong ngữ cảnh của Intent đó Nói ngắn gọn, Lifespan cho biết ngữ cảnh còn hiệu lực hay đã kết thúc, từ đó chatbot duy trì trạng thái và hiểu đúng ý người dùng ở các lượt đối thoại tiếp theo.

Trong thiết kế Intent, Sự kiện (Events) đóng vai trò là cơ chế kích hoạt cho một Intent khi một sự kiện cụ thể xảy ra, thay vì phải nhận đầu vào từ người dùng cuối Điều này cho phép hệ thống tự động kích hoạt hành động phù hợp dựa trên ngữ cảnh sự kiện, cải thiện sự phản hồi và hiệu quả xử lý ngôn ngữ tự nhiên Về Entity, đây là thành phần nhận diện các thực thể thông tin trong dữ liệu người dùng, giúp làm rõ ý nghĩa và xác định đối tượng để gắn nhãn và xử lý dữ liệu một cách chính xác.

Mỗi Parameter của Intent có một kiểu Entity, cho biết chính xác kiểu dữ liệu của cụm từ được trích xuất từ thoại người dùng nhập vào

Dialogflow Chatbot offers a variety of entities that can map to user utterances, enabling robust natural-language understanding Entities can be customized, with each entity serving a distinct purpose to support different use cases The article also covers Fulfillment, outlining how to connect intents to actions and external services to complete user requests.

Fulfillment (hay Webhook) là một API ở Backend mà chúng ta cung cấp để Dialogflow gọi đến khi cần xử lý nghiệp vụ trước khi Dialogflow trả lời cho người dùng Fulfillment cho phép xử lý các tác vụ phức tạp như gọi dịch vụ bên ngoài, xác thực người dùng và duy trì ngữ cảnh trò chuyện, từ đó Dialogflow trả về câu trả lời phù hợp với yêu cầu của người dùng.

Hình 3.3-1: Mô phỏng các hoạt động của Chatbot với Fullfillment

Việc liên kết giữa backend của website và chatbot cho phép chatbot thực hiện chính xác và đồng bộ với thông tin trên website, đồng thời thực hiện các tính toán phát sinh từ dữ liệu để cung cấp câu trả lời nhất quán và hỗ trợ xử lý các yêu cầu tính toán phức tạp, từ đó nâng cao trải nghiệm người dùng và hiệu quả vận hành của hệ thống.

Ngoài ra, thông qua Backend này, website cho phép người dùng ở vị trí Manager hay quản lý có thể chỉnh sửa một số thoại chứa thông tin tư vấn của Chatbot khi cần thiết Việc chỉnh sửa này giúp đảm bảo nội dung tư vấn phù hợp với ngữ cảnh và mục tiêu kinh doanh Bên cạnh đó, bài viết mô tả cách bot xử lý input để đưa ra output, từ đó tối ưu hóa chất lượng câu trả lời và trải nghiệm người dùng trên nền tảng Thiết kế Backend và luồng xử lý được tối ưu để dễ bảo trì, mở rộng và tích hợp với các thành phần khác của hệ thống.

Hình 3.3-2: Luồng xử lý hoạt động của Dialogflow Chatbot Đầu tiên, người dùng nhập vào lời thoại, và gửi đến Dialogflow Chatbot thông qua Google Cloud

Sau khi nhận được lời thoại, Agent Bot đối sách với các cụm từ Training phrases Intent đã được tạo, lấy ra Intent trùng khớp

Sơ đồ kịch bản đối thoại

STT Intent Mô tả/ Ghi chú

1 Thi thử Gồm những thông tin, ghi chú kèm lời cảm ơn khi đăng ký thi thử, chuyển hướng người dùng đến trang đăng ký

2 Đóng tiền Thông tin về những phương pháp đóng tiền tại trung tâm

3 Bảo lưu Thông tin về việc bảo lưu kết quả học tập tại trung tâm

4 Liên hệ Thông tin về những liên hệ đến trung tâm

5 Trung tâm Thông tin chung về trung tâm

6 Cơ sở vật chất Thông tin chi tiết về cơ sở vật chất của trung tâm

7 Lịch sử hình thành Thông tin chi tiết về lịch sử hình thành của trung tâm

8 Phương pháp giảng dạy Thông tin chi tiết về phương pháp giảng dạy của trung tâm

9 Thành tích nổi bật Thông tin chi tiết về thành tích nổi bật của trung tâm

10 Khóa học Thông tin chung về những khóa học do trung tâm cung cấp

11 Luyện thi IELTS Thông tin chi tiết về khóa học Luyện thi

12 Luyện thi IELTS - 1v1 Thông tin chi tiết về khóa học Luyện thi

IELTS hình thức một kèm một

13 Luyện thi IELTS - PRE Thông tin chi tiết về khóa học Luyện thi

IELTS mức độ Sơ cấp

14 Luyện thi IELTS - INTER Thông tin chi tiết về khóa học Luyện thi

IELTS mức độ Trung cấp

15 Luyện thi IELTS - ADV Thông tin chi tiết về khóa học Luyện thi

IELTS mức độ Cao cấp

16 Tiếng Anh cho người đi làm Thông tin chi tiết về khóa học Tiếng Anh cho người đi làm

17 Tiếng Anh đi làm - PRE Thông tin chi tiết về khóa học Tiếng Anh cho người đi làm mức độ văn bằng A

18 Tiếng Anh đi làm - INTER Thông tin chi tiết về khóa học Tiếng Anh cho người đi làm mức độ văn bằng B

19 Tiếng Anh đi làm - ADV Thông tin chi tiết về khóa học Tiếng Anh cho người đi làm mức độ văn bằng C

20 Tiếng Anh cho bé Thông tin chi tiết về khóa học Tiếng Anh cho bé

21 Tiếng Anh cho bé - KINDER Thông tin chi tiết về khóa học Tiếng Anh cho bé ở độ tuổi Mẫu giáo

22 Tiếng Anh cho bé - PRIMARY Thông tin chi tiết về khóa học Tiếng Anh cho bé ở độ tuổi Tiểu học

23 Tư vấn Xác nhận lại thông tin, tiến hành hoạt động tư vấn khóa học của Bot

24 Tư vấn - Luyện thi IELTS

Bot tư vấn khóa luyện thi IELTS dựa trên thông tin người dùng, bao gồm chứng chỉ hiện tại, mục tiêu mong muốn và thời gian học, để định ra lớp học phù hợp nhất Qua dữ liệu nhập đầu vào, bot xác định trình độ hiện tại, mục tiêu điểm IELTS và khung thời gian đạt được, từ đó đề xuất lộ trình ôn luyện và các lớp luyện thi IELTS phù hợp Ngoài ra, bot gợi ý lịch học, tài liệu ôn tập và công cụ hỗ trợ thi IELTS nhằm tối ưu hóa tiến độ và hiệu quả học tập Dịch vụ tư vấn cá nhân hóa giúp người học chọn khóa luyện thi IELTS phù hợp với nhu cầu, tiết kiệm thời gian và tăng cơ hội đạt điểm thi như mong muốn.

25 Tư vấn - Tiếng Anh đi làm Tư vấn về khóa học Tiếng Anh đi làm,

Bot dựa vào mục tiêu mong muốn của người dùng và định ra lớp học phù hợp

26 Tư vấn - Tiếng Anh cho bé Tư vấn về khóa học Tiếng Anh cho bé,

Bot dựa vào độ tuổi hiện tại của bé để định ra lớp học phù hợp

THIẾT KẾ HỆ THỐNG

Kiến trúc hệ thống: Mô hình MVC

Model là thành phần lưu trữ toàn bộ dữ liệu của ứng dụng, đóng vai trò cầu nối giữa cơ sở dữ liệu quản lý và giao diện người dùng Nó cho phép người dùng nhập và xuất dữ liệu tới các cơ sở dữ liệu theo quyền hạn của họ khi cần thiết và đảm bảo dữ liệu được lưu trữ an toàn trên database.

View là giao diện người dùng trong mô hình MVC, cho phép người dùng truy cập và xem dữ liệu thông qua các công thức truy vấn và ghi lại các hoạt động của người dùng để tương tác với Controller Nhờ đó View trình bày dữ liệu từ Model và nhận sự kiện người dùng, chuyển tiếp đến Controller để xử lý và cập nhật trạng thái ứng dụng, đảm bảo sự phân tách rõ ràng giữa giao diện người dùng và logic kinh doanh.

Controller xử lý các yêu cầu từ người dùng thông qua View Từ đó, Controller kết nối với Model để lấy dữ liệu phù hợp và cập nhật dữ liệu khi cần, sau đó gửi kết quả về View để trình diễn cho người dùng một cách trực quan và hợp lý.

Hình 4.1-1: Sơ đồ mô hình MVC

Chi tiết các thành phần trong hệ thống

STT Thành phần Chi tiết

Giao diện người dùng cung cấp nền tảng trực quan cho người dùng thực hiện các thao tác nhập và xuất dữ liệu một cách dễ dàng, đồng thời trong quá trình sử dụng hệ thống sẽ hiển thị thông báo lỗi ngay khi phát sinh để người dùng nhận biết và khắc phục sự cố nhanh chóng.

Trong mô hình MVC 2, hệ thống tiếp nhận yêu cầu từ giao diện người dùng, kiểm tra tính đúng đắn của dữ liệu theo các ràng buộc đã định và chỉ thực thi yêu cầu khi các điều kiện được đáp ứng, từ đó đảm bảo luồng xử lý được tách biệt giữa giao diện, điều khiển và mô hình dữ liệu.

3 Cơ sở dữ liệu Lưu trữ toàn bộ dữ liệu liên quan đến thông tin trung tâm.

ĐẶC TẢ USE CASE

Sơ đồ Use Case

Hình 5.1-1: Sơ đồ Use Case

Danh sách tác nhân

STT Tác nhân Mô tả/ Ghi chú

1 Guest Người dùng khách, là người dùng khi không đăng nhập

2 Account User Người dùng sỡ hữu tài khoản nội bộ

3 Employee Vị trí nhân viên, người nhân viên quản lý danh sách bài đăng và thông tin trung tâm trên ứng dụng

4 Manager Vị trí quản lý, người quản lý quản lý danh sách tài khoản nội bộ đăng nhập vào ứng dụng

5 Chatbot Bot hỗ trợ, tự động trò chuyện dựa theo thoại tạo sẵn

6 Database Hệ thống lưu trữ dữ liệu của ứng dụng

STT Tính năng Mô tả/ Ghi chú

1 Xem thông tin trung tâm Dành cho Người dùng khách, xem thông tin trên trang web

2 Xem thông tin khóa học Dành cho Người dùng khách, xem thông tin trên trang web

3 Đăng ký thi thử Dành cho Người dùng khách, đặt lịch thi thử/ tư vấn trực tiếp tại trung tâm

4 Theo dõi bài viết Dành cho Người dùng khách, xem thông tin bài viết do trung tâm cung cấp

5 Theo dõi hỏi đáp Dành cho Người dùng khách, xem thông tin hỏi đáp do trung tâm cung cấp

6 Trò chuyện với Bot Dành cho Người dùng khách, tìm hiểu thêm về trung tâm thông qua Bot tự động

7 Đăng nhập Dành cho Người dùng sở hữu tài khoản nội bộ, đăng nhập vào web

8 Quên mật khẩu Dành cho Người dùng sở hữu tài khoản nội bộ, đặt mật khẩu mới thông qua mail

9 Đăng xuất Dành cho Người dùng sở hữu tài khoản nội bộ, đăng xuất khỏi web

10 Cập nhật thông tin cá nhân Dành cho Người dùng sở hữu tài khoản nội bộ, cập nhật thông tin cá nhân

11 Đổi mật khẩu Dành cho Người dùng sở hữu tài khoản nội bộ, đổi mật khẩu tài khoản mới

12 Quản lý danh sách bài viết Dành cho Nhân viên, quản lý bài viết

13 Xem bài viết Dành cho Nhân viên, xem chi tiết bài viết

14 Cập nhật bài viết Dành cho Nhân viên, cập nhật chi tiết bài viết

15 Tạo bài viết Dành cho Nhân viên, tạo mới bài viết

16 Khóa bài viết Dành cho Nhân viên, khóa bài viết

17 Tìm bài viết Dành cho Nhân viên, tìm bài viết

18 Lọc danh sách bài viết Dành cho Nhân viên, lọc danh sách bài viết

19 Quản lý danh sách hỏi đáp Dành cho Nhân viên, quản lý hỏi đáp

20 Xem hỏi đáp Dành cho Nhân viên, xem chi tiết hỏi đáp

21 Cập nhật hỏi đáp Dành cho Nhân viên, cập nhật chi tiết hỏi đáp

22 Tạo hỏi đáp Dành cho Nhân viên, tạo mới hỏi đáp

23 Khóa hỏi đáp Dành cho Nhân viên, khóa hỏi đáp

24 Tìm hỏi đáp Dành cho Nhân viên, tìm hỏi đáp

25 Lọc danh sách hỏi đáp Dành cho Nhân viên, lọc danh sách hỏi đáp

26 Quản lý danh sách tài khoản Dành cho Quản lý, quản lý tài khoản nội bộ

27 Xem tài khoản Dành cho Quản lý, xem chi tiết tài khoản

28 Cập nhật tài khoản Dành cho Quản lý, cập nhật chi tiết tài khoản

29 Tạo tài khoản Dành cho Quản lý, tạo mới tài khoản

30 Khóa tài khoản Dành cho Quản lý, khóa tài khoản

31 Tìm tài khoản Dành cho Quản lý, tìm tài khoản

32 Lọc danh sách tài khoản Dành cho Quản lý, lọc danh sách tài khoản nội bộ

33 Quản lý Bot Dành cho Quản lý, quản lý Bot

34 Xem lời thoại Dành cho Quản lý, xem lời thoại

35 Cập nhật lời thoại Dành cho Quản lý, cập nhật lời thoại

36 Khóa lời thoại Dành cho Quản lý, khóa lời thoại

37 Tìm lời thoại Dành cho Quản lý, tìm lời thoại

38 Lọc danh sách lời thoại Dành cho Quản lý, lọc danh sách lời thoại

39 Kiểm thử Bot Dành cho Quản lý, kiểm thử Bot

Mô tả chi tiết Use Case

Mô tả chi tiết tính năng “Cung cấp thông tin trung tâm”

Người dùng nhập truy cập vào trang web, xem được những thông tin về trung tâm như giới thiệu, thành tích, cơ sở

1 Người dùng chọn mục Giới thiệu

2 Người dùng chọn mục giới thiệu muốn xem

3 Hệ thống điều hướng người dùng đến trang Giới thiệu tương ứng

4 Người dùng kéo, hoặc cuộn chuột xuống để xem thông tin

Yêu cầu đặc biệt Không Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau Người dùng xem được thông tin chi tiết về trung tâm

Mô tả chi tiết tính năng “Xem thông tin khóa học”

Người dùng khách truy cập vào trang web, xem được những thông tin chỉ tiết về các khóa học của trung tâm

1 Người dùng chọn mục Khóa học

2 Người dùng chọn loại khóa học muốn xem

3 Hệ thống điều hướng người dùng đến trang Chi tiết khóa học tương ứng

4 Người dùng kéo, hoặc cuộn chuột xuống để xem thông tin

Yêu cầu đặc biệt Không Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau Người dùng xem được thông tin chi tiết về khóa học

Mô tả chi tiết tính năng “Đăng ký thi thử”

Người dùng khách đăng ký tư vấn, hoặc thi thử thông qua hình thức điền form do trang web cung cấp

1 Người dùng kéo, hoặc cuộn chuột xuống tại trang bất kì

2 Người dùng thấy mục Đăng ký tư vấn/ thi thử

3 Người dùng điền thông tin cá nhân vào phiếu và bấm Đăng ký

4 Hệ thống xử lý và gửi thư xác nhận đến Email người dùng

1 Người dùng bấm vào mục Giới thiệu trên thanh Header

2 Người dùng tiếp tục bấm mục Liên hệ

3 Hệ thống điều hướng người dùng đến trang Liên hệ

4 Tiếp tục thực hiện theo Luồng chính bước 2

Yêu cầu đặc biệt Email, số điện thoại, ngày đăng ký phải hợp lệ Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau

Thư xác nhận được gửi đến Email người dùng

Thông tin buổi hẹn được lưu trữ trong database

Mô tả chi tiết tính năng “Theo dõi bài viết”

Người dùng theo dõi thông tin các bài viết do nhân viên của trung tâm cung cấp, với nội dung bao gồm giới thiệu về trung tâm, các khóa học, chương trình đào tạo và các hoạt động ngoại khóa.

1 Người dùng vào mục Tin tức trên thanh Header

2 Hệ thống điều hướng người dùng đến trang Danh sách bài viết tổng quát

3 Người dùng bấm vào bài viết muốn xem

4 Hệ thống điều hướng người dùng đến trang Chi tiết bài viết tương ứng

A.Xem danh sách bài viết

1 Người dùng vào mục Tin tức trên thanh Header

2 Hệ thống điều hướng người dùng đến trang Danh sách bài viết tổng quát

3 Người dùng bấm vào nút Xem tất cả của phân loại muốn xem

4 Hệ thống điều hướng người dùng đến trang Danh sách bài viết theo phân loại

5 Người dùng bấm chuyển trang qua lại để xem toàn bộ danh sách

6 Người dùng bấm vào bài viết muốn xem

7 Hệ thống điều hướng người dùng đến trang Chi tiết bài viết tương ứng

B.Xem bài viết mới nhất

1 Người dùng đang ở trang Chỉ tiết bài viết

2 Hệ thống hiện thị Top 5 danh sách bài viết mới nhất

3 Người dùng bấm vào bài viết trong danh sách

4 Hệ thống diều hướng người dùng đến trang Chi tiết bài viết tương ứng

Yêu cầu đặc biệt Không Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau Người dùng xem được chi tiết bài viết

Mô tả chi tiết tính năng “Theo dõi hỏi đáp”

Người dùng khách có thể theo dõi danh sách những câu hỏi thường gặp kèm lời giải đáp do phía trung tâm tổng hợp và cung cấp

1 Người dùng bấm vào mục Giới thiệu trên thanh Header

2 Người dùng tiếp tục bấm vào mục Hỏi đáp

3 Hệ thống điều hướng người dùng đến trang Danh sách hỏi đáp

4 Người dùng bấm chuyển trang qua lại để xem toàn bộ danh sách

5 Người dùng bấm vào Hỏi đáp muốn đọc

6 Hệ thống xổ xuống nội dung chi tiết Hỏi đáp tương ứng

Yêu cầu đặc biệt Không Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau Người dùng xem được chi tiết hỏi đáp

Mô tả chi tiết tính năng “Trò chuyện với Bot”

Người dùng có thể trò chuyện với bot tự động để được tư vấn về khóa học và nhận thông tin về trung tâm một cách nhanh chóng và chính xác nhất Bot tự động giúp tiết kiệm thời gian tra cứu và cung cấp đầy đủ thông tin liên quan đến chương trình học, lịch khai giảng và các dịch vụ tại trung tâm.

1 Người dùng bấm nút biểu tượng Chatbot trên trang web

2 Hệ thống hiển thị Hộp thoại trò chuyện với Bot

3 Người dùng nhập thoại và bấm gửi

4 Hệ thống gửi lời thoại của người dùng đến Bot

5 Bot trả lời thoại người dùng

6 Hệ thống nhận lời thoại của Bot hiển thị lên Hộp thoại

A.Sử dụng gợi ý giao tiếp

1 Người dùng trò chuyện thành công với Bot

2 Hộp thoại xuất hiện thẻ gợi ý

3 Người dùng bấm vào những thẻ gợi ý

4 Lời thoại gợi ý hiển thị trong ô nhập lời thoại người dùng

5 Người dùng bấm vào lời thoại gợi ý

6 Thực hiện tiếp tục theo Bước 4 của Luồng chính

1 Người dùng trò chuyện thành công với Bot

2 Hộp thoại xuất hiện thẻ Link

3 Người dùng bấm vào thẻ Link

4 Hệ thống điều hướng người dùng đến Link tương ứng

Yêu cầu đặc biệt Bot liên kế với database Điều kiện trước Người dùng truy cập vào ứng dụng Điều kiện sau Người dùng trò chuyện được với Bot

Mô tả chi tiết tính năng “Đăng nhập”

Mô tả chi tiết Người dùng sở hữu tài khoản, sử dụng tài khoản truy cập vào ứng dụng

1 Người dùng bấm vào nút Đăng nhập trên thanh Header

2 Hệ thống hiển thị Hộp thoại Đăng nhập

3 Người dùng nhập thông tin Tài khoản, Mật khẩu và bấm xác nhận

4 Hệ thống kiểm tra thông tin người dùng nhập, xác thực thành công

5 Hệ thống điều hướng người dùng đến phần trang web dành cho nội bộ trung tâm

Luồng phụ A Tài khoản mật khẩu không đúng

1 Người dùng nhập sai thông tin Tài khoản hoặc Mật khẩu

2 Hệ thống kiểm tra thông tin người dùng nhập, xác thực thất bại

3 Hệ thống hiển thị thông báo thất bại trên Hộp thoại

1 Người dùng nhập thông tin Tài khoản, mật khẩu

2 Người dùng bấm chọn Ghi nhớ đăng nhập và bấm xác nhận

Để thực hiện yêu cầu đặc biệt, tài khoản được cấp trong nội bộ trung tâm và phải do quản lý cấp duyệt Điều kiện tiên quyết là người dùng phải sở hữu tài khoản nội bộ; các điều kiện tiếp theo sẽ được áp dụng để đảm bảo việc cấp phát tài khoản nội bộ diễn ra đúng quy trình và quyền hạn được quản lý cấp kiểm soát.

Người dùng truy cập vào phần trang web dành cho nội bộ với tư cách Nhân viên/ Quản lý dựa theo vị trí của tài khoản đăng nhập

Mở rộng Tính năng “Quên mật khẩu”

Mô tả chi tiết tính năng “Quên mật khẩu”

Người dùng sở hữu tài khoản và đã truy cập ứng dụng nhưng quên mật khẩu có thể yêu cầu phục hồi mật khẩu qua email được liên kết với tài khoản Việc này giúp nhận liên kết đặt lại mật khẩu an toàn, nhanh chóng và dễ thực hiện Để bắt đầu, hãy nhập địa chỉ email đã đăng ký, xác nhận qua mã xác thực nếu được yêu cầu, sau đó nhấp vào liên kết trong email để thiết lập mật khẩu mới.

1 Người dùng bấm nút Đăng nhập trên thanh Header

2 Hệ thống hiển thị Hộp thoại Đăng nhập

3 Người dùng bấm vào nút Quên mật khẩu, được điều hướng đến trang Quên mật khẩu

4 Người dùng nhập Email đã xác thực trong tài khoản và bấm Xác nhận

5 Hệ thống xác thực Email và gửi liên kết đổi mật khẩu đến Email người dùng

6 Người dùng truy cập vào link được gửi

7 Người dùng nhập mật khẩu mới

8 Hệ thống kiểm tra tính hợp lệ của mật khẩu mới, thành công

9 Hệ thống tiến hành cập nhật vào Database, lúc này người dùng có thể đăng nhập vào ứng dụng

Mật khẩu mới không hợp lệ

1 Thực hiện theo bước 1 đến 6 ở luồng sự kiện chính

2 Hệ thống kiểm tra mật khẩu mới không hợp lệ, thông báo Đổi mật khẩu mới thất bại, yêu cầu người dùng thực hiện lại thao tác bước 6

Yêu cầu đặc biệt: email nhận link khôi phục phải là email xác thực của tài khoản để đảm bảo tính xác thực và an toàn cho quá trình khôi phục Điều kiện trước là người dùng phải sở hữu tài khoản nội bộ Điều kiện sau là người dùng có thể đổi mật khẩu mới thông qua hệ thống khôi phục mật khẩu của nền tảng.

Email và đăng nhập thành công vào ứng dụng bằng mật khẩu mới

Mô tả chi tiết tính năng “Đăng xuất”

Mô tả chi tiết Người dùng đã đăng nhập đăng xuất khỏi ứng dụng và trở về trang Home với tư cách là Người dùng khách

1 Người dùng nhấp vào nút Đăng xuất trên phần Menu bên trái giao diện

2 Hệ thống tiến hành xử lý, thoát đăng nhập và điều hướng người dùng vể trang chủ với tư cách là người dùng khách

Trong quy trình này, không có yêu cầu đặc biệt Điều kiện trước là người dùng phải đăng nhập thành công trước đó Điều kiện sau là người dùng được điều hướng về trang chủ với tư cách là người dùng khách.

Mô tả chi tiết tính năng “Cập nhật thông tin cá nhân”

Người dùng sau khi đăng nhập thành công có thể tự điều chỉnh thông tin tài khoản cá nhân như Họ tên, Ngày sinh, Ảnh đại diện

1 Người dùng nhấp vào mục Cài đặt tài khoản trên thanh Menu phía bên trái màn hình giao diện

2 Hệ thống điều hướng người dùng đến Cài đặt tài khoản

3 Người dùng chọn phần thông tin muốn cập nhật

4 Hệ thống hiển thị Hộp thoại cập nhật thông tin

5 Người dùng cập nhật thông tin cá nhân và bấm xác nhận

6 Hệ thống xử lý, cập nhật thông tin tài khoản người dùng ở database và thực hiện load lại trang

Cập nhật Avatar thành công

1 Người dùng truy cập thành công vào trang Cài đặt tài khoản

2 Người dùng bấm vào Avatar

3 Hệ thống xử lý, hiển thị Thư mục chọn hình ảnh

4 Người dùng chọn hình ảnh từ thiết bị

5 Hệ thống load hình ảnh người dùng chọn, hiển thị lên giao diện

6 Người dùng bấm xác nhận cập nhật

7 Hệ thống lưu Ảnh đại diện mới của người dùng vào database và load lại trang

Yêu cầu đặc biệt trước khi cập nhật: người dùng phải xác nhận lại và đảm bảo đã đăng nhập thành công vào hệ thống Điều kiện sau là hệ thống sẽ thay đổi thông tin tài khoản của người dùng và cập nhật các thay đổi đó vào cơ sở dữ liệu.

Mô tả chi tiết tính năng “Đổi mật khẩu”

Mô tả chi tiết Người dùng đổi mật khẩu tài khoản

1 Người dùng nhấp vào mục Cài đặt tài khoản trên thanh Menu phía bên trái màn hình giao diện

2 Người dùng nhấp vào mục Đổi mật khẩu

3 Hệ thống hiện thị Hộp thoại Đổi mật khẩu

4 Người dùng nhập mật khẩu cũ, mật khẩu mới và xác nhận lại, và bấm Xác nhận

5 Hệ thống kiểm tra và lưu thông tin mật khẩu mới của người dùng vào database

Mật khẩu cũ không hợp lệ

1 Người dùng nhập sai mật khẩu cũ và bấm Xác nhận

2 Hệ thống thông báo Mật khẩu không hợp lệ

3 Mật khẩu mới không hợp lệ

4 Người dùng nhập mật khẩu mới và xác nhận lại không trùng khớp

5 Hệ thống kiểm tra và thông báo Mật khẩu không trùng khớp

Yêu cầu đặc biệt cho thao tác đổi mật khẩu là mật khẩu mới phải khớp với mật khẩu xác nhận Điều kiện trước là người dùng phải đăng nhập thành công trước khi tiến hành đổi mật khẩu Điều kiện sau là hệ thống sẽ cập nhật mật khẩu mới vào cơ sở dữ liệu để bảo đảm an toàn cho tài khoản người dùng.

Mô tả chi tiết tính năng “Quản lý danh sách bài viết”

Nhân viên quản lý thông tin bài viết, danh sách phân loại theo mục Học thuật,

1 Nhân viên bấm vào mục Quản lý bài viết trên thanh Menu bên trái giao diện

2 Hệ thống hiển thị danh sách toàn bộ bài viết cùng các tính năng, tiện ích dành cho việc quản lý

Yêu cầu đặc biệt cho hệ thống: Tính năng chỉ dành cho Nhân viên Điều kiện trước: Người dùng phải đăng nhập thành công vào ứng dụng với vai trò Nhân viên Điều kiện sau: Sau khi đăng nhập, người dùng có thể thực hiện các tính năng và tiện ích dành cho việc quản lý, như quản lý dữ liệu, giám sát hoạt động và xử lý yêu cầu, nhằm tăng cường an toàn, hiệu quả và sự vận hành suôn sẻ của tổ chức.

Tính năng “Xem bài viết”

Tính năng “Cập nhật bài viết”

Tính năng “Tạo bài viết”

Tính năng “Khóa bài viết”

Tính năng “Tìm bài viết”

Tính năng “Lọc danh sách bài viết”

Mô tả chi tiết tính năng “Xem bài viết”

Mô tả chi tiết Nhân viên xem thông tin chi tiết bài viết

1 Nhân viên bấm vào bài viết bất kì trong danh sách

2 Hệ thống điều hướng Nhân viên đến trang Chi tiết bài viết Nội bộ

Trong hệ thống này, yêu cầu đặc biệt là Không có; điều kiện trước là người dùng đăng nhập thành công vào ứng dụng với vai trò Nhân viên; điều kiện sau là sau khi đăng nhập, Nhân viên có thể xem được thông tin chi tiết bài viết.

Mở rộng Tính năng “Cập nhật bài viết”

Mô tả chi tiết tính năng “Cập nhật bài viết”

Mô tả chi tiết Nhân viên điều chỉnh thông tin bài đã đăng

1 Người dùng bấm vào mục Tin tức

2 Người dùng bấm vào mục Xem tất cả

3 Người dùng chọn bài đăng cần chỉnh sửa và chọn nút edit

4 Hệ thống điều hướng người dùng đến trang Bài viết với nội dung hiện có

5 Người dùng tiến hành cập nhật và bấm nút Xác nhận

6 Hệ thống tiến hành xử lý

Tiếp cận chức năng qua Menu phụ

1 Người dùng nhấp vào biểu tượng Menu trên màn hình, hộp thoại menu xuất hiện bên trái màn hình

2 Người dùng bấm vào mục Quản lý tài khoản

3 Use case thực hiện bước 2 đến 6 như luồng chính

Yêu cầu đặc biệt: Trước khi cập nhật, cần xác nhận lại điều kiện cho phép Người dùng phải đăng nhập thành công vào ứng dụng với tư cách Nhân viên Sau khi điều kiện được xác nhận, thông tin bài đăng sẽ được cập nhật lại vào hệ thống quản lý.

Database, cập nhật hiển thị

Mô tả chi tiết tính năng “Đăng bài viết”

Mô tả chi tiết Nhân viên đăng tin về liên quan về nghiệp vụ của trung tâm

1 Người dùng bấm vào mục Tin tức

2 Người dùng bấm vào mục Xem tất cả và bấm vào nút dấu + trên màn hình

3 Hệ thống điều hướng người dùng đến trang Đăng bài

4 Người dùng nhập thông tin bài đăng và bấm Xác nhận

5 Hệ thống tiến hành xử lý

Tiếp cận chức năng qua Menu phụ

1 Người dùng nhấp vào biểu tượng Menu trên màn hình, hộp thoại menu xuất hiện bên trái màn hình

2 Người dùng bấm vào mục Quản lý bài viết

3 Use case thực hiện bước 2 đến 5 như luồng chính

Yêu cầu đặc biệt cho bài đăng: vị trí thể hiện trên giao diện của ứng dụng là slider hoặc danh sách Điều kiện trước là người dùng phải đăng nhập thành công vào ứng dụng với vai trò Nhân viên Điều kiện sau là bài đăng được cập nhật vào cơ sở dữ liệu và sau đó đăng trên ứng dụng để người dùng có thể xem.

Mô tả chi tiết tính năng “Gỡ bài viết”

Mô tả chi tiết Nhân viên xóa bài đã đăng khỏi

1 Người dùng bấm vào mục Tin tức

2 Người dùng bấm Xem tất cả

3 Người dùng chọn bài đăng cần xóa và bấm xác nhận xóa bài đăng

4 Hệ thống tiến hành xử lý

Tiếp cận chức năng qua Menu phụ

1 Người dùng nhấp vào biểu tượng Menu trên màn hình, hộp thoại menu xuất hiện bên trái màn hình

2 Người dùng bấm vào mục Quản lý bài viết

3 Use case thực hiện bước 2 đến 4 như luồng chính

Yêu cầu đặc biệt cho quy trình xóa bài đăng là hệ thống phải xác nhận lại điều kiện trước khi thực hiện thao tác Điều kiện trước là người dùng phải đăng nhập thành công vào ứng dụng với tư cách Nhân viên Khi điều kiện được xác nhận và thao tác xóa được thực hiện, bài đăng sẽ bị xóa khỏi cơ sở dữ liệu và không còn hiển thị trong ứng dụng.

Mô tả chi tiết tính năng “Tìm bài viết”

Mô tả chi tiết Nhân viên tìm kiếm bài viết theo tiêu đề

1 Nhân viên nhập Tiêu đề bài viết cần tìm vào thanh Tìm kiếm

3 Hệ thống xử lý, tìm kiếm danh sách bài viết có Tiêu đề phù hợp

4 Hệ thống hiển thị danh sách bài viết dựa theo Tiêu đề tìm kiếm

Không có danh sách bài viết phù hợp

1 Hệ thống xử lý không có bài viết nào thỏa Tiêu đề tìm kiếm

2 Hệ thống hiển thị danh sách rỗng Yêu cầu đặc biệt Người dung phải bấm Enter Điều kiện trước Người dùng đăng nhập thành công vào ứng dụng với tư cách Nhân viên Điều kiện sau Nhân viên nhận được danh sách bài viết theo Tiêu đề tìm kiếm

Tính năng “Xem bài viết”

Tính năng “Cập nhật bài viết”

Tính năng “Tạo bài viết”

Tính năng “Khóa bài viết”

Tính năng “Lọc danh sách bài viết”

Mô tả chi tiết tính năng “Lọc danh sách bài viết”

Mô tả chi tiết Nhân viên lọc danh sách bài viết hiện có theo các tiêu chí cho sẵn

1 Nhân viên chọn tiêu chí trong thẻ Lọc danh sách

2 Hệ thống xử lý, lọc và hiển thị lại danh sách theo tiêu chí đã chọn

Yêu cầu đặc biệt: Các tiêu chí được xác định tùy theo danh sách đã cho để đảm bảo tính phù hợp Điều kiện trước là người dùng đăng nhập thành công vào ứng dụng với tư cách Nhân viên Điều kiện sau là nhân viên nhận được danh sách bài viết đã được lọc theo tiêu chí đã định.

Tính năng “Xem bài viết”

Tính năng “Cập nhật bài viết”

Tính năng “Tạo bài viết”

Tính năng “Khóa bài viết”

Tính năng “Tìm bài viết”

Mô tả chi tiết tính năng “Quản lý danh sách hỏi đáp”

Nhân viên quản lý thông tin hỏi đáp, danh sách phan loại theo mục Trung tâm, Khóa học

1 Nhân viên bấm vào mục Quản lý hỏi đáp trên thanh Menu bên trái giao diện

2 Hệ thống hiển thị danh sách toàn bộ hỏi đáp cùng các tính năng, tiện ích dành cho việc quản lý

THIẾT KẾ CƠ SỞ DỮ LIỆU

THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

CÀI ĐẶT VÀ KIỂM THỬ

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w