Professional Documents
Culture Documents
Project Supervisor
Ahmed Hannan
Submitted By
F20023C6B8
In our opinion, it is satisfactory and up to the mark and therefore fulfills the
requirements of BS in Computer Sciences.
Ahmed Hannan
Supervisor,
Software Projects & Research Section,
Department of Computer Sciences
Virtual University of Pakistan
___________________
(Signature)
___________________
(Signature)
Accepted By:
_____________
(For office use)
EXORDIUM
In the name of Allah, the Compassionate, the Merciful.
CHAPTER NO. 1
GATHERING & ANALYZING INFO..........................................................................10
1.1 INTRODUCTION
1.2 PURPOSE
1.3 SCOPE
CHAPTER NO. 2
DESIGNING THE PROJECT.......................................................................................12
2.1 INTRODUCTION
2.2 PURPOSE
2.3 SCOPE
CHAPTER NO.3
DEVELOPMENT............................................................................................................13
3.1 DEVELOPMENT PLAN (ARCHITECTURE DIAGRAM)
CHAPTER 1
Gathering & Analyzing Info
1.1 INTRODUCTION
Get Physical Trainer is an online portal which will help users to search, join and
keep in touch with trainers online. Trainers will get registered on the portal with
the required information. Users will be able to search a trainer through different
filters like fee, location, experience and timings.
User will be able to sort the trainers through their ratings. User can contact a trainer
through built in system chat so they will be able to communicate without the
involvement of other applications. User will also get benefit of receiving physical
health tips from their trainers. Administrator of the application will have an
overview of all the system.
1.2 PURPOSE
Physical trainers help users to perform exercises with correct techniques,
minimizing the risk of injury. While some discuss nutrition, ergogenic
supplementation, and spiritual practices with user, there is debate within the
industry as to whether it fits within their scope of practice
and training qualifications.
1.3 SCOPE
The Aim of this system is facilitating the users to get in touch with Trainers at any
time anywhere. The use of Internet and computing devices is increasing day by
day. There are many types of service providers across the country. It is the need of
today’s era that these service providers adapt technology and digitalization. Fitness
Trainer, or Fitness Instructor, provides fitness guidance to help clients improve
their physical condition. You will assess the physical and health conditions of
clients, create appropriate exercise plans, and monitor their improvement. You will
also explain applicable safety rules and regulations. User will be able to sort the
trainers through their ratings. User can contact a trainer through built in system
chat so they will be able to communicate without the involvement of other
applications.
Administrator:
Administrator will have an overview of all system through dashboard.
Maintain System rules and roles.
Administrator will be able to update and delete registered trainers/users
who will approved by admin.
Trainers:
Register in the portal with their personal details and some other
information like their fee, location, experience and working hours.
Update their information like name, email, contact, address, location,
experience etc.
List of their joined users who can approved by administration.
Send physical health tips to all joined users with all detail.
Contact their joined users through chat system. For providing quickest
methods of customer service .
Users:
Register in the portal with personal information like name, email, contact,
address, etc.
See a list of trainers depending upon fee, location, experience and working
hours they pay great services.
Contact a trainer through chat system with messages.
Join a trainer for getting their services.
Give and update review for their trainer with detail.
Update their information like name, email, contact, address, etc.
Receive physical health tips from their trainer.
Those requirements, which not specified by system but software, will perform
those how to do tasks are referred as non-functional requirements. Following
are the non-functional requirements of project.
Login
Update profile
Jooined User
<<include>>
Send Tips
Trainer
Contact
Manage Users
User
Overview System
Trainer list
<<extend>> <<extend>>
<<include>>
Join
Administrator
Trainer's Rewiew
LogOut
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Author:
Mc190401323
Advantages
Simple and easy to understand and use
Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
Phases are processed and completed one at a time.
Works well for smaller projects where requirements are very well understood.
Clearly defined stages.
Well understood milestones.
Disadvantages
Spiral Model
Spiral model is one of the most important Software Development Life Cycle models,
which provides support for Risk Handling.
Advantages
Risk Handling: The projects with many unknown risks that occur as the
development proceeds, in that case, Spiral Model is the best development model
to follow due to the risk analysis and risk handling at every phase.
Good for large projects: It is recommended to use the Spiral Model in large
and complex projects.
Flexibility in Requirements: Change requests in the Requirements at later
phase can be incorporated accurately by using this model.
Customer Satisfaction: Customer can see the development of the product at
the early phase of the software development and thus, they habituated with the
system by using it before completion of the total product.
Disadvantages
Complex: The Spiral Model is much more complex than other SDLC models.
Expensive: Spiral Model is not suitable for small projects as it is expensive.
Too much dependable on Risk Analysis: The successful completion of the
project is very much dependent on Risk Analysis. Without very highly
experienced expertise, it is going to be a failure to develop a project using this
model.
Difficulty in time management: As the number of phases is unknown at the
start of the project, so time estimation is very difficult.
Vu Process Model
As we know that ever model have advantages and also disadvantages in accordance
with the project requirements. We should choose the right type of the Model to
implement based on the scope of the software project. This depends on a number of
factors, some of which are the scope of the project, project budget, environment,
available resources. But after studying the requirements of the project we choose VU
process model which is a combination of waterfall and spiral models.
The Spiral Model or the Spiral Development Model combines the best of the
both top down and bottom-up approaches and is specifically risk-driven. In
essence the Spiral Model is a combination of the classic Waterfall Model and
Risk Analysis.
The Spiral Model provides a rapid development and at the same time,
incremental versions of the software application.
Combination of Waterfall and Spiral models allows for feedback and creativity.
In Spiral model, the project life cycle is divided into phases, and each phase is
executed in all of the iteration of the Spiral Model.
Unlike the waterfall model, where milestones are reached in a very linear
manner, and you are not allowed to backtrack, the VU process model uses the
spiral model’s ability to perform iterations when needed.
In design phase we focus on ‘HOW’ to do. It means how the problem will be
solved and which tools and techniques will be used. Much care is taken during the
design phase because any mistake in this phase could be very expensive to solve in
he later stage of the software development. The purpose of design phase is to plan
out a system that meets the requirement defined in the analysis phase.
This document designed to see what is to be built at its origin levels in order to
give a software expansion team an overall guidance of the architecture of the
software project. This phase surround:
Sequence Diagram
o Sequence Diagram is an interaction diagram that shows how processes
operate with each other. It shows the messages exchanges between
entities.
Class Diagram:
o In Class diagram, we will describe the structure of Online Support
System by showing the system's classes, show their attributes,
operations or methods and relationships between classes or objects. In a
class, diagram classes represent both the main objects and interactions.
Database Design:
o Database Design is a process of producing a detailed data model of a
database. It can be taken as the logical design of the base data structures
to store the data
Interface Design:
o Interface Design is a GUI view of main software. It shows how our
Software Application will look like and how we interference with the
System.
Test cases:
o In the test cases for the Online Support System are also given. A test
case in software engineering is a set of conditions or variables under
which a tester will determine whether an application or software system
is working correctly or not.
2.2 PURPOSE
2.3 SCOPE
Check va lidity ()
Successfully registe re d ()
X X
Save info ()
check va lidity
databa se re sponse ()
login successfully()
X X
:Coder/Client :application :Database
Update information()
Check va lidity()
X X
join user()
list user()
database response()
join user successfully()
X X
:trainer/user :application :Database
Show a ll records()
contact successfully()
X X
X X
:user :application :trainer :Database
join trainer()
X X X
manage user/trainer()
show all details ()
delete/update user/trainer()
Che ck va lidity()
Da taba se re sponce ()
manage successfully ()
X X
:user :application :Database
select trainer
show all details ()
Database responce ()
X X
sele ct logout()
request send()
database response ()
X X
2.7 OBJECT MODEL/LOGICAL MODEL: CLASS DIAGRAM
Trainers Admin
-id: int -id: int
-name: string -name: string
-email: string -email: string
-password: string -password: string
-fee: string + view dashbaord ()
-working hours: string + manage users ()
Joined user list -experience: string + manage trainers ()
-id: int -trainer_id: int
-details: string + manage users ()
-health tips: int + send healthy tips ()
+ manage by Admin ()
Dashboard
+ tips send by trainer()
+ tips recieved by -id: int
joined users () -users: string
-details: string
-booking: string
+ view by admin ()
Users
Healthy tips
-id: int
-id: int -name: string
-details: string -email: string
-tips_id: int -password: string
+ tips send by trainer() -user_id: int
+ tips recieved by + recieve healthy tips
users () ()
+ manage by Admin ()
+ manage by trainer ()
PK id
FK user_id
Details
Admin
Trainer
PK a_id
PK id
Name
FK trainer_id Email
Password
Name
email
Password
fee
working hour
experience
Dashbaord
Joined users list
PK id
PK id
Details
FK health tips users
booking
Details
User
Healthy Tips
PK id
PK id
FK users_id
FK tips_id
Name
email
Details Password
Software Architecture Design is a crucial step for software and application developers
to describe the basic software structure by dividing functional areas into layers. It
depicts how a typical software system might interact with its users, external systems,
data sources, and services.
Software architecture is usually designed into four layers (some also make it three),
which are, from top to bottom, presentation layer, service layer, business layer, and
data layer.
What is MySQL?
MySQL is a database server
MySQL is ideal for both small and large applications
MySQL supports standard SQL
MySQL compiles on a number of platforms MySQL is free to download and use
PHP + MySQL
PHP combined with MySQL are cross-platform (means that you can develop in
Windows and serve on a UNIX platform)
This tutorial will not explain how to install PHP, MySQL, or Apache Server.
If your server supports PHP - you don't need to do anything! You do not need to
compile anything or install any extra tools - just create some .php files in your web
directory - and the server will parse them for you. Most web hosts offer PHP support.
However, if your server does not support PHP, you must install PHP. Below is a link to
a good tutorial from PHP.net on how to install PHP5:
http://www.php.net/manual/en/install.php
Download PHP
Download PHP for free here: http://www.php.net/downloads.php
Download MySQL Database
Download MySQL for free here: http://www.mysql.com/downloads/index.html
Download Apache Server
Download Apache for free here: http://httpd.apache.org/download.cgi
Comments in PHP :
In PHP, we use // to make a single-line comment or /* and */ to make a large comment
block.
Variables in PHP:
Variables are used for storing values, like text strings, numbers or arrays.
When a variable is set it can be used over and over again in your script All variables in
PHP start with a $ sign symbol.
Conditional Statements:
Very often when you write code, you want to perform different actions for different
decisions. You can use conditional statements in your code to do this.
if...else statement:
use this statement if you want to execute a set of code when a condition is true and
another if the condition is not true.
else if statement:
is used with the if...else statement to execute a set of code if one of several condition
are true.
Looping:
Very often when you write code, you want the same block of code to run a number of
times. You can use looping statements in your code to perform this.
functionwriteMyName($fname)
{
echo $fname;
}
Why use $_GET?
Note: When using the $_GET variable all variable names and values are displayed in
the URL. So this method should not be used when sending passwords or other sensitive
information! However, because the variables are displayed in the URL, it is possible to
bookmark the page. This can be useful in some cases.
Note:
The HTTP GET method is not suitable on large variable values; the value cannot
exceed 100 characters.
The $_POST Variable:
The $_POST variable is an array of variable names and values sent by the HTTP POST
method The $_POST variable is used to collect values from a form with
method="post". Information sent the POST method is invisible to others and has no
limits on the amount of information to send.
Why use $_POST?
Variables sent with HTTP POST are not shown in the URL
Variables have no length limit
However, because the variables are not displayed in the URL, it is not possible to
bookmark the.