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

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

39 66 4

Đ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

Tiêu đề Đồ Án Xây Dựng Ứng Dụng Chatbot Hỗ Trợ Tư Vấn Khóa Học
Tác giả Nguyễn Hồ Quỳnh Thư, Cao Ngọc Anh
Người hướng dẫn Trần Anh Dũng, Nguyễn Tấn Toàn
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Đồ Án
Năm xuất bản 2021
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 39
Dung lượng 629,17 KB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU CHUNG (8)
    • 1.1. Lý do chọn đề tài (8)
    • 1.2. Đối tượng sử dụng (9)
    • 1.3. Phạm vi nghiên cứu (9)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (10)
    • 2.1. Android Studio (10)
    • 2.2. Java (10)
    • 2.3. MySQL (12)
    • 2.4. GitHub (12)
    • 2.5. Dialogflow (13)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (14)
    • 3.1. Kiến trúc hệ thống : Mô hình MVC (14)
    • 3.2. Chi tiết các thành phần trong hệ thống (15)
  • CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU (0)
    • 4.1. Sơ đồ logic (0)
    • 4.2. Danh sách các quan hệ (16)
  • CHƯƠNG 5: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG (21)
    • 5.1. Danh sách màn hình (21)
    • 5.2. Mô tả chi tiết từng màn hình (22)
  • CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ (36)
    • 6.1. Môi trường cài đặt và kiểm thử (36)
    • 6.2. Kết quả kiểm thử (37)
  • CHƯƠNG 7: KẾT LUẬN (37)
    • 7.1. Tổng kết (37)
    • 7.2. Khó khăn (37)
    • 7.3. Kết quả đạt được (38)
    • 7.4. Hạn chế của đồ án (38)
    • 7.5. Hướng phát triển (0)

Nội dung

GIỚI THIỆU CHUNG

Lý do chọn đề tài

Nhu cầu học tiếng Anh ngày càng gia tăng, dẫn đến sự đa dạng trong các khóa học tại các trung tâm Anh ngữ Việc lựa chọn khóa học phù hợp trở thành mối quan tâm lớn đối với những người muốn đăng ký Bên cạnh đó, nhiều học viên hiện tại cũng gặp khó khăn trong việc xác định lộ trình học tiếp theo Để đáp ứng nhu cầu này, nhóm chúng tôi đã quyết định phát triển một ứng dụng cung cấp thông tin nhanh chóng về các trung tâm tiếng Anh, đồng thời tích hợp chatbot hỗ trợ tư vấn và hướng dẫn đăng ký cho người dùng.

Đố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 trung tâm mong muốn cung cấp thông tin chi tiết về trung tâm, khóa học và các chương trình đào tạo cho tất cả người dùng truy cập vào ứng dụng.

Phạm vi nghiên cứu

1.3.1 Phạm vi môi trường: Ứng dụng di động

+ 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

Cung cấp liên hệ trực tiếp với nhân viên tư vấn giúp giải quyết các vấn đề vượt ngoài khả năng cá nhân, đồng thời cập nhật phương pháp xử lý hiệu quả cho những tình huống này.

+ Đă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

7 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên

+ Cung cấp thông tin, thông báo mới nhất về trung tâm, về khóa học, về quy chế đào tạo 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, thay đổi và xóa bỏ…

8 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

CƠ SỞ LÝ THUYẾT

Android Studio

Để phát triển ứng dụng di động trên hệ điều hành Android, bạn cần cài đặt Android Studio trên máy tính Bài viết này sẽ hướng dẫn bạn cách cài đặt và sử dụng Android Studio để tạo ứng dụng đơn giản mang tên Hello World Lưu ý rằng hướng dẫn này áp dụng cho hệ điều hành Windows, vì vậy bạn cần một máy tính chạy Windows.

Android Studio là phần mềm phát triển ứng dụng cho thiết bị Android, bao gồm các công cụ như trình chỉnh sửa mã, gỡ lỗi, và công cụ hiệu suất Nó cung cấp hệ thống build/deploy cùng với trình giả lập, giúp lập trình viên dễ dàng phát triển ứng dụng từ đơn giản đến phức tạp trên smartphone và tablet.

Việc phát triển ứng dụng di động bao gồm nhiều bước, bắt đầu từ việc viết mã trên máy tính Sau khi hoàn tất, ứng dụng cần được biên dịch để tạo file cài đặt, sau đó chuyển file này vào thiết bị di động để cài đặt và kiểm thử Tuy nhiên, nếu mỗi lần viết mã đều phải biên dịch và cài đặt lại, quá trình này sẽ rất tốn thời gian Android Studio được thiết kế để tối ưu hóa quy trình phát triển, cho phép thực hiện tất cả các bước trên cùng một máy tính, giúp tiết kiệm thời gian và công sức cho lập trình viên.

9 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Java

Hình 2.2: Ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình hướng đối tượng phổ biến, được ứng dụng rộng rãi trong phát triển phần mềm, trang web, game và ứng dụng di động Với tính năng linh hoạt và khả năng chạy trên nhiều nền tảng, Java trở thành lựa chọn hàng đầu cho các lập trình viên.

