Professional Documents
Culture Documents
September 2019
i
Table of Contents
1. Introduction..............................................................................................................................1
1.1. Background.......................................................................................................................1
1.2. Statement of the Problem..................................................................................................2
1.3. Objective of the Study.......................................................................................................2
1.3.1. General Objective......................................................................................................2
1.3.2. Specific Objectives....................................................................................................2
1.4. Scope of the Project..........................................................................................................3
1.5. Limitation of the Project...................................................................................................3
1.6. Methodology.....................................................................................................................3
1.7. Significance and Beneficiaries of the Project...................................................................5
1.8. Task Breakdown...............................................................................................................5
1.9. Feasibility Analysis...........................................................................................................7
1.9.1. Operational Feasibility...............................................................................................7
1.9.2. Economic Feasibility.................................................................................................7
1.9.3. Social Feasibility.......................................................................................................7
1.9.4. Technical Feasibility..................................................................................................7
2. System Requirements Specification Document.......................................................................8
2.1. Introduction/Overview......................................................................................................8
2.2. Purpose..............................................................................................................................8
2.3. Scope.................................................................................................................................8
2.4. Existing Systems...............................................................................................................8
2.4.1. Golden Gym...............................................................................................................9
2.4.2. Drawbacks of Golden Gym’s System........................................................................9
2.4.3. Virtuagym..................................................................................................................9
2.4.4. Drawbacks of Virtuagym’s System.........................................................................10
2.5. Proposed System.............................................................................................................10
2.6. Functional Definition......................................................................................................10
2.6.1. Functional Requirements.........................................................................................10
2.6.2. Non - Functional Requirements...............................................................................11
2.6.3. Business Rule...........................................................................................................12
2.7. System Models................................................................................................................14
ii
2.7.1. Use Case..................................................................................................................14
2.7.1.1. Use Case Diagram............................................................................................14
2.7.1.2. Use Case Description.......................................................................................15
2.7.2. Class Diagram..........................................................................................................28
2.7.3. Sequence Diagram...................................................................................................29
2.7.4. Activity Diagram.....................................................................................................40
3. System Design Document..........................................................................................................57
3.1. Introduction.....................................................................................................................57
3.2. Assumptions....................................................................................................................57
3.3. Constraints......................................................................................................................57
3.4. Design Goals...................................................................................................................57
3.4.1 Usability...................................................................................................................58
3.4.2 Reliability................................................................................................................58
3.4.3 Performance.............................................................................................................58
3.4.4 Portability................................................................................................................58
3.4.5 Security....................................................................................................................58
3.5. Software Architecture.....................................................................................................58
3.5.1 Xamarin Architecture..............................................................................................60
3.6. Subsystem Decomposition..............................................................................................61
3.6.1. User Management Subsystem..............................................................................62
3.6.2. Schedule Management Subsystem.......................................................................62
3.6.3. Offer Management Subsystem.............................................................................63
3.6.4. Payment Management Subsystem.......................................................................63
3.6.5. Data Management Subsystem..............................................................................64
3.6.6. Communication Management Subsystem............................................................64
3.6.7. Guide Management Subsystem............................................................................65
3.7. Hardware Software Mapping..........................................................................................66
3.8. Persistent Data Management...........................................................................................67
3.9. Access Control................................................................................................................68
3.10. Boundary Conditions...................................................................................................69
3.11. Subsystem Services.....................................................................................................69
4. Object Design Document.......................................................................................................70
iii
4.1. Object Design Trade-offs................................................................................................70
4.2. Interface Documentation Guidelines..............................................................................70
4.3. Package...........................................................................................................................70
4.4. Class Interface.................................................................................................................72
4.4.1. Schedule Class.....................................................................................................72
4.4.2. Class Model Class................................................................................................72
4.4.3. Package Class.......................................................................................................73
4.4.4. Guide Class..........................................................................................................73
4.4.5. User Class............................................................................................................74
4.4.6. Comment Class....................................................................................................74
4.4.7. Verification Class.................................................................................................75
4.4.8. Profile Class.........................................................................................................75
4.4.9. Trainer Class........................................................................................................76
4.4.10. QRcode Class...................................................................................................76
5. Implementation.......................................................................................................................77
5.1. Tools................................................................................................................................77
5.2. Major Class Code............................................................................................................77
5.2.1. Account Verification...............................................................................................77
5.2.2. Gym Classes Creation..............................................................................................78
5.2.3. Profile Editing..........................................................................................................79
5.2.4. Registration..............................................................................................................80
5.2.5. Membership Approval.............................................................................................82
6. Annexes..................................................................................................................................83
6.1. Questionnaire..................................................................................................................83
6.1.1. Introduction to Questionnaires................................................................................83
6.1.2. Questions for Gym Owners.....................................................................................83
6.1.3. Questions for Gym Members...................................................................................84
6.1.4. Summary..................................................................................................................85
6.1.5. User Manual.............................................................................................................85
6.1.5.1. Home Page.......................................................................................................85
6.1.5.2. Login Page – For all users of the system..........................................................86
6.1.5.3. Registration Page – For first time members.....................................................87
iv
6.1.5.4. Registered Member Profile Page......................................................................87
6.1.5.5. Registered Member Schedule Page..................................................................88
6.1.5.6. Classes Description Page..................................................................................88
6.1.5.7. Receptionist - Schedule Management Page.....................................................89
6.1.5.8. Receptionist - Member and Trainer Management Page..................................89
6.1.5.9. Gym Owner – Workout Class Customization Page.........................................90
6.1.5.10. Gym Owner – Membership Package Customization Page..............................90
6.1.5.11. Gym Owner – Receptionist Management Page...............................................91
6.1.5.12. Gym Owner – View Report Page....................................................................91
References......................................................................................................................................92
Glossary.........................................................................................................................................92
v
List of Figures
Figure 2.7- 1 - GMS Use Case Diagram.........................................................................................................................14
Figure 2.7- 2 - Analysis Class Diagram..........................................................................................................................28
Figure 2.7- 3 - Sequence Diagram for Login..................................................................................................................29
Figure 2.7- 4 - Sequence Diagram for Registration.......................................................................................................30
Figure 2.7- 5 - Sequence Diagram for Viewing Schedule..............................................................................................30
Figure 2.7- 6 - Sequence Diagram for Viewing Guides..................................................................................................31
Figure 2.7- 7 - Sequence Diagram for Tracking Information........................................................................................31
Figure 2.7- 8 - Sequence Diagram for Viewing Package...............................................................................................32
Figure 2.7- 9 - Sequence Diagram for Viewing Classes.................................................................................................32
Figure 2.7- 10 - Sequence Diagram for Posting Comment............................................................................................33
Figure 2.7- 11 - Sequence Diagram for Viewing Notification.......................................................................................33
Figure 2.7- 12 - Sequence Diagram for Payment..........................................................................................................34
Figure 2.7- 13 - Sequence Diagram for Managing Schedule........................................................................................34
Figure 2.7- 14 - Sequence Diagram for Managing Trainers..........................................................................................35
Figure 2.7- 15 - Sequence Diagram for Managing Members.......................................................................................35
Figure 2.7- 16 - Sequence Diagram for Posting Guides................................................................................................36
Figure 2.7- 17 - Sequence Diagram for Managing Class...............................................................................................36
Figure 2.7- 18 - Sequence Diagram for Managing Package.........................................................................................37
Figure 2.7- 19 - Sequence Diagram for Adding Notification.........................................................................................37
Figure 2.7- 20 - Sequence Diagram for Viewing Report................................................................................................38
Figure 2.7- 21 - Sequence Diagram for Managing Receptionist...................................................................................38
Figure 2.7- 22 - Sequence Diagram for Viewing Comment...........................................................................................39
Figure 2.7- 23 - Sequence Diagram for Generating QR code........................................................................................39
Figure 2.7- 24 - Activity Diagram for Login...................................................................................................................40
Figure 2.7- 25 - Activity Diagram for Registration........................................................................................................41
Figure 2.7- 26 - Activity Diagram for Viewing Schedule...............................................................................................42
Figure 2.7- 27 - Activity Diagram for Viewing Notification...........................................................................................43
Figure 2.7- 28 - Activity Diagram for Tracking Information..........................................................................................44
Figure 2.7- 29 - Activity Diagram for Adding Comment................................................................................................44
Figure 2.7- 30 - Activity Diagram for Viewing Guides...................................................................................................45
Figure 2.7- 31 - Activity Diagram for Viewing Package................................................................................................46
Figure 2.7- 32 - Activity Diagram for Viewing Class......................................................................................................46
Figure 2.7- 33 - Activity Diagram for Managing Trainer...............................................................................................47
Figure 2.7- 34 - Activity Diagram for Managing Schedule............................................................................................48
Figure 2.7- 35 - Activity Diagram for Managing Member............................................................................................49
Figure 2.7- 36 - Activity Diagram for Posting Guides....................................................................................................50
Figure 2.7- 37 - Activity Diagram for Adding Notification............................................................................................50
Figure 2.7- 38 - Activity Diagram for Managing Package.............................................................................................51
Figure 2.7- 39 - Activity Diagram for Managing Class..................................................................................................52
Figure 2.7- 40 - Activity Diagram for Viewing Report...................................................................................................53
Figure 2.7- 41 - Activity Diagram for Managing Receptionist......................................................................................54
Figure 2.7- 42 - Activity Diagram for Generating QR code...........................................................................................55
Figure 2.7- 43 - Activity Diagram for View Comment...................................................................................................56
Figure 3.5- 1 - Software Architecture Diagram.............................................................................................................59
Figure 3.5- 2 - Xamarin Architecture.............................................................................................................................60
Figure 3.6- 1 - Subsystem Decomposition Diagram......................................................................................................61
vi
Figure 3.6- 2 - User Management Subsystem...............................................................................................................62
Figure 3.6- 3 - Schedule Management Subsystem........................................................................................................62
Figure 3.6- 4 - Offer Management Subsystem..............................................................................................................63
Figure 3.6- 5 - Payment Management Subsystem........................................................................................................64
Figure 3.6- 6 - Data Management Subsystem..............................................................................................................64
Figure 3.6- 7 - Communication Management Subsystem.............................................................................................65
Figure 3.6- 8 - Guide Management Subsystem.............................................................................................................65
Figure 3.7- 1 - Hardware Software Mapping................................................................................................................66
Figure 3.8- 1 - Design Class Diagram............................................................................................................................67
Figure 4.3- 1 - Controllers..............................................................................................................................................71
Figure 4.3- 2 - Models...................................................................................................................................................71
Figure 4.3- 3 - Views......................................................................................................................................................71
Figure 4.4- 1 - Schedule Class........................................................................................................................................72
Figure 4.4- 2 - Class Model Class...................................................................................................................................72
Figure 4.4- 3 - Package Class.........................................................................................................................................73
Figure 4.4- 4 - Guide Class.............................................................................................................................................73
Figure 4.4- 5 - User Class...............................................................................................................................................74
Figure 4.4- 6 - Comment Class......................................................................................................................................74
Figure 4.4- 7 - Verification Class....................................................................................................................................75
Figure 4.4- 8 - Profile Class............................................................................................................................................75
Figure 4.4- 9 - Trainer Class...........................................................................................................................................76
Figure 4.4- 10 - QRcode Class........................................................................................................................................76
Figure 5.2- 1 - Account Verification...............................................................................................................................77
Figure 5.2- 2 - Gym Classes Management....................................................................................................................78
Figure 5.2- 3 - Profile Editing.........................................................................................................................................79
Figure 5.2- 4 - Registration............................................................................................................................................80
Figure 5.2- 5 - Registration............................................................................................................................................81
Figure 5.2- 6 - Membership Approval...........................................................................................................................82
Figure 6.1- 1 - Home Page.............................................................................................................................................86
Figure 6.1- 2 - Login Page.............................................................................................................................................86
Figure 6.1- 3 - Registration Page...................................................................................................................................87
Figure 6.1- 4 - Profile Page............................................................................................................................................87
Figure 6.1- 5 - Registered Member Schedule Page.......................................................................................................88
Figure 6.1- 6 - Classes Description Page.......................................................................................................................88
Figure 6.1- 7 - Schedule Management Page.................................................................................................................89
Figure 6.1- 8 - Member and Trainer Management Page..............................................................................................89
Figure 6.1- 9 - Workout Class Customization Page.......................................................................................................90
Figure 6.1- 10 - Membership Package Customization Page.........................................................................................90
Figure 6.1- 11 - Receptionist Management Page.........................................................................................................91
Figure 6.1- 12 - View Report Page................................................................................................................................91
vii
List of Tables
Table 2.6-1 - Business Rule...........................................................................................................................................13
Table 2.7-1 - Use Case Description for Registration.....................................................................................................15
Table 2.7-2 - Use Case Description for Login................................................................................................................16
Table 2.7-3 - Use Case Description for Viewing Schedule............................................................................................16
Table 2.7-4 - Use Case Description for Viewing Guides...............................................................................................16
Table 2.7-5 - Use Case Description for Viewing Notification.......................................................................................17
Table 2.7-6 - Use Case Description for Tracking Information......................................................................................17
Table 2.7-7 - Use Case Description for Viewing Package.............................................................................................17
Table 2.7-8 - Use Case Description for Viewing Classes...............................................................................................18
Table 2.7-9 - Use Case Description for Payment..........................................................................................................18
Table 2.7-10 - Use Case Description for Adding Comment..........................................................................................18
Table 2.7-11 - Use Case Description for Managing Trainers........................................................................................20
Table 2.7-12 - Use Case Description for Managing Schedule......................................................................................21
Table 2.7-13 - Use Case Description for Viewing Members.........................................................................................22
Table 2.7-14 - Use Case Description for Posting Guides..............................................................................................22
Table 2.7-15 - Use Case Description for Managing Package.......................................................................................24
Table 2.7-16 - Use Case Description for Managing Classes.........................................................................................25
Table 2.7-17 - Use Case Description for Viewing Report..............................................................................................25
Table 2.7-18 - Use Case Description for Managing Receptionist.................................................................................26
Table 2.7-19 - Use Case Description for Viewing Comment.........................................................................................26
Table 2.7-20 - Use Case Description for Generating QR codes....................................................................................27
Table 2.7-21 - Use Case Description for Adding Notification.......................................................................................27
Table 3.9-1 - Access Control.........................................................................................................................................69
Table 3.11- 1 - Subsystem Service.................................................................................................................................69
Table 4.4-1 - Schedule Class.........................................................................................................................................72
Table 4.4-2 - Class Model Class....................................................................................................................................73
Table 4.4-3 - Package Class..........................................................................................................................................73
Table 4.4-4 - Guide Class..............................................................................................................................................74
Table 4.4-5 - User Class................................................................................................................................................74
Table 4.4-6 - Comment Class........................................................................................................................................74
Table 4.4-7 - Verification Class.....................................................................................................................................75
Table 4.4-8 - Profile Class.............................................................................................................................................75
Table 4.4-9 - Trainer Class............................................................................................................................................76
Table 4.4-10 - QRcode Class.........................................................................................................................................76
viii
List of Acronyms and Abbreviations
ix
Executive Summary
Nowadays gyms are more concerned how they conduct their business as well as attract new
members for retention. They want their members to feel comfortable with their membership. A
major issue is the lack of information the exists between gym administration and the members.
Henceforth the need for an online system for all parties that steps in the right direction in solving
the problem. This project explored the benefits of having an online platform for people looking
to manage their gym and for people looking for a membership. The methodology used to
accomplish this was the agile software engineering method; Extreme Programming. The system
used a web-based application to allow gym owners and their employees to manage the day to day
task and have their clients enjoy their membership with ease. Consequently, we hope to provide
an elegant means of running a business.
x
1. Introduction
1.1. Background
It is known that exercise is important. Exercise has a great impact on the body as it has all sorts
of benefits. Physical activities are very helpful not only on making people fit but also on
improving one’s personality. If they have a healthy body, they can be productive in daily life.
Exercise increases the energy level. Through it delivers oxygen and nutrients to the whole body
helping it to work more efficiently and boost endurance. It is also proven that regular exercise
decreases the risk of health problems.
A Fitness gym is a place for an indoor physical workout where numerous equipment is typically
used for health and fitness. For some people, a typical gym is a place where you focus on weight
lifting and similar activities. While it is true that gyms used to be reserved for weight training,
that is not the case nowadays. There are trainers that give exercise programs and help you to
become fit and strong. These days when people all over the world have become so much
concerned about their health and diet, it is but obvious that they continually seek out for gyms
which are loaded with the best equipment and trainers. To provide a good quality of service to
people, fitness gym should have an organized management system that will provide convenience
to their staff to perform their work more efficiently.
Modernizing is taking over all the systems and digitalizing helps them improve in so many
particular ways. QUADS Gym Management System is one of those systems which helps the
administration in speeding up the tasks at the same time reducing the complexity. The present
scenario at gyms is the recording of data currently being kept handwritten on a paper filing
system. Every management task is done manually, creating an unreliable and puzzling system to
keep track of. Payment transactions require the members to physically pay fees inside the gym
which is an inconvenience.
The purpose or objective of this system is to digitalize and create an automated system that
retains the records of gym members and accepts the payment of bills from the members through
QR coded currency. This will help the administration and staff in monitoring the daily activities
of the gym. This system does not only limit itself to the administration and but also helps the
members of the gym. The proposed system will be helpful to members because it will guide
them in doing proper exercise according to their schedule and improve the productivity of
business by gym owners providing an excellent service. This will improve the transparency
between the members and administration which is always a good quality in the system and will
also give a layer of security to the administration that only authorized users can gain access by
their credentials. It also helps the users in reducing the carbon footprint as the amount of paper
used for the work is decreased. This also helps in keeping the standard width of the management
1
system as if there is a case where the administration involves more than one person to manage
the gym.
The main objective of the project is to design and develop a Web-based GMS, offering complete
support and assistance while improving member retention.
2
To meet the overall objective of the project, these specific objectives are set:
To make it possible for gym owners to specify the membership packages and their
durations, and also assign prices for the various payment packages.
To allow members to register and pay for their membership online.
To allow employees to set workout class schedules and manage trainer’s information in a
simple and orderly fashion.
To record registered members information for the utilization of a workout statistics.
To track and inform the gym members of their fitness and health status in order to keep
them up-to-date.
Membership Package Plans: Owner can define different membership plans and assign
membership period for each plan as well as their prices.
Scheduled Timetable: A streamlined weekly schedule full of exercise classes that can
easily be managed by the reception that the member can gain access to.
Activity Tracking: Members are intended to specify their body requirements along with
their present health condition during registration so that members can keep the track of
their future activity and changes.
Workout Guides: After analyzing members provided data, trainers recommend them
proper set of exercise, routine and diet.
Payment Accounts: Members are opted to scan QR coded currencies for fee payment.
The system will try to make sure any information about the members put in their profile
is filled into completion as much as possible. But there are some circumstances where
users are reluctant to input their measurements. This will affect future calculations
regarding their changes during workout. Still, there is always the possibility for the users
to top-up the missing information about their body measurements at a later time.
Due to the absence of a fully functional online payment platform, we had to adapt and
implement a simpler payment module in order to include payment capabilities. The
proposed systems payment method is only available locally and does not embrace the
more accustomed online payment platforms. Online payment services will likely be
available and be integrated into the system in the near future.
1.6. Methodology
System Implementation: Extreme Programming Methodology
3
Extreme Programming (XP) is a software engineering methodology, the most prominent of
several agile software development methodologies [1]. Like other agile methodologies, Extreme
Programming differs from traditional methodologies primarily in placing a higher value on
adaptability than on predictability [1]. Proponents of XP regard ongoing changes to requirements
as an often natural and often inescapable aspect of software development projects; they believe
that being able to adapt to changing requirements at any point during the project life is a more
realistic and better approach than attempting to define all requirements at the beginning of a
project and then expending effort to control changes to the requirements [1].
The main uses for the application of Extreme Programming methodology are:
For modeling and diagram design, the Unified Modeling Language will be used. This is a
standardized modeling language consisting of an integrated set of diagrams, developed to help
system and software developers for specifying, visualizing, constructing and documenting
artifacts of a system, as well as for business modeling and other non-software systems [2].
Tools used:
Programming Tools:
PHP
Java
C#
Bootstrap
Frameworks:
4
Laravel
IDE:
PHP Storm
Visual Studio
Documentation Tools:
Questionnaire
Observation
Gym Owners: The system will keep the records of dealings with their clients and it will
be helpful in monitoring their business.
Gym Staff/Reception: Using an automated system will lessen the effort and avoid hassle
in membership approval, keeping their records and sending out reports.
Clients/Members: It will provide privacy on their personal information and payment
transactions. They will not be confused on what workout they will do where system will
provide guidelines in performing exercises.
5
For this purpose, the questions must address to the gym’s owners and its members in this regard,
we discussed with them about our proposed GMS and wanted to know about the existing
problem of manual Gym management as a whole. We will also try to collect their opinions about
the development of our system, which will help us in including new system or add new features.
Observation:
As students we were already familiar with some existing procedure. Yet we will communicate
with the administrative level personnel (Gym Owner) to know all the specific activities as stated.
Requirements Analysis:
We should need to analyze the following things for the GMS:
Membership Forms: Forms and documents which are used for assuring membership duration.
Schedule Timetable: For workout classes and overall gym working hours.
Payment Method Forms: Transactional papers and receipts.
Task 2(ID:TK02) - System Design
In this phase, we will analyze our module and fragment the overall module in some small
modules which help us to complete the total system easily.
Task 3(ID:TK03) – Development/Construction
We will make the task flow and code flow of each module in this phase. We will write the actual
code to build up the modules.
Task 4(ID:TK05) - Testing, bug finding and fixing
We will test the overall features of the software. By testing the features, we will find out the
bugs. After that, all the bugs will be solved.
Task 5(ID:TK06) – Deployment and Maintenance
The manual for the software will be developed at the end of this task.
6
1.9. Feasibility Analysis
System is worth developing only if it can meet the establishments operating requirements. The
feasibility study proposes one or more conceptual solutions to the problem set for the project.
The following are the criteria that are considered to confirm the project feasibility.
Concerning the feasibility of the project with respect to the its operation, the system is targeted to
be in harmony with the afore-mentioned issues. Earlier, the management issues and user
requirements have been taken into consideration. So, there is no question of resistance from the
users that can undermine the possible application benefits.
The development of the system is evaluated against the ultimate benefit derived from the new
system. Financial benefits must equal or exceed the costs. The system is economically feasible. It
does not require any special hardware or software. Once the interface for this system is up and
running it will more than make up its development cost.
Although generally there is always resistance, any change in the system is initially aimed at
reliving the work load of the users. The system is going to facilitate user to perform operations
like calculating package price amounts and deductions, generating reports with less possible
errors. Thus, there is no reason to make system socially unfeasible.
The proposed system developed is technically feasible. It is a web-based user interface which
provides an easy access to all users. The database’s purpose shall be to create, establish and
maintain a work-flow among various entities in order to facilitate all concerned users in their
various capacities or roles. Permission to the users would be granted based on the role specified.
Therefore, it provides the technical guarantee of accuracy, reliability and security.
7
2. System Requirements Specification Document
2.1. Introduction/Overview
Health is very important factor because a person who is fit physically & mentally will be capable
of being less prone to medical condition and living life to its fullest extent. Therefore, a
“QUADS Gym Management System” will provide a workout atmosphere with service to enroll
at a gym via online. Members who have enrolled can access their schedule and workout classes
at the best time per their schedule. After some data entry in the database, system will
automatically update the members body measurements while staff recommend workouts guides
for members by enquiring their condition of health. System will be profitable for both owner of
the gym and members. The first profit which is that they will save both money and time.
Secondly, members will achieve effective fitness through high level of encouragement and
motivation provided by the gym. So, this system of health and fitness business will give good
results that can sometimes be truly life changing.
2.2. Purpose
The purpose of this system is to provide an easy-to-use gym management system. It strives to
deliver a system where it supports in keeping records of members and their memberships, and
allows easy communication between management and its members. QUADS Gym Management
system is also feature-packed, helping those in management and benefit the growth of the gym. It
provides a scheme which handles the information of the people joining the gym to maintain their
health. It even maintains an organized timetable for people who joined the gym through schedule
management. Data will be stored in a secure database. The system is strong enough to withstand
regressive yearly operations under conditions where the database is maintained and cleared over
a certain time of span. The implementation of the system in the gym will considerably reduce
data entry, time and also provide readily calculated reports regarding supervision.
2.3. Scope
The scope of the project is limited to the automation of a GMS managing over the old process of
registration and transactions of the gym. Members are intended to specify their body
requirements along with their present health condition during registration so that members can
keep the track of their future activity and changes. After analyzing members provided data,
employees recommend them proper set of exercise, routine and diet. Meanwhile admins can
define different membership plans and define membership period for each plan as well as price
management. There is also a weekly schedule full of exercise classes that can easily be managed
by the reception that the member can gain access to.
8
of which is located in our country and the second one is a foreign system with somehow
similarities to the proposed system but with lacking features.
2.4.3. Virtuagym
Current system “Virtuagym” includes online payments and invoice to members which is a very
good feature. It provides free demos for users who are using system for the first time [3]. It
contains a rich library of workout with thousands of animations so that members can choose
from their database. There is nutrition coaching where it creates plans of diet for members and
also trainers assign members their daily workouts [3].
9
2.4.4. Drawbacks of Virtuagym’s System
Workout schedule is non-existent, only implies users to come up with theirs if need be.
Members are not required to enter their body measurement so no keeping track of
ongoing changes after following their routines and/or regimens.
Not integrated to a working gym meaning users are reluctant in believing whether the
information received from trainers and nutritionists are reliable.
Even if there is any question to user about his/her diet or workout, user will get a delayed
response.
Trainers are not always available for user for their doubts.
10
System shall be able to provide members with workout guides and recommendations
System shall keep track of measurements and statistics of changes
2) System Owners
System should provide a consistent user experience throughout the interface. It should
use contrasting colors that will catch to members attention, and avoid bad color
combinations so as to drive and motivate clients to join the Gym.
Navigation towards other pages should require minimum effort. Navigating to major
features from any page should not take more than four pages.
The system must be accessible from mobile phones, desktops, and laptops. It must be
adaptable to size changes when it is used in different devices.
All data files should be backed up on a tape drive and stored in a separate off-site
location.
Onsite backups should be taken daily and weekly, while off-site backups should be taken
every month.
The server room should require locks and electric card for entry.
The system should validate inputs provided by the users.
The system helps to maintain the privacy of user by best encryption method techniques.
11
User password must be at least eight characters long and must require small and capital
letter, special character, and a number.
The validity of a user should be checked and approved by the receptionist.
All web pages generated by the system shall appear in no more than ten seconds.
The application can run on any system with a web browser. So, it can be used wherever
the member or system owner desires.
The application is user-friendly and no prior knowledge is required to access it.
Application is simple and easy to use.
The product can be used on any system. Since it’s a web-based system there is no harm in
using it. It is all healthy and safe.
The sustainability of the system validates the member’s needs. There is no resistance
from members since new system is helpful.
BR-4 Guests must verify account using email Constraint Static Member,
address in order to login. System Developers
BR-5 A gym owner should be able to create, edit, Policy Static Gym Owner,
remove and view receptionists. System Developers
BR-6 A logged in gym owner should be able edit Policy Dynamic Gym Owner,
the value of the QR code currency. System Developers
BR-7 A logged in gym owner should be able create, Policy Dynamic Gym Owner,
view and edit the packages/classes. System Developers
BR-8 A logged in gym owner should be able to Policy Dynamic Gym Owner,
view reports generated from by the system. System Developers
BR-9 Members logged in using the mobile Policy Dynamic Members,
application must purchase and scan the QR System Developers
code in order to add currency to their balance
BR-10 An approved logged in member should be Policy Dynamic Member,
able to view schedule and guides. System Developers
12
BR-11 An approved logged in member should be Policy Dynamic Member,
able to view his/her personal information for System Developers
tracking.
BR-12 An approved logged in member should be Policy Dynamic Member,
able to choose his/her payment method. System Developers
BR-14 The system should notify logged in members Policy Static Members,
upon changes they are interested in. System Developers
13
2.7. System Models
2.7.1. Use Case
2.7.1.1. Use Case Diagram
A use case is the specific way of using the system by using some part of the functionality; this
describes the simplest representation of a user’s interaction with the system that shows the
relationship between the user and the different use cases in which the user is involved [5]. A use
case diagram can identify the different types of users of a system and the different use cases.
Pay_Fee Manage_Members
Post_Guides
Remove_Trainer
Register
<<include>> Manage_Schedule
Login
View_Guides
<<extend>> Receptionist
<<include>> <<extend>>
Edit_Schedule
View_Schedule
Add_Schedule Remove_Schedule
Member
Track_Activity Generate_Report
View_Report
Generate_QRcode
View_Package Verfication
<<include>> Manage_Package
Add_Package Gym Owner
<<extend>> <<extend>>
Edit_Package
Remove_Package
Add_Class
<<include>>
Edit_Class <<extend>> Manage_Class
<<extend>>
Remove_Class
View_Class
<<include>> Manage_Receptionist
Add_Receptionist
<<extend>>
Remove_Receptionist
Add_Comment <<include>> View_Comment
14
2.7.1.2. Use Case Description
The following tables show description of use case for each use case.
Use Case Id UC-01
Use Case Name Registration
Participating Actors Member
Description All members must be registered in order to use the GMS it includes like
view schedule, make payment, view guides, tracking personal
information.
Pre-Condition Members must visit the website in order to register.
Flow of Event 1. The actors click on register link.
2. The system displays registration form.
3. The actor fills the required information.
4. The actor clicks on the register button to submit the
information.
5. The system validates the information filled by the actor.
6. Request the actor to verify his/her account through their
email.
7. The system saves the actor data into the database.
8. Display a “Successfully registered” message and
9. Redirects to the login page.
Exception Step 5: If the information filled by the actor is invalid. The system
displays invalid message. Then go to step 2
Step 6: If the actor didn’t verify his/her account it won’t login. So, it
must be verified in order to use the system.
Post Condition A new member is successfully registered into the system.
Table 2.7-2 - Use Case Description for Registration
15
Post Condition The actor is successfully logged in into the system.
Table 2.7-3 - Use Case Description for Login
16
Use Case Id UC-06
Use Case Name Track activity
Participating Actors Member
Description Allows the actor track their information if they have achieved their goal
like weight loose or gaining. The actor can calculate his/her BMI.
Pre-Condition The actor should be logged-in to track his/her information.
Flow of Event 1. The actor clicks on the My_Goal link.
2. The system displays actor’s status information.
3. The actor fills his status like current weight and height
4. The system calculate the BMI. Shows the actor if they
achieved their goal.
5. Saves the data to the database.
Post Condition Displays actor’s goal, achievements and status.
Table 2.7-7 - Use Case Description for Tracking Information
17
helps to scan the QR code.
Pre-Condition The actor must be Logged-in by his/her phone in order to pay.
Flow of Event 1 The actor clicks on QR tap.
2 The system displays the QR page.
3 The actor clicks on scan button.
4 The system displays the QR code scanner.
5 The actor scans the QR code using his phone.
6 The system updates the balance information.
7 The system displays a message saying successfully scanned.
Alternative flow
Post Condition The actor will be a legit member.
Exception Step 5: if the actor scans unsupported or invalid QR code it doesn’t pay.
Table 2.7-10 - Use Case Description for Payment
Description for Trainer management use case it is a general use case for
Adding Trainer
Removing Trainer and
Editing Trainer
18
with the schedule. Like who trains on Monday, what kind of exercise
does he/she train.
Pre-Condition The actor should be login in order handle the trainer data.
Flow of Event E1 if the actor chooses to add a trainer.
1.1 The actor selects on manage user link.
1.2 The system displays manage member and manage trainer
tabs.
1.3 The actor chooses manage trainer.
1.4 The actor clicks on the registered trainers tab.
1.5 The system shows trainers data table.
1.6 The actor clicks on add trainer button.
1.7 The actor enters the trainer data.
1.8 The actor clicks on register trainer button.
1.9 The system will verify the data that the actor entered.
1.10 The system adds trainer data to the database.
1.11 The system shows a successfully registered message.
Alternative flow E2. If the actor chooses to remove a trainer.
2.1 The actor selects on manage user link.
2.2 The system displays manage member and manage trainer
tabs.
2.3 The actor chooses manage trainer.
2.4 The actor clicks on the registered trainers tab.
2.5 The system shows trainers data table.
2.6 The actor selects a trainer.
2.7 The actor clicks on the delete button to remove the trainer
data.
2.8 The system will ask a confirmation message to remove
trainer.
2.9 The actor clicks on conform button to the remove the trainer.
2.10 The system removes trainer data from the list and the
database.
2.11 The system updates the database.
2.12 The system shows a successfully removed message.
E3. If the actor chooses to edit trainer data.
3.1 The actor selects on manage user link.
3.2 The system displays manage member and manage trainer
tabs
3.3 The actor chooses manage trainer
3.4 The actor clicks on the registered trainers tab.
3.5 The system shows trainers data table.
3.6 The actor selects a trainer.
19
3.7 The actor clicks on the edit button.
3.8 The actor edits trainer data.
3.9 The actor clicks on edit trainer.
3.10 The system will ask a confirmation message to save the
updated information.
3.11 The actor clicks on conform button.
3.12 The system will update trainer data.
3.13 The system shows trainer data updated message.
Exception E1 step 1.9: the system checks on trainer’s data like if there is a missing
information and if trainer age is under 18, trainer data will not be added.
E2 step 2.8: If the actor chooses not to remove trainer’s data, the actor
must click on no thanks.
E3 step 3.10: If the actor chooses not to edit trainer’s data, the actor
must click on no thanks.
Post Condition Trainer data is managed and uploaded to the site in order to add
schedule.
Table 2.7-12 - Use Case Description for Managing Trainers
Description for Schedule management use case it is a general use case for
Adding Schedule
Removing Schedule and
Editing Schedule
20
2.4 The actor clicks on conform button to remove the schedule.
2.5 The system updates the database.
2.6 The system displays schedule successfully removed
message.
E3. If the actor chooses to edit the schedule.
3.1 The actor chooses the schedule link.
3.2 The actor will click on edit button to update the schedule.
3.3 The actor edits the information.
3.4 System will ask a confirmation message box to save the
schedule.
3.5 The actor clicks on conform button.
3.6 The system updates the database.
3.7 The system displays schedule successfully edited.
Exception E1 step 1.6: If the actor didn’t fill the data properly it will not be added.
The actor must fill the data properly in order to save the schedule data.
E2 step 2.4: If the actor chooses not to remove, the actor must click on
no thanks.
E3 step 3.4: If the actor chooses not to edit, the actor must click on no
thanks.
Post Condition Schedule is managed and uploaded to the site.
Table 2.7-13 - Use Case Description for Managing Schedule
21
Post Condition Members are approved.
Table 2.7-14 - Use Case Description for Viewing Members
22
2.4 The actor edits the data of the package.
2.5 The actor clicks on update plan.
2.6 The system will verify the data that the actor enters.
2.7 The system updates the database.
2.8 The system displays you successfully edited package
message.
2.9 Redirect to manage package.
E3. If the actor chooses to remove package.
3.1 The actor selects on manage package link.
3.2 The system displays package card forms.
3.3 The actor clicks on ‘x’ sign to remove the package he/she
want.
3.4 A conformation box is displayed.
3.5 The actor clicks on ‘remove now’ button.
3.6 The system will remove the information from database.
3.7 The system displays a message which says you successfully
removed package.
3.8 Redirect to manage package.
Exception E1 step 4: If the actor didn’t fill the name of the package or price it will
not add the package. The system tells the actor to fill the data
properly.
E2 step 6: If the actor didn’t fill valid data it will not edit the package.
The system tells the actor to fill it properly.
E3 step 4: If the actor chooses not to remove, the actor must click on no
thanks.
Post Condition Package is managed like add, edit and remove.
Table 2.7-16 - Use Case Description for Managing Package
24
Flow of Event 1. The actor selects view report link.
2. The system shows the report.
3. The actor views the report.
Alternative flow
Exception Step 2: if there are no members registered in the system it doesn’t
display the information it required.
Post Condition The report is displayed successfully
Table 2.7-18 - Use Case Description for Viewing Report
Description for Receptionist management use case it is a general use case for
25
Use Case Id UC-19
Use Case Name View-Comment
Participating Actors Gym Owner
Description It helps the actor view comments or feedbacks that are sent by the
member. It gives the actor to improve the system or the gym based on
the comment.
Pre-Condition The actor must be logged-in to view comment.
Flow of Event 1. The actor clicks on the My_Profile link.
2. The system displays actors’ profile.
3. The actor selects comment tab.
4. The actor views comment or feedback.
Post Condition The actor views comment that are sent by the actor.
Exception If members did post a comment it doesn’t show.
Table 2.7-20 - Use Case Description for Viewing Comment
26
Post Condition The notification has been sent to all members.
Table 2.7-22 - Use Case Description for Adding Notification
27
2.7.2. Class Diagram
Class diagram provide a graphical notation for modelling, classes with their attribute data types,
methods with their return types and arguments and their data types, relationships, access
visibility, and multiplicity.
28
2.7.3. Sequence Diagram
Sequence diagrams model the dynamic aspects of a software system. The emphasis is on the
sequence of messages rather than relationship between objects.
<<Actor>>
:Member,
GymOwner, <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
Receptionist :GYMPage :LoginPage :LoginController :User
Visit
Display GYMpage
Click Login Link
Enter Email
and Password
Entered Data
Check User Data
alt
Invalid Invalid
Return to Login Page
Display Login Form
valid Valid
Member Valid
Display member page
Receptionist
GymOwner
29
<<Actor>> <<Boundary>> <<Boundary>> <<Boundary>> <<Contoller>> <<Entity>>
:Member :GYMPage :RegistrationPage :LoginPage :RegisterController :User
Visit
Display GYMpage
Click Register link
Click Submit
Save
Saved
Check Verfication
alt
Verified Verified
Notverified
Not Verified
Redirect to Login Page
Display Login Form
<<Actor>>
:Member, <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
Receptionist :GYMPage :SchedulePage :ScheduleController :Schedule
Visit
Display GYMpage
Click Schedule Link
Ask Data
Request Data
Return Data
Pass Data
Display Schedule Page
30
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:Member :GYMPage :GuidePage :GuideController :Guide
Visit
Display GYMpage
Click Guides Link
Ask Data
Request Data
Return Data
Pass Data
Display Guides Page
Visit
Display GYMpage
Click MyGoal
Request data
Request data
Return data
Passess Status
Display MyGoalPage
Enters height and weight
Calculate BMI
Saves data
Saves data
Saved
Return Result
Display the result
31
<<Actor>>
:Member,
GymOwner, <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:GYMPage :PackagePage :PackageController :Package
Receptionist
Visit
Display GYMpage
Click Package Link
Request list of packages
Request packages
Return packages
Passes list of packages
Display Package Page
<<Actors>>
:Member,Gym <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
Owner,Receptionist :GYMPage :ClassPage :ClassController :Class
Visit
Display GYMpage
Click Class Link
Request list of Classes
Request Classes
Return Classes
Passes list of Classes
Display Class Page
32
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:Member :GYMPage :MyProfilePage :CommentController :Comment
Visit
Displays GYMpage
Comment Saved
Return Message
Displays Sent Comment Message
Visit
Display GYMpage
alt
Return notifications
Show
Passes notifications
Display notifications
Else
No notifications
Return Result
Doesn't Display
33
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:Member :HomePage :PackagePage :QRController :QRcode
Visit
Clicks on QR Tab
Display QR Page
Clicks Scan
Display QRcode Scanner
Scans QRcode
Scanned Data
Checks QRcode
alt
Invalid Invalid
Display Invalid QRcode message
Valid Valid
Display Successfully Paid message
Visit
Display GYMpage
Clicks Manage Schedule link
Request list of Schedules
Request Schedules
Return Schedules
Return list of Schedules
Display Manage Schedule page
Selects Schedule
Display Schedule
Removes Schedule
Removes Schedule
Conformation
Display Conformation box
alt
Clicks Conform
Conformed
Conformed
Removes data
Removed
Schedule Removed
Display Message
Else Clicks No
No
Return page
Display Manage Schedule Page
34
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:Receptionist :GYMPage :ManageTrainerPage :TrainerController :Trainer
Visit
Display GYMpage
Clicks Manage Trainer link
Request list of Trainers
Request Trainers
Return Trainers
Return list of Trainers
Display Manage Trainer page
Selects Trainer
Display Trainer
Removes Trainer
Removes Trainer
Conformation
Display Conformation box
alt
Clicks Conform
Conformed
Conformed
Removes data
Removed
Trainer Removed
Display Message
Else Clicks No
No
Return page
Display Manage Trainer Page
Visit
Display GYMpage
Clicks Manage User
Request list
Passes the lists
Display lists
alt
35
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:Receptionist :GYMPage :PostGuidesPage :GuideController :Guide
Visit
Display GYMpage
Click Guide link
Click Guide link
Display Guide Page
Display Guide Page
Add Resources
Add Guides
Saves data
Saved
Guide Saved
Display Message
Visit
Display GYMpage
Clicks Manage Class link
Request list of Classes
Request Classes
Return Classes
Return list of Classes
Display Manage Class page
Selects class
Display class
Removes Class
Removes Class
Conformation
Display Conformation box
alt
Clicks Conform
Conformed
Conformed
Removes data
Removed
Removed
Display Message
Else Clicks No
No
Return page
Display Manage Class Page
36
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:GymOwner :GYMPage :ManagePackagePage :PackageController :Package
Visit
Display GYMpage
Clicks Manage Package link
Request list of Packages
Request Packages
Return Packages
Return list of Packages
Display Manage Package page
Selects Package
Display Package
Removes Package
Removes Package
Conformation
Display Conformation box
alt
Clicks Conform
Conformed
Conformed
Removes data
Removed
Package Removed
Display Message
Else Clicks No
No
Return page
Display Manage Package Page
Visit
Displays GYMpage
Enter Notification
Save Notification
Saves Notification
Notification Saved
Return Message
Displays Message
37
<<Actor>> <<Boundary>> <<Boundary>> <<Controller>> <<Entity>>
:GymOwner :GYMPage :ManageUserPage :ReportController :User
Visit
Display GYMpage
Click Manage User page
<<Boundary>>
<<Actor>> <<Boundary>> :ManageReceptionist <<Controller>> <<Entity>>
:GymOwner :GYMPage Page :ReceptionistController :User
Visit
Display GYMpage
Clicks Manage Receptionist link
Request list of Receptionist
Request Receptionist
Return Receptionist
Return list of Receptionist
38
<<Actor>> <<Boundary>> <<Boundary>> <<Controler>> <<Entity>>
:GymOwner :GYMPage :MyProfilePage :CommentController :Comment
Visit
Display GYMpage
Passes comments
Display Comments
Else
No Comments
Return Result
Doesn't Display
Visit
Display GYMpage
39
2.7.4. Activity Diagram
Activity diagram is basically a flow chart to represent the flow from one activity to another
activity. The activity can be described as an operation of the system. The control flow is drawn
from one operation to another. This flow can be sequential, branched or concurrent. This
distinction is important for a distributed system. Activity diagrams allow you to think
functionally. This diagram is used to model the activities which are nothing but business
requirements. So, the diagram has more impact on business’ understanding rather than the
implementation details.
The relevant activity diagrams are presented as follows:
User is
registered
and verified
Click Login
Display Invalid
Invalid
email/password
valid
40
Click Register
Member enter
registraion
information
Invalid
Valid
Verify Member
Can login
because Can't login
member is but
verified Registered
Verified Notverified
41
Click Schedule
If member
Paid
NotPaid
Checks
Paid
42
Click View
Notification link
If Notification
are posted
NotPosted
Checks
Posted
Doesn't Show
Show Notifications
43
Track information
Member enters
height and weight
Displays Result
Clicks on Comment
member enter
comment
Posted
44
Click Guides
NotPaid
Paid
Display
Message
View Guides
Display Please Pay
45
Click Package
Views Package
Click Class
Views Class
46
Manage Trainer
List of Trainers
List of Trainers
Display Invalid
Data No Change
No
Information
Invalid
Checks
Conformation
Valid Conformation
yes
yes
Trainer
Trainer Added Trainer Edited
Removed
47
Manage
Schedule
Remove
Add Schedule Edit Schedule
Schedule
List of
Schedules
List of
Schedules
Display Invalid
No
Data Change No
Information
Invalid
Checks
Conformation
Conformation
Valid
yes
yes
48
Manage
Member
Approve
Member
List of
Members
Didn͛t Pay
Paid
Member
Approved
49
Clcik Post Guides
link
Display Resource
form
Add resources
Guides Posted
Clicks on
Notification
Fill Notification
Notification Added
50
Manage
Package
Remove
Add Package Edit Package
Package
List of Packages
List of Packages
Invalid
Checks Conformation
Conformation yes
Valid
yes
Package
Package Added Package Edited
Removed
51
Manage Class
List of Classs
List of Classs
No
Display Invalid
Change No
Data
Information
Invalid
Checks Conformaiton
Conformation
52
Click View Report
link
unsent
Check
sent
Doesn't Show
Show reports
53
Manage
Receptionist
Add Remove
Receptionist Receptionist
List of
Fill form
Employees
No
Invalid
Checks
Conformation
Valid
yes
Receptionist Receptionist
Added Removed
54
Click Generate
QRcode link
Fill information
Checks
Valid
QR code Generated
55
Click View
Comment link
If Comment
are posted NotPosted
Checks
Posted
Doesn't Show
Show Comments
Select persons
Comment
56
3. System Design Document
3.1. Introduction
The System Design Document (SDD) is one of the vibrant pieces for the whole documentation.
It is the bridge that conjoins the high-level requirements with technical execution details. The
SDD attends a major purpose by documenting the low-level detailed design specifications and
the high-level system design.
The purpose of this document is to give a detailed explanation of the system design for the
QUADS GMS. It will establish how the requirements from the former section will be charted
into a more methodological and implementable unit. At this stage design goals will be identified,
and the system will be decomposed into subsystems.
3.2. Assumptions
For the system we are proposing to develop, we have made some assumptions as follows:
Users of the system have a basic understanding of how to use electronic devices. We
assume that users will be fairly familiar with using desktops, laptops, tablets or mobile
phones.
Users of the system are familiar with web applications and their usage. We assume that
the users have somewhat a basic understanding or experience with email usage, web
pages and other mobile applications.
Users have access to an internet connection when using the system since they are going
to be accessing it from a central server.
Users of the system have updated browsers. Any browser version existing and been
updated since the year 2010 can more or less run our system without any problem. The
same goes for mobile devices, any android device beginning with android version 5.0 and
above.
3.3. Constraints
As a result of comprehensive restrictions, there are numerous issues that will affect how the
system is designed. Some of them are as follows:
Due to the hitches with the network, performance might alter when using the system.
Due to an out-of-date version of browsers and mobile devices that some user’s routine,
there might be compatibility and execution issues.
57
3.4.1 Usability
First off, system has to be docile and enlightening. Users using the system shouldn’t get baffled
by strange controls or intricate forms. The system should have a user interface that is relaxed to
understand and prime users to attain the desired task with less effort. Key functionalities of the
system should be two to three clicks away from within the system. The system should be simple
enough to use without the requirement of additional assistance and/or help.
3.4.2 Reliability
Requests made by users need to be handled properly by the system. The system should be able to
respond to a user’s request adequately. Users of the system will likely spend a fair amount of
time on the system. Any unreliability that might occur from operating the system should be
minimized. Backups should be taken regularly. The system should be able to recover from server
crashes and failures using these backups.
3.4.3 Performance
The system should be able to interest users demand in an efficient manner. Users shouldn’t feel
impatient while using the system. The system should store frequently accessed elements of the
system in a way that is easy to retrieve and process. Caching is to be used for elements like these.
3.4.4 Portability
The system is anticipated to address users nonetheless of the machine or operating system they
are using. It is to be portable across platforms, giving various users the benefit of accessing the
system in an environment they are familiar with. The system should give the same look and feel
across different platforms and different screens.
3.4.5 Security
The system should not allow access to features that require authorization, without doing the
proper security checks. Guests using the system should not be able to make any modification to
the system or the data stored by the system. The system should be able to restrict access if a user
cannot provide the valid security credentials. The system should also be protected from the risk
associated with the physical state of the system. The physical implementation of the system
should be done in a secure location that prevents tampering by unauthorized individuals.
58
Data-access Layer: is going to handle the back-end functionalities of the system related
to the persistent data management. We used a repository class for a model which holds all
your data access logic, then injected the repository to the controller.
Business Layer: will be composed of business logic that will use the data-access layer to
obtain the data needed for that service. This layer entertains different functionalities of
the system that are either present to users through the presentation layer or responsible for
providing added features and services that support those business operations.
Presentation Layer: is the layer that allows users to make use of the system. This is
responsible for showing the interface of the application through the end-user’s web
browser. It provides a mechanism for end-users to interact with the system, and make use
of its functionalities by making use of the business layer which in turn use the data-access
layer for its operation. Using the MVC design pattern simplifies the task of creating a
separate view for each model. Also, custom views can be created to select and arrange
elements in the way that seems fit to when presenting them to the end-users.
59
3.5.1 Xamarin Architecture
Data Layer – contains specific code for working with the data storage.
Data Access Layer – wrapper around the Data Layer that is used to retrieve data from the
data storage without exposing implementation details to the caller.
Service Access Layer – used to retrieve data from the data services.
Business Layer – contains business logic specific for that type of application.
Application Layer – contains platform specific code defining UI components behaviors
and more.
UI Layer – contains platform specific code defining UI components.
60
3.6. Subsystem Decomposition
Subsystem decomposition is an important step in software analysis and design that breaks down
the system into less complex and simpler subsystems. In our case the decomposition of our
system looks as follows:
Offers Payment
Payment
Management Management Management
Subsystem Subsystem
Guide
Offers User Management Guide
Management Management Management
Subsystem Communication Subsystem
Management
Schedule
Schedule
Management Management
Subsystem
Communication
Management
Subsystem
Data Management
Subsystem
61
3.6.1. User Management Subsystem
User management subsystem is used for administration of giving individual users within a
system access to the tools they need at the right time which includes authorization and
authentication of a user. It checks whether a right user is logged in to the system and checks what
kind of access and privileges the user has to data that the system provides.
Member Reception
Schedule
Schedule Schedule Information
information
62
3.6.3. Offer Management Subsystem
Offer management subsystem is deals with the different kinds of membership offers the gym
provides whether its packages or workout classes. Each offer will have their own descriptions as
well as their assigned prices.
Package Classes
Description Price
63
Figure 3.6-50 - Payment Management Subsystem
Persistence
Data Reader Data Writer
Manager
64
Broadcast Comment
Report
Member Reception
65
3.7. Hardware Software Mapping
This system will be able to run on desktops, laptops, and mobile devices since it is going to be a
web-based system. Below is the hardware/software mapping for our system represented by the
deployment diagram. The Unified Modelling Language (UML) deployment diagram drafts a
static view of the run-time configuration of processing nodes and the components that run on
those nodes.
Web Server
Offer Management
Schedule Management
Client
Guide Management
Browse
<<http>> <<TCP/IP>>
Mobile
User Management
Application
Data Management
66
3.8. Persistent Data Management
This shows how the data produced by the user in the system is going to be stored. The data that
users of the system, that is the gym owners, reception and members, generate will need to be
stored so that it can be accessed and modified for later times. The persistent data storage for our
system looks as follows:
67
3.9. Access Control
Here we have the access control list matrix by determining how actors can control access and
which operations are shared among the actors. This approach helps to show the association of the
actors and the operations they have access to.
68
website in a browser. Then the user is taken to the systems home page if on the website, where
they can simply browse through the content. The user can then fully obtain access to the whole
system after registering and then logging in. Meanwhile users on the mobile application are
required to register and login at the get-go. The user logging out or being done with the system
and closing the application accounts for the shutdown condition. Errors might occur when using
the system, and the system is expected to catch and throw those exceptions to the users to inform
them that there is something wrong.
Buy vs. Build: Of course, the system that we have can be divided into modules. If we
can find some module in the market with most of the functionality that we need, included
in it, then that system can be bought to save time, money and human resources. Although
buying the system limits the flexibility for each module while building the system can
adhere to our specific requirements and design. In order to include the prerequisite for
customization we have decided to stay with building the system instead of purchasing it.
Scalability vs. Security: For our system to be scalability is important even though our
first priority is aimed at security. Users of the system will feel more comfortable with
their personal data being more secure and helps in gaining their trust. Since our system is
also dealing with payment transactions it is a necessity for it to be further protected.
69
Memory space vs. Response time: Our main focus here is to provide a quicker response
time. The system is intended for providing a fast performance to its users so response
time is major aspect and more memory can be used to speed up the system.
4.2. Interface Documentation Guidelines
Naming conventions make programs more understandable by making them easier to read. They
can also give information about the function of the identifier for example, whether it's a constant,
method, or variable which can be helpful in understanding the code.
4.3. Package
A package is used to group together elements that are semantically related and might change
together. It is a general-purpose mechanism to organize elements into groups to provide better
structure for system model. Using Laravel’s MVC framework allows us to separate the business
logic from the user interface by separating the application into three parts namely model, view,
and controller.
ForgotPasswordContr
LoginController RegisterController ResetPasswordController PaymentController
oller
UserController
70
Payment Comment Guide Package Profile
View: The view deals with presenting all the different user interfaces for the system
users.
Controller: The controller is responsible to handle the business and application logic,
providing a functionality for the users via the view.
Model: This will be mapped into a database that will be responsible for storing data so
that it can be retrieved for future use. It entertains the request made by the controller and
provides a corresponding response for it.
+index_gymSchedule()
+index_managegymSchedule()
+add_gymSchedule(request,id)
+edit_gymSchedule(request,id)
+remove_gymSchedule(request,id)
71
4.4.1. Schedule Class
Method Return Type Description
index_gymSchedule Action result Redirects to the gym’s Schedule page.
index_manageSchedule Action result Redirects to the managing schedule page.
add_gymSchedule(request) Action result Handles POST request intended to add a
new schedule.
edit_gymSchedule(request) Action result Handles POST request intended to edit
current schedule.
edit_gymSchedule(request) Action result Handles POST request intended to
remove current schedule.
Table 4.4- 25 - Schedule Class
Class
+add_gymClass(request)
+remove_gymClass(request)
+edit_gymClass(request,id)
+index_manageClass()
+index_gymClass()
Package
+index_managegymPackage()
+index_gymPacakage()
#packageValidator(data)
+add_gymPackage(request)
+edit_gymPackage(request,id)
+remove_gymPackage(request,id)
72
index_gymPackage() Action result Redirects to the gym’s Classes page.
index_managePackage() Action result Redirects to the managing Class page.
packageValidator(data) Validator Class Validates the POST request values.
Instance
add_gymPackage(request,id) Action result Handles POST request intended to add a
new gym class.
edit_gymPackage(request,id) Action result Handles POST request intended to edit
current gym class.
edit_gymPackage(request) Action result Handles POST request intended to
remove current gym class.
Table 4.4- 27 - Package Class
Guides
+index_managegymGuide()
+add_gymGuide(request,id)
+edit_gymGuide(request,id)
+remove_gymGuide(request,id)
User
+index_manageUser()
+handleApproval(request)
+handleDisapproval(request)
+register(request)
+authenticated(request,user)
73
handleAproval(request) Action result Handles POST request intended to
approve gym members who made
payment.
handleDisaproval(request) Action result Handles POST request intended to
disapprove gym members finished their
payed plan.
register(request) Action result Handles POST request intended to
register gym members.
authenticated(request, user) Action result Handles POST request intended to
authenticate gym members, receptionist
and Owner.
Table 4.4- 29 - User Class
Comment
+postComment(request,id)
+destroyComment(request,id)
Verfication
+verification(token)
Figure 4.4- 65 - Verification Class
74
Profile
+update_avatar(request)
+calculateBMI(request)
+profile()
#profileValidator(data)
+editProfile(request)
Trainer
#trainerValidator(data)
+index_edit(request,id)
+destroy(request)
+editTrainer(request,id)
+registerTrainer(request)
75
registerTrainer(request) Action result Handles POST request intended to
register new trainer.
Table 4.4- 33 - Trainer Class
QRcode
+generate_QRcode()
Figure 4.4- 68 - QRcode Class
4.4.10.QRcode Class
Method Return Type Description
generateQRcode(request) Action result Handles POST request
intended to generate new QR
code.
Table 4.4- 34 - QRcode Class
76
5. Implementation
5.1. Tools
For development purpose, we will be using the Model View Controller design paradigm
provided by Laravel’s MVC.
The languages that will be used are HTML5, CSS3, Material Design (MD) Bootstrap,
and PHP 7.1.3.
For the mobile application we are using Xamarin.
The languages that will be used are XAML and C#.
The database we used is MySQL through XAMP servers.
77
78
5.2.2. Gym Classes Creation
79
80
5.2.3. Profile Editing
81
5.2.4. Registration
82
Figure 5.2- 73 - Registration
83
5.2.5. Membership Approval
84
6. Annexes
6.1. Questionnaire
We are students of HiLCoE, School of Computer Science and Technology. We are conducting a
research on “Gym Management System” based on your organization. The purpose of this
questionnaire is to find solutions for the problems occurring in the organization. The responses
will be analyzed and will be used merely for academic purpose. Therefore, your genuine and
prompt response is highly appreciated.
Hereby below you will find a questionnaire that will be filled out. We kindly request for you to
answer these questions by selecting the index number or letter of your choice while reading the
question carefully. Be assured that all answers you provide will be strictly confidential. Thank
you again for your co-operation.
Carefully select the index number or letter of your choice while reading the questionnaire
statements below. Fill free to leave any suggestions or comments regarding the proposed GMS.
85
7. Upgrading the payment rule via the web-based management system 1 2 3 4 5
will bring versatility.
8. Specify the limit of members for one season on the GMS. _ 50 100 200 _
9. Viewing the report that is sent by the reception will allow me to 1 2 3 4 5
manage members and give them what they need.
10. Being a Gym owner, the GMS can effectively assist me to manage 1 2 3 4 5
my employees.
______________________________________________________________________________
Carefully select the index number of your choice while reading the questionnaire statements
below. Fill free to leave any suggestions or comments regarding the proposed GMS.
1. Strongly Disagree
2. Disagree
3. Neutral
4. Agree
5. Strongly Agree
1. Searching for a Gym fitness center, I would rather get more information by 1 2 3 4 5
visiting a gym center website.
2. Making a payment online is better than coming in and speaking to the sales 1 2 3 4 5
representative.
3. Availability of different classes (Yoga, Weight training, Cardio Sessions...) 1 2 3 4 5
completes the picture of a gym?
4. Schedule layout of the classes can be better accessed via website or mobile. 1 2 3 4 5
6. Tracking my BMI, and setting goals can be a motivation to going to the gym. 1 2 3 4 5
7. Services provided by the gym that are sold individually are better than custom 1 2 3 4 5
packages.
8. I am inclined to go to a personal trainer or nutritionist if they all worked 1 2 3 4 5
together in helping me achieve my goals.
86
9. Guides posted on the website can be shared for new members to join the Gym 1 2 3 4 5
center.
10. Integrating a GMS (Gym Management System) will help me be more 1 2 3 4 5
knowledgeable about different workout routine.
______________________________________________________________________________
6.1.4. Summary
The results from the questionnaires shows that there is a discontent between gym owner and their
member. When asking the owners about the system they use, more than 85% of these gym
owners informed us that they are still using a manual system. The rest of the gym owners
informed us that they use an automated system but only for member attendance and check in.
They also strongly agree with our management approach and some have suggested they are more
than willing to integrate our system after its completion. The same can be said about the gym
members, most are dissatisfied with the current system as they find it cumbersome and tedious.
They fully agree with the need of a more robust way of managing their schedules as well as keep
track of their information. The members feel more comfortable finding out everything about a
gym through a web-based application than scouting for gyms every time. All in all, the results
suggest that much needs to be done to tackle this problem.
In this section, we will depict the main screens that a certain user will encounter while they are in
our system. A screenshot along with a description will be used to explain how everything works.
87
Figure 6.1- 75 - Home Page
88
6.1.5.3. Registration Page – For first time members
This is the registration page. The user fills required information and clicks the register button to
progress.
89
Figure 6.1- 78 - Profile Page
90
Figure 6.1- 80 - Classes Description Page
91
6.1.5.7. Receptionist - Schedule Management Page
The receptionist can manage schedule by visiting the “Manage Schedule” link. Can also preview
the current schedule.
92
6.1.5.9. Gym Owner – Workout Class Customization Page
The gym owner can manage receptionist by visiting the “Manage Class” link. The owner can
also view the classes by visiting “View Class” tab.
93
6.1.5.11. Gym Owner – Receptionist Management Page
The gym owner can manage receptionist by visiting the “Manage Receptionist” link. The owner
can also view the report that is generated by the system via the “View Report” tab.
94
References
[1] “what-is-extreme-programming @ www.selectbs.com.” [Online]. Available:
http://www.selectbs.com/process-maturity/what-is-extreme-programming
[2] “unified-modeling-language @ www.sciencedirect.com.” [Online]. Available:
https://www.sciencedirect.com/topics/engineering/unified-modeling-language
[3] Ahmed, “Gym Management System,” vol. 4, no. 11, pp. 384–389, 2016 [Online].
Available: http://ijetsr.com/images/short_pdf/1510987099_384-389-site139_ijetsr.pdf
[4] “business-rule-group @ www.sciencedirect.com.” [Online]. Available:
https://www.sciencedirect.com/topics/computer-science/business-rule-group
[5] “uml-use-case-diagram @ www.lucidchart.com.” [Online]. Available:
https://www.lucidchart.com/pages/uml-use-case-diagram
[6] “Index @ Www.Ibm.Com,” Ibm. p. 13, 2015 [Online]. Available:
http://www.ibm.com/developerworks/data/library/dmmag/DMMag_2009_Issue2/Industry/
index.html
Glossary
Quads - A muscle of the thigh that extends the leg. It also means “four of a kind” in Poker slang.
Class - Refers to group sessions provided by QUADS Gym.
Package – Refers to membership payment plans provided by QUADS Gym.
95