Вы находитесь на странице: 1из 54

Yogacise

Semester- VII

A PROJECT REPORT
Submitted by

Odedara Deviben 160200107062


Pathak Devanshee 160200107077

In partial fulfillment of the award of the degree of


BACHELOR OF ENGINEERING
in
COMPUTER ENGINEERING

Government Engineering College, Rajkot

Internal Guide:
Sanjay Bhanderi
Assistant Professor
GEC, Rajkot

Gujarat Technological University


Academic Year 2019-20
Government Engineering College, Rajkot
Computer Department
CERTIFICATE

Date:

This is to certify that the project entitled Yogacise has been carried out by
Odedara Deviben enrollment number 160200107062 under my guidance in
partial fulfillment of the degree of Bachelor of Engineering in Computer (7th
Semester) of Gujarat Technological University, Ahmadabad during the
academic year 2019-20.

Internal Guide Head of Department


Sanjay Bhanderi Prof. (Dr.) Chirag S Thaker
Assistant Professor Professor and Head
GEC Rajkot GEC Rajkot

Computer Department
CERTIFICATE

Date:

This is to certify that the project entitled Yogacise has been carried out by
Pathak Devanshee enrollment number 160200107077 under my guidance in
partial fulfillment of the degree of Bachelor of Engineering in Computer (7th
Semester) of Gujarat Technological University, Ahmadabad during the
academic year 2019-20.

Internal Guide Head of Department


Sanjay Bhanderi Prof. (Dr.) Chirag S Thaker
Assistant Professor Professor and Head
GEC Rajkot GEC Rajkot

Undertaking about originality of work


We hereby certify that we are the sole authors of this UDP project report and that neither any
part of this UDP project report nor the whole of the UDP Project report has been submitted
for a degree by other student(s) to any other University or Institution. We certify that, to the
best of our knowledge, the current UDP Project report does not infringe upon anyone’s
copyright nor violate any proprietary rights and that any ideas, techniques, quotations or any
other material from the work of other people included in our UDP Project report, published or
otherwise, are fully acknowledged in accordance with the standard referencing practices.
Furthermore, to the extent that we have included copyrighted material that surpasses the
boundary of fair dealing within the meaning of the Indian Copyright (Amendment) Act 2012,
we certify that we have obtained a written permission from the copyright owner(s) to include
such material(s) in the current UDP Project report and have included copies of such copyright
clearances to our appendix. We have checked the write up of the present UDP Project report
using anti-plagiarism database and it is in the allowable limit. In case of any complaints
pertaining to plagiarism, we certify that we shall be solely responsible for the same and we
understand that as per norms, University can even revoke BE degree conferred upon the
student(s) submitting this UDP Project report, in case it is found to be plagiarized.

Team:

Enrollment Number Name Sign

160200107062 Odedara Deviben

160200107077 Pathak Devanshee

Place: ____________ Date: ________________

Name of Guide

Sanjay Bhanderi
Assistant Professor
GEC Rajkot
Signature of Guide

INDEX
No. Title Page No.
Acknowledgement
Abstract

List of Figures

List of Symbols

1. Introduction
1.1 Project Summary
1.2 Purpose
1.3 Scope
1.4 Technology and Literature Review

2 Project Management
2.1 Project Planning and Scheduling

3 System Requirement Study


3.1 User Characteristic
3.2 Hardware and Software Requirements
3.3 Constraints

4 System Analysis
4.1 Study of Current System
4.2 Problems and Weakness of Current System
4.3 Requirements of New System
4.3.1 Functional Requirements
4.3.2 Nonfunctional Requirements
4.4 Feasibility Study
4.4.1 Technical Feasibility
4.4.2 Economical Feasibility
4.4.3 Operational Feasibility
4.5 Requirements Validation
4.6 Functions of Systems

5 System Design
5.1 Database Design
5.1.1 Tables and Relationship
5.2 System Procedural Design
5.2.1 Algorithm for Methods or Operations
5.2.2 Flow Chart
5.2 Input Output and Interface Design
5.3.1 Access Control and Security
5.4 System Architecture Design

6 Implementation Planning and Details


6.1 Implementation Environment
6.1.1 Single User v/s Multiple Users
6.1.2 GUI v/s Non GUI
6.2 Module Specification
6.3 Security Features
6.4 Coding Standards
6.5 Sample Coding Convention

7 Testing
7.1 Testing Plan
7.2 Testing Strategy
7.3 Testing Methods
7.4 Test Cases

8 Limitations and Future Enhancements


8.1 Limitations
8.2 Future Enhancements

9 Conclusion
References

Experience
List of Figures
No. Title Page
No.
2.1.1 Spiral Model

2.3.1 Effort Estimation

USE CASE Diagram

CLASS Diagram
ACKNOWLEDGEMENT
Every work that complete successfully stands on the constant encouragement, good will and
support of people. It gives us immense pleasure and satisfaction in presenting this report of
the project under taken during the final year of B.E. As it is first step into my professional
life, I would like to take this opportunity to express my gratitude to all those who have
contributed to accomplish my project successfully. We are happy to submit our idea of
“Yogacise” in Gujarat Technology University, Ahmedabad for Bachelor Engineering degree
in computer branch.
This project has been prepared under the most supporting guide Prof. Sanjay Bhanderi of
Department of Computer Engineering, Government Engineering College, Rajkot.
Due to his continuous support, guidelines, his helping nature, and very thankful to him to any
time resolving our queries and provides all necessary facilities during our work. Also
thankful for giving us such new directions. Without him, keen interest and knowledge of the
subject and constant encouragement we cannot complete our dream.
We are also grateful to Dr. Chirag Thaker, Head of the Department and all the faculty
members of the Department of Information Technology for their kind support throughout this
journey. Our obligation remains to GEC faculty members, all these people and friends who
have directly or indirectly helped us in successful completion of our project. No amount of
words here will be sufficient for my sense of gratitude towards all of them.
We also take the privilege to acknowledge the elite authors of numerous books and papers
and blogs which we have referred during progress of this.
The feeling of gratefulness to any one’s help directly arises from the bottom of heart. A small
but an important and timely help can prove to be a milestone in one’s life.
We take the opportunity to thank all those who have directly or indirectly helped us to fulfill
our dream.
I would like to express my gratitude towards my teammates for their kind cooperation and
encouragement which help me in completion of this project.

