Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Tìm hiểu flutter và xây dựng ứng dụng hỗ trợ tập thể dục...

Tài liệu Tìm hiểu flutter và xây dựng ứng dụng hỗ trợ tập thể dục

.DOCX
80
1
123

Mô tả:

ĐẠ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 1 Tìm hiểu Flutter và xây dựng ứng dụng hỗ trợ tập thể dục Giảng viên hướng dẫn: ThS. HUỲNH TUẤN ANH Sinh viên thực hiện: TRƯƠNG KIM LÂM – 19521743 TRẦN LÊ THANH TÙNG – 19522496 TP. HỒ CHÍ MINH, 2022 LỜI CẢM ƠN Đầu tiên, nhóm em xin phép gửi lời cảm ơn đến tập thể quý thầy cô của Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh cũng như quý thầy cô thuộc Khoa Công nghệ Phần mềm đã giúp nhóm em có những kiến thức nền tảng vững chắc để có thể thực hiện đề tài này. Đặc biệt, nhóm em xin gửi lời cảm ơn chân thành đến thầy Huỳnh Tuấn Anh, người đã tạo điều kiện và hướng dẫn chúng em trong việc thực hiện đề tài này, một đề tài mà em và người bạn của mình đã ấp ủ từ lâu. Nhờ những kiến thức và kinh nghiệm từ các giảng viên mà nhóm em đã có thể tận dụng để thực hiện đề tài. Tuy nhiên, trong quá trình thực hiện đề tài cũng sẽ không thể tránh khỏi những hạn chế, thiếu sót. Chúng em mong rằng sẽ nhận được những nhận xét, góp ý từ thầy cũng như các giảng viên khác, để chúng em có thể ngày một tốt hơn và để có thể đóng góp được nhiều hơn nữa. Chúng em sẽ rất biết ơn vì điều đó. Một lần nữa, chúng em xin trân trọng cảm ơn! Thành phố Hồ Chí Minh, ngày 12 tháng 06 năm 2022 Trương Kim Lâm, Trần Lê Thanh Tùng 1 NHẬN XÉT CỦA GIẢNG VIÊN ............................................................................................................................................... .... ........................................................................................................................................... ........ ....................................................................................................................................... ............ ................................................................................................................................... ................ ............................................................................................................................... .................... ........................................................................................................................... ........................ ....................................................................................................................... ............................ ................................................................................................................... ................................ ............................................................................................................... .................................... ........................................................................................................... ........................................ ....................................................................................................... ............................................ ................................................................................................... ................................................ ............................................................................................... .................................................... ........................................................................................... ........................................................ ....................................................................................... ............................................................ ................................................................................... ................................................................ ............................................................................... .................................................................... ........................................................................... ........................................................................ ....................................................................... ............................................................................ ................................................................... 2 MỤC LỤC LỜI CẢM ƠN .................................................................................................................... 1 NHẬN XÉT CỦA GIẢNG VIÊN..................................................................................... 2 CHƯƠNG I – TỔNG QUAN............................................................................................ 6 1. Thông tin chung......................................................................................................... 6 1.1. Tên đồ án............................................................................................................ 6 1.2. Tên ứng dụng ..................................................................................................... 6 1.3. Nền tảng ứng dụng ............................................................................................. 6 1.4. Công nghệ .......................................................................................................... 6 1.5. Nhân lực tham gia .............................................................................................. 6 2. Lý do chọn đề tài ....................................................................................................... 6 CHƯƠNG II – CƠ SỞ LÝ THUYẾT.............................................................................. 8 1. Flutter ........................................................................................................................ 8 2. ViPT ........................................................................................................................ 11 CHƯƠNG III – PHÂN TÍCH, THIẾT KẾ................................................................... 15 1. Danh sách tính năng ................................................................................................ 15 2. Sơ đồ use-case ......................................................................................................... 19 2.1. Xác thực người dùng........................................................................................ 19 2.2. Cài đặt .............................................................................................................. 21 2.3. Quản lý món ăn ................................................................................................ 23 2.4. Quản lý bài tập ................................................................................................. 24 2.5. Theo dõi lượng nước uống............................................................................... 30 2.6. Theo dõi bước chân.......................................................................................... 36 2.7. Theo dõi lượng thức ăn .................................................................................... 38 3 2.8. Theo dõi luyện tập............................................................................................ 47 2.9. Fasting (hỗ trợ quá trình không ăn uống)......................................................... 54 2.10. Thống kê cân nặng ........................................................................................... 58 2.11. Thống kê nước uống ........................................................................................ 61 2.12. Thống kê bước chân......................................................................................... 63 2.13. Thống kê dinh dưỡng ....................................................................................... 65 2.14. Thống kê luyện tập........................................................................................... 67 2.15. Hình ảnh quá trình............................................................................................ 69 2.16. Thực hiện luyện tập.......................................................................................... 72 2.17. Đề xuất lộ trình................................................................................................. 77 3. Sơ đồ hoạt động....................................................................................................... 81 3.1. Xác thực người dùng........................................................................................ 81 3.2. Cài đặt .............................................................................................................. 82 3.3. Quản lý món ăn ................................................................................................ 83 3.4. Quản lý bài tập ................................................................................................. 84 3.5. Theo dõi lượng nước uống............................................................................... 84 3.6. Theo dõi bước chân.......................................................................................... 85 3.7. Theo dõi lượng thức ăn .................................................................................... 85 3.8. Theo dõi luyện tập............................................................................................ 85 3.9. Fasting (hỗ trợ quá trình không ăn uống)......................................................... 86 3.10. Thống kê cân nặng ........................................................................................... 86 3.11. Thống kê nước uống ........................................................................................ 86 3.12. Thống kê bước chân......................................................................................... 87 3.13. Thống kê dinh dưỡng ....................................................................................... 87 4 3.14. Thống kê luyện tập........................................................................................... 87 3.15. Hình ảnh quá trình............................................................................................ 88 3.16. Thực hiện luyện tập.......................................................................................... 89 3.17. Đề xuất lộ trình................................................................................................. 90 4. Cơ sở dữ liệu ........................................................................................................... 91 5. Kiến trúc .................................................................................................................. 93 6. Giao diện ................................................................................................................. 94 CHƯƠNG IV – TỔNG KẾT ........................................................................................105 1. Kết quả đạt được....................................................................................................105 2. Hạn chế..................................................................................................................105 3. Hướng phát triển....................................................................................................105 TÀI LIỆU THAM KHẢO.............................................................................................108 5 CHƯƠNG I – TỔNG QUAN 1. Thông tin chung 1.1. Tên đồ án Tìm hiểu Flutter và xây dựng ứng dụng hỗ trợ tập thể dục. 1.2. Tên ứng dụng ViPT – Virtual Personal Trainer 1.3. Nền tảng ứng dụng Di động (Android). 1.4. Công nghệ • Ngôn ngữ: Dart. • Framework: Flutter. • Database: o Firebase. o SQLite. 1.5. Nhân lực tham gia STT Họ và tên MSSV 1 Trương Kim Lâm 19521743 2 Trần Lê Thanh Tùng 19522496 2. Lý do chọn đề tài Hiện nay, Flutter đang được khá nhiều người quan tâm và dần dần trở thành xu hướng bởi tính dễ sử dụng của nó. Hơn nữa, Flutter được phát triển bởi Google, một trong những công ty công nghệ lớn mạnh trên thế giới. Điều này càng khiến cho nhiều người tin tưởng và đặt niềm tin vào sự phát triển của nó, nhóm em cũng không phải là một ngoại lệ. Khi tiếp cận với Flutter, chúng em nhận thấy rõ ràng sự mới mẻ của nó và kèm theo đó là những khả năng độc đáo mà Google cung cấp. Tuy nhiên thì nhóm em không muốn dừng ở đó, ở một mức cơ bản là vận dụng được, 6 mà nhóm em còn muốn đi sâu hơn, khai thác hết những cái nâng cao và làm sao để xây dựng được một ứng dụng với hiệu suất cao. Ở đồ án này, chúng em đã chọn xây dựng một ứng dụng hỗ trợ tập thể dục và nguyên nhân chính cho sự lựa chọn đó xuất phát từ chính nhu cầu của bản thân. Vào 2 năm trước, đó cũng là thời điểm em bắt đầu đặt ra mục tiêu cân nặng cho mình, em và người bạn của mình đã cùng nhau lên kế hoạch để có những buổi luyện tập mỗi ngày với mục tiêu là đạt được mức cân mong muốn. Tuy nhiên, sau một khoảng thời gian dài luyện tập mà vẫn không đạt được thành quả, chúng em mới nhận ra rằng, việc luyện tập thì cần phải đi đôi với chế độ dinh dưỡng, không chỉ thế mà giấc ngủ của chúng ta cũng có liên quan trong đó. Để có thể đảm bảo được chế độ dinh dưỡng cũng như các hoạt động tập luyện mỗi ngày là hợp lý, ta sẽ phải tính toán rất nhiều về các thành phần dinh dưỡng của món ăn cũng như cường độ ở các hoạt động luyện tập để làm sao cho phù hợp với cơ thể. Hơn nữa, việc tính toán này cũng cần phải đúng theo khoa học để có thể đảm bảo sức khỏe cho cơ thể của chúng ta. Chính vì thế mà điều này càng trở nên khó khăn hơn đối với những cá nhân không thể dành nhiều thời gian để tìm hiểu và áp dụng, chưa kể là việc tự thực hiện những việc này đôi lúc sẽ khiến chúng ta thật đau đầu. Vậy thì, tại sao ta không tận dụng công nghệ để thực hiện giúp chúng ta những việc đó? Khi câu hỏi đó được đặt ra cũng là lúc em và bạn em cùng nhau bắt tay vào tìm hiểu và quyết định xây dựng một ứng dụng hỗ trợ tập thể dục. 7 CHƯƠNG II – CƠ SỞ LÝ THUYẾT 1. Flutter Flutter là một SDK mới của Google dành cho các thiết bị di động giúp developers và designers xây dựng nhanh chóng ứng dụng dành cho các thiết bị di động (Android, iOS). Flutter là dự án mã nguồn mở đang trong giai đoạn thử nghiệm. Flutter bao gồm Reactive framework và công nghệ hiển thị 2D (2D rendering engine) và các công cụ phát triển (development tool). Các thành phần này làm việc cùng nhau giúp ta thiết kế, xây dựng, test, debug ứng dụng. Không có gì ngạc nhiên khi Flutter giúp các nhà phát triển tạo ra các ứng dụng native đẹp mắt và giúp họ phát triển các ứng dụng đa nền tảng một cách dễ dàng. Widget Flutter đã tạo ra một khái niệm "mới" đó là Widget. Widget chính là nền tảng của Flutter, một widget miêu tả một phần của giao diện người dùng. Tất cả các component như text, image, button hay animation, theme, layout hay thậm chí app cũng là 1 widget. Trong Flutter tất cả các widget hay giao diện đều được code bằng ngôn ngữ Dart. Dart Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu ích như mixin, generic, isolate, và static type. Hot reload Hot reload là một tính năng của Flutter giúp ta nhanh chóng và dễ dàng thử nghiệm, xây dựng giao diện thêm tính năng và sửa lỗi mà không cần khởi động lại chúng. GetX GetX là một package có thể xem plà toàn năng giúp cho code Flutter hiệu quả và năng suất hơn. Nó kết hợp high-performance state management, intelligent dependency injection, và route management một cách thiết thực và nhanh chóng. 8 GetX có 3 nguyên tắc cơ bản, có nghĩa đây chính là những ưu tiên cho tất cả các tài nguyên trong thư viện này: • Performance (hiệu suất): GetX tập trung vào hiệu suất và mức tiêu thụ tài nguyên tối thiểu. GetX không sử dụng Streams hoặc ChangeNotifier. • Productivity (năng suất): GetX sử dụng một cú pháp dễ dàng. Bất kể bạn muốn làm gì, luôn có một cách dễ dàng hơn với GetX. Nó sẽ tiết kiệm hàng giờ phát triển và sẽ cung cấp hiệu suất tối đa mà ứng dụng của bạn có thể mang lại. • Organization (tổ chức): GetX cho phép tách view, presentation logic, business logic, dependency injection và navigation ra riêng với nhau. Bạn không cần context để điều hướng giữa các routes, vì vậy mà bạn không bị phụ thuộc vào cây widget cho điều này. Bạn không cần context để truy cập controller/bloc của mình thông qua một widget kế thừa, vì vậy bạn hoàn toàn tách rời presentation logic và business logic khỏi lớp trực quan hóa của mình. Bạn không cần phải đưa các lớp controller/model/bloc vào cây widget của mình thông qua MultiProviders. Đối với điều này, GetX sử dụng tính năng dependency injection của riêng nó, tách hoàn toàn dependency injection khỏi chế độ xem của nó. GetX không cồng kềnh. Nó có vô số tính năng cho phép bạn bắt đầu lập trình mà không cần lo lắng về bất cứ điều gì, nhưng mỗi tính năng này nằm trong các vùng chứa riêng biệt và chỉ được khởi động sau khi sử dụng. Nếu bạn chỉ sử dụng State Management thì sẽ chỉ có State Management được biên dịch. Nếu bạn chỉ sử dụng các route, không có gì từ State Management sẽ được biên dịch. GetX có một hệ sinh thái khổng lồ, một cộng đồng lớn, một số lượng lớn cộng tác viên và sẽ được duy trì miễn là Flutter còn tồn tại. GetX cũng có khả năng chạy với cùng một mã trên Android, iOS, Web, Mac, Linux, Windows và trên máy chủ của bạn. Bạn hoàn toàn có thể sử dụng lại mã được tạo trên giao diện người dùng trên chương trình phụ trợ của mình với Get Server. 9 Ưu điểm của Flutter • Đa nền tảng. • Ít phải viết các config khi tạo project mới theo cách thủ công. • Hỗ trợ hot reload. • Hỗ trợ tốt với nhiều IDE (Android Studio, IDE IntelliJ, VSCode). • Navigator được tích hợp sẵn. Ta có thể tạo Route mới mà không cần kết nối bất kỳ thứ gì. • Giải pháp quản lý dữ liệu được tạo sẵn. • Sử dụng Animation dễ dàng, linh hoạt. • Với GetX, việc xây dựng một ứng dụng từ Flutter trở nên dễ dàng và hiệu quả. Nhược điểm của Flutter • Có một rào cản lớn cho những người chỉ học JavaScript hoặc đến từ React Native. Do thực tế là ngôn ngữ Dart được sử dụng với sự kế thừa, đa hình và tất cả những thứ về OOP. • Không có sự tách biệt, phân chia Styles, Templates. Cho nên khi tạo component thì chúng ta cũng cần phải tạo các style ngay lúc đó. • Kích thước file lớn. • Dart và Flutter vẫn chưa thật sự hoàn thiện. Có nhiều tính năng nâng cao vẫn chưa được hỗ trợ. • Framework thay đổi nhanh chóng gây khó khăn cho việc duy trì mã. • Cộng đồng Flutter vẫn chưa thực sự lớn mạnh như các cộng đồng Native. 10 2. ViPT Thế giới ngày càng phát triển, nhu cầu của con người ngày càng nâng cao, đặc biệt là sức khỏe. Để có thể đảm bảo sức khỏe cho cơ thể của chúng ta một cách khoa học, chúng ta cần phải luyện tập và ăn uống điều độ. Và ViPT sẽ hỗ trợ bạn làm điều đó. ViPT là một ứng dụng di động hỗ trợ luyện tập và dinh dưỡng. ViPT sẽ giúp bạn theo dõi quá trình luyện tập của bạn, theo dõi lượng calories đốt cháy cũng như calories nạp vào từ việc ăn của bạn. Ngoài ra, ViPT còn có thể đề xuất cho bạn lộ trình để giúp bạn đạt được mục tiêu cân nặng của mình. ViPT cung cấp cho bạn đa dạng các bài tập và kèm theo đó là trình hỗ trợ luyện tập cho bạn, cho phép bạn tùy chỉnh thời gian luyện tập mỗi bài, thời gian nghỉ mỗi bài, số vòng, số bài tập mỗi vòng và nhiều hơn thế nữa. Với hệ thống thư viện các món ăn, bạn có thể tham khảo để tự làm cho mình những món ăn mới lạ và lành mạnh, đảm bảo cho quá trình luyện tập và ăn uống của mình. Ngoài ra, ViPT còn cung cấp trình theo dõi nước uống, trình theo dõi số bước chân mỗi ngày, trình hỗ trợ Fasting (quá trình không ăn uống), hơn nữa còn có tính năng thống kê dữ liệu, tính năng lưu hình ảnh quá trình. Luyện tập Để có thể đạt được những mục tiêu cân nặng, điều mà bạn không thể bỏ qua đó chính là luyện tập. Tùy vào điều kiện và nhu cầu của mỗi người khác nhau mà chế độ luyện tập cũng như các bài tập của mỗi người cũng sẽ khác nhau. Người có nhiều thời gian và có kinh nghiệm thì có thể sẽ thực hiện luyện tập với cường độ cao hơn những người không thể sắp xếp nhiều thời gian cho việc luyện tập cũng như những người có ít kinh nghiệm. Tùy vào cân nặng của mỗi người mà mức calories đốt cháy của các bài tập sẽ khác nhau. Không chỉ thế, tỉ lệ nạc/mỡ trong cơ thể cũng khiến cho mức calories đó khác 11 nhau ở mỗi bài tập. Chính vì thế mà việc cho phép người dùng tự tùy chỉnh các thông số luyện tập như số bài tập, số vòng, số bài mỗi vòng, số thời gian mỗi bài tập, thời gian nghỉ, số lượt nghỉ, chu kỳ nghỉ là cần thiết. Dinh dưỡng Ngoài việc cung cấp năng lượng cho cơ thể hoạt động, dinh dưỡng còn đóng vai trò quan trọng trong việc rèn luyện để đạt những mục tiêu quan trọng. Kết hợp với việc luyện tập, việc dinh dưỡng sẽ giúp cân bằng lại lượng calories nạp vào cơ thể để có thể đạt được mục tiêu calories mỗi ngày cho việc tăng/giảm cân. Tùy vào chiều cao, cân nặng, tuổi tác, giới tính mà năng lượng cần thiết để nạp vào cơ thể mỗi ngày của mỗi người là khác nhau. Để có thể đề xuất lộ trình luyện tập và dinh dưỡng cho người dùng hợp lý, hệ thống trước tiên cần tính toán được chỉ số tên, lượng calories nạp vào cơ thể cần duy trì mỗi ngày và calories mục tiêu dựa trên mục tiêu cân nặng của người dùng. TDEE (Total Daily Energy Expenditure) Chỉ số TDEE, viết tắt cho Total Daily Energy Expenditure, đại diện cho lượng năng lượng (calories) cần thiết cho hoạt động mỗi ngày của bạn, bao gồm cả các hoạt động tự nhiên của cơ thể và những hoạt động thường ngày như ăn, ngủ, nghỉ, chơi, làm, v.v. Để có thể tính toán TDEE của một cá nhân, ta có thể dùng Phương trình Mifflin St Jeor: TDEE = BMR * F Với F có giá trị như sau: • F = 1.2 đối với người ít vận động (ít hoặc không tập thể dục, làm công việc văn phòng). • F = 1.375 đối với người vận động nhẹ (tập thể dục nhẹ 1-3 ngày/tuần). 12 • F = 1.55 đối với người vận động vừa phải (tập thể dục vừa phải 3-5 ngày/tuần). • F = 1.725 đối với người vận động nặng (tập thể dục vận động mạnh 6-7 ngày/tuần). • F = 1.9 đối với người vận động rất nặng (tập thể dục vận động mạnh với cường độ cao, công việc tay chân nặng nhọc, luyện tập 2 buổi/ngày). Và BMR được tính như sau: BMR = 10 x m + 6.25 x h – 5 x a + s Trong đó: • m: khối lượng (kg). • h: chiều cao (cm). • a: độ tuổi (tuổi). • s: o s = 5 nếu cá nhân đó là nam giới. o s = -161 nếu cá nhân đó là nữ giới. BMR ở đây là Basal metabolic rate (tỉ lệ trao đổi chất cơ bản). Chỉ số này cho biết mức năng lượng (calories) tối thiểu mà cơ thể cần để đảm bảo duy trì các hoạt động bình thường. Công thức này dựa trên khối lượng, chiều tao, độ tuổi, giới tính của cá nhân, chưa tính đến sự khác biệt trong hoạt động trao đổi chất giữa khối lượng cơ nạc và mỡ trong cơ thể. Đề xuất lộ trình luyện tập và dinh dưỡng Từ chỉ số TDEE mà ta có thể tính được tự hệ thống trên, ta có thể tạo được mức calories mục tiêu để đạt được mục tiêu cân nặng. 13 Nếu mục tiêu là tăng 0.5 kg trong 1 tuần, mức calories mục tiêu mỗi ngày sẽ bằng TDEE + 500. Ngược lại, nếu mục tiêu là giảm 0.5 kg trong 1 tuần, mức calories mục tiêu mỗi ngày sẽ bằng TDEE – 500. Từ mức calories mục tiêu mỗi ngày và thông tin cơ bản của người dùng, hệ thống sẽ đề xuất những món ăn cần thiết để đảm bảo đầy đủ thành phần dinh dưỡng mỗi ngày cho cơ thể của người dùng. Sau đó, hệ thống sẽ tính toán được mức calories đốt cháy cần đạt được từ việc luyện tập để có thể cân bằng mức calories tiêu thụ thực tế so với mức calories mục tiêu mỗi ngày. Cuối cùng, hệ thống sẽ đề xuất những bài tập cần thực hiện mỗi ngày với những thông số phù hợp để có thể đạt được mức calories đốt cháy cần đạt được đã tính toán ở trên. Với calories đốt cháy của mỗi bài tập, ta có thể tính toán với công thức sau: Calories = (time x MET x m)/200 Trong đó: • time: thời gian thực hiện bài tập (phút). • m: khối lượng của người (kg). • MET (Metabolic Equivalent of Task): hằng số tỉ lệ trao đổi chất tương đương của hoạt động. MET là một cách để đo mức tiêu hao năng lượng của cơ thể bạn. Giá trị MET của một hoạt động cụ thể càng cao, thì cơ bắp của bạn sẽ cần tiêu hao nhiều năng lượng hơn để thực hiện hoạt động đó. 14 CHƯƠNG III – PHÂN TÍCH, THIẾT KẾ 1. Danh sách tính năng Số thứ tự Tên tính năng Use case Module 1 Truy cập hệ thống Xác thực người dùng Xác thực người dùng 2 Đăng xuất 3 Thiết lập thông tin Cài đặt Cài đặt 4 Xem danh sách món ăn Quản lý món ăn Thư viện 5 Xem danh sách bài tập Quản lý bài tập 6 Xem danh sách bộ luyện tập 7 Thêm bộ luyện tập tùy chọn 8 Sửa bộ luyện tập tùy chọn 9 Xóa bộ luyện tập tùy chọn 10 11 Xem lượng nước Theo dõi lượng uống mỗi ngày nước uống Thay đổi ngày hiển thị lượng nước uống mỗi ngày 12 Xóa thẻ lượng nước uống 13 Thêm thẻ lượng nước uống 14 Xem danh sách lịch sử lượng nước uống Kế hoạch mỗi ngày 15 15 Xem số bước chân Theo dõi bước chân đã đi trong ngày 16 Xem quãng đường đã đi trong ngày 17 18 Xem lượng Theo dõi lượng calories nạp vào thức ăn Thay đổi ngày hiển thị lượng calories nạp vào 19 Xóa thẻ calories nạp vào 20 Thêm thẻ calories nạp vào 21 Thêm thẻ calories tự chọn 22 Chỉnh sửa thẻ calories tự chọn 23 Xóa thẻ calories tự chọn 24 Xem danh sách lịch sử các thẻ calories nạp vào 25 Xem thẻ calories tiêu hao 26 Thay đổi ngày hiển thị calories tiêu hao Theo dõi luyện tập 27 Xóa thẻ calories tiêu hao 16 28 Thêm thẻ calories tiêu hao 29 Thêm thẻ calories tiêu hao từ việc luyện tập 30 Xem danh sách lịch sử các thẻ calories tiêu hao 31 32 Bắt đầu đồng hồ Fasting (hỗ trợ quá Fasting trình không ăn Kết thúc đồng hồ uống) Fasting 33 Thay đổi loại đồng hồ Fasting 34 Xem thông tin liên quan 35 Xem biểu đồ cân nặng 36 Thay đổi thời gian Thống kê cân nặng biểu đồ cân nặng 37 Xem biểu đồ lượng nước uống trong tuần 38 Thay đổi thời gian biểu đồ lượng nước uống Thống kê nước uống Thống kê 39 Xem biểu đồ số Thống kê bước chân bước chân trong tuần 40 Thay đổi thời gian biểu đồ số bước chân 41 Xem biểu đồ Thống kê dinh dưỡng lượng thức ăn trong tuần 17 42 Thay đổi thời gian biểu đồ lượng thức ăn 43 Xem biểu đồ thống Thống kê luyện tập kê luyện tập trong tuần 44 Thay đổi thời gian biểu đồ thống kê luyện tập 45 Xem hình ảnh quá Hình ảnh quá trình trình trước – sau 46 Cập nhật hình ảnh quá trình trước – sau 47 Bắt đầu phiên tập 48 Tạm dừng phiên tập 49 Tiếp tục phiên tập 50 Bỏ qua bài tập 51 Kết thúc phiên tập 52 Xây dựng lộ trình tập luyện và dinh Thực hiện luyện tập Lộ trình Đề xuất lộ trình Lộ trình dưỡng 53 Cập nhật cân nặng 54 Cập nhật tiến trình 18 2. Sơ đồ use-case 2.1. Xác thực người dùng 2.1.1. Truy cập hệ thống Tóm tắt Người dùng truy cập vào hệ thống bằng hai phương thức là truy cập bằng tài khoản Google và truy cập bằng tài khoản Facebook. 19 Dòng sự kiện Dòng sự kiện chính Hành động của tác nhân Phản ứng của hệ thống 1. Người dùng mở ứng dụng 2. Hiển thị màn hình đăng nhập 3. Chọn phương thức truy cập 4. Liên kết tới phương thức truy cập đã chọn 5. Thực hiện xác thực tài khoản theo 6. Điều hướng người dùng đến ứng phương thức đã chọn dụng Dòng sự kiện phụ Hành động của tác nhân 1. Xác thực của người dùng không Phản ứng của hệ thống 2. Hiển thị thông báo truy cập thất bại hợp lệ Các yêu cầu đặc biệt Không có. Trạng thái hệ thống khi bắt đầu thực hiện use-case Chưa truy cập vào hệ thống. Trạng thái hệ thống sau khi thực hiện use-case Truy cập vào hệ thống thành không. Điểm mở rộng Không có. 2.1.2. Đăng xuất Tóm tắt Người dùng đăng xuất khỏi hệ thống khi đã truy cập. Dòng sự kiện
- Xem thêm -

Tài liệu liên quan