Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 90 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
90
Dung lượng
4,93 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 (2021 – 2022) ĐỀ 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: SE121.M21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 17, tháng 06, năm 2022 ĐẠ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 (2021 – 2022) ĐỀ 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: SE121.M21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 17, tháng 06, năm 2022 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 Để thiết kế hoàn thiện sản phẩm với yêu cầu người dùng, chú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 19 3.1 Yêu cầu chức 19 3.1.1 Use Case Diagram 19 3.1.2 Mô tả Use Case 20 3.1.3 Đặc tả Use case 21 UC1: Đăng nhập 21 UC2: Đăng ký 23 UC3: Quên mật 26 UC4: Send OTP 29 UC5: Đăng xuất 30 UC6: Cập nhật thông tin cá nhân 31 UC7: Tạo công việc (CRUD) 32 UC8: Tạo thông báo nhắc việc 35 UC9: Tạo ghi (CRUD) 37 UC10: Tạo Album ảnh (CRUD) 40 UC11: Thêm ảnh (CRUD) 43 UC12: Thêm tài khoản (CRUD) 45 UC13: Thêm giấy tờ (CRUD) 47 UC14: Scan ảnh 50 UC15: Hỏi đáp chatbot 52 UC16: Thêm thông tin sức khoẻ (CRUD) 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 62 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 65 4.3 Giao diện quên mật 67 4.4 Màn hình trang chủ 68 4.5 Màn hình thơng tin cá nhân 69 4.6 Giao diện lập kế hoạch 71 4.7 Giao diện thêm công việc 72 4.8 Giao diện ghi 73 4.9 Giao diện album ảnh 75 4.10 Giao diện tài khoản 77 4.11 Giao diện sức khoẻ 79 4.12 Giao diện chatbot hỏi đáp sức khoẻ 81 Chương THỬ NGHIỆM VÀ ĐÁNH GIÁ 82 5.1 Môi trường thử nghiệm 82 5.2 Kết thử nghiệm 82 5.3 Đánh giá sản phẩm 82 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83 6.1 Kết luận 83 6.2 Hạn chế hướng phát triển 83 6.2.1 Hạn chế 83 6.2.2 Hướng phát triển 83 TÀI LIỆU THAM KHẢO 85 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…………………………………………….19 Hình 3.2: Database Diagram 57 Hình 4.1: Danh sách hình đăng ký………………………………………………….64 Hình 4.2: Màn hình đăng nhập 65 Hình 4.3: Màn hình quên mật 67 Hình 4.4: Màn hình trang chủ 68 Hình 4.5: Màn hình thông tin cá nhân 69 Hình 4.6: Màn hình lập kế hoạch 71 Hình 4.7: Màn hình thêm cơng việc 72 Hình 4.8: Danh sách hình ghi 74 Hình 4.9: Danh sách hình album ảnh 76 Hình 4.10: Danh sách hình lưu trữ tài khoản 77 Hình 4.11: Danh sách hình hồ sơ sức khoẻ 79 Hình 4.12: Màn hình chatbot 81 DANH MỤC TỪ VIẾT TẮT # Từ viết tắt UI Từ đầy đủ User Interface Ý nghĩa Giao diện người dùng API Application Programing Inteface Giao diện lập trình ứng dụng CSDL Cơ sở liệu SDK 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 I/O 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 Hệ thống định vị tài nguyên thống (hay địa web) JSON Javascript Object Notation Kiểu liệu mở Javascript dùn để trao đổi liệu web AI Artificial Intelligence Trí tuệ nhân tạo 10 IVR Interactive Voice Response Hệ thống tổng đài trả lời tự động 11 IDE Integrated Development Environment Môi trường tích hợp dùng để viết code để phát triển ứng dụng 12 UC Usecase 13 CRUD 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ể lầ n đầ u 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 14 tháng 06 năm 2022 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP HCM, ngày 17 tháng năm 2022 ĐỀ 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 28/02/2022 đế n ngày 11/06/2022 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 qn 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 khơng biết 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 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 cải thiện sức khỏe: lưu trữ thông tin sức khoẻ, chatbot hỗ trợ sức khoẻ (FAQ vấn đề sức khỏe, cung cấp viết chuyên gia bệnh lý, triệu chứng thông thường, Hỏi đáp 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 xem thông tin, đăng nhập, đăng ký, đăng xuất - 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ẻ 4.6 Giao diện lập kế hoạch Hình 4.6: Màn hình lập kế hoạch Danh sách đối tượng Mã đối tượng Tên đối tượng (1) Calendar view (2) Thêm công việc (3) Date bar view (4) Danh sách công việc STT Widget Mô tả Đổi view từ (3) sang (5) IconButton người dùng click button Điều hướng đến ElevatedButton hình Thêm task người dùng click button Hiển thị danh sách công DatePicker (package: việc tương ứng với ngày date_picker_timeline) chọn (3) Hiển thị danh sách công ListView việc 71 (5) Table Calendar view TableCalendar (package: table_calendar) Hiển thị table calendar (5) 4.7 Giao diện thêm cơng việc Hình 4.7: Màn hình thêm công việc Danh sách đối tượng Mã đối tượng Tên đối tượng Widget (1) Tiêu đề TextField (2) Ghi TextField (3) Ngày thực TextField STT 72 Mô tả Cho phép người dùng nhập tiêu đề công việc Cho phép người dùng nhập ghi cho công việc Cho phép người dùng chọn ngày thực công việc click icon button (3) Cho phép người dùng chọn thời gian bắt đầu công việc click icon button (4) 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 (4) Thời gian bắt đầu TextField (5) Thời gian kết thúc TextField (6) Nhắc nhở TextField (7) Lặp lại công việc DropdownButton (8) Màu item ElevatedButton Chọn màu cho item task (9) Thêm công việc ElevatedButton Kiểm tra thêm công việc vào danh sách người dùng click button 4.8 Giao diện ghi 73 Lặp lại cơng việc theo Ngày, Tuần, None Hình 4.8: Danh sách hình ghi Danh sách đối tượng STT Mã đối tượng Tên đối tượng Widget (1) Danh sách Tab TabBar (2) Danh sách note item ListView (3) Thêm note IconButton 74 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) Điều hướng đến hình thêm ghi (Hình số 2) (4) Thêm ảnh IconButton (5) Thêm ảnh IconButton (6) Tiêu đề TextField (7) Nội dung TextField (8) Lưu note ElevatedButton (9) Xoá ghi IconButton 10 (10) Lưu note IconButton 4.9 Giao diện album ảnh 75 Thêm ảnh cách chụp ảnh Thêm ảnh cách tải ảnh lên từ thư viện Cho phép người dùng nhập tiêu đề ghi Cho phép người dùng nhập nội dung ghi Kiểm tra thêm note người dùng click button Xoá ghi khỏi danh sách Lưu thông tin ghi sau sửa đổi Hình 4.9: Danh sách hình album ảnh Danh sách đối tượng STT Mã đối tượng Tên đối tượng Widget (1) Danh sách album ảnh ListView (2) Thêm album IconButton (3) Select ảnh TextButton 76 Mô tả 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) Hiển thị form thêm album Khi click button này, người dùng chọn nhiều ảnh để xử lý (như hình số 3) Thêm nhiều ảnh cách tải lên từ thư viện thiết bị Hiển thị danh sách ảnh theo album tương ứng (4) Thêm ảnh IconButton (5) Danh sách ảnh Gridview (6) Huỷ thao tác TextButton Quay lại hình (7) Xoá ả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 4.10 Giao diện tài khoản Hình 4.10: Danh sách hình lưu trữ tài khoản Danh sách đối tượng 77 STT Mã đối tượng Tên đối tượng Widget Mô tả Cho phép người dùng nhập mật để vào tab 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 (1) Mật TextField (2) Xác thực ElevatedButton (3) Danh sách tài khoản ListView (4) Xoá IconButton Xoá tài khoản (5) Chỉnh sửa IconButton Chỉnh sửa tài khoản (6) Thêm IconButton (7) Tiêu đề TextField (8) Tên tài khoản TextField (9) Mật TextField 10 (10) Ghi TextField 11 (11) Thêm ElevatedButton 78 Điều hướng đến hình Thêm tài khoản người dùng click button Cho phép người dùng nhập tiêu đề cho tài khoản Cho phép người dùng nhập tên tài khoản cần lưu trữ Cho phép người dùng nhập mật cần lưu trữ Cho phép người dùng nhập ghi cho tài khoản 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.11: 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 Đếm bước chân Khoảng cách Widget Mô tả Text Hiển thị số bước chân ngày Text Khoảng cách (1) (2) (3) Calo tiêu thụ Text (4) Danh sách số sức khoẻ Gridview 79 Hiển thị lượng calo tiêu thụ Hiển thị danh sách số Khi người dùng click item hiển thị danh sách điều (5) Thêm (6) Biểu đồ (7) Danh sách healthy index hướng đến hình chi tiết số (xem ảnh số 2) Điều hướng đến hình Thêm giá trị số sức khoẻ tương IconButton ứng người dùng click button (hình số 3) Hiển thị biểu đồ sức SfCartesianChart khoẻ theo số (package: chọn 10 lần đo syncfusion_flutter_chart) gần ListView Hiển thị danh sách lần đo Xoá Lần đo chọn khỏi danh sách (8) Xoá IconButton (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 80 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.12: Màn hình chatbot Danh sách đối tượng Mã đối tượng Tên đối tượng Widget (1) Nội dung tin nhắn TextField (2) Gửi IconButton STT 81 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 82 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 hồ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 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 - 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 Lập kế hoạch Quản lý lưu trữ: ghi chú, album, tài khoản, Quản lý hồ sơ sức khoẻ 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 kinh nghiệm thực tế chưa nhiều nên đồ án khơng tránh khỏi thiếu sót hạn chế: Chưa thống kê việc hoàn thành kế hoạch phân hệ lập kế hoạch Chưa hỗ trợ đổi gói ngơn ngữ Chưa xử lý ngôn ngữ tự nhiên với Chatbot, 6.2.2 Hướng phát triển 83 - 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 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 84 TÀI LIỆU THAM KHẢO [1] Google Flutter Mobile Development Quick Start Guide by Prajyot Mainkar And Salvatore Giordano [2] Lập trình chatbot với dialogflow: : https://marutitech.com/build-a-chatbot-usingdialogflow/ [3] Hỗ trợ sử dụng thư viện có sẵn flutter hướng dẫn sử dụng: https://pub.dev/ [4] Diễn đàn cơng nghệ lập trình viên: https://stackoverflow.com/ 85 ... NodeJS giúp nhà phát triển xây dựng ứng dụng web cách đơn giản dễ dàng mở rộng 14 NodeJS dùng để xây dựng loại ứng dụng khác ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực,... 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... 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