Odedara Deviben (160200107062)


Pathak Devanshee (160200107077)
ABSTRACT
Nowadays in our busy life we need strong physical as well as mental health , Yoga will help
you .Our web will guide you in perform different types of yogas , you can also download
offline videos and photos . There is also available function for upload.Certified doctors will
available to guide you how much time and which and type of yoga , when you will perform.
Food is also also important in regular life so there is also available diet plan according to you
fill the data in data analysis report.
Chapter 1: Introduction
1.1 Project Summary

The central concept is to guide users how to perform Yogas . Awareness of Importance
of Mental as well as physical health with their day to day activities and diet plan with
solving their queries by certified doctors.

Goals and Objectives

The objective of the project is to make website to view online and offline videos of
yogas and exercise also a diet chart for different purposes and also can view different
poses of yogas and exercise. A computer based management system is designed to
handle all the primary information required to calculate the statement. This project
intends to introduce more user friendly in the various activities such as record updating,
maintenance and searching

1.2 Scope

This system can be implemented within any type and anywhere of user having no
knowledge of Yoga . This system is designed for the user who requires to build their
physical as well as mental health. User can download photos and videos offline. There is
a Feature for using free time of doctors to upload and advice users.

1.3 Technology and Literature

⮚ HTML :

HTML stands for Hyper Text Markup Language. HTML is not a programming language;
it is a markup language. A markup language is a set of markup tags HTML uses markup
tags to describe web pages.

In the application, it is used for browser support. Easy to learn and use. It is by default in
every windows so user don’t need to purchase extra software.

⮚ CSS :

CSS stands for Cascading Style Sheets. Styles define how to display HTML elements.
Styles are normally stored in Style Sheets. Styles were added to HTML 4.0 to solve a
problem External Style Sheets can save a lot of work External Style Sheets are stored in
CSS files. Multiple style definitions will cascade into one.
⮚ JavaScript :

JavaScript is the programming language of HTML and the Web. As a multiparadigm


language, JavaScript supports event-driven, functional, and imperative (including object-
oriented and prototype-based) programming styles. It has APIs for working with text,
arrays, dates, regular expressions, and the DOM, but the language itself does not include
any I/O, such as networking, storage, or graphics facilities. It relies upon the host
environment in which it is embedded to provide these features.

 MySQL :

Developed by : MySQL AB, a subsidiary of Sun


Microsystems since February 2008
OS : Cross-platform
Available in : English
Website : http://mysql.com/

MySQL is a multithreaded, multi-user, SQL Database Management System. It is often


accessed and managed through PHP-driven content management systems.

The open source MySQL is owned and sponsored by a single for-profit firm, the
Swedish company MySQL AB, which holds the copyright to most of the codebase. Both
the MySQL server software itself and the client libraries are distributed under a dual-
licensing format. Media Wiki deploys MySQL under the GNU General Public License.

MySQL is an open source Relational Database Management System. MySQL is very fast
reliable and flexible Database Management System. It provides a very high performance
and it is multi-threaded and multi user Relational Database management system.

MySQL is one of the most popular relational databases Management System on the web.
The MySQL Database has become the world's most popular open source Database,
because it is free and available on almost all the platforms. The MySQL can run on
UNIX, window, and Mac OS. MySQL is used for the internet applications as it provides
good speed and is very secure. MySQL was developed to manage large volumes of data
at very high speed to overcome the problems of existing solutions. MySQL can be used
for verity of applications but it is mostly used for the web applications on the internet.

MySQL is a database system used on the web. Basically, a MySQL database allows you
to create a relational database structure on a web-server somewhere in order to store data
or automate procedures. If you think of it in comparison to Microsoft Access, MySQL is
what holds all of your tables, PHP acts as your queries (among other things), and your
forms are basically web pages with fields in them. With all of this combined, you can
create truly spectacular projects on the web.
Advantages of MySQL :
MySQL and MS SQL are two of the mostly used database systems by the web
developers. But there is a debate over the benefits and several disadvantages of using
these two databases. Both the systems work as a support system to XML. From the
point of view of data storage and retrieval, both the systems more or else perform in a
similar pattern.

License:

Under the General Public License, MySQL is an open source system. Without
spending any amount, a developer can start working with this system. But a person
needs to buy a commercial license if he wants to sell the software. But the case is bit
different for MS SQL. A developer has to secure a license.

Functionality:

If the two systems are compared on the basis of their performance, then it will be seen
that MySQL surely has more advantages. It takes a very less storage space in the disk
and the MyISAM database gives remarkable performance. Besides Windows, this
system also performs well on UNIX and LINUX systems. For MS SQL, its
performance is comparatively complex. It is difficult to work with it without very
sound knowledge and efficient hardware. Working with MS SQL takes up more disk
space compared to MySQL.

Technical Drawbacks:

Compared to MS SQL, most of the foreign keys are not supported by MySQL. Some
of the relational features found in MS SQL are missing in MySQL.

Recovery:

