Professional Documents
Culture Documents
ENHANCEMENT
By
Sherile Cheptoo
Requirements
1.User Requirements
a)Individual Users (Fitness Enthusiasts)
Responsibility-Personal health and fitness management.
Tasks
Set personal fitness goals.
Track daily physical activities and workouts.
Log nutrition intake and monitor dietary habits.
Receive personalized workout plans.
Access video demonstrations for exercises.
Monitor progress and receive performance insights.
Connect with a community for support and motivation.
Receive reminders for workouts and meals.
b)Trainers/Coaches
Responsibility-Guiding and supporting clients in achieving their fitness goals.
Tasks
Create customized workout plans for clients.
Monitor clients' progress and adjust plans accordingly.
Provide real-time feedback on workouts.
Set and modify nutrition plans.
Communicate with clients through messaging or video calls.
Analyze client data to optimize training strategies.
Access client profiles and history for informed coaching.
c)Nutritionists/Dietitians
Responsibility-Managing and advising on nutritional aspects for users.
Tasks
Create personalized meal plans based on users' goals.
Track users' food diaries and provide feedback.
Offer nutritional advice and education.
Collaborate with users to set realistic dietary goals.
Monitor nutritional trends and patterns.
e)Medical Professionals
Responsibility-Integrating fitness data for holistic health monitoring.
Tasks
Receive fitness and health data from patients.
Analyze trends and patterns for medical insights.
Prescribe exercise routines based on health conditions.
Collaborate with trainers and nutritionists for comprehensive care.
g)Administrators/Developers
Responsibility-Managing and optimizing the app platform.
Tasks
Ensure the app's functionality and performance.
Implement updates and new features.
Address technical issues and bugs.
2.Functional Requirements
User Registration and Profile Management
Allow users to create accounts.
Capture essential personal information (age, gender, weight, fitness goals).
Enable profile customization.
Goal Setting
Provide the ability for users to set and modify fitness goals.
Goals should be customizable based on objectives like weight loss, muscle gain, or
general fitness.
Nutrition Tracking
Enable users to log and track daily food intake.
Integrate a food database for easy logging.
Provide nutritional insights and feedback.
Progress Monitoring
Display visual representations of fitness progress over time.
Include metrics like weight loss, muscle gain, and overall performance improvements.
Send regular progress updates and achievements.
Social Features
Implement a community or social platform for users to connect and share experiences.
Enable commenting, liking, and sharing of workouts and achievements.
Facilitate challenges and competitions among users.
Portability
Ensure the app is compatible with major mobile platforms (iOS and Android).
Optimize the app for various device screen sizes and resolutions.
Maintain consistency in performance across different devices and operating system
versions.
Response Time
Define acceptable response time for key app functions, such as loading user profiles,
generating workout plans, and logging data.
Aim for a responsive user interface with minimal latency.
Conduct performance testing to ensure response times meet specified benchmarks, even
under peak loads.
Scalability
Design the app architecture to scale horizontally to handle increased load.
Implement cloud-based solutions to facilitate automatic scaling based on demand.
Regularly assess and adjust the app's infrastructure to accommodate user growth.
Network Performance
Optimize network requests and minimize the number of API calls.
Prioritize asynchronous loading of data to enhance the user experience.
Implement content delivery networks (CDNs) to reduce latency for static assets.
Offline Functionality
Ensure the app remains functional in offline mode for essential features.
Implement efficient data synchronization methods when the app reconnects to the
internet.
Caching Strategies
Implement effective caching mechanisms for frequently accessed data.
Utilize both client-side and server-side caching to reduce response times.
Configure cache expiration policies to ensure data accuracy.
4.Security Requirements
Data Encryption
Implement end-to-end encryption for data transmission between the app and servers.
Encrypt sensitive user information, including personal details, login credentials, and
health data, at rest in the database.
Secure Authentication
Enforce strong password policies, including minimum length, complexity requirements,
and regular password updates.
Implement multi-factor authentication to enhance user account security.
Use secure authentication protocols such as OAuth or OpenID Connect.
Learnability
Provide a user-friendly onboarding process to guide new users through the app's features.
Offer interactive tutorials or tooltips to explain key functionalities.
Create an easily accessible and comprehensive help or FAQ section.
Responsive Design
Ensure the app is responsive to different screen sizes and resolutions.
Optimize layouts for both smartphones and tablets.
Test and adapt the user interface to various orientations (portrait and landscape).
Accessibility Features
Implement features that cater to users with disabilities (e.g., voice commands, screen
reader compatibility).
Ensure text has sufficient contrast for readability.
Support alternative input methods for users with motor disabilities.
Color and Font Accessibility
Choose color schemes that are accessible to users with color vision deficiencies.
Use readable fonts and allow users to adjust font size preferences.
Avoid relying solely on color to convey information; use labels and symbols as well.
Personalization Options
Allow users to personalize the app's appearance and settings.
Provide options for theme customization, font preferences, and color schemes.
Support the creation of user profiles for personalized experiences.
Cross-Platform Consistency
Ensure a consistent user experience across different platforms (iOS, Android).
Adapt UI elements to match platform-specific design guidelines.
Test the app thoroughly on each platform to address platform-specific nuances.
User Feedback and Surveys
Implement mechanisms for users to provide feedback directly within the app.
Conduct periodic usability surveys to gather insights for continuous improvement.
Actively respond to user feedback and incorporate relevant suggestions.
System design
Context and Modes of Use
Context
Our app called FitBuddy aims to cater to fitness enthusiasts, beginners, and health-conscious
individuals aged 18 and above years.
Modes of Use
Booking Local Gyms-Users can find nearby gyms using filters and book sessions.
Activity Tracking-Real-time tracking of activities like running or walking, with analytics
available for viewing and sharing.
Social Feed-Connect with friends and the community, share progress, and create challenges.
Progress Tracker-Analyze weekly or monthly progress.
System Architecture
FitBuddy architecture will be based on a client-server model
Client (Mobile App)-The user-facing part of the app, responsible for interacting with users,
displaying information, and handling user input.
Server-Manages data storage, authentication, and communication with external services (e.g.,
gym booking APIs, social media integration).
Principal System Objects
User-Represents app users, with attributes like name, age, fitness goals, and activity history.
Gym-Represents gyms available for booking, with details such as location, facilities, and
availability.
Activity-Represents tracked activities (e.g., running, walking), including duration and distance.
Social post-represents user-generated posts for sharing progress and challenges.
Design Models
Use Case Diagram
Class Diagram
Sequence Diagrams: