đồ án 1 careon ứng dụng tư vấn sức khỏe

72 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 1 careon ứng dụng tư vấn sức khỏe

Đ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

Ứng dụng này sẽ giúp người dùng tiếp cận được với các thông tin về sức khỏe một cách nhanh chóng và chính xác, đồng thời có thể giải đáp các thắc mắc của người dùng về nhiều vấn đề sức k

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN: ThS TRẦN ANH DŨNG SINH VIÊN THỰC HIỆN:

LÝ THANH TÚ ANH - 21521823

TP Hồ Chí Minh, tháng 10 năm 2023

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: CareOn – Ứng dụng tư vấn sức khỏe cộng đồng

TÊN ĐỀ TÀI (TIẾNG ANH): CareOn - Community health advice app Cán bộ hướng dẫn:

ThS Trần Anh Dũng

Thời gian thực hiện: Từ ngày 2/10/2023 đến ngày 30/12/2023 Sinh viên thực hiện:

Lý Thanh Tú Anh – 21521823

Nội dung đề tài:

1 Mục tiêu của đề tài

1.1 Bối cảnh chọn đề tài

Sức khỏe là tài sản quý giá nhất của con người Tuy nhiên, trong thời đại hiện nay, khi nhịp sống ngày càng bận rộn, áp lực công việc và học tập tăng cao, thì việc chăm sóc sức khỏe đang trở thành một vấn đề nan giải Nhiều người thường xuyên gặp phải các vấn đề về sức khỏe như mệt mỏi, căng thẳng, đau đầu, nhưng lại không có thời gian hoặc không biết cách để tự chăm sóc sức khỏe bản thân Bên cạnh đó, việc tiếp cận với thông tin y tế chính thống cũng gặp nhiều khó khăn Điều này dẫn đến tình trạng nhiều người bệnh tự ý mua thuốc, điều trị sai cách, gây ra những hậu quả nghiêm trọng

Chính vì vậy, với mục tiêu góp phần nâng cao nhận thức và ý thức chăm sóc sức khỏe, em đã lựa chọn đề tài xây dựng một ứng dụng tư vấn sức khỏe cho cộng đồng, một ý tưởng thiết thực và cần thiết Ứng dụng này sẽ giúp người dùng tiếp cận được với các thông tin về sức khỏe một cách nhanh chóng và chính xác, đồng thời có thể giải đáp các thắc mắc của người dùng về nhiều vấn đề sức khỏe khác nhau cũng như cung cấp hướng giải quyết các vấn đề đó, từ đó người dùng có thể tự theo dõi và chăm sóc sức khỏe bản thân một cách hiệu quả và nhanh chóng

Trang 3

1.2 Mục đích của đề tài

• Nghiên cứu công cụ DialogFlow, nền tảng chatbot của Google cung cấp khả năng hiểu ngôn ngữ tự nhiên (NLU) và tạo phản hồi tự động để tạo ra chatbot tư vấn sức khỏe người dùng Chatbot sẽ được đào tạo trên một bộ dữ liệu lớn về các câu hỏi và câu trả lời liên quan đến sức khỏe và các thông tin y tế để phục vụ người

dùng

• Nghiên cứu các vấn đề xoay quanh sức khỏe để xây dựng một ứng dụng tư vấn sức khỏe hiệu quả, chính xác, chẳng hạn như các bệnh lý thường gặp, các biện pháp phòng bệnh, Kết quả nghiên cứu sẽ được ứng dụng trong việc xây dựng các tính năng của ứng dụng • Xây dựng và phát triển ứng dụng trên nền tảng di động, với giao diện thân thiện và dễ sử dụng, đáp ứng nhu cầu tư vấn sức khỏe hay tra cứu thông tin y tế của người dùng ở bất cứ đâu, bất kể thời

gian nào

1.3 Ý nghĩa của đề tài Về ý nghĩa đối với người dùng:

• Nâng cao nhận thức về sức khỏe, hỗ trợ người dùng trong việc theo

dõi, chăm sóc và bảo vệ sức khỏe của bản thân và gia đình

• Giúp người dùng tiếp cận được các thông tin y tế, sức khỏe chính

xác, cụ thể, một cách dễ dàng, nhanh chóng

• Ứng dụng cung cấp chức năng tư vấn sức khỏe 24/7, giúp người

dùng tiết kiệm thời gian và chi phí đi lại đến các cơ sở y tế

Về ý nghĩa đối với cá nhân em:

• Đề tài này tạo động lực cho em tìm hiểu và trau dồi những kiến thức mới liên quan đến việc xây dựng chatbot, bởi đây là một công nghệ mới được ứng dụng rộng rãi trong nhiều lĩnh vực, trong đó

có lĩnh vực chăm sóc sức khỏe

Trang 4

• Việc xây dựng ứng dụng tư vấn sức khỏe cộng đồng cho em cơ hội nghiên cứu các kiến thức về sức khỏe cộng đồng, về các loại bệnh và hướng chữa trị,… giúp em có thêm kiến thức về đời sống,

giúp ích cho cuộc sống của em sau này

• Đồ án này giúp em có thêm kiến thức và kinh nghiệm thực tế trong việc tham gia dự án phát triển phần mềm, nâng cao kỹ năng lập trình Kinh nghiệm này sẽ giúp em phát triển và nâng cao giá trị

bản thân cho tương lai

1.4 Nhiệm vụ của đề tài

Ứng dụng tư vấn sức khỏe cộng đồng CareOn:

• Chatbot tư vấn sức khỏe • Thư viện tra cứu các loại bệnh • Thư viện video sức khỏe