- Hướng đối tượng hoàn toàn

Khi phát triển một ngôn ngữ lập trình mới đa nền tảng, các kỹ sư của Sun MicroSystem đã tập trung vào việc tạo ra một ngôn ngữ dễ học và thân thiện với người lập trình Để đạt được điều này, họ đã kế thừa cú pháp từ các ngôn ngữ C và C++.

Trong Java, các thao tác với con trỏ đã bị loại bỏ để đảm bảo tính an toàn và dễ sử dụng Ngoài ra, các thao tác overload, lệnh goto, cùng với các cấu trúc như struct và union cũng không được hỗ trợ trong ngôn ngữ này.

- Độc lập phần cứng và hệ điều hành

Chương trình viết bằng ngôn ngữ Java có khả năng chạy mượt mà trên nhiều môi trường khác nhau, được gọi là khả năng "cross-platform" Sự độc lập về phần cứng và hệ điều hành của Java được thể hiện ở hai cấp độ: mã nguồn và mã nhị phân.

10 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Java là ngôn ngữ lập trình kết hợp giữa biên dịch và thông dịch Khi lập trình viên viết mã, hệ thống sẽ tạo ra tệp java Sau khi biên dịch, mã nguồn sẽ chuyển đổi thành mã byte code Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành mã máy (native code) khi chương trình được yêu cầu chạy.

- Cơ chế thu gom rác tự động

Khi tạo đối tượng trong Java, JRE tự động cấp phát bộ nhớ cho chúng trên heap mà không cần bạn phải hủy vùng nhớ Bộ thu dọn rác của Java theo dõi các tài nguyên đã được cấp phát, và khi không còn tham chiếu nào đến vùng nhớ, nó sẽ tự động thu hồi bộ nhớ đó.

Java hỗ trợ lập trình đa tiến trình (multithreading) cho phép thực hiện nhiều công việc đồng thời, đồng thời cung cấp các giải pháp đồng bộ giữa các tiến trình, bao gồm việc sử dụng ưu tiên (priority) để quản lý hiệu quả.

MySQL

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

MySQL là một hệ quản trị cơ sở dữ liệu tốc độ cao và ổn định, hoạt động trên nhiều hệ điều hành khác nhau Nó cung cấp một hệ thống phong phú các hàm tiện ích mạnh mẽ, giúp quản lý thông tin một cách có tổ chức và hiệu quả MySQL cho phép truy cập dữ liệu nhanh chóng và thuận tiện, đồng thời hỗ trợ hầu hết các ngôn ngữ lập trình, làm cho nó trở thành một lựa chọn lý tưởng cho các nhà phát triển.

11 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Báo cáo đồ án 1 mở phổ biến nhất trên thế giới Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng

MySQL sở hữu cơ chế quản lý riêng biệt, cho phép nhiều người dùng cùng lúc quản lý nhiều cơ sở dữ liệu khác nhau Mỗi người dùng được cấp một tên đăng nhập và mật khẩu để truy cập và truy xuất dữ liệu từ cơ sở dữ liệu Khi thực hiện truy vấn đến MySQL, bạn cần cung cấp tài khoản và mật khẩu hợp lệ để có quyền sử dụng cơ sở dữ liệu.

GitHub

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

GitHub là nền tảng quản lý dự án và phiên bản mã nguồn, tương tự như mạng xã hội dành cho lập trình viên Tại đây, lập trình viên có thể sao chép mã nguồn từ các kho lưu trữ (repository) và tạo tài khoản cá nhân để xây dựng kho chứa riêng, phục vụ cho quá trình làm việc và hợp tác.

GitHub là một nền tảng nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm Ngoài việc hỗ trợ đầy đủ các tính năng của Git, GitHub còn tích hợp các tính năng xã hội, giúp các lập trình viên dễ dàng tương tác và hợp tác với nhau.

Vài thông tin về GIT:

- Là công cụ giúp quản lý source code tổ chức theo dạng dữ liệu phân tán - Giúp đồng bộ source code của team lên 1 server

- Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …)

GitHub cung cấp hai phiên bản: miễn phí và trả phí Phiên bản trả phí thường được các doanh nghiệp ưa chuộng để nâng cao khả năng quản lý nhóm và cải thiện phân quyền bảo mật.

12 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Báo cáo đồ án 1 dự án Còn lại thì phần lớn chúng ta đều sử dụng Github với tài khoản miễn phí để lưu trữ source code

GitHub offers social networking features such as feeds, followers, and a network graph, enabling developers to learn from each other's experiences through commit history In this context, a commit message serves as a descriptive explanation of the actions performed on the source code, similar to how comments clarify and describe specific code segments.

Github đã trở thành một yếu tố quan trọng trong cộng đồng mã nguồn mở Cùng với Linkedin, Github được xem như một sự thay thế cho CV, giúp các nhà tuyển dụng dễ dàng đánh giá khả năng lập trình của ứng viên thông qua hồ sơ Github của họ.

Dialogflow

