Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
5,35 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯ ỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Học Kỳ II (2022 – 2023) ĐỀ TÀI: ỨNG DỤNG SỔ TAY CÁ NHÂN Nhóm sinh viên thực hiện: - Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 - Lớp: SE122.N21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 24, tháng 06, năm 2023 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯ ỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Học Kỳ II (2022 – 2023) ĐỀ TÀI: ỨNG DỤNG SỔ TAY CÁ NHÂN Nhóm sinh viên thực hiện: - Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 - Lớp: SE122.N21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 23, tháng 06, năm 2023 MỤC LỤC DANH MỤC HÌNH DANH MỤC TỪ VIẾT TẮT LỜI CẢM ƠN ĐỀ CƯƠNG CHI TIẾT NỘI DUNG Chương GIỚI THIỆU 1.1 Lý chọn đề tài 1.2 Mục tiêu 1.3 Phạm vi 10 1.4 Đối tượng sử dụng 10 1.5 Phương pháp thực 10 Chương KIẾN THỨC VÀ CÔNG NGHỆ NỀN TẢNG 12 2.1 Kiến thức tảng 12 2.2 Công nghệ sử dụng 12 2.2.1 Ngơn ngữ lập trình Dart 12 2.2.2 Flutter 13 2.2.3 Nodejs 14 2.2.4 Expressjs 15 2.2.5 MongoDB 16 2.2.6 DialogFlow 17 2.2.7 Visual Studio Code 18 Chương XÂY DỰNG ỨNG DỤNG 20 3.1 Yêu cầu chức 20 3.1.1 Use Case Diagram 20 3.1.2 Mô tả Use Case 21 3.1.3 Đặc tả Use case 22 UC01: Đăng nhập SĐT 22 UC02: Đăng nhập Google 24 UC03: Đăng ký 26 UC04: Quên mật 29 UC05: Send OTP 32 UC06: Đăng xuất 33 UC07: Cập nhật thông tin cá nhân 34 UC08: Tạo loại công việc (CRUD) 35 UC09: Tạo công việc (CRUD) 37 UC10: Tạo thông báo nhắc việc 39 UC11: Tạo ghi (CRUD) 41 UC12: Tạo Album ảnh (CRUD) 44 UC13: Thêm ảnh (CRUD) 47 UC14: Thêm tài khoản (CRUD) 49 UC15: Thêm số sức khoẻ (CRUD) 51 UC15: Hỏi đáp chatbot 54 3.1.4 Mô tả sở liệu 56 3.1.5 Danh sách Messages 61 3.2 Yêu cầu phi chức 62 3.2.1 Capacity 62 3.2.2 Response Time 62 3.2.3 Portability 62 3.2.4 Reliability 63 3.2.5 Safety 63 Chương THIẾT KẾ GIAO DIỆN ỨNG DỤNG 64 4.1 Giao diện đăng ký 64 4.2 Giao diện đăng nhập 66 4.3 Giao diện quên mật 68 4.4 Màn hình trang chủ 70 4.5 Màn hình thơng tin cá nhân 72 4.6 Giao diện lập kế hoạch 74 4.7 Giao diện loại công việc 76 4.8 Giao diện thêm công việc 78 4.9 Giao diện ghi 79 4.10 Giao diện album ảnh 82 4.11 Giao diện quản lý tài khoản 85 4.12 Giao diện sức khoẻ 87 4.13 Giao diện chatbot hỏi đáp sức khoẻ 89 Chương THỬ NGHIỆM VÀ ĐÁNH GIÁ 90 5.1 Môi trường thử nghiệm 90 5.2 Kết thử nghiệm 90 5.3 Đánh giá sản phẩm 90 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91 6.1 Kết luận 91 6.2 Hạn chế hướng phát triển 91 6.2.1 Hạn chế 91 6.2.2 Hướng phát triển 92 TÀI LIỆU THAM KHẢO 93 DANH MỤC HÌNH Hình 2.1: Ngơn ngữ lập trình Dart 12 Hình 2.2: Flutter SDK 13 Hình 2.3: Javascript runtime Nodejs 14 Hình 2.4: Expressjs framework 15 Hình 2.5: Cơ sở liệu MongoDB 16 Hình 2.6: Dialogflow framework AI 17 Hình 2.7: Visual Studio Code 18 Hình 3.1: Sơ đồ Usecase tổng quát hệ thống…………………………………………….20 Hình 3.2: Database Diagram 56 Hình 4.1: Danh sách hình đăng ký………………………………………………….64 Hình 4.2: Màn hình đăng nhập 66 Hình 4.3: Màn hình quên mật 68 Hình 4: Màn hình trang chủ 70 Hình 4.5: Màn hình thơng tin cá nhân 72 Hình 4.6: Màn hình lập kế hoạch 74 Hình 4.7: Màn hình loại cơng việc 76 Hình 4.8: Màn hình thêm cơng việc 78 Hình 4.9: Danh sách hình ghi 80 Hình 4.10: Danh sách hình album ảnh 83 Hình 4.11: Danh sách hình lưu trữ tài khoản 85 Hình 4.12: Danh sách hình hồ sơ sức khoẻ 87 Hình 4.13: Màn hình chatbot 89 DANH MỤC TỪ VIẾT TẮT # Từ viết tắt UI API CSDL SDK I/O Ý nghĩa Giao diện người dùng Từ đầy đủ User Interface Application Programing Inteface Giao diện lập trình ứng dụng Cơ sở liệu Software Development Kit Công cụ phần mềm dùng để phát triển ứng dụng thông qua tảng định Input / Output Thiết bị đầu cuối HTTP Hyper Text Transfer Protocol Giao thức truyền tải siêu văn URL Uniform Resource Locator JSON Javascript Object Notation AI 10 IVR 11 IDE 12 UC 13 CRUD Artificial Intelligence Interactive Voice Response Integrated Development Environment Hệ thống định vị tài nguyên thống (hay địa web) Kiểu liệu mở Javascript dùng để trao đổi liệu web Trí tuệ nhân tạo Hệ thống tổng đài trả lời tự động Môi trường tích hợp dùng để viết code để phát triển ứng dụng Usecase Create, Read, Update, Delete Thêm, đọc, sửa, xoá 14 OTP One Time Password Mật xác thực lần coi lớp bảo vệ thứ hai cho ứng dụng 15 BR Business Rule Quy tắc nghiệp vụ 16 MSG Message 17 MTBF Mean time between failure Thời gian trung bình lần hỏng hóc LỜI CẢM ƠN Sau quá trình ho ̣c tập và rèn luyện ta ̣i khoa Công nghệ phầ n mề m trường Đa ̣i ho ̣c Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã đươc̣ trang bi ̣các kiế n thức cơ bản, các kỹ năng thực tế để có thể thực hiện Đồ án của mình Để hoàn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đế n: Ban Giám hiệu trường Đa ̣i ho ̣c Công nghệ Thông tin – ĐHQG TP.HCM vì đã ta ̣o điề u kiện về cơ sở vật chấ t với hệ thố ng thư viện hiện đa ̣i, đa da ̣ng các loa ̣i sách, tài liệu thuận lơị cho việc tìm kiế m, nghiên cứu thông tin Chúng em xin gửi lời cảm ơn chân thành đế n thầ y Trầ n Anh Dũng đã tận tình giúp đỡ, đinh ̣ hướng cách tư và cách làm việc khoa ho ̣c Đó là những góp ý hế t sức quý báu không chỉ quá trình thực hiện đề tài mà còn là hành trang tiế p bước cho chúng em quá trình ho ̣c tập và lập nghiệp sau này Và cuố i cùng, chúng em xin gửi lời cảm ơn đế n gia đình, tấ t cả thầ y cô khoa, ba ̣n bè, tập thể lớp PMCL2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ ho ̣c tập và cuộc số ng Mong rằ ng, chúng ta sẽ mãi mãi gắ n bó với Tuy nhiên trình nghiên cứu đề tài, kiến thức chuyên ngành hạn chế nên chúng em cịn nhiều thiếu sót tìm hiểu, đánh giá, trình bày đề tài Rất mong nhận quan tâm, góp ý thầy để đề tài chúng em đầy đủ hoàn chỉnh Chúng em xin chân thành cảm ơn TP Hồ Chí Minh, ngày 24 tháng 06 năm 2023 CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN Độc Lập – Tự Do – Hạnh Phúc TP HCM, ngày 24 tháng năm 2023 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Xây dựng ứng dụng sổ tay cá nhân Cán hướng dẫn: ThS Trần Anh Dũng Thời gian thực hiện: Từ ngày 27/02/2023 đế n ngày 24/06/2023 Sinh viên thực hiện: Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 Nội dung đề tài Lý chọn đề tài Với nhiều hoạt động xảy thường xuyên phút, ngày Khi làm việc đó, ta thường làm theo khơng có kế hoạch định Và hồn tồn quên chớp mắt Chính việc dẫn đến tình trạng bị trì trệ, khơng mang đến kết tốt Những điều khả bạn quản lý thời gian lên kế hoạch cho sống Ngồi thói quen xếp lối sống sinh hoạt, xếp vật dụng nhà, bạn cần phải có xếp để quản lý thời gian thân Có sổ tay để ghi vào lịch hẹn hay deadline cho công việc tuần kế tiếp, lướt qua trước bắt đầu ngày mới, chắn bạn có kế hoạch tốt cho thân, Bộ nhớ người vô hạn Nhưng khơng thường xun gợi nhớ thơng tin lưu trữ bị Một sổ tay trợ lý tuyệt vời giúp bạn ghi nhớ vấn đề sống Địa khách hàng, số điện thoại người bạn quen, liệt kê hạng mục cần mua sắm, nhật ký chi tiêu hàng ngày… Biết tầm quan trọng, chúng em định xây dựng ứng dụng sổ tay cá nhân Với mong muốn giúp người dùng quản lý thời gian, kế hoạch cho riêng Giúp quản lý chi tiêu cá nhân để bạn biết sử dụng đồng tiền cách hợp lý, hiệu Giúp ghi lại thứ quan trọng, đặc biệt lưu trữ thơng tin trình trạng sức khoẻ hệ thống chatbot hỗ trợ trả lời câu hỏi sức khoẻ, bệnh lý triệu chứng thông thường mà cá nhân gặp phải Mục tiêu Xây dựng ứng dụng hỗ trợ vấn đề cá nhân: - Hỗ trợ việc lên kế hoạch nhắc việc - Hỗ trơ ̣ việc ghi chú thông tin, lưu trữ tài sản cá nhân (hình ảnh, video, tài khoản, ) Hỗ trơ ̣ giúp quản lý thông tin sức khỏe: lưu trữ thông tin sức khoẻ, chatbot hỗ - trơ ̣ sức khoẻ (FAQ các vấ n đề cơ bản về sức khỏe, cung cấ p các bài viế t của các chuyên gia về các bệnh lý, triệu chứng thông thường, Hỏi đáp các khoảng thời gian ngủ nghỉ hơp̣ lý, ) Phạm vi Phạm vi môi trường: Ứng dụng di động Phạm vi chức năng: Đối với ứng dụng: - Cung cấp chức đăng nhập, đăng ký, đăng xuất, quên mật khẩu, thông tin người dùng,… - Cung cấp chức để người dùng lên kế hoạch nhắc việc - Cung cấp chức để lưu ghi xem tư liệu, thông tin lưu - Cung cấp chức quản lý thông tin sức khoẻ 5 (2) (3) (4) (5) TextField TextField Cho phép người dùng chọn ngày thực công việc click icon button (3) TextField Cho phép người dùng chọn thời gian bắt đầu công việc click icon button (4) TextField Cho phép người dùng chọn thời gian kết thúc công việc click icon button (5) Cho phép người dùng nhập thời gian nhắc nhở trước thời gian bắt đầu phút Ghi Cho phép người dùng nhập ghi cho công việc Ngày thực Thời gian bắt đầu Thời gian kết thúc (6) Nhắc nhở TextField (7) Chọn loại công việc DropdownButton (8) Thêm công việc ElevatedButton 4.9 Giao diện ghi 79 Chọn loại công việc Kiểm tra thêm công việc vào danh sách người dùng click button Hình 4.9: Danh sách hình ghi Danh sách đối tượng STT Mã đối tượng (1) (2) Tên đối tượng Widget Danh sách Tab TabBar Danh sách note item ListView 80 Mô tả Điều hướng đến tab tương ứng người dùng click vào TabItem Hiển thị danh sách ghi Khi người dùng click item hiển thị danh sách điều hướng đến hình chi tiết ghi (Hình số 3) IconButton Điều hướng đến hình thêm ghi (Hình số 2) (3) Thêm note (4) Thêm ảnh IconButton Thêm ảnh cách chụp ảnh (5) Thêm ảnh IconButton Thêm ảnh cách tải ảnh lên từ thư viện (6) Đóng IconButton Đóng hình thêm (7) Tiêu đề TextField Cho phép người dùng nhập tiêu đề ghi (8) Nội dung TextField Cho phép người dùng nhập nội dung ghi (9) Chọn màu ColorPicker 10 (10) Lưu note ElevatedButton 11 (11) Xoá ghi IconButton Xoá ghi khỏi danh sách 12 (12) Lưu note IconButton Lưu thông tin ghi sau sửa đổi 81 Chọn màu đại diện Kiểm tra thêm note người dùng click button 4.10 Giao diện album ảnh 82 Hình 4.10: Danh sách hình album ảnh Danh sách đối tượng STT Mã đối tượng (1) Tên đối tượng Danh sách album ảnh 83 Widget Mô tả ListView Hiển thị danh sách album Khi người dùng click item hiển thị danh sách điều hướng đến hình danh sách ảnh tương ứng (Hình số 2) (2) (3) Thêm album Select ảnh IconButton Hiển thị form thêm album TextButton Khi click button này, người dùng chọn nhiều ảnh để xử lý (như hình số 3) (4) Thêm ảnh IconButton Thêm nhiều ảnh cách tải lên từ thư viện thiết bị (5) Danh sách ảnh Gridview Hiển thị danh sách ảnh theo album tương ứng (6) Huỷ thao tác TextButton Quay lại hình (7) Xố ảnh IconButton Kiểm tra xoá ảnh chọn PageView Người dùng xem tất ảnh album dạng slide (8) Xem ảnh 84 4.10 Giao diện quản lý tài khoản Hình 4.11: Danh sách hình lưu trữ tài khoản Danh sách đối tượng STT Mã đối Tên đối tượng tượng Widget Mô tả Cho phép người dùng (1) Mật TextField nhập mật để vào tab (2) (3) Xác thực ElevatedButton Danh sách tài ListView khoản 85 Kiểm tra điều hướng đến tab lưu trữ tài khoản Hiển thị danh sách tài khoản (4) Xoá IconButton Xoá tài khoản (5) Chỉnh sửa IconButton Chỉnh sửa tài khoản Điều hướng đến (6) Thêm IconButton hình Thêm tài khoản người dùng click button Cho phép người dùng (7) Tiêu đề TextField nhập tiêu đề cho tài khoản Cho phép người dùng (8) Tên tài khoản TextField nhập tên tài khoản cần lưu trữ Cho phép người dùng (9) Mật TextField nhập mật cần lưu trữ Cho phép người dùng 10 (10) Ghi TextField nhập ghi cho tài khoản 11 (11) Thêm ElevatedButton 86 Kiểm trả thêm tài khoản vào danh sách 4.11 Giao diện sức khoẻ Hình 4.12: Danh sách hình hồ sơ sức khoẻ Danh sách đối tượng STT Mã đối tượng Tên đối tượng Widget Mô tả (1) Đếm bước chân Text Hiển thị số bước chân ngày (2) Khoảng cách Text Khoảng cách (3) Calo tiêu thụ Text Hiển thị lượng calo tiêu thụ (4) Danh sách số sức khoẻ Gridview 87 Hiển thị danh sách số Khi người dùng click item hiển thị danh sách điều hướng đến hình chi tiết số (xem ảnh số 2) Thêm IconButton Điều hướng đến hình Thêm giá trị số sức khoẻ tương ứng người dùng click button (hình số 3) (6) Biểu đồ SfCartesianChart (package: syncfusion_flutter_chart ) Hiển thị biểu đồ sức khoẻ theo số chọn 10 lần đo gần (7) Danh sách healthy index ListView Hiển thị danh sách lần đo (5) (8) Xoá IconButton Xoá Lần đo chọn khỏi danh sách (9) Ngày TextField Ngày đo 10 (10) Thời gian TextField Thời gian đo 11 (11) Chỉ số TextField Giá trị 12 (12) Thêm ElevatedButton 88 Kiểm tra thêm lần đo vào danh sách 4.12 Giao diện chatbot hỏi đáp sức khoẻ Hình 4.13: Màn hình chatbot Danh sách đối tượng STT Mã đối tượng Tên đối tượng Widget (1) Nội dung tin nhắn TextField (2) Gửi IconButton 89 Mô tả Cho phép người dùng nhập nội dung tin nhắn Gửi tin nhắn Chương THỬ NGHIỆM VÀ ĐÁNH GIÁ 5.1 Mơi trường thử nghiệm Vì thời gian có hạn nên chúng em dừng lại việc thử nghiệm máy cá nhân, máy bạn bè 5.2 Kết thử nghiệm - Phần mềm cài đặt thử nghiệm với số liệu chạy thông suốt cho kết quả, đáp ứng yêu cầu người dùng đặt - Kiểm soát lỗi ngoại lệ phát sinh người dùng nhập vào không Báo cáo mẫu theo yêu cầu 5.3 Đánh giá sản phẩm - Ứng dụng thực tương đối chức ứng dụng dành cho cá nhân - Giao diện thân thiện, dễ sử dụng - Các chức thực ổn định 90 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Sau thời gian tìm hiểu vấn đề liên quan xảy cá nhân thu thập hồ sơ liệu liên quan, nhóm hoàn thành đồ án “Ứng dụng sổ tay cá nhân chatbot hỗ trợ tư vấn sức khoẻ” Đồ án đưa cách tổng quan việc xây dựng hệ thống chương trình quản lý thời gian, kế hoạch cho thân Giúp ghi lại thứ quan trọng, đặc biệt lưu trữ thơng tin trình trạng sức khoẻ hệ thống chatbot hỗ trợ trả lời câu hỏi sức khoẻ, bệnh lý triệu chứng thông thường mà cá nhân gặp phải Trong đề tài này, vận dụng kiến thức tìm hiểu Dialogflow, Flutter, MongoDB nhiệm vụ bản, nhóm em xây dựng ứng dụng đáp ứng yêu cầu bản: Đăng ký, đăng nhập, quên mật khẩu,… Quản lý thông tin người dùng Lập kế hoạch nhắc việc Quản lý lưu trữ: ghi chú, album ảnh, account,… Chatbot 6.2 Hạn chế hướng phát triển 6.2.1 Hạn chế Mặc dù cố gắng, thời gian có hạn, kiến thức hạn hẹp xảy nhiều lỗi nên đồ án khơng tránh khỏi thiếu sót hạn chế: Chưa hỗ trợ đổi gói ngơn ngữ Một số chỗ giao diện chưa đẹp Chưa hỗ trợ quản lý chi tiêu cá nhân 91 6.2.2 Hướng phát triển - Khả xử lý tất kiện, lỗi ý muốn tốt chương trình dùng thao tác lên chương trình - Hồn thiện tốt lập trình Dart với Fluter - Nâng cao tính linh động chương trình - Thêm chức để đáp ứng điều kiện người dùng - Nâng cao kỷ thuật lập trình hồn chỉnh thành phần cịn thiếu theo hướng chuyên nghiệp, chạy thử, khả đưa vào áp dụng thức tế khả quan - Bảo mật liệu tốt 92 TÀI LIỆU THAM KHẢO [1] "Dart | Language Tour - Functions." Dart Truy cập 10/2022, https://dart.dev/language/functions [2] "Flutter | Tutorials." Flutter Documentation Truy cập 10/2022, https://docs.flutter.dev/reference/tutorials [3] "Flutter Cookbook: Fetch Data." Truy cập 10/2022, https://docs.flutter.dev/cookbook/networking/fetch-data [4] Các thư viện hỗ trợ: https://pub.dev/ 93