• Quản lý nhắc nhở cho các hoạt động • Quản lý ghi chú sức khỏe

• Chỉnh sửa thông tin sức khỏe cá nhân • Đăng ký / Đăng nhập / Đăng xuất • Quên mật khẩu / Đổi mật khẩu

2 Phạm vi nghiên cứu

Ứng dụng CareOn được xây dựng với:

• Front-end: Flutter • Back-end: Flutter • Database: Firebase

Tìm hiểu về cách xây dựng chatbot có khả năng hiểu ngôn ngữ tự nhiên, tạo phản hồi tự động

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

• Các công nghệ xây dựng ứng dụng di động: • Flutter

Trang 5

• Đối tượng người dùng:

• Người có nhu cầu chăm sóc sức khỏe

• Người có nhu cầu tìm kiếm các thông tin y tế

4 Phương pháp nghiên cứu

Em đã sử dụng các phương pháp nghiên cứu: • Phương pháp đọc tài liệu

• Phương pháp phân tích các ứng dụng sức khỏe hiện có • Phương pháp thực nghiệm

5 Kết quả dự kiến

Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, em đã xây dựng ý tưởng thiết kế ứng dụng chăm sóc sức khỏe cần đạt được những mục tiêu sau:

5.1 Đối với người dùng

• Sau khi đăng nhập, người dùng có thể sử dụng các tính năng sau: o Sử dụng chatbot để được giải đáp về vấn đề sức khỏe mà bản

thân đang gặp phải, hoặc hỏi về một bệnh lý hoặc thông tin y tế bất kì

o Truy cập thư viện sức khỏe để tìm đọc thông tin y tế về các loại bệnh hoặc xem các video hướng dẫn các bài tập thể dục, yoga và các video công thức hướng dẫn nấu các món ăn có lợi cho sức khỏe

o Theo dõi tình trạng cơ thể của bản thân qua các chỉ số như cân nặng, chiều cao, chỉ số BMI sau khi đã cung cấp các thông tin trong phần hồ sơ

Trang 6

o Ghi chú về cảm giác sức khỏe của họ, triệu chứng, và thuốc đã sử dụng hoặc các thông tin cần nhớ như thông tin bệnh viện, bác sĩ,…

o Cài đặt thông báo về việc nhắc nhở bản thân về các hoạt động liên quan đến sức khỏe như uống nước, tập luyện, điều trị, uống thuốc

5.2 Hệ thống chatbot tư vấn sức khỏe

• Cung cấp thông tin chính xác và đáng tin cậy về sức khỏe dựa trên cơ sở dữ liệu kiến thức y tế đáng tin cậy

• Thông tin sức khỏe cần được cập nhật thường xuyên để đảm bảo tính mới nhất

• Cung cấp thông tin toàn diện về nhiều vấn đề sức khỏe khác nhau, bao gồm các bệnh lý thường gặp, cách phòng bệnh, cách chăm sóc

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

Nếu tiến độ công việc đạt được đúng như mong đợi, sẽ mở rộng thêm các tính năng như:

• Nâng cấp hệ thống chatbot, ứng dụng Machine Learning và AI để có thể đưa ra các câu trả lời chính xác và trò chuyện tự nhiên hơn với người dùng

• Chatbot hỗ trợ tư vấn tâm lý: Ngoài tư vấn về sức khỏe, cung cấp hỗ trợ tư vấn tâm lý cho người dùng có nhu cầu

• Cung cấp số liệu: đưa ra các số liệu liên quan đến sức khỏe và các số liệu chuẩn của ngành y tế

Trang 7

Thực hiện chức năng Đăng nhập, Đăng ký, Quên mật khẩu Tìm hiểu, nghiên cứu DialogFlow và cách xây dựng chatbot Thiết kế và xây dựng chức năng chatbot tư vấn sức khỏe 5

(18/11 - 30/11)

Tìm kiếm các nguồn thông tin y tế tin cậy

Thiết kế và xây dựng chức năng thư viện thông tin sức khỏe

6 (1/12 - 12/12)

Tìm kiếm nguồn video sức khỏe

Thiết kế và xây dựng chức năng thư viện video

7

(13/12 - 20/12)

Thiết kế và xây dựng chức năng công cụ theo dõi sức khỏe Thiết kế và xây dựng chức năng thông báo, nhắc nhở, ghi chú

8

(21/12 - 30/12)

Thực hiện kiểm thử toàn bộ ứng dụng Hoàn thiện tài liệu

Trang 9

LỜI CẢM ƠN

Trong quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, em đã được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể hoàn thành Đồ án của mình

Để hoàn thành đồ án này, em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin

Em xin gửi lời cảm ơn chân thành đến quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô khoa Công nghệ phần mềm đã giúp cho em có những kiến thức cơ bản làm nền tảng để thực hiện đề tài này

Em xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc nhất đến ThS Trần Anh Dũng đã tận tình giúp đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện đồ án này mà còn là hành trang tiếp bước cho em trong quá trình học tập và lập nghiệp sau này

Trong quá trình làm đồ án này em không tránh khỏi được những sai sót, em kính mong nhận được sự chỉ dẫn và góp ý của quý Thầy Cô để hoàn thiện kiến thức, kỹ năng mà em đã được học tập, đó sẽ là hành trang quý giá để em tiếp tục thực hiện các đề tài khác trong tương lai tốt hơn

Em xin chân thành cảm ơn! Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người

Thành phố Hồ Chí Minh, ngày 30 tháng 12 năm 2023 Sinh viên thực hiện

Lý Thanh Tú Anh

Trang 10

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

GVHD

ThS Trần Anh Dũng