If the two systems are considered on the basis of recovery process, then SQL has
more benefits than MySQL. Since it has a configuration with MyISAM, it sometimes
becomes a drawback for the system. If there is a disturbance or interruption takes
place while working with MySQL, then it may result to loss of data. Even if the
system faces any problem while working with MS SQL the data is not lost.

Security:

Both MySQL and MS SQL adopt ample security measures from the very beginning.
If a port becomes too vulnerable to use then the user is allowed to change it. The user
is required to update the software from time to time to protect them from unwanted
users and intruders.
⮚ Apache-Tomcat Server :

The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer
Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer
Pages, Java Expression Language and Java WebSocket specifications are developed under the Java
Community Process.

The Apache Tomcat software is developed in an open and participatory environment and released
under the Apache License version 2. The Apache Tomcat project is intended to be a collaboration of
the best-of-breed developers from around the world. We invite you to participate in this open
development project. 

Apache Tomcat software powers numerous large-scale, mission-critical web applications across a
diverse range of industries and organizations. Some of these users and their stories are listed on
the PoweredBy wiki page.

Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are
trademarks of the Apache Software Foundation.

⮚ PHP:

The PHP Hypertext Preprocessor (PHP) is a programming language that allows web


developers to create dynamic content that interacts with databases. PHP is basically used
for developing web based software applications. This tutorial helps you to build your base
with PHP.
PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic
content, databases, session tracking, even build entire e-commerce sites.
It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle,
Sybase, Informix, and Microsoft SQL Server.
PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the
Unix side. The MySQL server, once started, executes even very complex queries with huge result
sets in record-setting time.
PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added
support for Java and distributed object architectures (COM and CORBA), making n-tier
development a possibility for the first time.
PHP is forgiving: PHP language tries to be as forgiving as possible.
PHP Syntax is C-Like.
Chapter 2 : Project Management
Software Project Management is an umbrella activity within software engineering. This
chapter provides how to plan, track and estimates this application by managing various
phases. It encompasses Project Development Approach’s justification, Schedules, risk
analysis, cost and effort estimation. It is the application of processes, methods, knowledge,
skills and experience to achieve the project objectives.

Why do we use project management?


Investment in effective project management will have a number of benefits to both the host
organization and the people involved in delivering the project. It will:
⮚ Provide a greater likelihood of achieving the desired results.
⮚ Ensure efficient and best value use of resources.
⮚ Satisfy the differing needs of the project’s stakeholders.

2.1 Project Planning and Scheduling


Effective management of a software project depends on thoroughly planning the progress
of the project. A well-planned strategy leads to the best and optimal use of the resources
available and ensures completion of project on time. Project plan sets out the resources
available to the project, the work breakdown and a schedule for carrying out the work.
The project needs a lot of research and thus scheduling was a difficult task as there was a
need for carrying out a lot of study about various algorithms and techniques and testing
them at various stages, thus maintaining the schedule was also difficult.
Project planning is part of project management, which relates to the use of schedules
such as Gantt charts to plan and subsequently report progress within the project
environment. Initially, the project scope is defined and the appropriate methods for
completing the project are determined.
Project planning is a discipline for stating how to complete a project within a certain
timeframe, usually with defined stages, and with designated resources. One view of
project planning divides the activity into:
⮚ Setting objectives (these should be measurable)
⮚ Identifying deliverables
⮚ Planning the schedule
⮚ Making supporting plans
Supporting plans may include those related to: human resources, communication
methods, and risk management.
2.1.1 Project Development Approach and Justification

Software Process model is an abstract representation of a software process. Each


process model represents a process from a particular perspective so only provides
partial information about that process. These generic models are not definitive
descriptions of software processes. Rather, they are useful abstractions, which can
be used to explain different approaches to software developments. For many large
systems, of course, there is no single software process that is used. Different
processes are used to develop different parts of the system.

The life cycle model that has been followed for developing this project is the
Spiral Model.

The spiral model is a risk-driven software development process model. Based on


the unique risk patterns of a given project, the spiral model guides a team to adopt
elements of one or more process models, such as incremental, waterfall, or
evolutionary prototyping.

Fig. 2.1.1

Advantages of Spiral model:

⮚ High amount of risk analysis hence, avoidance of Risk is enhanced.


⮚ Good for large and mission-critical projects.
⮚ Strong approval and documentation control.
⮚ Additional Functionality can be added at a later date.
⮚ Software is produced early in the software life cycle.
⮚ Project estimates in terms of schedule, cost etc become more and more realistic as
the project moves forward and loops in spiral get completed. 
⮚  It is suitable for high risk projects, where business needs may be unstable.
 A highly customized product can be developed using this.
 

Disadvantages of Spiral model:

⮚ Can be a costly model to use.


⮚ Risk analysis requires highly specific expertise.
⮚ Project’s success is highly dependent on the risk analysis phase.
⮚ Doesn’t work well for smaller projects.
⮚ It is not suitable for low risk projects.
⮚ May be hard to define objective, verifiable milestones.
⮚ Spiral may continue indefinitely.

2.1.2 Project Plan

For making any project planning is the most essential thing. As with most any
development project, the first step is go through an initial planning stage to map
out the specification documents, establish software or hardware requirements, and
generally prepare for the upcoming stages of the cycle. In this project we also
work also work with the same strategy as above mentioned. For making
successfully planning we also visit the industry to understand the requirements
and according to that we make strategy of software and hardware requirements
and prepare for upcoming stage of project.

2.1.2.1 Milestones

A milestone describes the status of the project as represented by an event or


