RequirementSpecifications - GMS
RequirementSpecifications - GMS
RequirementSpecifications - GMS
Prepared by
Alpha Software Group
Team Member:
Feng (Frank) Sun 208150484
Kim Fung Lai 206773543
Chao Jiang 206634053
Rahul Kamtam 211838422
Alpha Software group Gym Management System
Tables of Contents
Tables of Contents ...................................................................................................................... 2
1 Problem Statement ............................................................................................................ 4
1.1 The current situation .................................................................................................. 5
1.2 The functionality the new system should support ..................................................... 5
1.3 The environment in which the system will be deployed: .......................................... 6
1.4 Deliverables expected by the client: .......................................................................... 6
1.5 Delivery dates ............................................................................................................. 6
1.6 A set of acceptance criteria ........................................................................................ 6
2 Requirements Specification ................................................................................................ 7
2.1 Functional Requirements ........................................................................................... 7
2.1.1 Register ................................................................................................................... 7
2.1.2 Login ....................................................................................................................... 7
2.1.3 Update User Profile ................................................................................................ 7
2.1.4 Purchase membership ............................................................................................ 7
2.1.5 Reserve facilities & reserve equipments ................................................................ 8
2.1.6 Manage booking schedules & rental equipments.................................................. 8
2.1.7 Manage Inventory .................................................................................................. 8
2.1.8 Manage Equipment Catalog ................................................................................... 8
2.1.9 Generate report ...................................................................................................... 8
2.1.10 Process order and payment................................................................................ 8
2.2 Non‐Functional Requirements ................................................................................... 9
2.2.1 Usability Requirements .......................................................................................... 9
2.2.2 Performance Requirements ................................................................................... 9
2.2.3 Reliability Requirements ........................................................................................ 9
2.2.4 Packaging (how is packaged and installed?) ........................................................ 10
2.2.5 Legal ( if any) ......................................................................................................... 10
2.2.6 Maintainability and Portability ............................................................................. 10
2.2.7 Implementation .................................................................................................... 10
2.2.8 Cultural and Political Requirements ..................................................................... 11
3 Functional Models ............................................................................................................ 12
3.1 Actors ........................................................................................................................ 12
3.1.1 Overview ............................................................................................................... 12
3.1.2 Actor Diagram ....................................................................................................... 12
Page 2 of 37
Alpha Software group Gym Management System
Page 3 of 37
Alpha Software group Gym Management System
Page 4 of 37
Alpha Software group Gym Management System
1 Problem Statement
1.1 The current situation
A large percentage of students at York University spend leisure times in working out
at Tait Mckenzie Gym Facility. Though the heavy use by students over the facilities
in the gym, the current system to tackle user management, membership
management, facilities usage management, equipment rental management, in‐
store sales management, report generation, and order/payment processing is
obsolete and unsophisticated. Most of these tasks, if not all, are handled manually
either by clerks, administrators, or managers. This induces an unacceptable amount
of mistakes when the tasks are processed manually. For instance, if a user wants to
reserve a squash court, he or she needs to call in and make a reservation through
the phone. However, most of the time users cannot reach a representative because
of unavailability or large volume of calls. Even if a user can reach a representative,
he or she may not be able to address the time slot where the use want to be
allocated in because there is currently no real‐time update about reservations done
by the other representatives. This has been embarrassing a lot of users who want to
make reservations for gym facilities. On the other hand, the current system does
not provide the ease for users to register, login, and manage profile through the use
of online system. Users do not have an online platform to achieve these tasks. Users
do not have access to upgrade or downgrade their membership and make
reservation or rent equipments such as squash racquets online in real time. In‐store
management and payment processing are not properly done through the use of an
online system. And moreover, reports are not generated automatically to keep
managers or decision makers up‐to‐date about statuses of membership and
equipment sales and facilities reservations.
Page 5 of 37
Alpha Software group Gym Management System
Page 6 of 37
Alpha Software group Gym Management System
2 Requirements Specification
2.1 Functional Requirements
2.1.1 Register
1. Users can enter unique login user name (required field).
2. Users can choose a password (alpha characters and numeric characters, required
field).
3. Users can enter an email address (required field).
4. Users can enter personal information comprised of first name, last name, address,
age, interests, activities, weight, and height.
5. System verifies all required text fields have been filled out
a. System can deny registration process if not all required fields have been filled
out and ask for completed required fields before moving forward.
6. System sends out account confirmation email.
7. System activates user account.
2.1.2 Login
1. Users can enter login user name. (required field)
2. User can enter password. (required field)
a. System denies incorrect login password and return error messages.
b. Users are allowed to retry input password. (attempts are no more than 10
times)
3. System verifies correct login user name and password.
4. System grants user specific access according to their profiles.
Page 7 of 37
Alpha Software group Gym Management System
Page 9 of 37
Alpha Software group Gym Management System
2.2.7 Implementation
1. System should run on any browsers (e.g. IE, Firefox, and Chrome) which support
JavaScript, Java Applet, and cookies.
2. System should run on Windows and any Linux‐based Operating systems. (e.g. Mac
OS, Ubuntu)
3. Oracle 11G will be used.
4. Presentation logic will be written in JSP.
Page 10 of 37
Alpha Software group Gym Management System
Page 11 of 37
Alpha Software group Gym Management System
3 Functional Models
3.1 Actors
3.1.1 Overview
The actors of the system are:
• Anonymous User
• Registered User
• Member
• Clerk
• Manager
• System Administrator
• Payment Processing System
Page 12 of 37
Alpha Software group Gym Management System
Anonymous User
Description A non‐registered user who only has the privilege to browse the public
area such as schedules.
Aliases Visitor, Guest
Inherits None
Actor Type Active – Person
Contact Person Frank
Contact Details 416‐123‐4567
Registered User
Description A registered user that has basic privileges such as book the facility and
reserve the equipment. Registered users will make up the majority of the
system.
Aliases User
Inherits None
Actor Type Active ‐ Person
Contact Person Frank
Contact Details 416‐123‐4567
Member
Description A registered user that has upgraded privileges such as higher priority in
booking the facility.
Aliases Paid User
Inherits Registered User
Actor Type Active ‐ Person
Contact Person Frank
Contact Details 416‐123‐4567
Clerk
Description A registered user with the privileges to manage the facility, equipment,
users and process the payment.
Aliases Operator
Inherits Registered User
Actor Type Active ‐ Person
Contact Person Frank
Contact Details 416‐123‐4567
Page 13 of 37
Alpha Software group Gym Management System
Manager
Description A registered user with the privileges and access to the facility
management, equipment catalogs management, user management.
Aliases Operator
Inherits Registered User
Actor Type Active ‐ Person
Contact Person Frank
Contact Details 416‐123‐4567
Administrator
Description Top‐level user with the full privileges to access the whole system.
Aliases Admin
Inherits Registered User
Actor Type Active ‐ Person
Contact Person Frank
Contact Details 416‐123‐4567
3. select membership
package
4a. display the invoice
4b. display the payment form
5a. select payment method
option
5b. fill in the payment
information
5c. submit the payment
information
Page 15 of 37
Alpha Software group Gym Management System
Page 16 of 37
Alpha Software group Gym Management System
Page 17 of 37
Alpha Software group Gym Management System
Constraints:
1. The quantity field must be integer.
2. The quantity field cannot be negative.
Questions: None.
Notes: None.
Authors: Frank Sun
Page 18 of 37
Alpha Software group Gym Management System
Page 19 of 37
Alpha Software group Gym Management System
Page 20 of 37
Alpha Software group Gym Management System
Page 21 of 37
Alpha Software group Gym Management System
Page 22 of 37
Alpha Software group Gym Management System
4 Structural Models
4.1 Domain Model Class Diagram
4.1.1 Class Diagram Overview
Page 23 of 37
Alpha Software group Gym Management System
Page 24 of 37
Alpha Software group Gym Management System
Page 25 of 37
Alpha Software group Gym Management System
Page 26 of 37
Alpha Software group Gym Management System
Page 27 of 37
Alpha Software group Gym Management System
Page 28 of 37
Alpha Software group Gym Management System
5 Behavior Models
5.1 Collaboration Diagrams
5.1.1 Reserve facility collaboration diagram
Page 29 of 37
Alpha Software group Gym Management System
Page 30 of 37
Alpha Software group Gym Management System
6.3 Network
The best approach to application architecture is MVC model. Since MVC model is
nonlinear and since database is separated from the model, controller does not have
to wait for the responses from database and therefore, this model is more time
efficient than the others. Moreover, backend databases in this model are better
suited for a downtime data backup. Database downtime backup does not impact as
much as in the other models.
Speaking of LAN design, the best approach will be 10/100 base T Cat 5 Ethernet
cables. Cat 5 is a measure of quality and it supports traffic up to 100 MB per second.
The advantage of this approach is that client‐side can make requests at 10 MB per
second to the server‐side. This reduces the probability of bottlenecks. Bottlenecks
occur when the server receives too many requests from clients and it increases the
response time. Cables should be full duplex so that data can travel both directions.
6.4 Workstations
Explore the requirements for a workstation by covering the following subjects:
• Disk space: from 500 MB to 1 GB.
• Performance: Fast processing, enough memory and disk space to process new
software which require higher performance.
• Memory: 500 MB to 2 GB
• Screen attributes: support 1280 X 1024 or higher
Page 31 of 37
Alpha Software group Gym Management System
6.5.2 Reliability
Data must be SSL encrypted. Payments must be processed using S‐HTTP. Data must
be backed up in a regular basis. (E.g. weekly, biweekly, monthly) System should
prompt user to restart browser or re‐login in case of timeout. Reservation and
payment confirmations must be delivery guaranteed. Backward compatibility must
be enabled in case deployment goes wrong. Error messages should be returned if
login credentials or payment info are invalid. System administrator should restart
servers in the cluster when system is down. Maximum downtime is 1%, and
therefore, 7 hours and 18 minutes per month. System should run 7/24. Dual
Password and Secret Questions should be prompted when login to prevent
malicious attacks.
Recoverability & Backup
Backward compatibility is guaranteed in our system to‐be. In case deployment goes
wrong, system will be rolled back to the previous build release version. Databases
will be backed up in a regular basis to ensure customer data will not be lost in any
occasions. Major server is located will be located in Toronto and Back‐up server will
be located in Waterloo.
Restart
System administrator must restart servers in clusters no later than 1 hour after the
system is down. Maximum downtime per month is 1. That means 7 hours and 18
minutes is the maximum acceptable downtime.
Page 32 of 37
Alpha Software group Gym Management System
6.5.3 Maintainability
System administrators should be able to make change on schedules and add new
items on the catalog (maintenance). This is usually done at midnights from 3am ‐
5am where minimal impacts on customers are guaranteed. Deployment must also
take place during midnights. When performing maintenance, clusters should be
turned off and servers should be restarted afterward.
The foreseen extensions to the system are very high. As we will be expanding the
boundary of our system, new Java Classes are expected. For instance, some new
features such as suggesting fitness plan according to customers’ weight and height
will be implemented soon. In that case, some new Java Classes will be needed.
6.5.4 Portability
System must be cross‐browser. Sever should be portable from Red Hat to other
environments such as HP UX or any other Unix‐based machines.
● System will be written in Java/J2EE. Java is a portable language. When
.java file is complied, a .class file is created. .class files need JVM to run it.
JVM can run on any systems (e.g. Linux, Windows) to read the byte code
in .class and interpret it into native machine language in runtime.
Therefore, the system to‐be is portable.
● JDK 6 from Sun Microsystems will be adopted as the compiler. JDK is run
able on Linux, UNIX, Windows, and Mac OS. Therefore, it is portable.
● System can be run on Windows, Linux, UNIX, and Mac OS.
Page 33 of 37
Alpha Software group Gym Management System
Page 35 of 37
Alpha Software group Gym Management System
References: YMCA, Peter rob; Maria Wan, Good life; Nora, Extreme fitness
• Customers are using phone line to book the facility. Due to innovative smart phone
and cheap data plan, more people are expected to use Internet in near future. The
system should accommodate this feature
• The system should provide option to sell and rent the equipment. The profitability
will increase by 10% gross and the customer satisfaction will increase by 22%
• The system should provide various payment methods. It is cost efficient to outsource
the payment processing function to a third party
• To avoid abuse of the facility, the business rules should be integrated within the
system. The system should be restricting excess usage of the facility. Every member
should be treated equally.
• Reports are key for any business. Reports can be manipulated id there is any human
intervention. The system should focus on automated reports such as facility
utilization, member activities. Crystal reporting tools should be integrated for
accurate reports
Page 36 of 37
Alpha Software group Gym Management System
The main focus of the questionnaire was to elicit functional requirements for our system.
The questionnaire consists of 20 questions and we got 11 responses. Most cases participants
needed to single out one most important requirement whereas they were asked to pick all
requirements they desired in some questions.
From the analysis of the questionnaire, several patterns became apparent. The popular
function requirements are to check the availability of the facility online and to book the
facility online. 90% participants desired to check the availability online. Without this
system, 45% participant called in and 45% participants went to the gym to check the
availability. From the questionnaire, 73% participants are interested in booking the facility
online.
We noticed that renting the equipment is very important. Only 45% participants owned
their own equipment, 45% participants rent the equipment from the gym. Of which 9%
participants did this every time they went to the gym.
One fact that we found was that most participants were not interested in purchasing in
equipment online. 82% participants never purchased any equipment from online.
Therefore, we decided not implement online store into the system.
The survey also made us aware that some participants are interested in some programs
offered in the gym. 55% participants are interested in fitness plan, 27% participants wanted
trainer plan. Restricted by the time and expense of this project, we will consider these
requirements as future expansion.
Overall, the questionnaire was a helpful tool and allowed us to create a pool of functional
requirements for the system.
Page 37 of 37