Trang 11

Chương 3.PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10

3.1.Danh sách các yêu cầu 10

3.1.1.Yêu cầu nghiệp vụ 10

3.1.2.Yêu cầu hệ thống 11

3.1.3.Yêu cầu chất lượng 11

Trang 12

3.2.Sơ đồ Usecase 13

3.2.1.Sơ đồ tổng quan 13

3.2.2.Đặc tả Usecase 16

3.3.Sơ đồ cơ sở dữ liệu 38

3.3.1.Sơ đồ dữ liệu tổng quan 38

3.3.2.Mô tả sơ đồ dữ liệu 39

3.4.Thiết kế hệ thống 41

3.4.1.Kiến trúc hệ thống 41

3.4.2.Mô tả các thành phần hệ thống 41

3.4.3.Lý do nên dùng mô hình MVP 42

Chương 4.HIỆN THỰC ĐỀ TÀI 43

4.1.Danh sách giao diện 43

4.2.Mô tả chi tiết giao diện 44

4.2.1.Màn hình Đăng nhập 44

4.2.2.Màn hình Đăng ký 45

4.2.3.Màn hình Trang chủ 46

4.2.4.Màn hình Chat tư vấn sức khỏe 47

4.2.5.Màn hình Tra cứu thông tin các loại bệnh 48

4.2.6.Màn hình Xem video sức khỏe 49

Trang 13

6.4.Hướng phát triển 57

TÀI LIỆU THAM KHẢO 58

DANH MỤC HÌNH ẢNH Hình 2.1: Cách Agent quản lý một cuộc hội thoại giữa người dùng và hệ thống 7

Hình 3.1: Sơ đồ Usecase tổng quan 14

Hình 3.2: Biểu đồ hoạt động của Usecase Đăng ký 16

Hình 3.3: Biểu đồ trình tự của Usecase Đăng ký 17

Hình 3.4: Biểu đồ hoạt động của Usecase Đăng nhập 18

Hình 3.5: Biểu đồ trình tự của Usecase Đăng nhập 18

Hình 3.6: Biểu đồ hoạt động của Usecase Đăng xuất 19

Hình 3.7: Biểu đồ trình tự của Usecase Đăng xuất 20

Hình 3.8: Biểu đồ hoạt động của Usecase Tra cứu thông tin các loại bệnh 21

Hình 3.9: Biểu đồ trình tự của Usecase Tra cứu thông tin các loại bệnh 21

Hình 3.10: Biểu đồ hoạt động của Usecase Xem video sức khỏe 22

Hình 3.11: Biểu đồ trình tự của Usecase Xem video sức khỏe 23

Hình 3.12: Biểu đồ hoạt động của Usecase Chat tư vấn sức khỏe 24

Hình 3.13: Biểu đồ trình tự của Usecase Chat tư vấn sức khỏe 24

Hình 3.14: Biểu đồ hoạt động của Usecase Tạo nhắc nhở 26

Hình 3.15: Biểu đồ trình tự của Usecase Tạo nhắc nhở 26

Hình 3.16: Biểu đồ hoạt động của Usecase Điều chỉnh nhắc nhở 27

Hình 3.17: Biểu đồ trình tự của Usecase Điều chỉnh nhắc nhở 28

Hình 3.18: Biểu đồ hoạt động của Usecase Xóa nhắc nhở 29

Hình 3.19: Biểu đồ trình tự của Usecase Xóa nhắc nhở 29

Hình 3.20: Biểu đồ hoạt động của Usecase Tạo ghi chú 30

Hình 3.21: Biểu đồ trình tự của Usecase Tạo ghi chú 31

Hình 3.22: Biểu đồ hoạt động của Usecase Sửa ghi chú 32

Hình 3.23: Biểu đồ trình tự của Usecase Sửa ghi chú 32

Hình 3.24: Biểu đồ hoạt động của Usecase Xóa ghi chú 34

Hình 3.25: Biểu đồ trình tự của Usecase Xóa ghi chú 34

Hình 3.26: Biểu đồ hoạt động cho Usecase Điều chỉnh thông tin cá nhân 35

Hình 3.27: Biểu đồ trình tự cho Usecase Điều chỉnh thông tin cá nhân 36

Hình 3.28: Biểu đồ hoạt động cho Usecase Quên mật khẩu 37

Trang 14

Hình 3.29: Biểu đồ trình tự cho Usecase Quên mật khẩu 38

Hình 3.30: Sơ đồ dữ liệu tổng quan 38

Hình 3.31: Mô hình kiến trúc MVP 41

Hình 4.1: Giao diện Đăng nhập 44

Hình 4.2: Giao diện Đăng ký 45

Hình 4.3: Giao diện Trang chủ 46

Hình 4.4: Giao diện Chat tư vấn sức khỏe 47

Hình 4.5: Giao diện Tra cứu thông tin các loại bệnh 48

Hình 4.6: Giao diện Xem video sức khỏe 49

Hình 4.7: Giao diện Quản lý ghi chú 50

Hình 4.8: Giao diện Quản lý nhắc nhở 51

Hình 4.9: Giao diện Hồ sơ 53

Hình 4.10: Giao diện Đổi mật khẩu 54

DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng tính tiến hóa 12

Bảng 3.8: Usecase Đăng xuất 19

Bảng 3.9: Usecase Tra cứu thông tin các loại bệnh 21

Bảng 3.10: Usecase Xem video sức khỏe 22

Bảng 3.11: Usecase Chat tư vấn sức khỏe 23

Bảng 3.12: Usecase Tạo nhắc nhở 25

Bảng 3.13: Usecase Sửa nhắc nhở 27