moment at which one or more project activities are complete. Milestones can
represent the completion of key project tasks or conclusions reached or questions
answered that affect the project schedule in a major way. For example, “document
current processes” and “document requirements” are milestones that support the
creation of the deliverable “high-level requirements” for a help desk
implementation project. The milestone represents the completion of a major step
in the project that requires the commitment of a certain amount of time, resources
and effort. A milestone suggests the progress made toward the completion of one
or more deliverables.

The project team defines the milestones during project planning as a means to
identify key project activities and activity dependencies and to provide a way to
compare project performance to planned targets. Upon completion of a milestone,
a project manager receives customer sign-off. A project manager relies on the
milestone listing as a quick reference of project milestones, the target completion
dates and the particular team member who is responsible for the completion of
each milestone.

2 1.2.2 Deliverables

A deliverable is a measurable and verifiable outcome or object that a project


team must create and deliver according to the terms of an agreement. An
intangible deliverable is a particular outcome that the team achieves, such as an
increase in a company's accounts receivable turnover ratio. A tangible
deliverable is a concrete or material object created by the team, such as a report,
a custom software component or a computer. A deliverable can be an interim
result that contributes to the completion of the entire project, such as the creation
of help desk tickets for a help desk implementation project. The deliverable can
also be the final result of the project, such as an operational help desk.

Kim Heldman writes in “Project Management Jumpstart” that a deliverable is


one or more items or services that contribute to the fulfillment of the project's
objective and are created by project processes. These measurable results confirm
the realization of day-to-day project work objectives. The deliverables also
prove the adherence of the team's work to project requirements. The sign-off of
the deliverables by the internal or external customer confirms that the
deliverable complies with the customer's standards.

TASKS MEMBERS DESCRIPTION


PARTICIPATION
Initialization Odedara Devi In this phase
understanding of
Pathak Devanshee
project

Planning Odedara Devi In this phase planning


for software,hardware
Pathak Devanshee
and other documents.

Requirements Odedara Devi Requirements gathering

Pathak Devanshee

Design Odedara Devi Design of the project is


made by both.
Pathak Devanshee

Implementation Odedara Devi According to our design


we start the
Pathak Devanshee
implementation.

Verification Odedara Devi Verification is done for


resolving errors and
Pathak Devanshee
testing

Evaluation Odedara Devi After all this phase


done successfully
Pathak Devanshee
project evaluation is
done.

2.1.2.3 Roles & Responsibilities


Table 2.1.2.3

2.1.2.5 Dependencies
The structure chosen for the system is the chief programmer structure. In this system,
Chief Programmer team structure is used because in the organization, a senior engineer
provides the technical leadership and is designated as the chief programmer. For this
system reporting entity represents myself and the role of chief programmer is played
by my internal guide.

2.1.3 Schedule Representation


2.2 Risk Management

Risk management consists of a series of steps that help a software development team
to understood and manage uncertain problems that may arise during the course of
software development and can plague a software project.

Risks are the dangerous conditions or potential problems for the system which may
damage the system functionalities to very high level which would not be acceptable
at any cost. So in order to make our system stable and give its 100% performance we
must have identify those risks, analyze their occurrences and effects on our system
and must prevent them to occur.

2.2.1 Risk Identification

Risk identification is a first systematic attempt to specify risks to project plan,


scheduling resources, project development. It may be carried out as a team process
using brainstorming approach.

o Database Corruptness
o Garbage Collection
o Network Problem
o Power Off

2.2.2 Risk Analysis


During the risk analysis process, each identified risk is considered in turn and a
judgment made about the probability and the seriousness of the risk. All the
catastrophic risks should always be considered, as should all serious risks which
have more than a moderate probability of occurrence.
Once the risk has been analyzed and ranked, a judgment must then be made about
which are the most important risks which must be considered during the project.
This judgment must be depending on a combination of the probability of the risk
arising and the effect of that risk. In general, all catastrophic risks should always
be considered, as should all serious risks which have more than a moderate
probability of occurrence.

There are four basic ways to handle a risk.

⮚ Avoid:

The best thing you can do with a risk is avoid it. If you can prevent it from
happening, it definitely won’t hurt your project. The easiest way to avoid this risk
is to walk away from the cliff, but that may not be an option on this project.

⮚ Mitigate:

If you can’t avoid the risk, you can mitigate it. This means taking some sort of
action that will cause it to do as little damage to your project as possible.

⮚ Transfer:

One effective way to deal with a risk is to pay someone else to accept it for you.
The most common way to do this is to buy insurance.

⮚ Accept:

When you can’t avoid, mitigate, or transfer a risk, then you have to accept it. But
even when you accept a risk, at least you’ve looked at the alternatives and you
know what will happen if it occurs. If you can’t avoid the risk, and there’s
nothing you can do to reduce its impact, then accepting it is your only choice.

After the risk has been identified and evaluated, the project team develops a risk
mitigation plan, which is a plan to reduce the impact of an unexpected event. The

project team mitigates risks in the following ways:

⮚ Risk avoidance
⮚ Risk sharing
⮚ Risk transfer

Each of these mitigation techniques can be an effective tool in reducing


individual risks and the risk profile of the project. The risk mitigation plan
captures the risk mitigation approach for each identified risk event and the actions
the project management team will take to reduce or eliminate the risk.

2.2.3.1 Risk Avoidance

Usually involves developing an alternative strategy that has a higher probability


of success but usually at a higher cost associated with accomplishing a project
task. A common risk avoidance technique is to use proven and existing
technologies rather than adopt new techniques, even though the new techniques
may show promise of better performance or lower costs. A project team may
choose a vendor with a proven track record over a new vendor that is providing
significant price incentives to avoid the risk of working with a new vendor. The
project team that requires drug testing for team members is practicing risk
avoidance by avoiding damage done by someone under the influence of drugs.