Dialogflow, trước đây được biết đến với tên gọi API.AI, là dịch vụ của Google hỗ trợ lập trình viên trong việc phát triển các sản phẩm tương tác thông qua hội thoại bằng văn bản hoặc giọng nói Dịch vụ này ứng dụng trí tuệ nhân tạo (AI) để phân tích ngôn ngữ tự nhiên, giúp hiểu và xử lý yêu cầu của người dùng một cách hiệu quả.

Dialogflow cung cấp nhiều kịch bản và được đào tạo với một lượng dữ liệu phong phú, đặc biệt hoạt động hiệu quả hơn với tiếng Anh và một số ngôn ngữ của các quốc gia đông dân Ngoài ra, Dialogflow cho phép người dùng dễ dàng kết nối chatbot với các nền tảng như Messenger, Skype và Slack.

13 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

THIẾT KẾ HỆ THỐNG

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

Mô hình lưu trữ dữ liệu ứng dụng hoạt động như cầu nối giữa cơ sở dữ liệu quản lý cá nhân 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ừ các cơ sở dữ liệu dựa trên quyền truy cập của họ, đồng thời đảm bảo rằng tất cả dữ liệu được lưu trữ an toàn trên Firebase.

Giao diện người dùng (View) là nơi người dùng có thể truy xuất thông tin dữ liệu từ mô hình MVC thông qua các công thức truy vấn, đồng thời ghi lại hoạt động của người dùng để tương tác hiệu quả với Controller.

Controller xử lý yêu cầu từ người dùng thông qua View, gửi dữ liệu hợp lý đến người dùng bằng cách kết nối với Model và hiển thị thông tin trên View.

Hình 3.1: Sơ đồ mô hình MVC

14 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

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 một nền tảng thân thiện để người dùng thực hiện các thao tác nhập và xuất dữ liệu Trong quá trình sử dụng, hệ thống cũng thông báo kịp thời cho người dùng về các lỗi phát sinh.

Mô hình MVC tiếp nhận yêu cầu từ giao diện người dùng, kiểm tra tính chính xác theo các ràng buộc đã định và thực hiện yêu cầu khi các điều kiện được đáp ứng.

3 Cơ sở dữ liệu quản trị nhân sự Lưu trữ toàn bộ dữ liệu liên quan đến quản lý nhân sự trong ứng dụng

15 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Báo cáo đồ án 1 4.1 Sơ đồ logic CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU

Hình x.x: Sơ đồ logic của cơ sở dữ liệu

4.2 Danh sách các quan hệ

4.2.1 Bảng account : Thông tin tài khoản

STT Thực thể Kiểu dữ liệu Ghi chú

1 account_id int(7) unsigned zerofill

2 username char(10) Độc nhất Không thay đổi Theo phông: [3 chữ cái đầu của position] [số thứ tự] Ví dụ : man0000001 / emp1234567

4 position varchar(8) Quyết định loại tài khoản của người dùng là Quản lý hay Nhân viên

16 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Chỉ nhận 1 trong 2 giá trị Manager hoặc Employee

5 email varchar(50) Là Email xác thực khi tài khoản được tạo Sẽ được sử dụng để đổi mật khẩu

6 status varchar(8) Quyệt định tài khoản có khả dụng hay không

Chỉ nhận 1 trong 2 giá trị Enabled hoặc Disabled

7 created_date timestamp Ngày tài khoản được tạo

4.2.2 Bảng personal_info : Thông tin cá nhân

STT Thực thể Kiểu dữ liệu Ghi chú

1 account_id int(7) unsigned zerofill

2 name varchar(20) Tên hiển thị Có thể thay đổi

4 location varchar(20) Thành phố sống và làm việc

4.2.3 Bảng post: Thông tin bài đăng

STT Thực thể Kiểu dữ liệu Ghi chú

2 author_id int(7) unsigned zerofill id của tài khoản nhân viên đã thực hiện đăng lần đầu

3 post_update timestamp Thời gian đăng hoặc cập nhập gần nhất

6 post_img varchar(200) Hình ảnh Dạng link

7 display_place varchar(6) Nơi thể hiện bài đăng Nhận 1 trong

2 giá trị slider hoặc list

17 ỨNG DỤNG TƯ VẤN KHÓA HỌC

4.2.4 Bảng teacher: Thông tin giáo viên

STT Thực thể Kiểu dữ liệu Ghi chú

3 teacher_img varchar(50) Hình ảnh giáo viên dạng link

4 teacher_achieve varchar(50) Thành tích ấn tượng

5 in_charge_of varchar(50) Chuyên môn giảng dạy tại trung tâm

6 teacher_description varchar(100) Những điều muốn nói khác

4.2.5 Bảng exstudent: Cảm nhận của cựu học viên

STT Thực thể Kiểu dữ liệu Ghi chú

2 exst_name varchar(50) Tên cựu học viên

3 exst_img varchar(80) Hình ảnh cựu học viên Dạng link

4 exst_achieve varchar(50) Thành tích đạt được sau khi học tại trung tâm

5 exst_quote varchar(100) Cảm nhận của học viên

STT Thực thể Kiểu dữ liệu Ghi chú

2 qa_update timestamp Thời gian đăng/cập nhập gần nhất