Bảng 3.14: Usecase Xóa nhắc nhở 29

Bảng 3.15: Usecase Tạo ghi chú 30

Bảng 3.16: Usecase Sửa ghi chú 32

Bảng 3.17: Usecase Xóa ghi chú 33

Trang 15

Bảng 3.18: Usecase Điều chỉnh thông tin cá nhân 35

Bảng 3.19: Usecase Quên mật khẩu 37

Bảng 3.20: Mô tả dữ liệu User 39

Bảng 3.21: Mô tả dữ liệu Disease 39

Bảng 3.22: Mô tả dữ liệu Video 40

Bảng 3.23: Mô tả dữ liệu Reminder 40

Bảng 3.24: Mô tả dữ liệu Note 40

Bảng 4.1: Danh sách giao diện 43

Bảng 4.2: Bảng mô tả giao diện Đăng nhập 44

Bảng 4.3: Bảng mô tả giao diện Đăng ký 45

Bảng 4.4: Bảng mô tả giao diện Trang chủ 46

Bảng 4.5: Bảng mô tả giao diện Chatbot tư vấn sức khỏe 47

Bảng 4.6: Bảng mô tả giao diện Tra cứu thông tin các loại bệnh 48

Bảng 4.7: Bảng mô tả giao diện Xem video sức khỏe 50

Bảng 4.8: Bảng mô tả giao diện Quản lý ghi chú 51

Bảng 4.9: Bảng mô tả giao diện Quản lý nhắc nhở 52

Bảng 4.10: Bảng mô tả giao diện Hồ sơ 53

Bảng 4.11: Bảng mô tả giao diện Đổi mật khẩu 54

Bảng 5.1: Bảng đánh giá mức độ hoàn thành và thử nghiệm ứng dụng 56

Trang 16

Chương 1 GIỚI THIỆU CHUNG

1.1 Đặt vấn đề

Sức khỏe là tài sản quý giá nhất của con người Tuy nhiên, trong thời đại hiện nay, khi nhịp sống ngày càng bận rộn, áp lực công việc và học tập tăng cao, thì việc chăm sóc sức khỏe đang trở thành một vấn đề nan giải Nhiều người thường xuyên gặp phải các vấn đề về sức khỏe như mệt mỏi, căng thẳng, đau đầu, nhưng lại không có thời gian hoặc không biết cách để tự chăm sóc sức khỏe bản thân Bên cạnh đó, việc tiếp cận với thông tin y tế chính thống cũng gặp nhiều khó khăn Điều này dẫn đến tình trạng nhiều người bệnh tự ý mua thuốc, điều trị sai cách, gây ra những hậu quả nghiêm trọng

1.2 Lý do chọn đề tài

Dựa trên những vấn đề trên, với mong muốn góp phần nâng cao nhận thức và ý thức chăm sóc sức khỏe, em đã lựa chọn đề tài xây dựng một ứng dụng tư vấn sức khỏe cho cộng đồng Ứng dụng này sẽ giúp người dùng tiếp cận được với các thông tin về sức khỏe một cách nhanh chóng và chính xác, đồng thời có thể giải đáp các thắc mắc của người dùng về nhiều vấn đề sức khỏe khác nhau cũng như cung cấp hướng giải quyết các vấn đề đó, từ đó người dùng có thể tự theo dõi và chăm sóc sức khỏe bản thân một cách hiệu quả và nhanh chóng

1.3 Mục tiêu đề tài

• Nghiên cứu công cụ DialogFlow, nền tảng chatbot của Google cung cấp khả năng hiểu ngôn ngữ tự nhiên (NLU) và tạo phản hồi tự động để tạo ra chatbot tư vấn sức khỏe người dùng Chatbot sẽ được đào tạo trên một bộ dữ liệu lớn về các câu hỏi và câu trả lời liên quan đến sức khỏe và các thông tin y tế để phục

vụ người dùng

• Nghiên cứu các vấn đề xoay quanh sức khỏe để xây dựng một ứng dụng tư vấn sức khỏe hiệu quả, chính xác, chẳng hạn như các bệnh lý thường gặp, các biện pháp phòng bệnh, Kết quả nghiên cứu sẽ được ứng dụng trong việc xây dựng các tính năng của ứng dụng

• Xây dựng và phát triển ứng dụng trên nền tảng di động, với giao diện thân thiện và dễ sử dụng, đáp ứng nhu cầu tư vấn sức khỏe hay tra cứu thông tin y tế của người dùng ở bất cứ đâu, bất kể thời gian nào

Trang 17

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

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

• Front-end: Flutter • Back-end: Flutter • Database: Firebase • IDE: Visual Studio Code

• Người có nhu cầu chăm sóc sức khỏe

• Người có nhu cầu tìm kiếm các thông tin y tế

1.5 Phạm vi nghiên cứu

❖ Phạm vi môi trường: Application

❖ Phạm vi chức năng: Người dùng có thể sử dụng chatbot để tư vấn sức khỏe; tra cứu thư viện sức khỏe về các loại bệnh, thư viện video; biết được tình trạng sức khỏe của bản thân, đặt nhắc nhở và thông báo cho các hoạt động sức khỏe, tạo ghi chú về các vấn đề sức khỏe

1.6 Phương pháp thực hiệ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 các tài liệu sức khỏe có liên quan

• Phương pháp thực nghiệm ❖ Phương pháp công nghệ

• Tìm hiểu Firebase để lưu trữ và thao tác với dữ liệu qua ứng dụng • Tìm hiểu DialogFlow để xây dựng chatbot tư vấn sức khỏe

Trang 18

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Flutter