2.2.3.2 Risk Retention

It is an investment of funds to reduce the risk on a project. On international


projects, companies will often purchase the guarantee of a currency rate to
reduce the risk associated with fluctuations in the currency exchange rate. A
project manager may hire an expert to review the technical plans or the cost
estimate on a project to increase the confidence in that plan and reduce the
project risk. Assigning highly skilled project personnel to manage the high-
risk activities is another risk reduction method. Experts managing a high-risk
activity can often predict problems and find solutions that prevent the
activities from having a negative impact on the project. Some companies
reduce risk by forbidding key executives or technology experts to ride on the
same airplane.

2.2.3.4 Risk Transfer

It is a risk reduction method that shifts the risk from the project to another
party. The purchase of insurance on certain items is a risk transfer method.
The risk is transferred from the project to the insurance company. A
construction project in the Caribbean may purchase hurricane insurance that
would cover the cost of a hurricane damaging the construction site. The
purchase of insurance is usually in areas outside the control of the project
team. Weather, political unrest, and labor strikes are examples of events that
can significantly impact the project and that are outside the control of the
project team.

2.3 Estimation
2.3.1 Effort Estimation

In software development, effort estimation is the process of predicting the most


realistic amount of effort (expressed in terms of person-hours or money) required
to develop or maintain software based on incomplete, uncertain and noisy input.

Effort estimates may be used as input to project plans, iteration plans, budgets,
investment analyses, pricing processes and bidding rounds.
2.3.1 Effort Estimation
2.3.2 Cost Analysis

Estimates are made to discover the cost, to the developer, of producing a software
System. The cost estimation is usually dependent upon the size estimate of the
project, which may use lines of code or function points as metrics. Cost estimation
can be defined as the approximate judgement of the costs for a project. Cost
estimation will never be an exact science because there are too many variables
involved in the calculation for a cost estimate, such as human, technical,
environmental, and political. Furthermore, any process that involves a significant
human factor can never be exact because humans are far too complex to be entirely
predictable.

Chapter 3 : System Requirement Study


System requirements study involves a clear and thorough understanding of the product to be
developed with the view of removing all ambiguities from customer perception. It is a
description of a software system to be developed, laying out functional and non-functional
requirements, and may include a set of use cases that describe interactions the users will have
with the software.
It establishes the basis for an agreement between customers and contractors or suppliers on
what the software product is to do as well as what it is not expected to do. Software
requirements permit a rigorous assessment of requirements before design can begin and
reduces later redesign. It should also provide a realistic basis for estimating product costs,
risks, and schedules.
The software requirements document enlists enough and necessary requirements that are
required for the project development. To derive the requirements, we need to have clear and
thorough understanding of the products to be developed or being developed. This is achieved
and refined with detailed and continuous communications with the project team and customer
till the completion of the software.

3.1 User Characteristic


This software gives access to two kinds of users.

3.2 Hardware and Software Requirements


3.2.1 Server side hardware requirement
Server Side
⮚ Pentium or equivalent microprocessor (2 GHz)
⮚ At least 2GB of RAM.
⮚ 130 GB free hard disk space
⮚ Internet Connection

3.2.2 Software Requirements


⮚ Any Windows OS, Linux or any other OS also
⮚ Apache Tomcat Server
⮚ Xampp Package
⮚ My SQL
⮚ Adobe Photoshop

3.2.3 Client side requirements

⮚ Pentium or equivalent microprocessor (2 GHz ).


⮚ At least 512MB of RAM.
⮚ Internet Connection
⮚ Internet Browser

3.3 Constraints
3.3.1 Regulatory Policies:
Regulatory policy is about achieving government's objectives through the use of regulations,
laws, and other instruments to deliver better economic and social outcomes and thus enhance
the life of citizens and business. Regulatory policies, or mandates, limit the discretion of
individuals and agencies, or otherwise compel certain types of behavior. These policies are
generally thought to be best applied when good behavior can be easily defined and bad
behavior can be easily regulated and punished through fines or sanctions. An example of a
fairly successful public regulatory policy is that of a highway speed limit.

3.3.2 Hardware Limitations


The major hardware limitations faced by the system are as follows:
⮚ If the appropriate hardware is not there like processor, RAM, hard disks
⮚ The problem in processing requests of client If appropriate storage is not there our
whole database will crash due to less storage because our main requirement is large
storage.
⮚ Good Network connection is also essential .Because videos must play continuous for
appropriate output.

3.3.3 Interfaces to other applications


There should be the compatible browser to perfectly run our portal and all browser and OS
platform should be able to run this web development product on all the interfaces and
platforms.

3.3.4 Parallel Operations


Parallel Activities in project management can be defined as a situation where two activities
take place simultaneously without affecting the performance of each other. It allows to
finish multiple steps at once and helps in finishing the given task in a shorter frame of time
than the assigned time frame. Here tasks are not done sequentially but in parallel.
Performing tasks in parallel could be an advantage since tasks are completed before the due
date. These can be performed in any order. In terms of our project parallel operations are
like the user at a time it can do many activities and all the users can do perform parallel
operations regarding their requirements. Specifically this web development is done in JAVA
platform so it also supports Multithreading.

3.3.5 Higher Order Language requirements

Effective communication is a critical project success factor. It also ensures that project
management should be done in using higher order language use by using such technical
words and terminology for such words and language should that much compatible that all
the user are able to understand it. Due to this requirement this is also look professional in
corporate world and also understand other foreign clients to understand it and effective
communication can continuously process.

3.3.6 Reliability Requirements


