Demo Black Book
Demo Black Book
Demo Black Book
(Note: All entries of the proforma of approval should be filled up with appropriate and complete
information. Incomplete proforma of approval in any respect will be summarily rejected.)
…………………………………………………………………………………...
…………………………………………………………………………………...
…………………………………………………………………………………...
Date: …………………...
SMART GYM
A Project Report
By
Riddhi Patel
38
Assistant Professor.
MUMBAI-400 004.
MAHARASHTRA
YEAR 2018-19
K.P.B HINDUJA COLLEGE OF COMMERCE.
MUMBAI-400 004.
MAHARASHTRA.
CERTIFICATE
This is to certify that the project entitled, “Smart Gym”, is bonafied work of RIDDHI PATEL bearing
Seat. No. : 38 submitted in partial fulfilment of the requirements for the award of degree of BACHELOR
OF SCIENCE in INFORMATION TECHNOLOGY from University of Mumbai.
I am also indebted to my sir and teachers who has guided me throughout the project development.
I am thankful for their patience and for their generosity with which they stood by me and guided me
throughout the project.
I would like to express my appreciation to all the people who have contributed directly or
indirectly to the successful completion of the project with all respect and gratitude. I would like to thank
to all the people who have helped in the development of the people.
DECLARATION
I hereby declare that the project entitled ‘Smart Gym’ done at Mumbai, has not been in any case
duplicated to submit to any other university for the award of any degree. To the best of my knowledge
other than me, no one has submitted to any other university.
The project is done in partial fulfilment of the requirements for the award of the degree of BACHELORS
OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as final semester project as part of
our curriculum.
Riddhi Patel.
TABLE OF CONTENTS.
Chapter 1: Introduction
1.1 Background
1.2 Objectives
1.3 Purpose, Scope and Applicability
1.3.1 Purpose
1.3.2 Scope
1.3.3 Applicability
1.4 Achievements
1.5 Organisation of Report
Introduction
1.1 BACKGROUND
Main idea behind developing the project is to manage different types of data about members,
employees, products, payroll, receipts of the members etc. and all the transactions that occur in a gym
with a GUI (graphic user interface).
The system is easy to operate by any person. Data maintained is the database helps in retrieving
the information about members, monthly payments, due payments and equipment purchase information.
1.2 OBJECTIVES
1.3.1 Purpose
• This study looks to setup a system to manage gym process. It makes easy for the members, owner
and employee to view and manage various process such as payments, renewing membership etc.
• Following are some purposes why system is being designed:
• To increase efficiency with reduced cost.
• To reduce the burden of paper work.
• To save time management for recording details of each and every members and employees.
• To generate required reports easily.
1.3.2 Scope
1.3.3 Applicability
• This system will be useful for owners and user i.e. employee to maintain various features.
• Easy to handle even for a person with basic computer knowledge.
• It will be useful for the admin/employee to manage the members, trainers and equipment’s with
this system.
• The admin/owner can manage the employees working into his/her gym.
• The admin can also update the details of the equipment’s available in the gym whenever required.
• The admin can also analyse the payment with the help of graph.
• The customer satisfaction would be definitely higher when compared to the old manual system.
1.4 ACHIEVEMENTS
• While making the project I understood how the modules are to be implemented.
• If some changes occurs than how it will be implemented without interfering either modules.
• Implementation of interfaces methods used in the software
• How the changes are implemented in each module according to the future requirements.
• Developing the software phase by phase
• Designing the software GUI (Graphical user interface).
• Managing the work and time.
• I learned how to design diagram in the Star UML by using different components.
• Unique features of the software.
• Login credentials to access the system which is given to a personal employee.
• The system allows person/employees/members picture in the database. This can be done by taking
a real time picture using webcam.
• Sending automatic notification to members email id in case of membership expiry.
• Sending a reminders to the members when the payment is due to be paid.
The smart gym is a complete web based system. The system is very easy for a person with
some basic computer knowledge to operate it. The system is automatic the existing system which is
helpful to maintain and manage the gym task.
Hardware Requirement
Software Requirement
Tools
• Microsoft Windows
• Java (JSP)
• Net Beans IDE
• MySQL
• Star UML
Chapter 2
Survey of Technologies
JSP
JSP stands for java server pages. JSP is one of the most powerful easy-to-use and fundamentals
technology for building Java Web Applications. JSP servlets and JavaBeans Technologies into one highly
productive technology that allows web developers to develop reliable, high performance and platform
independent web applications and dynamic websites.
Advantages of JSP
MySQL can be used for a variety of applications, but is most commonly found on web servers. A
website that uses MySQL may include web pages that access information from a database. These pages
are often referred to as dynamic meaning the content of each page is generated from a database as the
page loads. Website that use dynamic web pages are often referred to as database driver websites.
Features of SQL
• Client/Server Architecture
MySQL is a client/server system. There is a database server and arbitrarily many
clients (Application programs). Which communicate with the server that is they query data
save changes etc. The clients can run on another computer (communication via a local
network or the internet). Almost all of the familiar large database systems (Oracle,
Microsoft SQL Server, etc.) are client/server system. These are in contrast to the file server
systems which include Microsoft Access, dBase and FoxPro. The decisive drawback of
file server systems is that when run over a network they become extremely inefficient as
the number of users grows.
• SQL Compatibility
MySQL supports as its database language as its name suggests SQL (Structure
Query Language). SQL is a standardized language for querying and updating data and for
the administration of a database. There are several SQL dialects (about as many as there
are database systems). MySQL addresses to the current SQL standards (at the moment
SQL: 2003), although with significant restrictions and a large number of extensions.
TOOL
Star UML
Star UML is a UML tool by MK Lab. This software is very useful to draw the diagram like class
diagram, activity diagram, and use case diagram in the project.
Operational Feasibility
The operational feasibility is obtained by consulting with the system users to check that the
proposed solution satisfies the user needs or not. There is no resistance from employee since new system
is helpful. The existing system is manual system while the new system is computerized and extremely
user friendly.
1. Admin
2. Employee
3. Members
4. Trainers
• Admin
Admin can add new employees and can remove the existing employee.
Admin can also add new equipment’s and remove existing / old equipment’s.
• Employee
Employee manages the system. Employee can add new members and also renews the
membership.
Employee manages the equipment’s and the schedule of trainers and members.
Employee also manages payments and sends reminders to member on payment due.
• Trainer
Trainers can view his own details and salary details. Trainer can view his daily schedule.
• Member
Member can view his own details and payments details. Members can view his schedule and diet
plans.
Economic Feasibility
The Constructive Cost Model (COCOMO) is a productive software cost estimation model
developed by Barry W. Boehm. The model parameter are driver from fitting a regression formula using
data from historical projects (16 projects for COCOMO 81 and 163 projects for COCOMO II).
Basic COCOMO compute software development effort (and cost) as a function of program size.
Program size is expressed in estimated thousands of source lines of code (SLOC, KLOC).
While considering economic feasibility it is checked in points like performance, information and
outputs from the system. MySQL is a free software available and also compatible foe almost all versions
of windows operating system. Thus, the cost incurred to develop the system is less and does not affect the
cost to the project development process. This justifies economic feasibility of the system.
Chapter 3
Requirements Analysis
Defining a problem is one of the important activities of the project. The objective is to define
precisely the business problem to be solved and thereby determined the scope of the new system.
Some limitation / problems occurred in the current existing system because of no automation been used
are as follows:
• In this system there is a registration page, a login page for the Employee, Admin, Trainer and
Member.
• The admin is updated with every new changes and login that user had made.
• The admin can update and delete the equipment’s available in the gym when required.
• The system also keeps the track of the payment collected from the different members.
• The payment can be made in cash or via a debit card or credit card.
3.3 Planning and Scheduling
A Gantt chart, commonly used in project management, is one of the most popular and useful ways
of showing activities (tasks or events) display against time. On the left of the chart is a list of activities
and along the top is a suitable time scale. Each activity is represented by a bar; the position and length of
the bar reflects the start date, duration and end date of the activity. This allows you to see at a glance:
TASK JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER JANUARY FEBRUARY MARCH
TOPIC SELECTION
REQUIREMENT ANALYSIS
SYSTEM DESIGN
DATABASE DESIGN
FORM DESIGN
CODING
TESTING
IMPELMENTATION AND DEPLOYMENT
A Pert chart is a project management tool used to schedule, organize, and coordinate tasks within
a project. PERT stands for program Evaluation review Technique, a methodology developed by U.S.
Navy in 19540s to manage the Polaris submarine missile program. A similar methodology, the Critical
Path Method (CPM) was developed for project management in the private sector at about the same time.
Hardware Requirements:
Software Requirements:
• Microsoft windows.
• NetBeans IDE.
• MySQL.
3.5 Preliminary Product Description
The system Smart Gym helps the overall management of the gym. It helps the employee (i.e. user)
and admin to manage various task of the gym. It helps to analyse the monthly payment data in graph
format.
1. Admin
2. Employee
3. Members
4. Trainers
• Admin
Admin can add new employees and can remove the existing employee.
Admin can also add new equipment’s and remove existing / old equipment’s.
• Employee
Employee manages the system. Employee can add new members and also renews the
membership.
Employee manages the equipment’s and the schedule of trainers and members.
Employee also manages payments and sends reminders to member on payment due.
• Trainer
Trainers can view his own details and salary details. Trainer can view his daily schedule.
• Member
Member can view his own details and payments details. Members can view his schedule and diet
plans.
ER Diagram
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is a component of data. In other words, ER diagrams illustrate the logical
structure of databases.
Entity:
An entity is an object in the real world that is distinguishable from other objects. Examples: The
address of the manager of the institution, a Person with unique name etc. It is often useful to identify a
collection of similar entities. Such a collection is called as “Entity set”. Note that entity set need not be
disjoint.
Attributes:
An entity is described using a set of attributes. All entities in a given entity set have the same
attributes; this essentially what we mean by similar. Our choice of attributed reflects the level of detail at
which we wish to represent information in crisis. For e.g. In this case we will store the name, registry
umber, the course enrolled of the student and not his/her address or the gender.
Relationships:
A Relationship describes relations between entities. There are 4 relationships of relational
database and they are:
One to Many: It reflects business rule that one entity is associated with many number of same entity. For
example, one student can enrol for many courses, but one course will have one Student.
Many to One: It reflects business rule that many entities can be associated with just one entity. For
example, Student enrols for only one Course but a Course can have many Students.
Many to Many: For example, many students can enrol for more than one course.
Figure 3.1: ER Diagram
Class Diagram
A class diagram is an illustration of the relationships and source code dependencies among classes
in the Unified Modelling Language (UML). In this context, a class defines the methods and variables in
an object, which is a specific entity in a program or the unit of code representing that entity. Class
diagrams are useful in all forms of object-oriented programming (OOP). The concept is several years old
but has been refined as OOP modelling paradigms have evolved.
In a class diagram, the classes are arranged in groups that share common characteristics. A class
diagram resembles a flowchart in which classes are portrayed as boxes, each box having three rectangles
inside. The top rectangle contains the name of the class; the middle rectangle contains the attributes of the
class; the lower rectangle contains the methods, also called operations, of the class. Lines, which may
have arrows at one or both ends, connect the boxes. These lines define the relationships, also called
associations, between the classes.
Activity diagram is another important diagram in UML to describe the dynamic aspects of the
system. Activity diagram is basically a flowchart 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. Activity diagrams deal with all type of flow control by using different elements such as
fork, join, etc.
A small filled circle followed by an arrow represents the initial action state or the start point for any
activity diagram.
• Action Flow:
Action flows, also called edges and paths, illustrate the transitions from one action state to another. They
are usually drawn with an arrowed line.
• Object Flow:
Object flow refers to the creation and modification of objects by activities. An object flow arrow from an
action to an object means that the action creates or influences the object. An object flow arrow from an
object to an action indicates that the action state uses the object.
• Decisions and Branching:
A diamond represents a decision with alternate paths. When an activity requires a decision prior to
moving on to the next activity, add a diamond between the two activities. The outgoing alternates should
be labeled with a condition or guard expression. You can also label one of the paths "else."
• Synchronization:
A fork node is used to split a single incoming flow into multiple concurrent flows. It is represented as a
straight, slightly thicker line in an activity diagram.
A join node joins multiple concurrent flows back into a single outgoing flow.
A fork and join mode used together are often referred to as synchronization.
Admin
Use case diagrams are usually referred to as behavior diagrams used to describe a set of actions
(use cases) that some system or can perform in collaboration with one or more external user of the system
(actors). Each use case should provide some observable and valuable result to the actors or other
stakeholders of the system.
Use case diagrams are in fact twofold - they are both behavior diagrams, because they describe
behavior of the system, and they are also structure diagrams - as a special case of class diagrams where
classifiers are restricted to be either actors or use cases related to each other with associations.
Employee(user)
A sequence diagram shows object interactions arranged in time sequence. It depicts the objects
and classes involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are typically associated with use case
realizations in the Logical View of the system under development. Sequence diagrams are sometimes
called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that
live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in
which they occur. This allows the specification of simple runtime scenarios in a graphical manner.
State-transition diagrams describe all of the states that an object can have, the events under which
an object changes state (transitions), the conditions that must be fulfilled before the transition will occur
(guards), and the activities undertaken during the life of an object (actions). State-transition diagrams are
very useful for describing the behavior of individual objects over the full set of use cases that affect those
objects. State-transition diagrams are not useful for describing the collaboration between objects that
cause the transitions.
Admin/Employee(user)
Deployment diagrams are used to visualize the topology of the physical components of a system,
where the software components are deployed. Deployment diagrams are used to describe the static
deployment view of a system. Deployment diagrams consist of nodes and their relationships.
A work-breakdown structure element may be a product, data, service, or any combination thereof.
A WBS also provides the necessary framework for detailed cost estimating and control along with
providing guidance for schedule development and control.
A database is an inherent collection of data with some inherent meanings, designed, built, and populated
with data for a specific purpose. The following guidelines are been followed during the database design:
This document describes the tables that are used to design the software, its attributes, data type,
constraints, and relationship among these tables.
Name Varchar(30) No
Age Varchar(20) No
Gender Varchar(20) No
Address Varchar(30) No
Mobile_no integer No
Email_id Varchar(30) No
Pic image No
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information
system, modelling its process aspects. A DFD is often used as a preliminary step to create an overview of
the system without going into great detail, which can later be elaborated. DFDs can also be used for
the visualization of data processing (structured design).
A DFD shows what kind of information will be input to and output from the system, how the data will
advance through the system, and where the data will be stored. It does not show information about
process timing or whether processes will operate in sequence or in parallel, unlike a traditional
structured flowchart which focuses on control flow, or a UML activity workflow diagram, which presents
both control and data flows as a unified model.
Figure 4.2: Data Flow Diagram
Login
New Member/Trainer
• OTP
A one-time password (OTP), also known as one time pin is a password that is valid for only one login
session or transaction on a computer system or other digital device. OTP’s avoid a number of short
comings that are associated with tradition (static) password based authentication by ensuring that one
time password requires access to something a person has (such as a small key ring from device with the
OTP calculator build into it, or a smart card or specific cell phone) as well as something a person knows
(such as a PIN).
• Security Question
A security question is a form of shared secret used as in authenticator. It is commonly used by banks
cable companies and wireless provider as in extra security layer. Financial institution have used questions
to authenticate customers since at least the early 20th century. In 1906 speech at a meeting of section of
the American bankers associations, Baltimore banker Willian m. Hayden described his institutions use of
security questions as a supplement to a customer signature record the described the signature cards used
in opening new account which had spaces for the customers birth place, residence, mother’s maiden
name, occupation and age.
Due to the common place nature of social media many of the traditional security questions are no
longer useful or secured. It is important to remember that a security question is just another password.
Therefore a security question should not be shared with anyone else or include any information readily
available on social media websites, while remaining simpler, memorable, difficult to guess, and constant
over time. It is important for the user to remember the security questions if the forgot the password.
Security questions can help them to recover their account (if the user remembers the answer they had set
to their security questions.)
When a new system replaces the old one, such as in the present case, the organization can extract data
from the old system to test them on the new. Such data usually exist in sufficient volume to provide
sample listings and they can create a realistic environment that ensures eventual system success.
Regardless of the source of test data, the programmers and analyst will eventually conduct four different
types of tests.
• Integration Testing
The integration is the next important concept that highlights in the testing scenario. Integration
testing can be performed in different strategies. One of them is the Big Bang testing in which one could
first test all of a system’s modules separately and then whole systems at once. But here we proceed
abruptly from the module testing and the integration testing disappears. Another alternative is the
Incremental Testing.
With the Incremental testing there are many advantages. We can start the integration as soon as
reasonable subsets of modules have been developed. It is easier to localize errors incrementally. The
partial aggressions of modules often constitute important subsystems that can have autonomy with these
testing. The need for stubs and drivers can be reduced.
There are two approaches to the Incremental Testing. They include Bottom-up and Top-down
aggregations. The former means starting aggregation and testing from leaves of the module charts. The
latter means starting from the top-level modules and substitute for higher-level modules. In our project we
have used the top-down approach of incremental testing.
Test case design focuses on a set of techniques, which meets all testing objectives, which are
mentioned below.
Testing demonstrates that software functions work according to specifications. In addition data
collected from testing provides a good indication of software reliability and some indication of software
quality as a whole. Testing results in the deduction in the numbers of errors. Critical modules are tested as
early as possible.
Unit testing focuses verification efforts on the smallest unit of the software design, the module.
This is also known as Module Testing. The modules are tested separately. This testing is carried out
during programming stage itself.
• Validation Testing:
Validation testing can be defined in many ways but a simple definition is that validation
succeeds when the software functions in a manner that can be reasonably expected by the users
.After validation test has been conducted one of the two possible conditions exists
• Output Testing:
After performing the validation testing the next step is output testing of the proposed
system since no system is useful if it does not produce the required output in the specific format.
The outputs generated or displayed by the system under consideration are tested by asking the
users about the formats required by them.
In addition, quality assurance personnel often conduct the project post mortem, write
project legacy document and provide long term retention of the project records.
Typically the quality assurance group will work with the development group to derive
Source Code Test Plan. A test plan for the source code specifies the objectives of testing; the test
plan for source code specifies the objectives of testing, the test completion criteria, the system
integration plan, and methods to be used on particular test inputs expected outcomes. There are
four types of tests that the source code must satisfy: function tests, performance tests, stress test
and structural test.
Login Verification
Table 4.8
Registration verification
Table 4.9