Flutter là một Mobile UI Framework dựa trên ngôn ngữ lập trình Dart, được Google phát triển vào tháng 5 năm 2017 Mục đích của Google khi phát triển nền tảng này là để tối ưu thời gian tạo ra các giao diện chất lượng cao trên cả iOS và Android, đáp ứng được việc phát triển các ứng dụng mobile/web một cách nhanh chóng nhưng vẫn đảm bảo sự mượt mà, ổn định trên các nền tảng khác nhau

Flutter được phát triển trên ngôn ngữ Dart (cũng được phát triển bởi Google) Đây là một ngôn ngữ hướng đối tượng, bởi vậy trong quá trình chuyển đổi từ ngôn ngữ lập trình hướng đối tượng này sang ngôn ngữ tương tự khác sẽ diễn ra rất thuận lợi Ngoài ra, Flutter còn cung cấp một bộ UI hoàn toàn miễn phí và có thể tùy chỉnh để nhà phát triển thỏa sức sáng tạo giao diện ứng dụng

• Hot reload: Tính năng này sẽ hiển thị gần như là realtime (thời gian thực) cho những thay đổi trong thiết kế, hay những tùy chỉnh của bạn trên cùng một nền tảng Điều này giúp cho việc thêm tính năng, sửa lỗi hoặc thử nghiệm ý tưởng mới ngay lập tức

• Tiết kiệm thời gian, công sức và tiền bạc: Giống như bất kỳ công nghệ đa nền tảng nào khác, Flutter cho phép bạn sử dụng cùng một cơ sở mã để xây dựng các ứng dụng iOS và Android riêng biệt Điều này đồng nghĩa thời gian test, fix bugs sẽ nhanh hơn, tiết kiệm chi phí xây dựng ứng dụng hơn

• Giao diện đẹp: Flutter cung cấp các bộ UI với các hiệu ứng, hoạt ảnh cực kỳ tiện lợi Do được trang bị rất nhiều UI, đi cùng với các bộ widget phong phú nên các nhà phát triển có thể dễ dàng “hình ảnh hóa” những gì mà mình muốn mà không gặp quá nhiều khó khăn

• Flutter vẫn chưa thật hoàn thiện: Tuy mạnh mẽ nhưng thật khó để Flutter có thể đạt được những điều mà ngôn ngữ Java, C , JavaScript đã làm được Đơn giản là vì Flutter còn khá mới mẻ Thực tế, nhiều tính năng nâng cao của Flutter vẫn chưa được hỗ trợ; nhiều thư viện chưa được thử nghiệm chính thức còn tồn tại hạn chế

Trang 19

khi so sánh với các bản sao gốc (như là Google Maps)

• Dart còn khá mới: Ngôn ngữ Dart vẫn còn lạ lẫm với nhiều lập trình viên Tài liệu về chúng cũng không được nhiều như các ngôn ngữ khác Vậy nên dù có thể là dễ học, dễ thực hiện nhưng so với các ngôn ngữ thịnh hành thì đó là một trở ngại Về cơ bản ngôn ngữ lập trình Dart khá giống với Swift và Kotlin, nhưng có ít tính năng hơn, hoặc những tính năng hiện có chưa được toàn diện

• Kích thước file lớn và đôi lúc sự tương thích là chưa ổn định: Việc làm ra một ứng dụng chạy được trên cả Android và iOS tuy rất tuyệt vời, nhưng rõ ràng sự chuyên biệt luôn tốt hơn những thứ tổng hợp Nên đôi khi ứng dụng sẽ gặp một vài lỗi vặt trên cả hai nền tảng và kích thước file của chúng còn khá lớn

2.2 Firebase

Firebase là nền tảng được xây dựng, cung cấp bởi Google, hoạt động trên nền tảng Cloud nhằm hỗ trợ phát triển các ứng dụng trên web và di động dựa trên nguyên tắc đơn giản hóa thao tác lập trình Là một cơ sở dữ liệu có sẵn mang đến khả năng code nhanh chóng, thuận tiện hơn

Dưới sự hỗ trợ của nền tảng này, lập trình viên hoàn toàn không cần để tâm đến backend hay server mà có cơ hội tập trung chủ yếu vào việc phát triển ứng dụng Nền tảng này hướng đến đối tượng chủ yếu là di động, được biết đến như một “backend as an server”

• Một nền tảng, đa dịch vụ: Firebase cung cấp đầy đủ các dịch vụ hỗ trợ lập trình viên trong việc phát triển ứng dụng

• Tập trung phát triển chủ yếu về giao diện người dùng: Firebase cho phép lập trình viên tập trung chủ yếu vào phát triển phần giao diện người dùng nhờ kho Backend

Trang 20

mẫu phong phú đa dạng

Dialogflow sử dụng trí tuệ nhân tạo (AI) giúp phân tích ngôn ngữ tự nhiên để hiểu được những gì người dùng đưa vào

Intent đại diện cho một ý định cụ thể mà người dùng muốn diễn đạt hoặc hành động mà họ muốn thực hiện thông qua cuộc trò chuyện với hệ thống AI DialogFlow sử dụng Intent để ánh xạ các cú pháp ngôn ngữ tự nhiên (natural language) từ người dùng với các hành động cụ thể hoặc phản hồi mà bot cần thực hiện

Mỗi Intent có thể có các mẫu câu khác nhau mà người dùng có thể sử dụng để diễn đạt cùng một ý định, và mỗi Intent cũng có thể có các thực hiện khác nhau hoặc phản hồi để đáp ứng cho ý định đó Ví dụ, nếu một người dùng nói "Xin chào" hoặc "Hello" đến chatbot, hệ có thể có một Intent được gán cho hành động chào hỏi, trong đó thống sẽ phản hồi lại bằng cách gửi lời chào lại như "Xin chào! Bạn cần giúp gì hôm nay?" như một cách mở đầu một cuộc trò chuyện