Since many users can access the server simultaneously, load on the server becomes very
high. Hence, the server should be of enough high configurations. There should be high back
up storage and management of huge data for overall ideas, images, multiple countries,
multiple user profile.
The Reliability requirements are the validations used to protect the system against one or
more incorrect activities. Without proper validation of the system, the failure possibilities of
it grow higher so it is must to understand the proper validation of the system and must
implement them. All the required validator controls spend very good role to keep the
system secure from any unauthorized or incorrect information.
In all these validation actions if system found one or more entries violating validation uses
then user will be warned by proper error messages and the details or the record is not going
to be saved until corrections are made to them.

3.3.7 Criticality of the Application


Think of critical path in project management as a project modeling technique. It’s a
sequence of stages where you figure out what the least amount of time is necessary to
complete a task with the least amount of slack. The critical path is the longest distance
between the start and the finish of your project, including all the tasks, their duration, which
gives you a clear picture of the project’s actual schedule.

3.3.8 Safety and Security Considerations


Safety:
The Safety of the system is about organization part of concern as the system is going to
be used in there but the solution for the safety of the system , the source of this website will
be kept at more than one place with User Id , password and also in the developer's backup in
case of system crash.

Security:
As a developer of the system we are responsible for providing the system a higher level
of security as we all know that either it is a web application or any android application,
system must be given a great level of security so that system will be used long last.
User's information will be kept confidential and hence security was a great part to
concentrate for us. We have tried to secure the system from any unauthorized access by
providing different users a different user id as per his or her designation. If user is Admin
(Top Management), he/she will have all the access, privileges and constraints to use this
system. He / She can access the entire database details. He/she is able to modify or delete
any record or details from the database. Other users have limited access according to their
designation in the organization. Because of limited privileges these other users will not be
able to modify or delete other details or records of organization.
Chapter 4 : System Analysis
4.1 Study of Current System

First thing in the Analysis model is Study of Existing System, which is available. In
current education paper work is more and school have to maintain large data of the
whole school so how they maintain data, how they update data, how we efficiently
and fast retrieve data when we needed.

4.2 Problems and Weakness of Current System


⮚ Site is not properly exported everytime.
⮚ Sometimes, drag and drop functionality hangs the system.

4.3 Requirements of New System

For developing a new system some requirements were provided by the user. As per the specified
requirements, it could be categorized in two different ways:

⮚ Functional Requirement
⮚ Nonfunctional Requirement

4.3.1 Functional Requirements

Functional requirement is provided by the system in which user first logs into the
system and is able to download and upload photos and videos of different yogasans
and perform it well. Also Diet plan is include with respect to their day to day life-
style.

4.3.2 Nonfunctional Requirements

Non-functional requirements cover all the remaining requirements which are not
covered by the functional requirements. They specify criteria that judge the operation
of a system, rather than specific behaviors.

4.4 Feasibility Study

An important outcome of the preliminary investigation is the determination that the


system is feasible or not. The main aim of the feasibility study activity is to determine
whether it would be financially and technically feasible to develop a project .The
feasibility study activity involves the analysis of the problem and collection of all
relevant information relating to the product such as the different data items which
would be input to the system, the processing required to be carried out on these data,
the output required to be produced by the system as well as the various constraints on
the behavior of the system.

4.4.1 Technical Feasibility


This assessment is based on an outline design of system requirements, to determine
whether the user has the technical expertise to handle completion of the project. When
writing a feasibility report, the following should be taken to consideration:

● A brief description of the business to assess more possible factors which could
affect the study
● The part of the business being examined
● The human and economic factor
● The possible solutions to the problem

4.4.2 Economical Feasibility

In case of a new project, financial viability/Economical Feasibility can be judged on


the following parameters:

● Total estimated cost of the project


● Financing of the project in terms of its capital structure, debt to equity ratio and
promoter's share of total cost
● Existing investment by the promoter in any other business
● Projected cash flow and profitability

4.4.3 Operational Feasibility

Operational feasibility is the measure of how well a proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development.

The operational feasibility assessment focuses on the degree to which the proposed
development project fits in with the existing business environment and objectives with regard
to development schedule, delivery date, corporate culture and existing business processes.

To ensure success, desired operational outcomes must be imparted during design and
development. These include such design-dependent parameters as reliability, maintainability,
supportability, usability, reducibility, disposability, sustainability, affordability and others.
These parameters are required to be considered at the early stages of design if desired
operational behaviors are to be realized.
4.5 Requirements Validation

A Requirements validation is concerned to check whether the requirements actually


define the system, which the customer wants? Requirements validation is important
because errors in requirements document can lead to extensive rework costs when they
are subsequently discovered. Requirements validation is important because errors in a
requirement document can lead to excessive rework costs when they are subsequently
discovered during development or after the system is in service. The cost of making a
system change resulting from a requirements problem is much greater than repairing
design and coding errors. The reason for this is that a change to the requirements usually
means that the system design and that the system must be retested.

V1. Does the requirement meet a standard user need?


V2. Is the requirement necessary?
V3. Is requirement stated only once?
V4. Is requirement consistent with other requirements?
V5. Is requirement complete?
V6. Is requirement checked to ensure that they can be implemented using existing
technology?
V7. Can requirement be implemented in the given time frame?

Some of the requirements of our project are given below:

R1. System should react as per the type of the user logged in.
R2. System should be very user friendly.
R3. All the mandatory field validations and input validations should be done.
R4. Browser Compatibility.
4.6 Functions of System

4.6.1 Use Case

Fig.: Use case Diagram for Admin


Fig .: Use case Diagram for User

4.7 Data Modeling


4.7.1 E-R Diagram

4.7.2 System Activity Diagram


4.7.3 Class Diagram:-

Fig .: - Class Diagram