3 main_subject varchar(7) Dùng để filter Chỉ nhận các giá trị : center, courses

4 sub_subject_a varchar(12) Dùng để filter Chỉ nhận các giá trị: none, IELTS, KidEnglish, AdultEnglish

5 sub_subject_b varchar(7) Dùng để filter Chỉ nhận các giá trị: none, tuition, others

18 ỨNG DỤNG TƯ VẤN KHÓA HỌC

6 question text Nội dung câu hỏi

7 answer text Nội dung giải đáp

4.2.7 Bảng course: Thông tin khóa học

STT Thực thể Kiểu dữ liệu Ghi chú

3 course_description text Giới thiệu chung về khóa học

4 levels_desciption text Mô tả về cách phân lớp, phân cấp trong khóa học

4.2.8 Bảng course_lever: Cấp của khóa học

STT Thực thể Kiểu dữ liệu Ghi chú

3 level_name varchar(5) Tên của cấp học từ nhập môn, trung bình và nâng cao

Nhận 1 trong 3 giá trị PRE, INTER, ADV

4 pre_condition varchar(50) Yêu cầu tiên quyết để được tham gia cấp học

5 result_guaranteer varchar(50) Cam kết đầu ra của cấp học

6 base_tuition int Học phí cơ bản

4.2.9 Bảng course_duration: Thời gian khóa học sẽ kéo dài

STT Thực thể Kiểu dữ liệu Ghi chú

19 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Báo cáo đồ án 1 unsigned

3 duration_name varchar(6) Tương ứng với học theo thời lượng bình thường hay cấp tốc

Nhận 1 trong 2 giá trị normal hoặc speed

4 duration int Thời gian khóa học diễn ra Tính theo tháng Nhận 1 trong 2 giá trị ‘6’ hoặc ‘12’

5 classes_per_month int Lượng lớp học được tham gia trong

Nhận 1 trong 2 giá trị 8 hoặc 16

6 duration_coefficient float Hệ số học phí Để nhân với học phí cơ bản trong cấp học, tính ra học phí tổng

4.2.10 Bảng course_teaching: Loại hình giảng dạy

STT Thực thể Kiểu dữ liệu Ghi chú

3 teaching_name varchar(10) Loại hình dạy học ứng với lớp học thường và lớp kèm cặp Nhận 1 trong 2 giá trị normal hoặc 1v1

4 teaching_description varchar(100) Thông tin về loại hình giảng dạy

5 teaching_coefficient float Hệ số học phí Để nhân với học phí cơ bản trong cấp học, tính ra học phí tổng

4.2.11 Bảng course_time: Thời gian tổ chức lớp

STT Thực thể Kiểu dữ liệu Ghi chú

3 start time Giờ bắt đầu

20 ỨNG DỤNG TƯ VẤN KHÓA HỌC

4 end time Giờ kết thúc

5 weekday tinyint Buổi học trong tuần

4.2.12 Bảng appointment: Thông tin lịch hẹn

STT Thực thể Kiểu dữ liệu Ghi chú

2 appoint_purpose varchar(9) Mục địch hẹn Cố vấn hoặc thi thử

Nhận 1 trong 2 giá trị mock_test hoặc advise

3 concern varchar(50) Khóa học muốn quan tâm.

4 appoint_time timestamp Thời gian hẹn

5 sender_name varchar(20) Tên người gửi

6 sender_email varchar(50) Email người gửi

21 ỨNG DỤNG TƯ VẤN KHÓA HỌC

CHƯƠNG 5: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 5.1 Danh sách màn hình

STT Tên màn hình Loại

2 Quên mật khẩu Đăng nhập

5 Danh sách tin tức Hiển thị

6 Đăng và Cập nhật tin tức Hiển thị và Nhập liệu

7 Giới thiệu trung tâm Hiển thị

8 Giới thiệu khóa học Hiển thị

10 Đăng và cập nhật hỏi đáp Nhập liệu

11 Quản lý tài khoản Hiển thị và Nhập liệu

12 Thanh công cụ Điều hướng

13 Hồ sơ người dùng Hiển thị và Nhập liệu

13 Chatbot tư vấn Hiển thị và Nhập liệu

14 Tạo cuộc hẹn Nhập liệu

22 ỨNG DỤNG TƯ VẤN KHÓA HỌC

5.2 Mô tả chi tiết từng màn hình

Trang web cung cấp chức năng xác thực tài khoản và mật khẩu của người dùng, đảm bảo tính chính xác của thông tin đăng nhập Chỉ những người dùng đã đăng ký tài khoản trước mới có quyền truy cập vào tính năng này.

Ngoài ra trang còn còn nút chuyển trang đến trang Quên mật khẩu.

23 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Trang cho xử lý gửi liên kết khôi phục tài khoản đến email mà người dùng nhập vào sau khi họ nhấn nút Send.

24 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.3 Trang chủ Đây là trang mở đầu khi người dùng khác truy cập vào ứng dụng Nó có chức năng quảng bá và tạo ấn tượng ban đầu trong mắt người dùng về trung tâm Ngoài ra, trang cung cấp nút dẫn đến trang Tạo cuộc hẹn, cũng như nút gọi Chatbot Tư vấn và liên kết đến trang đăng nhập cho người dùng có tài khoản.