Tóm lại, Intent trong DialogFlow giúp xác định ý định cụ thể của người dùng từ các

Trang 21

câu hoặc từ ngữ họ sử dụng và từ đó chuyển hướng hoặc thực hiện các hành động tương ứng của hệ thống AI hay chatbot

Entity đại diện cho các thành phần của thông điệp người dùng, các thành phần đó có thể thay đổi hoặc có ý nghĩa đặc biệt Entity giúp hệ thống hiểu rõ hơn về các thông tin cụ thể mà người dùng cung cấp trong các câu hoặc thông điệp của họ

Entity được sử dụng để trích xuất các thông tin quan trọng từ các dòng văn bản hoặc câu nói mà người dùng gửi đến chatbot hoặc hệ thống AI Điều này giúp DialogFlow nhận biết và xử lý dữ liệu người dùng một cách chính xác, cho phép bot hiểu được ngữ cảnh và cung cấp phản hồi chính xác hơn Ví dụ, trong một câu như "Tôi muốn đặt một chiếc bàn vào thứ Ba tới", "đặt một chiếc bàn" có thể là một Entity loại "Đặt hàng", trong khi "thứ Ba" có thể là một Entity loại "Ngày" DialogFlow cung cấp các loại Entity mặc định như số, ngày tháng, vị trí địa lý,… Người sử dụng cũng có thể tạo các Entity tùy chỉnh để phù hợp với các thông tin cụ thể và yêu cầu của ứng dụng của mình

Tóm lại, Entity trong DialogFlow giúp xác định và trích xuất các thông tin quan trọng từ câu hoặc văn bản người dùng, giúp hệ thống AI hiểu rõ hơn về ý nghĩa và ngữ cảnh của thông điệp và cung cấp phản hồi hoặc xử lý dữ liệu phù hợp

Agent đề cập đến dự án cụ thể mà bạn tạo để xây dựng và triển khai các hệ thống trí tuệ nhân tạo (AI) như chatbot, ứng dụng hội thoại, hoặc ứng dụng hỗ trợ tự động khác Mỗi Agent trong DialogFlow đại diện cho một module NLU (Natural Language Understanding – Phân tích để hiểu ngôn ngữ tự nhiên), giúp người sử dụng phân tích những những gì người dùng đưa vào (text hoặc voice) để chuyển thành những dữ liệu mà người sử dụng có thể xử lý được bằng lập trình

Trang 22

Hình 2.1: Cách Agent quản lý một cuộc hội thoại giữa người dùng và hệ thống

Mục tiêu của một Agent trong DialogFlow là để tạo ra một hệ thống AI hoặc chatbot thông minh có khả năng hiểu và phản hồi lại người dùng một cách tự nhiên, giúp cải thiện trải nghiệm người dùng và cung cấp giải pháp cho các tác vụ cụ thể mà Agent được thiết kế để thực hiện

• Hỗ trợ các tính năng mở rộng: Cho phép tích hợp với các webhook và các hệ thống ngoại vi khác để xử lý logic phức tạp và tích hợp dữ liệu từ các nguồn bên ngoài

• Machine Learning và Natural Language Understanding (NLU): DialogFlow có khả năng hiểu và xử lý ngôn ngữ tự nhiên, sử dụng các mô hình machine learning để cải thiện việc hiểu ý định và xử lý ngôn ngữ

• Khả năng hiểu và phản hồi có thể hạn chế: Trong một số trường hợp, khả năng

Trang 23

hiểu và phản hồi của bot có thể hạn chế, đặc biệt khi người dùng sử dụng ngôn ngữ phức tạp hoặc có nhiều yếu tố ngữ cảnh

• Phụ thuộc vào kết nối internet: Hoạt động dựa trên kết nối internet, vì vậy sẽ có hạn chế khi không có kết nối mạng

• Giới hạn trong mô hình miễn phí: Phiên bản miễn phí của DialogFlow có giới hạn về số lượng yêu cầu API, giới hạn dung lượng dữ liệu và một số hạn chế về tính năng so với các phiên bản trả phí

• Có thể đòi hỏi kỹ năng lập trình: Đối với những tính năng phức tạp hoặc yêu cầu tích hợp sâu, có thể yêu cầu kiến thức kỹ thuật và lập trình để triển khai

Trang 24

Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Danh sách các yêu cầu

• Sau khi truy cập vào ứng dụng, người dùng có thể sử dụng các tính năng sau: o Đăng ký tài khoản

o Cập nhật thông tin cá nhân sau khi đăng ký tài khoản (các thông tin sức khỏe như chiều cao, cân nặng)

o Sử dụng chatbot để được giải đáp về vấn đề sức khỏe mà bản thân đang gặp phải, hoặc hỏi về một bệnh lý hoặc thông tin y tế bất kì

o Truy cập thư viện sức khỏe để tìm đọc thông tin y tế về các loại bệnh hoặc xem các video hướng dẫn các bài tập thể dục, yoga và các video công thức hướng dẫn nấu các món ăn có lợi cho sức khỏe

o Theo dõi tình trạng cơ thể của bản thân qua các chỉ số như cân nặng, chiều cao, chỉ số BMI sau khi đã cung cấp các thông tin cá nhân trong phần hồ sơ sau khi đăng ký tài khoản