4.8 Functional and Behavioral Modeling

4.8.1 Data Flow Diagram


4.10 Selection of Hardware and Software Justification
4.10.1 Hardware Justification

Hardware Environment Intel Core 3rd generation/

System Configuration RAM-4 GB HDD-1 TB

Operating system Windows XP/7/8/8.1/10

4.10.2 Software Justification

Hardware Environment Intel Core 3rd generation/

System Configuration RAM-4 GB HDD-1 TB

Operating system Windows XP/7/8/8.1/10

Chapter 5 : System Design


Database design is the process of producing a detailed data model of database. This
data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a data definition language, which can
then be used to create a database. A fully attributed data model contains detailed
attributes for each entity. The term database design can be used to describe many
different parts of the design of an overall database system. Principally, and most
correctly, it can be thought of as the logical design of the base data structures used to
store the data. In the relational model these are the tables and views. In an object
database the entities and relationships map directly to object classes and named
relationships. However, the term database design could also be used to apply to the
overall process of designing, not just the base data structures, but also the forms and
queries used as part of the overall database application within the database management
system (DBMS). The process of doing database design generally consists of a number
of steps which will be carried out by the database designer. Usually, the designer must:

 Determine the data to be stored in the database.

 Determine the relationships between the different data elements.

 Superimpose a logical structure upon the data on the basis of these relationships.

5.1 System Procedural Design


5.2.1 Flow Chart
Chapter 6 : Implementation Planning and Details

6.1 Implementation Environment

Challenges identified for successful design and implementation of this project is


dominated by: complexity, reliability/availability, transparent data access while
respecting security. The project was a result of a group consensus. The team was
having two members .The team was guided by internal guide. The team structure
depends on the no. of people in the team, their skill levels and the problem
difficulty. This software is basically GUI related Data access System. There is
well-structured menu and icon has been provided for user. User can easily work
through this system. It has user friendly interface.

6.1.1 Single User v/s Multiple User

Single User:

1) An operating system that is usable by only one user at a time.

2) An application that provides single interface from which a user can access
multiple applications. For example, a social networking application that
integrates multiple social platforms that can be used and accessed from a single
interface.
Multi Users:

Multi-user interface typically refers to an operating system that allows concurrent


access by multiple users on the system. For example on UNIX operating systems,
two users can log in to the system at the same time.

6.1.2 GUI v/s Non GUI

GUI is a program interface that takes advantage of the computer's graphics


capabilities to make the program easier to use. Well-designed graphical user
interfaces can free the user from learning complex command languages. On the
other hand, many users find that they work more effectively with a command-
driven interface, especially if they already know the command language. In
addition to their visual components, graphical user interfaces also make it easier
to move data from one application to another. A true GUI includes standard
formats for representing text and graphics. Because the formats are well-defined,
different programs that run under a common GUI can share data. This makes it
possible, for example, to copy a graph created by a spreadsheet program into a
document created by a word processor.

Many DOS programs include some features of GUIs, such as menus, but are not
graphics based. Such interfaces are sometimes called graphical character-based
user interfaces to distinguish them from true GUIs.

Basic Components of GUI:

Pointer: A symbol that appears on the display screen and that you move to
select objects and commands. Usually, the pointer appears as a small angled
arrow. Text -processing applications, however, use an I-beam pointer that is
shaped like a capital I.

Pointing device: A device, such as a mouse or trackball, that enables you to


select objects on the display screen.

Icons: Small pictures that represent commands, files, or windows. By moving


the pointer to the icon and pressing a mouse button, you can execute a command
or convert the icon into a window. You can also move the icons around the
display screen as if they were real objects on your desk.

Desktop: The area on the display screen where icons are grouped is often
referred to as the desktop because the icons are intended to represent real objects
on a real desktop.

Windows: You can divide the screen into different areas. In each window, you
can run a different program or display a different file. You can move windows
around the display screen, and change their shape and size at will.

Menus: Most graphical user interfaces let you execute commands by selecting a
choice from a menu.

NON GUI:

Non-graphic user interface is a system that allows the user to communicate with
the machine without using any graphic.

6.2 Module Specification

Module specification A precise statement of the effects that a software module is


required to achieve. It can be employed both by the implementer of the module, since
it gives a definitive statement of the requirements that are imposed on the module,
and by users of the module, since it gives a precise statement of what the module
provides. A good module specification makes no commitment as to how the module's
effects are achieved.

1) Categories Module: This module provides online video of different types of


yogas, exercise, meditation, diet chart and user can watch video as they
required.

2) Image Module: This module provides image of different types of yogas,


exercise, meditation, diet chart.

3) Video Module: This module provides different types of videos of yogas,


exercise, meditation, diet chart as per user required.

4) Expert Module: This module provides online chat between experts and user.

5) Wishlist Module: This module is used to add the videos whichever user wishes
to watch later.

6) Registration Module: This module is for to register the new account for user.

7) Login Module: This module is used to login account to download video or to


add video to wishlist.

6.3 Security Features

⮚ Treat Infrastructure as unknown and insecure


⮚ Apply security to each of the component
⮚ Automatic Installation and Configuration
⮚ Data Restore easily if data lost
⮚ Also provide security against all types of attacks
⮚ Password should not access by anyone
⮚ No dummy accounts of user
⮚ Validation also provided
⮚ Only registered user can get access

6.4 Sample Coding Convention

Coding conventions are a set of guidelines for a specific programming