25 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.4 Trang Danh sách tin tức

Các trang danh sách tin tức lưu trữ bài viết trong database, cho phép mọi người dùng đọc các nội dung này Để thuận tiện, trang còn có thanh tìm kiếm giúp người dùng nhanh chóng tìm thấy bài viết mong muốn Đặc biệt, đối với người dùng là Nhân viên, trang cung cấp thêm tính năng viết, chỉnh sửa và xóa bài viết.

26 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.5 Trang Đăng và Cập nhật tin tức Đây là nơi giúp người dùng Nhân viên nhập hoặc thay đổi và lưu các nội dung chính của một bài viết đến cơ sở dữ liệu Mỗi bài viết bao gồm: tiêu đề, nơi thể hiện, hình ảnh minh họa và nội dung.

27 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.6 Trang Giới thiệu trung tâm Đây là các màn hình mang tính chất quản bá cho trung tâm Bao gồm các thành phần là giới thiệu trung tâm, lý do chọn trung tâm, sơ lượt đội ngũ giảng dạy, kiến trúc hạ tầng và cảm nhận của cựu sinh viên

28 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.7 Trang Giới thiệu khóa học

Các màn hình này cung cấp cho người dùng thông tin chi tiết về các khóa học tại trung tâm, bao gồm tổng quan khóa học, phân cấp, yêu cầu đầu vào và đầu ra mà trung tâm cam kết, cũng như thời gian lớp học diễn ra.

Danh sách các khóa học được giới hạn thành 3 loại : Luyện thi IELTS, Tiếng Anh cho bé và Tiếng Anh cho người đi làm.

29 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Trang hỏi đáp giúp người dùng giải đáp những thắc mắc thường gặp về trung tâm Với chức năng tìm kiếm và bộ lọc, người dùng dễ dàng tìm thấy nội dung cần thiết Đối với nhân viên, trang cho phép họ tạo, chỉnh sửa và xóa các nội dung hỏi đáp.

30 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.9 Trang Đăng và Cập nhật hỏi đáp Đây là nơi giúp người dùng Nhân viên nhập hoặc thay đổi và lưu các nội dung chính của một hỏi đáp đến cơ sở dữ liệu Mỗi bài viết bao gồm: chủ đề chính, chủ đề phụ 1, chủ đề phụ 2, câu hỏi và giải đáp tương ứng.

31 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.10 Trang Quản lý tài khoản

Màn hình quản lý tài khoản chỉ dành cho người dùng Quản lý, hiển thị danh sách tất cả các tài khoản đã tạo Người quản lý có khả năng khóa và mở khóa tài khoản, với tài khoản bị khóa sẽ không thể đăng nhập cho đến khi được mở lại Bên cạnh đó, người quản lý có thể thay đổi một số thông tin như tên, ngày sinh và nơi ở của tài khoản, nhưng không thể thay đổi ảnh đại diện, tên đăng nhập và mật khẩu.

32 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.11 User Menu Đây là công cụ chỉ dành riêng cho người dùng có tài khoản, bao gôm Quản lý và Nhân viên Trang có công dụng nhưng một phím tắt dẫn đến hồ sơ người dùng và danh mục quản lý tương ứng với chức năng của người dùng đã đăng nhập Trang cho phép người dùng đăng xuất khỏi tài khoản và trở lại tư cách là người dùng khách

Ngoài ra nó còn là nơi thể hiện sơ lược thông tin tài khoản người dùng.

33 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.12 Hồ sơ người dùng Đây là công cụ chỉ dành riêng cho người dùng có tài khoản, bao gôm Quản lý và Nhân viên và là nơi thể hiện thông tin chi tiết của người dùng và tài khoản của họ Người dùng thông qua trang có thể thực hiện thay đổi mật khẩu và một số thông tin các nhân như họ và tên, ngày sinh, nơi ở và ảnh đại diện.

34 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.13 Chatbot tư vấn Đây là giao diện diễn ra đối thoại giữa chatbot tư vấn và người dùng được gọi từ nút Chatbot ở góc dưới bên phải màn hình chính Tại đây, người dùng có thể nhập những 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, lộ trình học,

35 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Giao diện cho phép người dùng tạo lịch hẹn với trung tâm phục vụ thi thử và tư vấn Khi nhấn "Xác nhận" và "Đăng ký", thông tin cuộc hẹn sẽ được ghi nhận, và người dùng sẽ nhận được tin nhắn xác nhận lịch hẹn thành công.

36 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ

6.1 Môi trường cài đặt và kiểm thử:

Môi trường cài đặt: Android 4.4 hoặc hơn

Thiết bị cài đặt: thiết bị giả lập AVD của Android Studio, và điện thoại cá nhân Android 10.0

STT Tính năng Mức độ hoàn thiện Ghi chú

2 Xem, Đăng, Xóa, Cập nhật tin tức 100%

3 Xem, Tạo, Xóa, Cập nhật Hỏi đáp 100%