o Ghi chú về cảm giác sức khỏe của họ, triệu chứng, và thuốc đã sử dụng hoặc các thông tin cần nhớ như thông tin bệnh viện, bác sĩ,…

o Cài đặt các nhắc nhở thông báo về các hoạt động liên quan đến sức khỏe như uống nước, tập luyện, điều trị, uống thuốc

o Đổi mật khẩu hoặc có thể cài đặt mật khẩu mới khi quên thông qua email • Lưu trữ:

o Thông tin về người dùng: Hệ thống sẽ lưu các thông tin của người dùng như email, họ và tên, tuổi, giới tính, chiều cao, cân nặng

o Thông tin về các loại bệnh: bao gồm các thông tin như tên, tổng quan, nguyên nhân gây bệnh, triệu chứng, đối tượng có nguy cơ mắc bệnh, cách phòng ngừa, các biện pháp chuẩn đoán, các biện pháp điều trị

o Thông tin về các video: bao gồm các thông tin như tiêu đề, thời lượng, hình thu nhỏ, đường liên kết tới video

Trang 25

o Thông tin về nhắc nhở các hoạt động: bao gồm các thông tin như tên hoạt động, thời gian bắt đầu, ngày hoạt động, nhãn, nhắc nhở có lặp lại hay không, có đặt thông báo cho nhắc nhở hay không

o Thông tin về ghi chú: bao gồm các thông tin như tiêu đề, nội dung ghi chú, thời gian ghi chú, ngày ghi chú

• Tính toán: Tính toán chỉ số BMI để xác định tình trạng của người dùng và đưa ra lời khuyên thích hợp Tính toán thời gian đặt thông báo cho các hoạt động được tạo nhắc nhở

• Tính an toàn:

o Xác thực người dùng: Yêu cầu người dùng phải đăng nhập, xác thực trước khi truy cập vào ứng dụng, sử dụng phương thức email và mật khẩu để xác minh danh tính người dùng

o Kết nối an toàn: Sử dụng HTTPS để đảm bảo việc truyền dữ liệu giữa ứng dụng và cơ sở dữ liệu Firebase được mã hóa và an toàn

• Tính bảo mật:

o Bảo vệ thông tin cá nhân: Đảm bảo rằng thông tin cá nhân của người dùng được bảo vệ bằng cách mã hóa dữ liệu, như thông tin y tế, tuân thủ các quy định về bảo vệ dữ liệu cá nhân

o Bảo mật cơ sở dữ liệu: Sử dụng Firebase Security Rules để thiết lập quy tắc truy cập cơ sở dữ liệu, xác định quyền truy cập dữ liệu cho người dùng hoặc nhóm người dùng cụ thể

o Bảo mật phần mềm: Đảm bảo rằng phần mềm được cập nhật định kỳ để bảo vệ khỏi các lỗ hổng bảo mật đã biết

• Tính tiến hóa:

1 Thay đổi thông tin cá Họ và tên, tuổi, giới tính, chiều cao, cân

Trang 26

Không cần hướng dẫn

2 Tra cứu các loại bệnh

Không cần hướng dẫn

3 Xem video sức khỏe

Không cần hướng dẫn

4 Thêm, xóa, chỉnh sửa ghi chú

Không cần hướng dẫn

5 Thêm, xóa, chỉnh sửa nhắc nhở

Không cần hướng dẫn

6 Xem tình trạng sức khỏe

Không cần hướng dẫn

7 Chỉnh sửa thông tin cá nhân

Không cần hướng dẫn

4 Thay đổi mật khẩu Mật khẩu hiện tại, mật khẩu mới

Bảng 3.1: Bảng tính tiến hóa

Trang 27

3 Xóa ghi chú Sau 1 giây 4 Thêm nhắc nhở Ngay lập tức <= 1MB

7 Thay đổi thông tin cá nhân

Trang 28

❖ Danh sách các tác nhân

Người dùng Người dùng các tính năng cơ bản của ứng dụng

Bảng 3.4: Danh sách các tác nhân

❖ Danh sách Usecase

mới

Hình 3.1: Sơ đồ Usecase tổng quan

Trang 29

UC002 Đăng nhập Cho phép người dùng đăng nhập vào ứng dụng

UC003 Đăng xuất Cho phép người dùng thoát khỏi tài khoản hiện tại

UC004 Tra cứu thông tin các loại bệnh

Cho phép người dùng tra cứu thông tin các loại bệnh

UC005 Xem video sức khỏe Cho phép người dùng xem các video liên quan đến sức khỏe

UC006 Chat tư vấn sức khỏe Cho phép người dùng trực tiếp giải đáp thắc mắc về vấn đề sức khỏe bất kì dưới dạng tin nhắn

UC007 Tạo nhắc nhở Cho phép người dùng tạo nhắc nhở cho các hoạt động sức khỏe của bản thân

UC008 Sửa nhắc nhở Cho phép người dùng chỉnh sửa các nhắc nhở đã tạo trước đó

UC009 Xóa nhắc nhở Cho phép người dùng xóa các nhắc nhở đã tạo trước đó

UC010 Tạo ghi chú Cho phép người dùng ghi chú về các thông tin sức khỏe của bản thân UC011 Sửa ghi chú Cho phép người dùng chỉnh sửa nội

dung các ghi chú đã tạo trước đó UC012 Xóa ghi chú Cho phép người dùng xóa các ghi chú

đã tạo trước đó UC013 Điều chỉnh thông tin cá

nhân

Cho phép người dùng điều chỉnh thông tin cá nhân, bao gồm cả các thông tin sức khỏe như chiều cao, cân nặng UC014 Quên mật khẩu Cho phép người dùng tạo lại mật khẩu