language that recommend programming style, practices, and methods for each aspect of
a program written in that language. These conventions usually cover file organization,
indentation, comments, declarations, statements, white space, naming conventions,
programming practices, programming principles, programming rules of thumb,
architectural best practices, etc. These are guidelines for software structural quality.
Software programmers are highly recommended to follow these guidelines to help
improve the readability of their source code and make software maintenance easier.
Coding conventions are only applicable to the human maintainers and peer reviewers of
a software project. Conventions may be formalized in a documented set of rules that an
entire team or company follows, or may be as informal as the habitual coding practices
of an individual. Coding conventions are not enforced by compilers.

⮚ Software Maintenance
⮚ Task Automation
⮚ Language Factors
⮚ Common Conventions
Chapter 7 : Testing
Various parameters like implementation environment, program modules and coding
standards are explained in previous chapter while this chapter is aimed to provide brief
account of testing the software.

There are two principal motives of testing the software

1. To rectify the error in execution

2. To check the viability of software

The testing ensures that the software is according to the required specification standards
and performs the task meant for it. The testing is done by our in house employee that act
as novice user and test the application with all possible way to find the bugs and error as
well as check validation.

7.1 Testing Plan

Testing is carried out at the following three stages:

⮚ Design
⮚ Implementation
⮚ Coding

7.1.1 Design Testing:

The design errors are to be rectified at the initial stage. Such errors are very difficult to
repair after the execution of software.

7.1.2 Implementation Testing:

The errors occurred at this stage can’t be overlooked because such errors do not allow
the further process.

7.1.3 Coding Testing:


The coding procedure plays significant role in software designing. The improper coding
of any software can generate inconsistent results. Such errors may occur due to incorrect
syntax or false logic. If the errors at coding stage remain unnoticed may give rise to
grave failure of the system

7.2 Testing Strategy

A strategy for software testing integrates software test case design method into a well-
planned series of steps that result in the successful construction of the software.

The strategy provides the roadmap that describes the steps to be conducted as a part of
testing, then these steps are planned and then undertaken, and how much effort, time and
resource will be required.

⮚ We have tested our whole system using bottom up testing strategy.


⮚ Bottom up testing involves integrating and testing the modules to the
lower levels in the hierarchy, and then working up hierarchy of modules
until the final module is tested.  Bottom up testing strategy shows how
actual testing is to be done with whole system but it does not show any
detail about each module testing.
⮚ For each module testing we have decided to test each lower level module
with white box testing strategy.
⮚ When all modules will be tested successfully then I will integrate those
modules and try to test integrated system using black box testing strategy.
⮚ When all modules are tested successfully then I will move to one step up
and continue with white box testing strategy.

7.3 Testing Methods


7.3.1 Unit Testing

The unit testing is meant for testing smallest unit of software. There are two approaches
namely bottom-up and top-down. In bottom up approach the last module is tested and
then moving towards the first module while top down approach reverses the action. In
present work we opt for the first one.

7.3.2 Integration Testing

The integration testing is meant to test all the modules simultaneously because it is
possible that all the modules may function correctly when tested individually. But they
may not work altogether and may lead to unexpected outcome.

7.3.3 Validation Testing

After the integration testing software is completely assembled as a package, interfacing


error have been uncovered and corrected, and then validation testing may begin.
Validation can be defined in many ways but a simple definition is what a validation
succeeds when software functions in a manner that can be reasonably accepted by the
user.

7.3.4 Storage Testing

The database of the system has to be stored on the hard disk. So the storage capacity of
the hard disk should be enough to store all the data required for the efficient running of
the system
7.4 Test Cases

Purpose Registration.
Required Input Valid User name password and
confirm password …
Test Action Checking For all valid information.
Error Error! Invalid username or password or
you are
not verified.
Expected Output Error! Invalid username or password or
you are not verified.
Chapter 8 : Limitation and Future Enhancement

8.1 Limitations

In this system user is not allowed to create his own templates and upload it as
per his design thinking. He has to use the templates provided by the system itself.

8.2 Future Enhancements

There is always a scope for enhancements in any developed system,


especially when our nature of the project is spiral which allows us to rethink on the
method of development to adopt changes in the project.

Chapter 9 : Conclusion

9.1 Self Analysis of Project Viabilities


4 factors affect the Project Viabilities

⮚ Cost: A project is not typically considered viable if its value exceeds its costs.
Sometimes the cost viability of a project can change over the course of the project’s
development or implementation. For example, if you have a particular amount of
money designated for a project, and it appears actual costs will exceed the budget,
the project is likely to lose its viability. Many factors can impact costs, such as an
increase in the cost of supplies or materials or the scope of the project.

⮚ Time: A project that is not on track from a deadline perspective can lose its
viability. For example, if you have a project to design and print invitations for a
grand opening event, if time delays result in the invitations going to print the day
before the event, the project loses its viability. Invitations issued after an event has
taken place are worthless, and continuing to pursue their production wastes time and
money. Likewise, delays that result in additional fees -- such as rushed late printing
fees -- may also render a project non-viable.

⮚ Manpower: Losing key members of your staff can cause a project to lose its
viability. For example, if you have a graphic designer on staff who is developing your
new logo, and that person quits without notice, the project may lose its viability,
because the manpower anticipated for the role no longer exists. The project has the
potential to regain its viability if someone else can take over the task or it can be
effectively outsourced to another party.

⮚ Quality: If the quality of a project is not attainable as anticipated, it can lose its
viability. For example, if you own a small construction business and provide an
estimate for building a custom home, that estimate is based largely on the current
price of home-building materials. If the price goes up suddenly or the same quality of
materials is no longer available, the project, as planned, loses its viability. It can
regain its viability if materials of equal quality and similar price can be obtained.

References

 http://www.tutorials.com/
 http://www.w3schools.com/
 http://www.php.net/
 http://www.apachefriends.org/

Вам также может понравиться