4 Xem, Tạo, Xóa, Cập nhật Tài khoản 100%

37 ỨNG DỤNG TƯ VẤN KHÓA HỌC

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

Danh sách các quan hệ

4.2.1 Bảng account : Thông tin tài khoản

STT Thực thể Kiểu dữ liệu Ghi chú

1 account_id int(7) unsigned zerofill

2 username char(10) Độc nhất Không thay đổi Theo phông: [3 chữ cái đầu của position] [số thứ tự] Ví dụ : man0000001 / emp1234567

4 position varchar(8) Quyết định loại tài khoản của người dùng là Quản lý hay Nhân viên

16 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Chỉ nhận 1 trong 2 giá trị Manager hoặc Employee

5 email varchar(50) Là Email xác thực khi tài khoản được tạo Sẽ được sử dụng để đổi mật khẩu

6 status varchar(8) Quyệt định tài khoản có khả dụng hay không

Chỉ nhận 1 trong 2 giá trị Enabled hoặc Disabled

7 created_date timestamp Ngày tài khoản được tạo

4.2.2 Bảng personal_info : Thông tin cá nhân

STT Thực thể Kiểu dữ liệu Ghi chú

1 account_id int(7) unsigned zerofill

2 name varchar(20) Tên hiển thị Có thể thay đổi

4 location varchar(20) Thành phố sống và làm việc

4.2.3 Bảng post: Thông tin bài đăng

STT Thực thể Kiểu dữ liệu Ghi chú

2 author_id int(7) unsigned zerofill id của tài khoản nhân viên đã thực hiện đăng lần đầu

3 post_update timestamp Thời gian đăng hoặc cập nhập gần nhất

6 post_img varchar(200) Hình ảnh Dạng link

7 display_place varchar(6) Nơi thể hiện bài đăng Nhận 1 trong

2 giá trị slider hoặc list

17 ỨNG DỤNG TƯ VẤN KHÓA HỌC

4.2.4 Bảng teacher: Thông tin giáo viên

STT Thực thể Kiểu dữ liệu Ghi chú

3 teacher_img varchar(50) Hình ảnh giáo viên dạng link

4 teacher_achieve varchar(50) Thành tích ấn tượng

5 in_charge_of varchar(50) Chuyên môn giảng dạy tại trung tâm

6 teacher_description varchar(100) Những điều muốn nói khác

4.2.5 Bảng exstudent: Cảm nhận của cựu học viên

STT Thực thể Kiểu dữ liệu Ghi chú

2 exst_name varchar(50) Tên cựu học viên

3 exst_img varchar(80) Hình ảnh cựu học viên Dạng link

4 exst_achieve varchar(50) Thành tích đạt được sau khi học tại trung tâm

5 exst_quote varchar(100) Cảm nhận của học viên

STT Thực thể Kiểu dữ liệu Ghi chú

2 qa_update timestamp Thời gian đăng/cập nhập gần nhất

3 main_subject varchar(7) Dùng để filter Chỉ nhận các giá trị : center, courses

4 sub_subject_a varchar(12) Dùng để filter Chỉ nhận các giá trị: none, IELTS, KidEnglish, AdultEnglish

5 sub_subject_b varchar(7) Dùng để filter Chỉ nhận các giá trị: none, tuition, others

18 ỨNG DỤNG TƯ VẤN KHÓA HỌC

6 question text Nội dung câu hỏi

7 answer text Nội dung giải đáp

4.2.7 Bảng course: Thông tin khóa học

STT Thực thể Kiểu dữ liệu Ghi chú

3 course_description text Giới thiệu chung về khóa học

4 levels_desciption text Mô tả về cách phân lớp, phân cấp trong khóa học

4.2.8 Bảng course_lever: Cấp của khóa học

STT Thực thể Kiểu dữ liệu Ghi chú

3 level_name varchar(5) Tên của cấp học từ nhập môn, trung bình và nâng cao

Nhận 1 trong 3 giá trị PRE, INTER, ADV

4 pre_condition varchar(50) Yêu cầu tiên quyết để được tham gia cấp học

5 result_guaranteer varchar(50) Cam kết đầu ra của cấp học

6 base_tuition int Học phí cơ bản

4.2.9 Bảng course_duration: Thời gian khóa học sẽ kéo dài

STT Thực thể Kiểu dữ liệu Ghi chú

19 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Báo cáo đồ án 1 unsigned

3 duration_name varchar(6) Tương ứng với học theo thời lượng bình thường hay cấp tốc

Nhận 1 trong 2 giá trị normal hoặc speed

4 duration int Thời gian khóa học diễn ra Tính theo tháng Nhận 1 trong 2 giá trị ‘6’ hoặc ‘12’

5 classes_per_month int Lượng lớp học được tham gia trong

Nhận 1 trong 2 giá trị 8 hoặc 16

6 duration_coefficient float Hệ số học phí Để nhân với học phí cơ bản trong cấp học, tính ra học phí tổng

4.2.10 Bảng course_teaching: Loại hình giảng dạy

STT Thực thể Kiểu dữ liệu Ghi chú