mới khi quên thông qua email

Bảng 3.5: Danh sách các Usecase

Trang 30

3.2.2 Đặc tả Usecase a) Usecase Đăng ký

Tên Usecase Đăng ký

Mô tả Usecase cho phép người dùng đăng ký tài khoản để sử dụng ứng dụng với các chức năng cơ bản dành cho người dùng

Tiền điều kiện Không có

Hậu điền kiện Người dùng đăng ký thành công, chuyển hướng sang màn hình chính của ứng dụng

Dòng sự kiện chính

1 Chọn phần “Đăng ký ngay” 2 Điền các thông tin cần đăng ký 3 Nhấn nút “Đăng ký”

4 Hệ thống ghi nhận đăng ký thành công và chuyển hướng sang màn hình chính

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi 4a Hệ thống thông báo cập nhật thất bại do lỗi thông tin không hợp lệ

Bảng 3.6: Usecase Đăng ký ❖ Biểu đồ hoạt động

Hình 3.2: Biểu đồ hoạt động của Usecase Đăng ký

Trang 31

❖ Biểu đồ trình tự

b) Usecase Đăng nhập

Tên Usecase Đăng nhập

Mô tả Usecase cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng của ứng dụng

Tiền điều kiện Người dùng đã có tài khoản (đã đăng ký)

Hậu điền kiện Người dùng đăng nhập thành công, chuyển hướng sang màn hình chính của ứng dụng

Dòng sự kiện chính

1 Điền các thông tin đăng nhập 2 Nhấn nút “Đăng nhập”

3 Hệ thống ghi nhận và chuyển hướng sang màn hình chính Dòng sự kiện phụ Không có

Dòng sự kiện lỗi 4a Hệ thống thông báo cập nhật thất bại do lỗi thông tin không xác thực

Bảng 3.7: Usecase Đăng nhập

Hình 3.3: Biểu đồ trình tự của Usecase Đăng ký

Trang 32

❖ Biểu đồ hoạt động

❖ Biểu đồ trình tự

Hình 3.4: Biểu đồ hoạt động của Usecase Đăng nhập

Hình 3.5: Biểu đồ trình tự của Usecase Đăng nhập

Trang 33

c) Usecase Đăng xuất

Tên Usecase Đăng xuất

Mô tả Usecase cho phép người dùng thoát ra khỏi hệ thống

Tiền điều kiện Người dùng đã đăng nhập

Hậu điền kiện Người dùng thoát ra khỏi hệ thống và hiển thị màn hình đăng nhập

Dòng sự kiện chính

1 Chọn mục “Hồ sơ” 2 Chọn nút “Đăng xuất”

3 Hệ thống hiển thị dialog xác nhận đăng xuất 4 Nhấn nút xác nhận

5 Hệ thống điều hướng sang màn hình đăng nhập

Dòng sự kiện phụ 4a Người dùng không xác nhận, trở về màn hình trước đó Dòng sự kiện lỗi Không có.

Bảng 3.8: Usecase Đăng xuất

❖ Biểu đồ hoạt động

Hình 3.6: Biểu đồ hoạt động của Usecase Đăng xuất

Trang 34

❖ Biểu đồ trình tự

d) Usecase Tra cứu thông tin các loại bệnh

Tên Usecase Tra cứu thông tin các loại bệnh

Mô tả Usecase cho phép người dùng tra cứu thông tin các loại bệnh thường gặp

Tiền điều kiện Không có

Hậu điền kiện Hiển thị thông tin loại bệnh người dùng chọn Dòng sự kiện

chính

1 Chọn phần “Tra cứu”

2 Hệ thống hiển thị màn hình tra cứu theo bảng chữ cái 3 Người dùng chọn chữ cái đầu tiên của loại bệnh cần tra cứu 4 Hệ thống hiển thị danh sách các loại bệnh bắt đầu bằng chữ cái người dùng chọn

5 Người dùng chọn loại bệnh mình cần tra cứu (nếu có trong danh sách)

6 Hiển thị màn hình thông tin người dùng chọn Dòng sự kiện phụ 5a Loại bệnh người dùng không có trong danh sách

Hình 3.7: Biểu đồ trình tự của Usecase Đăng xuất

Trang 35

Dòng sự kiện lỗi Không có.

Bảng 3.9: Usecase Tra cứu thông tin các loại bệnh

❖ Biểu đồ hoạt động

❖ Biểu đồ trình tự

e) Usecase Xem video sức khỏe

Hình 3.9: Biểu đồ trình tự của Usecase Tra cứu thông tin các loại bệnh Hình 3.8: Biểu đồ hoạt động của Usecase Tra cứu thông tin các loại bệnh

Trang 36

Mã Usecase UC005

Tên Usecase Xem video sức khỏe

Mô tả Usecase cho phép người dùng xem các video liên quan đến sức khỏe

Tiền điều kiện Người dùng đã đăng nhập

Hậu điền kiện Hiển thị video player chiếu video mà người dùng chọn xem Dòng sự kiện

chính

1 Chọn phần “Tra cứu” 2 Chọn tab “Video”

3 Hiển thị danh sách các video 4 Người dùng chọn video muốn xem

5 Hệ thống chuyển hướng sang trang chiếu video, tải video và chiếu video khi đã tải xong

Dòng sự kiện phụ Không có Dòng sự kiện lỗi Không có.

Bảng 3.10: Usecase Xem video sức khỏe

❖ Biểu đồ hoạt động

Hình 3.10: Biểu đồ hoạt động của Usecase Xem video sức khỏe

Ngày đăng: 15/05/2024, 09:29

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan