5/2/2011
Team 7
P a g e | 1
Table
of
Contents
Class
Diagram
Activity
Diagram
Sequence
Diagram
State
Diagram
Minimal
Manual
2
5
6
7
8
Team 7
P a g e | 2
Figure
1:
Class
Diagram
The class diagram displays the many classes, attributes, and methods used in the creation of the health and fitness tracking device. It also displays the associations of these classes. The diagram begins on the left in the controller section in the center with Blackout. The classes have been laid out into sections of model, view, and controller. The view section contains all of the user interface classes in the project, the controller section contains all of the controller classes, and the model section contains all of the model classes such as food and user list. LoginUI shows the user interface for logging into the system. MainMenuUI shows the user interface for selection an option corresponding to one of the related use cases. FoodInputUI shows the user interface for inputting a food into the food list. MealPlanUI shows the user interface for creating a new meal plan.
Team 7
FitnessPlanUI shows the user interface for creating a new fitness plan. ExerciseUI shows the user interface for creating a new exercise. AnalysisReportUI shows the user interface for viewing an analysis report. SuggestWorkoutUI shows the user interface for suggested workouts. SuggestMealUI shows the user interface for suggested meals. ProfileUI shows the user interface for a users profile. EditProfileUI shows the user interface for editing a users profile. CreateExerciseUI shows the user interface for creating a new exercise. CreateFoodUI shows the user interface for creating a new food. Blackout is the class that calls main and starts the program.
P a g e | 3
LoginCntl controls the login and ensures it authenticates as well as getting the UserList. MainMenuCntl controls the main menu and ensures the user reaches his or her destination after selecting a menu option. It also gets the users information.
FoodInputCntl controls what happens when the user is adding foods to the food list through the FoodInputUI. Also gets the FoodList.
MealPlanCntl controls what happens when the user is managing his or her meal plans through the MealPlanUI. Also gets the MealPlan and current user calorie count.
FitnessPlanCntl controls what happens when the user is managing his or her fitness plans through the FitnessPlanUI. Also gets the fitness plans of the user and the fitness dates.
AnalysisReportCntl controls what happens when the user is manipulating the AnalysisReportUI to view his or her analysis reports. Also gets the completed weeks data of the report.
SuggestWorkoutCntl controls what happens when the user selects to see a suggested workout, it also gets the users calorie count and a suggested workout.
SuggestMealCntl controls what happens when the user selects to see a suggested meal, it also gets the users calorie count and a suggested meal.
ProfileCntl controls what happens when the user selects their profile. It also allows them to edit their profile.
User returns the name, weight, age, and gender of the user currently logged in. UserList returns an array of userNames, names, dateRegistered, and passwords. FoodList returns an array of foods and food names. Food returns foodName, foodCalories, and foodNutritionalInfo.
Team 7
MealPlan returns mealPlanName, and an array of mealPlanMeals. MealPlanList returns an array of MealPlans.
P a g e | 4
FitnessPlan returns fitnessName, and fitnessDate it also gets an array of MealPlans and WorkoutPlans for a selected time period and returns a generatedReport.
AnalysisReport returns reportDate, an array of reportWorkouts, an array of reportMeals, reportCurrentWeight, and reportIntake.
Exercise returns instructions, name, and type. ExerciseList returns an array of exercises. FitnessPlanExercise returns calories, name, and status of a fitness plan. BlackOutPersistentObject returns userList, foodList, and workoutList and gets these from PersistenceFactory.
PersistenceFactory returns a persistentObject it also reads, writes to, and creates a file called BlackoutPersistentObject.ser which stores the persistentdata such as userList, foodList, and workoutList.
Team 7
P a g e | 5
Team
7
Figure
2:
Activity
Diagram
P a g e | 6
The activity diagram displays what happens in our health and fitness tracking device from when the user opens the project. It displays the steps of logging into the system, what happens when the main menu is selected, and then what happens when one of the options available on the main menu is selected. The actions are displayed in model, view, controller, and user categories which represent the area of the class diagram the class that performs this action would be located. The user category refers to actions performed by a user.
Figure
3:
Sequence
Diagram
The sequence diagram above describes the transmission of messages between various classes when the user wishes to create a workout. The diagram assumes the application is open, the user has logged in, and the user wants to create only one workout and add only one exercise to that workout. The diagram shows the various classes, used and their lifelines during the time the activity is taking place. These lifelines describe when the class or object is active. Also displayed, are the method calls that the classes perform.
Team 7
P a g e | 7
Figure
4:
State
Diagram
The state diagram pictured in figure 4 displays the states of the food input user interface. It contains the different states that arise while adding a new food to the food list and includes information about the transitions between those states, such as guard conditions, events posted, and actions taken during these transitions.
Team 7
P a g e | 8
Minimal
Manual
The
Blackout
Application
This
application
is
for
the
use
of
tracking
fitness
and
nutritional
goals.
Upon
opening
the
application
you
are
prompted
at
a
login
screen
in
which
you
are
required
to
enter
your
username
and
password.
The
reason
behind
this
is
because
everyones
goals
and
nutrition
tracking
is
specific
to
the
individual
person.
Once
you
enter
your
login
information
you
will
be
presented
to
the
main
screen
show
on
below.
Nutrition
Upon
seeing
the
main
screen
and
being
logged
into
the
application
it
is
now
time
to
input
what
you
ate
today.
This
allows
the
application
to
see
how
many
calories
you
digested
and
give
you
recommendations
in
areas
of
improvement.
Upon
selecting
Track
Nutrition
from
the
main
menu
you
will
now
see
the
following.
From here please select the + button in order to add your first food. You will be prompted with a list of foods where you are to select what you actually ate. Upon selecting French Fries push the Select button to add it to your planned food activity log. From this you will now see an updated Meal Plan for the specific day you added the food too. After this is completed the application now will have records that you ate French Fries on the specific date you added it and will factor that into your overall allotted calories each day.
Team 7
P a g e | 9
Exercise
From
the
main
screen
select
the
Track
Fitness
button
and
begin
inputting
information
about
what
sports,
or
activities
you
did
today.
This
part
of
the
application
is
similar
to
the
aspect
of
adding
nutritional
items
to
your
day
with
the
one
big
difference
being
upon
selecting
an
activity
it
will
now
subtract
from
how
many
calories
you
consumed
today
because
you
actually
burned
those
calories.
Select
the
+
button
from
the
bottom
right
hand
side
and
pick
an
activity
you
did.
Select
the
activity
and
you
will
be
prompted
to
enter
how
long
you
did
the
activity
for.
This is in increments of hours. So if you spent an hour and a half you would enter 1.5 to convert everything into decimal numbers. Upon adding the exercise to your profile it will now calculate how many hours you burned in that interval for later use.
Analysis
The
last
key
aspect
of
the
application
that
you
should
be
well
aware
of
is
the
tracking
of
your
overall
input
and
output
of
calories.
This
analyzes
both
what
you
ate,
and
what
activities
you
did.
Select
View
Your
Progress
from
the
main
screen.
Team 7
P a g e | 10
This will now show all of the calories you consumed and all of the calories you burned. Intake represents the total number of calories you consumed for that particular day on the top, or that week on the bottom. Out are how many calories you burned through various activities. It adds up all of the sports, and activities you completed in the given time frame and calculates how many you burned. The average person is to consume 2,000 calories every day so to see where you are at simply take your intake and subtract from your out and ensure you are never above 2,000 calories for one day.