3 teaching_name varchar(10) Loại hình dạy học ứng với lớp học thường và lớp kèm cặp Nhận 1 trong 2 giá trị normal hoặc 1v1

4 teaching_description varchar(100) Thông tin về loại hình giảng dạy

5 teaching_coefficient float Hệ số học phí Để nhân với học phí cơ bản trong cấp học, tính ra học phí tổng

4.2.11 Bảng course_time: Thời gian tổ chức lớp

STT Thực thể Kiểu dữ liệu Ghi chú

3 start time Giờ bắt đầu

20 ỨNG DỤNG TƯ VẤN KHÓA HỌC

4 end time Giờ kết thúc

5 weekday tinyint Buổi học trong tuần

4.2.12 Bảng appointment: Thông tin lịch hẹn

STT Thực thể Kiểu dữ liệu Ghi chú

2 appoint_purpose varchar(9) Mục địch hẹn Cố vấn hoặc thi thử

Nhận 1 trong 2 giá trị mock_test hoặc advise

3 concern varchar(50) Khóa học muốn quan tâm.

4 appoint_time timestamp Thời gian hẹn

5 sender_name varchar(20) Tên người gửi

6 sender_email varchar(50) Email người gửi

21 ỨNG DỤNG TƯ VẤN KHÓA HỌC

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

Danh sách màn hình

STT Tên màn hình Loại

2 Quên mật khẩu Đăng nhập

5 Danh sách tin tức Hiển thị

6 Đăng và Cập nhật tin tức Hiển thị và Nhập liệu

7 Giới thiệu trung tâm Hiển thị

8 Giới thiệu khóa học Hiển thị

10 Đăng và cập nhật hỏi đáp Nhập liệu

11 Quản lý tài khoản Hiển thị và Nhập liệu

12 Thanh công cụ Điều hướng

13 Hồ sơ người dùng Hiển thị và Nhập liệu

13 Chatbot tư vấn Hiển thị và Nhập liệu

14 Tạo cuộc hẹn Nhập liệu

22 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Mô tả chi tiết từng màn hình

Trang web chủ yếu thực hiện chức năng xác thực tài khoản và mật khẩu của người dùng, đảm bảo chúng khớp nhau Sau khi xác minh, hệ thống sẽ phân quyền cho người dùng đăng nhập Chỉ những người đã đăng ký tài khoản trước mới có quyền truy cập vào tính năng này.

Ngoài ra trang còn còn nút chuyển trang đến trang Quên mật khẩu.

23 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Trang cho xử lý gửi liên kết khôi phục tài khoản đến email mà người dùng nhập vào sau khi họ nhấn nút Send.

24 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.3 Trang chủ Đây là trang mở đầu khi người dùng khác truy cập vào ứng dụng Nó có chức năng quảng bá và tạo ấn tượng ban đầu trong mắt người dùng về trung tâm Ngoài ra, trang cung cấp nút dẫn đến trang Tạo cuộc hẹn, cũng như nút gọi Chatbot Tư vấn và liên kết đến trang đăng nhập cho người dùng có tài khoản.

25 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.4 Trang Danh sách tin tức

Các trang danh sách tin tức lưu trữ bài viết trên cơ sở dữ liệu, cho phép người dùng dễ dàng đọc và tìm kiếm các bài viết quan tâm thông qua thanh tìm kiếm Đặc biệt, người dùng Nhân viên có thêm các tính năng viết, chỉnh sửa và xóa bài viết.

26 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.5 Trang Đăng và Cập nhật tin tức Đây là nơi giúp người dùng Nhân viên nhập hoặc thay đổi và lưu các nội dung chính của một bài viết đến cơ sở dữ liệu Mỗi bài viết bao gồm: tiêu đề, nơi thể hiện, hình ảnh minh họa và nội dung.

27 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.6 Trang Giới thiệu trung tâm Đây là các màn hình mang tính chất quản bá cho trung tâm Bao gồm các thành phần là giới thiệu trung tâm, lý do chọn trung tâm, sơ lượt đội ngũ giảng dạy, kiến trúc hạ tầng và cảm nhận của cựu sinh viên

28 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.7 Trang Giới thiệu khóa học

Các màn hình này cung cấp thông tin chi tiết về các khóa học của trung tâm, bao gồm tổng quan khóa học, phân cấp, yêu cầu đầu vào và đầu ra mà trung tâm cam kết, cũng như thời gian lớp học diễn ra.

Danh sách các khóa học được giới hạn thành 3 loại : Luyện thi IELTS, Tiếng Anh cho bé và Tiếng Anh cho người đi làm.

29 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Trang hỏi đáp cung cấp các bài viết giải đáp thắc mắc thường gặp của người dùng về trung tâm, với chức năng tìm kiếm và bộ lọc giúp người dùng dễ dàng tìm thấy nội dung cần thiết Đối với nhân viên, trang cho phép họ tạo, chỉnh sửa và xóa nội dung hỏi đáp một cách thuận tiện.

