Xây dựng ứng dụng theo dõi chạy bộ trên Android hoàn thành sinh viên đã vận dụng kiến thức và khảo sát thực tế để thực hiện yêu cầu bài toán. Ứng dụng đã được hoàn thành theo yêu cầu đã đặt ra ban đầu với các chức năng đã được thực hiện một các tương đối chỉn chu, ứng dụng đã đạt được mục tiêu ban đầu như: - Có thể giúp theo dõi những lần đi chạy bộ rèn luyện sức khỏe của người dùng và hiển thị lại sau khi kết thúc - Giúp người dùng xem lại lịch sử chạy bộ của mình giúp người dùng đưa ra những phương án rèn luyện hợp lý cho các lần chạy sau - Hiểu thị thông tin tổng quát về các lần chạy người dùng, giúp người dùng có cái nhìn tổng qut hơn về quá trình rèn luyện của bản thân.
CƠ SỞ LÝ THUYẾT
Các công nghệ được áp dụng
Mô hình MVVM (Model-View-ViewModel) là một Design Pattern (mẫu thiết kế) được sử dụng rộng rãi trong phát triển phần mềm để tách biệt logic xử lý dữ liệu và giao diện người dùng MVVM kết hợp các khái niệm của Mô hình (Model), Giao diện (View) và Mô-đun xử lý hiển thị (ViewModel) để tạo ra một cấu trúc ứng dụng có thể quản lý dễ dàng và mở rộng.
Trong MVVM, Model đại diện cho dữ liệu và logic xử lý dữ liệu Nó không biết gì về giao diện người dùng và không phụ thuộc vào nó Model thực hiện các hoạt động như truy xuất, cập nhật và xử lý dữ liệu.
View là thành phần hiển thị giao diện người dùng Nó đảm nhận vai trò hiển thị dữ liệu từ ViewModel và tương tác với người dùng View không chứa logic xử lý dữ liệu và chỉ làm nhiệm vụ hiển thị thông tin.
ViewModel là một lớp trung gian giữa Model và View Nó nhận dữ liệu từ Model và chuyển đổi nó thành dữ liệu phù hợp để hiển thị trên View ViewModel cung cấp các thuộc tính và lệnh mà View sử dụng để hiển thị và tương tác với dữ liệu Nó không biết gì về giao diện người dùng cụ thể, điều này giúp tách biệt hoàn toàn logic xử lý dữ liệu và giao diện người dùng. Ưu điểm của MVVM bao gồm:
- Tách biệt rõ ràng giữa logic xử lý dữ liệu và giao diện người dùng, giúp dễ dàng quản lý và bảo trì ứng dụng.
- Tính linh hoạt và khả năng kiểm thử tốt do logic xử lý nằm trong ViewModel.
- Khả năng tái sử dụng cao, vì ViewModel không phụ thuộc vào giao diện người dùng cụ thể.
Tuy nhiên, MVVM cũng có một số nhược điểm:
- Đòi hỏi việc tạo ra một số lượng lớn các lớp cho ViewModel và khái niệm khá phức tạp hơn so với các mô hình truyền thống.
- Yêu cầu một số kiến thức về data binding và sử dụng các framework hỗ trợ để triển
So sánh với MVC (Model-View-Controller) và MVP (Model-View-Presenter):
- Trong MVC, Controller hoặc Presenter đảm nhận vai trò trung gian giữa Model và View, trong khi MVVM sử dụng ViewModel MVC và MVP chủ yếu tập trung vào việc điều phối và điều khiển, trong khi MVVM tập trung vào việc quản lý dữ liệu và giao diện người dùng.
- MVVM thường sử dụng data binding để liên kết dữ liệu giữa ViewModel và View, trong khi MVC và MVP không có tính năng này mặc định.
- MVP đặt nặng tính tương tác giữa Presenter và View, trong khi MVVM tập trung vào việc cung cấp dữ liệu cho View thông qua ViewModel.
Tóm lại, MVVM là một mô hình thiết kế phát triển phần mềm mạnh mẽ và linh hoạt.
Nó tách biệt rõ ràng giữa logic xử lý dữ liệu và giao diện người dùng, giúp dễ dàngquản lý và bảo trì ứng dụng MVVM có ưu điểm về tính linh hoạt, khả năng kiểm thử tốt và khả năng tái sử dụng cao Tuy nhiên, nó đòi hỏi việc tạo ra nhiều lớp và có một số khái niệm phức tạp So với MVC và MVP, MVVM tập trung vào việc quản lý dữ liệu và giao diện người dùng, sử dụng data binding để liên kết dữ liệu và cung cấp dữ liệu cho View thông qua ViewModel.
Clean Architecture (Kiến trúc sạch) là một phương pháp thiết kế phần mềm được phát triển bởi Robert C Martin, còn được gọi là Uncle Bob Nó tập trung vào việc tách biệt các thành phần và lớp của hệ thống thành các lớp độc lập với nhau, đồng thời đảm bảo tính mở rộng, bảo trì và kiểm thử dễ dàng.
Mục tiêu chính của Clean Architecture là tạo ra một hệ thống có thể thay đổi các chi tiết bên trong mà không ảnh hưởng đến các thành phần bên ngoài Nó đề cao sự phân tách giữa các lớp và sự tuân thủ các nguyên tắc SOLID (Single Responsibility, Open- Closed, Liskov Substitution, Interface Segregation và Dependency Inversion).
Clean Architecture được chia thành các lớp theo các mức độ phụ thuộc và trách nhiệm khác nhau Các lớp này bao gồm:
1 Entities (Thực thể): Đây là các đối tượng cơ bản của hệ thống, biểu diễn các khái niệm cốt lõi và logic của ứng dụng.
2 Use Cases (Các trường hợp sử dụng): Lớp này chứa các quy trình kinh doanh cụ thể và các tác vụ sử dụng các đối tượng Entities để thực hiện các nhiệm vụ cụ thể.
3 Interface Adapters (Bộ chuyển đổi giao diện): Lớp này chứa các thành phần liên quan đến việc giao tiếp với bên ngoài của hệ thống, bao gồm các lớp giao diện người dùng, lớp giao tiếp với các dịch vụ bên ngoài (API, cơ sở dữ liệu, v.v.) và các lớp chuyển đổi dữ liệu.
4 Frameworks & Drivers (Các khung ứng dụng và trình điều khiển): Đây là thành phần giao tiếp trực tiếp với các công nghệ và framework bên ngoài như UI frameworks, databases, web servers, v.v Nó chịu trách nhiệm kết nối các thành phần bên trong với các thành phần bên ngoài. Ưu điểm của Clean Architecture bao gồm:
- Tính linh hoạt và dễ dàng mở rộng: Các thành phần được tách biệt rõ ràng, cho phép thay đổi và bảo trì dễ dàng mà không ảnh hưởng đến các thành phần khác.
- Khả năng kiểm thử tốt: Các thành phần có thể được kiểm thử độc lập mà không cần phụ thuộc vào các thành phần khác.
- Tính tái sử dụng cao: Sự phân tách giữa các lớp và nguyên tắc SOLID tạo điều kiện cho việc tái sử dụng mã nguồn.
Tuy nhiên, Clean Architecture cũng có một số nhược điểm:
- Đòi hỏi sự hiểu biết về nguyên tắc và quy tắc thiết kế phần mềm.
- Tạo ra một số lớp và thành phần phụ để xử lý sự tách biệt và phân chia trách nhiệm, gây ra một lượng mã nguồn và công việc phát triển thêm.
Clean Architecture giúp xây dựng hệ thống phần mềm linh hoạt, dễ bảo trì và dễ kiểm thử Nó tách biệt các thành phần và lớp của hệ thống thành các lớp độc lập với nhau,đồng thời đảm bảo tính mở rộng và bảo trì dễ dàng Các lớp trong Clean Architecture được tổ chức theo mức độ phụ thuộc và trách nhiệm, bao gồm Entities, Use Cases, Interface Adapters và Frameworks & Drivers.
Entities đại diện cho các đối tượng cốt lõi của hệ thống, biểu diễn các khái niệm và logic chính Use Cases chứa các trường hợp sử dụng và tác vụ kinh doanh, sử dụng các đối tượng Entities để thực hiện các nhiệm vụ cụ thể Interface Adapters chứa các thành phần liên quan đến giao tiếp với bên ngoài, bao gồm giao diện người dùng, dịch vụ bên ngoài và chuyển đổi dữ liệu Cuối cùng, Frameworks & Drivers là thành phần giao tiếp với các công nghệ và framework bên ngoài, như UI frameworks hay cơ sở dữ liệu.
Các công cụ và tiện ích được sử dụng
Android Studio là một môi trường phát triển tích hợp (Integrated Development Environment - IDE) được phát triển bởi Google, chuyên dùng cho việc phát triển ứng dụng di động trên nền tảng Android Với các công cụ, tính năng và sự tích hợp đặc biệt cho việc phát triển Android, Android Studio là một lựa chọn hàng đầu cho các nhà phát triển ứng dụng di động.
Dưới đây là một số đặc điểm và tính năng chính của Android Studio:
1 Tích hợp dễ dàng: Android Studio tích hợp tốt với trình quản lý mã nguồn Git và hệ thống kiểm soát phiên bản, cho phép nhà phát triển dễ dàng quản lý mã nguồn và làm việc trong nhóm Nó cũng tích hợp với Gradle, một công cụ xây dựng mạnh mẽ cho việc xây dựng, kiểm thử và triển khai ứng dụng Android.
2 Trình biên tập thông minh: Android Studio cung cấp trình biên tập mã nguồn thông minh với các tính năng như gợi ý mã, kiểm tra lỗi cú pháp, tự động hoàn thành và định dạng mã tự động Điều này giúp tăng năng suất và giảm thời gian phát triển.
3 Thiết kế giao diện người dùng (UI): Android Studio cung cấp trình chỉnh sửa giao diện người dùng (Layout Editor) cho phép nhà phát triển thiết kế giao diện người dùng một cách trực quan Bằng cách kéo và thả các thành phần, sắp xếp và tùy chỉnh các yếu tố giao diện, nhà phát triển có thể dễ dàng tạo ra giao diện người dùng hấp dẫn và tương tác.
4 Trình giả lập thiết bị: Android Studio đi kèm với Android Emulator, một trình giả lập thiết bị Android tích hợp Trình giả lập này cho phép nhà phát triển thử nghiệm ứng dụng trên nhiều thiết bị Android khác nhau, mô phỏng các tính năng và hành vi của thiết bị thực tế.
5 Hỗ trợ kiểm thử và gỡ lỗi: Android Studio cung cấp các công cụ mạnh mẽ để kiểm thử ứng dụng, bao gồm kiểm thử đơn vị (unit testing), kiểm thử chức năng (functional testing) và kiểm thử giao diện người dùng (UI testing) Nó cũng hỗ trợ gỡ lỗi (debugging) chi tiết, cho phép nhà phát triển theo dõi và sửa lỗi trong quá trình thực thi ứng dụng.
6 Tích hợp các công cụ và thư viện: Android Studio tích hợp và hỗ trợ một loạt các công cụ và thư viện hữu ích để giúp nhà phát triển xây dựng ứng dụng đa dạng và mạnh mẽ Điều này bao gồm hỗ trợ Kotlin (ngôn ngữ lập trình chính thức của Android), thư viện hỗ trợ Android Jetpack, Firebase, Google Play Services và nhiều công cụ và plugin khác.
Android Studio là một IDE mạnh mẽ và toàn diện cho việc phát triển ứng dụng Android Với các tính năng và công cụ đa dạng cộng thêm sự hỗ trợ và cập nhật mạnh mẽ đến từ Google và nhà phát triển của IDE IntelliJ, việc phát triển ứng dụng di động trên hệ điều hành Android sẽ trở nên tiện lợi và dễ dàng hơn nhiều.
1.2.2 Ngôn ngữ lập trình Kotlin
Kotlin là một ngôn ngữ lập trình hiện đại, có tính năng tương thích ngược với Java, được phát triển bởi JetBrains Được giới thiệu lần đầu vào năm 2011, Kotlin đã nhanh chóng trở thành một ngôn ngữ phổ biến trong cộng đồng phát triển phần mềm và được sử dụng rộng rãi cho việc phát triển ứng dụng di động, ứng dụng máy chủ, và ứng dụng web.
Một trong những đặc điểm chính của Kotlin là tính tương thích ngược với Java Điều này có nghĩa là bạn có thể sử dụng mã nguồn Java hiện có trong dự án Kotlin mà không cần chỉnh sửa nhiều Kotlin cung cấp một trình biên dịch thông minh có khả năng hiểu và biên dịch mã Java, cho phép nhà phát triển chuyển đổi từ Java sang Kotlin một cách dễ dàng và mượt mà.
Một trong những ưu điểm quan trọng của Kotlin là sự an toàn và thân thiện với lập trình viên Kotlin áp dụng nhiều quy tắc an toàn trong quá trình phát triển, giúp tránh được nhiều lỗi phổ biến trong Java như null pointer exceptions Nó cung cấp một hệ thống kiểm tra kiểu mạnh mẽ và thông minh, cho phép phát hiện lỗi tại thời điểm biên dịch và cung cấp mã gợi ý để sửa chữa Điều này giúp tăng tính ổn định và tin cậy của ứng dụng Kotlin.
Kotlin cung cấp rất nhiều tính năng mạnh mẽ để giúp nhà phát triển viết mã ngắn, dễ đọc và dễ bảo trì Nó hỗ trợ cú pháp súc tích và linh hoạt, cho phép nhà phát triển viết mã một cách nhanh chóng và hiệu quả Kotlin cũng có nhiều tính năng tiện ích như hàm mở rộng, lớp dữ liệu, null safety, lambda expressions và coroutine Điều này giúp tăng năng suất và giảm thiểu lỗi trong quá trình phát triển.
Kotlin không chỉ hỗ trợ phát triển ứng dụng di động với Android, mà còn hỗ trợ phát triển ứng dụng máy chủ và ứng dụng web Kotlin/JVM cho phép bạn viết mã Java chạy trên máy ảo Java (JVM) và Kotlin/Native cho phép bạn viết mã Kotlin chạy trên nền tảng native như iOS và máy tính cá nhân Kotlin/JS cho phép bạn viết mã Kotlin và biên dịch thành JavaScript để phát triển ứng dụng web.
Tóm lại, Kotlin là một ngôn ngữ lập trình hiện đại, tương thích ngược với Java, và được phát triển bởi JetBrains Với tính tương thích ngược, tính an toàn, tính thân thiện với lập trình viên và nhiều tính năng mạnh mẽ, Kotlin là một lựa chọn tuyệt vời cho việc phát triển ứng dụng di động, ứng dụng máy chủ và ứng dụng web.
Jetpack Compose là một thư viện phát triển giao diện người dùng (UI) hiện đại và khái niệm mới cho việc xây dựng ứng dụng Android Được phát triển bởi Google, Jetpack Compose giúp các nhà phát triển tạo ra giao diện người dùng đẹp mắt, linh hoạt và dễ dàng trong việc xây dựng ứng dụng di động.
KHẢO SÁT & PHÂN TÍCH THIẾT KẾ
Khảo sát
Trong những năm gần đây, xu hướng sử dụng các ứng dụng theo dõi chạy bộ đã trở thành một phần không thể thiếu của cuộc sống hiện đại Với sự phát triển của công nghệ di động và các thiết bị thông minh, việc sử dụng các ứng dụng chạy bộ trên điện thoại di động đã trở nên phổ biến và hấp dẫn đối với người dùng.
Nhờ vào tính tiện lợi và khả năng tương tác hoạt động, các ứng dụng theo dõi chạy bộ đã trở thành người bạn đồng hành đáng tin cậy của mọi người khi tập luyện và rèn luyện sức khỏe Những ứng dụng này cho phép người dùng ghi lại thông tin về quãng đường đã chạy, tốc độ, thời gian và nhiều thông số khác, giúp họ theo dõi tiến bộ và đạt được mục tiêu tập luyện cá nhân.
Một trong những lợi ích chính của việc sử dụng các ứng dụng theo dõi chạy bộ là khả năng cung cấp phản hồi và gợi ý cá nhân hóa Các ứng dụng này có khả năng phân tích dữ liệu và đưa ra những phản hồi thông minh về hiệu suất chạy bộ của người dùng Bằng cách theo dõi tiến bộ và đề xuất các bài tập tùy chỉnh, người dùng có thể nâng cao kỹ năng chạy bộ của mình và đạt được mục tiêu tập luyện một cách hiệu quả.
Ngoài ra, tính năng xã hội cũng là một phần quan trọng trong các ứng dụng theo dõi chạy bộ Người dùng có thể chia sẻ thành tích của mình trên các mạng xã hội, tham gia vào các nhóm cộng đồng chạy bộ và thách thức bạn bè Điều này không chỉ tạo ra một môi trường thân thiện và động lực cho người dùng, mà còn khuyến khích họ duy trì một lối sống lành mạnh và hoạt động thể chất đều đặn.
Tuy nhiên, cần lưu ý rằng việc sử dụng các ứng dụng theo dõi chạy bộ cần được thực hiện một cách cân nhắc và chính xác Bảo mật dữ liệu cá nhân là vấn đề quan trọng, do đó, người dùng nên kiểm tra và chọn lựa các ứng dụng có độ tin cậy và bảo mật cao.
Tóm lại, các ứng dụng theo dõi chạy bộ ngày nay đem lại nhiều lợi ích cho người dùng Từ việc theo dõi tiến bộ, cung cấp phản hồi cá nhân hóa cho đến khả năng kết nối xã hội, các ứng dụng này không chỉ giúp người dùng rèn luyện sức khỏe mà còn tạo nra một cộng đồng sôi động và đầy động lực.
Yêu cầu cơ bản về chức năng
2.2.1 Chức năng xác thực người dùng
Trước khi có thể sử dụng các chức năng chính của ứng dụng người dùng phải thực hiện Đăng nhập tài khoản trước Ứng dụng dự định sẽ cung cấp 2 hình thức đăng nhập là Đăng nhập bằng Google và Đăng nhập bằng địa chỉ email Nếu người dùng muốn sử dụng chức năng Đăng nhập bằng địa chỉ email thì trước hết phải thực hiện Đăng ký tài khoản mới Sau khi người dùng thực hiện đăng ký, người dùng sẽ được gán một uid tự động, uid này sẽ được sử dụng để truy cập đến dữ liệu của người dùng trên cơ sở dữ liệu. Trong trường hợp người dùng quên mật khẩu, họ có thể thực hiện Đặt lại mật khẩu bằng cách sử dụng địa chỉ email đã đăng ký tài khoản trước đó.
2.2.2 Chức năng theo dõi chạy bộ Đây là chức năng lòng cốt của ứng dụng Khi người dùng bắt đầu phiên chạy, ứng dụng sẽ thực hiện ghi lại các thông tin như quãng đường đã chạy được, vận tốc hiện tại, thời gian, vị trí hiện tại (dùng để hiển thị tuyến đường đã chạy qua trên bản đồ) cho đến khi kết thúc phiên chạy Toàn bộ thông tin của phiên chạy sẽ được lưu lại dưới dạng Bản ghi, các bản ghi đã được lưu sẽ được hiển thị ở Dòng thời gian.
2.2.3 Chức năng dòng thời gian
Toàn bộ Bản ghi sẽ được hiển thị ở đây kèm theo đó sẽ có một bộ lọc theo thời gian giúp người dùng có thể dễ dàng tìm và xem lại các Bản ghi cũ hơn.
2.2.4 Chức năng quản lí trang cá nhân
Toàn bộ thông tin của người dùng sẽ được hiển thị tại đây Người dùng có thể chọn những thông tin mà mình muốn hiển thị tới người khác ví dụ như tên, địa chỉ email, ngày sinh, số điện thoại, địa chỉ, sở thích, ngoài ra người dùng còn có thể đặt một đoạn giới thiệu ngắn để hiển thị trên cùng.
Tổng quan
2.3.1 Biểu đồ trường hợp sử dụng
Hình 2.1 Trường hợp sử dụng tổng quát
2.3.2 Mô tả các tác nhân
STT Tên tác nhân Mô tả
1 User (Người dùng) Người trực tiếp thực hiện các thao tác trên ứng dụng
2.3.3 Mô tả các trường hợp sử dụng
STT Mã Trường hợp sử dụng Mô tả
Người dùng phải tiến hành Đăng nhập/Đăng ký nếu muốn truy cập vào ứng dụng Người dùng cũng có thể đặt lại mật khẩu nếu đã quên.
2 UC2000 Track running Ghi lại các thông tin cần thiết cho đến khi người dùng kết thúc phiên chạy.
3 UC3000 Manage timeline Xem lại các bản ghi của các phiên chạy từ trước tới nay.
4 UC4000 Manage personal profile Quản lí các thông tin cá nhân và đặt cách hiển thị các thông tin này đến người dùng khác.
5 UC5000 Manage friends Quản lí bạn bè.
6 UC6000 Setttings Chỉnh sửa các cài đặt cơ bản của ứng dụng.
Chức năng xác thực người dùng
2.4.1 Đặc tả trường hợp sử dụng
Mô tả Người dùng sử dụng các chức năng đăng nhập, đăng ký, đặt lại mật khẩu
Tác nhân tham gia Người dùng
Mức ưu tiên Phải có
Nguyên nhân Người dùng phải tiến hành xác thực trước khi tiến vào sâu bên trong ứng dụng Điều kiện cần
- Tài khoản đã được tạo sẵn (Đănh nhập bằng email, Đặt lại mật khẩu)
- Đã có tài khoản Google (Đăng nhập bằng Google)
- Email chưa được sửa dụng (Đăng ký) Điều kiện đủ
- Người dùng đăng nhập ứng dụng thành công (Đăng nhập bằng Email, Đăng nhập bằng Google, Đăng ký)
- Email khôi phục mật khẩu được gửi (Đặt lại mật khẩu)
1 Người dùng mở ứng dụng
2 Người dùng chọn Đăng nhập bằng Email
3 Người dùng nhập thông tin và Submit
4 Hệ thống xác thực thông tin đăng nhập thành công
5 Ứng dụng điều hướng người dùng tới màn hình chính
Luồng thay thế 2a Người dùng chọn đăng nhập bằng Google
3a Người dùng chọn một tài khoản Google
2b Người dùng chọn Đăng ký tài khoản
2c Người dùng chọn Đặt lại mật khẩu
4a Hệ thống gửi email đặt lại mật khẩu và thông báo thành công
Luồng ngoại lệ 4b Xác thực thất bại
- Chức năng đăng nhập bằng Email:
Hình 2.2: Biểu đồ hoạt động chức năng Đăng nhập bằng địa chỉ email
- Chức năng đăng nhập bằng Google:
Hình 2.3 Biểu đồ hoạt động chức năng Đăng nhập bằng Google
Hình 2.4 Biểu đồ hoạt động chức năng Tạo tài khoản
- Chức năng đặt lại mật khẩu:
Hình 2.5 Biểu đồ hoạt động chức năng Đặt lại mật khẩu
- Chức năng đăng nhập bằng email:
Hình 2.6 Biểu đồ trình tự chức năng Đăng nhập bằng email
- Chức năng đăng nhập bằng Google:
Hình 2.7 Biểu đồ trình tự cho chức năng Đăng nhập bằng Google
Hình 2.8 Biểu đồ hoạt động cho chức năng Đăng ký
- Chức năng Đặt lại mật khẩu:
Hình 2.9 Biểu đồ hoạt động cho chức năng Đặt lại mật khẩu
Chức năng theo dõi chạy bộ
2.5.1 Đặc tả trường hợp sử dụng
Mô tả Ghi lại các thông tin trong phiên chạy của người dùng
Tác nhân tham gia Người dùng
Mức ưu tiên Phải có
Nguyên nhân Người dùng muốn theo dõi quá trình chạy Điều kiện cần
- Người dùng đã đăng nhập.
- Quyền vị trí được cho phép ở mức cao nhất, quyền thông báo được cho phép. Điều kiện đủ - Người dùng hoàn thành phiên chạy.
- Người dùng lưu lại phiên chạy hoặc bỏ qua.
1 Người dùng chọn Lần chạy mới và hệ thống điều hướng tới màn hình theo dõi chạy.
2 Người dùng chọn Bắt đầu.
3 Ứng dụng yêu cầu các quyền cần thiết.
4 Người dùng cho phép các quyền được yêu cầu.
5 Ứng dụng bắt đầu ghi lại các thông số của phiên chạy.
6 Người dùng chọn Dừng lại
7 Ứng dụng gom lại các thông tin của phiên chạy và hiển thị tới người dùng.
8 Người dùng chọn lưu lại phiên chạy.
9 Phiên chạy đã được lưu, chuyển hướng người dùng về trang chính.
Luồng thay thế 8a Người dùng chọn bỏ qua.
9a Phiên chạy không được lưu lại, chuyển hướng người dùng tới trang chính.
4a Người dùng từ chối quyền.
9c Lưu lại phiên chạy thất bại, ứng dụng hiển thị thông báo lỗi.
- Chức năng bắt đầu chạy:
Hình 2.10 Biểu đồ hoạt động khi bắt đầu theo dõi chạy
- Chức năng kết thúc phiên chạy:
Hình 2.11 Biểu đồ hoạt động khi kết thúc phiên chạy
- Chức năng lưu lại phiên chạy:
Hình 2.12 Biểu đồ hoạt động chức năng lưu lại phiên chạy
- Chức năng bắt đầu chạy:
Hình 2.13 Biểu đồ trình tự khi bắt đầu phiên chạy
- Chức năng kết thúc phiên chạy:
Hình 2.14 Biểu đồ trình tự khi kết thúc phiên chạy
- Chức năng lưu lại phiên chạy:
Hình 2.15 Biểu đồ trình tự lưu phiên chạy
Chức năng dòng thời gian
2.6.1 Đặc tả trường hợp sử dụng
Mô tả Hiển thị các phiên chạy đã được lưu lại của người dùng
Tác nhân tham gia Người dùng
Mức ưu tiên Không có
Nguyên nhân Người dùng muốn xem lại các phiên chạy trước đó. Điều kiện cần Người dùng đã đăng nhập
1 Người dùng chọn Dòng thời gian từ bảng điều hướng.
2 Điều hướng người dùng tới trang Dòng thời gian.
3 Ứng dụng hiển thị các phiên chạy mới nhất của người dùng.
4 Người dùng chỉnh sửa bộ lọc và chọn Submit.
5 Hiển thị các phiên chạy với bộ lọc mới.
4a Người dùng mở menu của một phiên chạy bất kỳ và chọn Xóa.
5a Phiên chạy bị xóa, cập nhật lại dòng thời gian.
- Xem dòng thời gian kết hợp với bộ lọc:
Hình 2.16 Biểu đồ hoạt động cho chức năng Xem và Lọc dòng thời gian
Hình 2.17 Biểu đồ hoạt động cho chức năng xóa bản ghi chạy
- Xem dòng thời gian kết hợp với bộ lọc:
Hình 2.18 Biều đồ trình tự cho chức năng Xem và Lọc dòng thời gian
Hình 2.19 Biểu đồ trình tự cho chức năng Xóa bản ghi chạy
Chức năng quản lí trang cá nhân
2.7.1 Đặc tả trường hợp sử dụng
Mô tả Quản lí trang cá nhân
Tác nhân tham gia Người dùng
Mức ưu tiên Phải có
Nguyên nhân Người dùng muốn xem và chỉnh sửa thông tin cá nhân Điều kiện cần - Người dùng đã đăng nhập.
1 Người dùng đi tới Trang cá nhân.
2 Ứng dụng hiển thị các thông tin của người dùng.
3 Người dùng chọn Chỉnh sửa trang cá nhân, ứng dụng hiển thị giao diện chỉnh sửa.
4 Người dùng thực hiện thay đổi sau đó Submit.
5 Thay đổi thông tin thành công, ứng dụng cập nhật lại trang cá nhân.
Luồng thay thế 3a Người dùng chọn xem Dòng thời gian.
4a Ứng dụng điều hướng người dùng tới trang Dòng thời gian
Luồng ngoại lệ 4a Thay đổi thông tin thất bại, ứng dụng hiển thị thông báo lỗi.
Hình 2.20 Biểu đồ hoạt động cho chức năng Xem trang cá nhân
Hình 2.21 Biểu đồ hoạt động cho chức năng chỉnh sửa trang cá nhân
Hình 2.22 Biểu đồ trình tự cho chức năng Xem trang cá nhân
Hình 2.23 Biểu đồ trình tự Chỉnh sửa trang cá nhân
XÂY DỰNG & PHÁT TRIỂN ỨNG DỤNG
Yêu cầu hệ thống
Để có thể áp dụng được các công nghệ mới mà cũng để đảm bảo các thiết bị không quá cũ được có thể sử dụng được ứng dụng một cách tốt nhất, ứng dụng sẽ được phát triển với yêu cầu thấp nhất là các thiết bị chạy Android 8 (API Level 26) trở lên.
Hiện nay số thiết bị đang chạy Android 8 trở lên đang chiếm đến hơn 90% số lượng người dùng hệ điều hành này, việc chọn chọn yêu cầu thấp nhất là Android 8 sẽ ban đầu đảm bảo được số lượng người dùng tiếp cận được ứng dụng là lớn nhất và đảm bảo được phần lớn các công nghệ được ra mắt ở phiên bản này vẫn còn được hỗ trợ tốt cho tới hiện tại.
Tóm lại, chỉ cần thiết bị đáp ứng được yêu cầu tối thiểu của Android 8 là sẽ có thể sử dụng được ứng dụng Như vậy, cộng với một số yêu cầu bên lề của ứng dụng ta sẽ có bảng yêu cầu hệ thống cho ứng dụng như sau:
Hệ điều hành Android 8 (API Level 26) hoặc hơn
Nhân xử lí Ít nhất 4 nhân, xung nhịp 1.2 GHz hoặc hơn
Bộ nhớ trong Tối thiều 4 GB bộ nhớ trong và ít nhất thêm 1 GB để duy trì các ứng dụng
Màn hình Tối thiểu 4.7 Inch, FHD hoặc hơn
Pin Li-ion 3200 mAh hoặc tốt hơn
Hệ thống Tương thích với Dịch vụ của Google
Giao diện các chức năng của ứng dụng
3.2.1 Chức năng xác thực người dùng Đây sẽ là nơi người dùng thực hiện các tác vụ như đăng nhập, đăng ký và đặt lại mật khẩu.
Hình 3.24 Màn hình xác thực
Hình 3.25 Biểu mẫu Đăng nhập bằng địa chỉ email
Hình 3.26 Biểu mẫu Đăng ký
Hình 3.27 Biểu mẫu Đặt lại mật khẩu
3.2.2 Giao diện hiển thị thông số người dùng
Các thông tin liên quan đến lần chạy của người dùng sẽ được tổng hợp lại và hiển thị tại đây.
Hình 3.28 Màn hình chính kèm theo các thông số của người dùng
3.2.3 Chức năng theo dõi chạy
Người dùng sẽ có thể theo dõi chạy theo từng phiên bằng cách nhấn bắt đầu khi bắt dầu chạy và nhấn kết thúc khi kết thúc lần chạy Người dùng cũng có thể chọn lưu lại phiên chạy hoặc không.
Hình 3.29 Màn hình theo dõi chạy
Hình 3.30 Màn hình theo dõi chạy khi đã bắt đầu
Hình 3.31 Màn hình sau khi kết thúc phiên chạy
3.2.4 Giao diện bảng điều hướng
Các chức năng lớn của ứng dụng sẽ được hiển thị tại đây, người dùng có thể chọn và đi tới một chức năng mà mình muốn.
Hình 3.32 Bảng điều hướng ở màn hình chính
3.2.5 Giao diện trang cá nhân
Thông tin về người dùng như ảnh đại diện, tên hiển thị, địa chỉ email, sẽ được hiển thị tại đây Người dùng cũng có thể chỉnh sửa các thông tin cá nhân của mình.
Hình 3.34 Trang cá nhân ở chế độ chỉnh sửa
3.2.6 Giao diện dòng thời gian
Các lần chạy của người dùng sẽ được lưu lại tại đây Giao diện còn cung cấp bộ lọc để giúp người dùng có thể xem lại được dòng thời gian theo từng khoảng thời gian hoặc theo một thông số nào đó.
Hình 3.36 Bộ lọc trong Dòng thời gian
3.2.7 Giao diện bạn bè Đây là nơi để người dùng có thể kết nối với nhau, các người dùng đã là bạn bè cũng có thể xem trang cá nhân của nhau.
Hình 3.37 Danh sách bạn bè
Hình 3.38 Hộp thoại gửi lời mời kết bạn
Hình 3.39 Menu các chức năng với mỗi bạn bè
Hình 3.40 Màn hình cho Lời mời kết bạn đã gửi đi
Hình 3.41 Màn hình Yêu cầu kết bạn đến
3.2.8 Giao diện cài đặt Đây là nơi chứa các tùy chọn cá nhân hóa ứng dụng như thay đổi ngôn ngữ, thay đổi giao diện ứng dụng.
Hình 3.42 Màn hình Cài đặt trong ứng dụng
Khi người dùng nhấn Đăng xuất từ Bảng điều hướng, người dùng sẽ được hỏi nếu thực sự muốn đăng xuất.
Hình 3.43 Hộp thoại xác nhận đăng xuất