30 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.9 Trang Đăng và Cập nhật hỏi đáp Đây là nơi giúp người dùng Nhân viên nhập hoặc thay đổi và lưu các nội dung chính của một hỏi đáp đến cơ sở dữ liệu Mỗi bài viết bao gồm: chủ đề chính, chủ đề phụ 1, chủ đề phụ 2, câu hỏi và giải đáp tương ứng.

31 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.10 Trang Quản lý tài khoản

Màn hình quản lý tài khoản chỉ dành cho người dùng Quản lý, hiển thị danh sách tất cả các tài khoản đã tạo Tính năng này cho phép khóa và mở khóa tài khoản, với tài khoản bị khóa sẽ không thể đăng nhập cho đến khi được mở lại Người Quản lý có thể thay đổi thông tin như tên, ngày sinh và nơi ở của tài khoản, nhưng không thể thay đổi ảnh đại diện, tên đăng nhập và mật khẩu.

32 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.11 User Menu Đây là công cụ chỉ dành riêng cho người dùng có tài khoản, bao gôm Quản lý và Nhân viên Trang có công dụng nhưng một phím tắt dẫn đến hồ sơ người dùng và danh mục quản lý tương ứng với chức năng của người dùng đã đăng nhập Trang cho phép người dùng đăng xuất khỏi tài khoản và trở lại tư cách là người dùng khách

Ngoài ra nó còn là nơi thể hiện sơ lược thông tin tài khoản người dùng.

33 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.12 Hồ sơ người dùng Đây là công cụ chỉ dành riêng cho người dùng có tài khoản, bao gôm Quản lý và Nhân viên và là nơi thể hiện thông tin chi tiết của người dùng và tài khoản của họ Người dùng thông qua trang có thể thực hiện thay đổi mật khẩu và một số thông tin các nhân như họ và tên, ngày sinh, nơi ở và ảnh đại diện.

34 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

5.2.13 Chatbot tư vấn Đây là giao diện diễn ra đối thoại giữa chatbot tư vấn và người dùng được gọi từ nút Chatbot ở góc dưới bên phải màn hình chính Tại đây, người dùng có thể nhập những 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, lộ trình học,

35 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

Giao diện cho phép người dùng tạo lịch hẹn với trung tâm phục vụ nhu cầu thi thử và tư vấn Sau khi nhấn "Xác nhận" và "Đăng ký", cuộc hẹn sẽ được ghi nhận và người dùng sẽ nhận được tin nhắn xác nhận lịch hẹn thành công.

36 ỨNG DỤNG TƯ VẤN KHÓA HỌC HỖ TRỠ

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

Môi trường cài đặt và kiểm thử

Môi trường cài đặt: Android 4.4 hoặc hơn

Thiết bị cài đặt: thiết bị giả lập AVD của Android Studio, và điện thoại cá nhân Android 10.0

Kết quả kiểm thử

STT Tính năng Mức độ hoàn thiện Ghi chú

2 Xem, Đăng, Xóa, Cập nhật tin tức 100%

3 Xem, Tạo, Xóa, Cập nhật Hỏi đáp 100%

4 Xem, Tạo, Xóa, Cập nhật Tài khoản 100%

37 ỨNG DỤNG TƯ VẤN KHÓA HỌC

Ngày đăng: 15/01/2022, 21:44

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Android Studio - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
Hình 2.1 Android Studio (Trang 10)
Hình 2.2: Ngôn ngữ lập trình Java - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
Hình 2.2 Ngôn ngữ lập trình Java (Trang 11)
Hình 2.3: Hệ quản trị cơ sở dữ liệu MySQL - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
Hình 2.3 Hệ quản trị cơ sở dữ liệu MySQL (Trang 12)
Hình 3.1: Sơ đồ mô hình MVC - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
Hình 3.1 Sơ đồ mô hình MVC (Trang 15)
4.2.1. Bảng account : Thông tin tài khoản - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.1. Bảng account : Thông tin tài khoản (Trang 16)
4.2.2. Bảng personal_info : Thông tin cá nhân - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.2. Bảng personal_info : Thông tin cá nhân (Trang 17)
4.2.4. Bảng teacher: Thông tin giáo viên - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.4. Bảng teacher: Thông tin giáo viên (Trang 17)
4.2.3. Bảng post: Thông tin bài đăng - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.3. Bảng post: Thông tin bài đăng (Trang 17)
4.2.5. Bảng exstudent: Cảm nhận của cựu học viên - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.5. Bảng exstudent: Cảm nhận của cựu học viên (Trang 18)
4.2.9. Bảng course_duration: Thời gian khóa học sẽ kéo dài - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.9. Bảng course_duration: Thời gian khóa học sẽ kéo dài (Trang 19)
4.2.8. Bảng course_lever: Cấp của khóa học - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.8. Bảng course_lever: Cấp của khóa học (Trang 19)
4.2.10. Bảng course_teaching: Loại hình giảng dạy - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.10. Bảng course_teaching: Loại hình giảng dạy (Trang 20)
4.2.11. Bảng course_time: Thời gian tổ chức lớp - Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn khóa học
4.2.11. Bảng course_time: Thời gian tổ chức lớp (Trang 20)

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

TÀI LIỆU LIÊN QUAN

w