0% found this document useful (0 votes)
25 views19 pages

Waterfall Model

software Eng. waterfall model

Uploaded by

pranshoopatel4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views19 pages

Waterfall Model

software Eng. waterfall model

Uploaded by

pranshoopatel4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Software Engineering

(2250523)
Software Process
What is it? When you build a product or system, it’s important to go through a
series of predictable steps—a road map that helps you create a timely, high-
quality result. The road map that you follow is called a ‘software process.’

Who does it? Software engineers and their managers adapt the process to their
needs and then follow it. In addition, the people who have requested the
software.

Why is it important? Because it provides stability, control, and organization to


an activity that can if left uncontrolled, become quite chaotic.

Dr. Saumil Maheshwari


Software Process
There are Software specification The functionality of the software
many different and constraints on its operation must be defined.
software
processes but Software design and implementation The software to
all must meet the specification must be produced.
include four
activities that Software validation The software must be validated to
are
ensure that it does what the customer wants.
fundamental
to software
Software evolution The software must evolve to meet
engineering:
changing customer needs.

Dr. Saumil Maheshwari


Dr. Saumil Maheshwari
SDLC
A software life cycle model (also called process model) is a descriptive and diagrammatic
representation of the software life cycle.

A life cycle model represents all the activities required to make a software product transit
through its life cycle phases. It also captures the order in which these activities are to
be undertaken.

Different life cycle models may map the basic development activities to phases in
different ways. Thus, no matter which life cycle model is followed, the basic activities are
included in all life cycle models though the activities may be carried out in different orders in
different life cycle models.
Dr. Saumil Maheshwari
SDLC Models

The Waterfall Iterative Waterfall Prototyping


Model Model Model

Spiral Model RAD Model etc.

Dr. Saumil Maheshwari


The classical waterfall model is intuitively the
most obvious way to develop software.
The
Waterfall Because of the cascade from one phase to
another, this model is known as the ‘waterfall
Model model’.

It is an example of a plan-driven process—in


principle, you must plan and schedule all of
the process activities before starting work on
them.
Dr. Saumil Maheshwari
Though the classical waterfall model is elegant and
intuitively obvious, it is not a practical model in the
sense that it can not be used in actual
The software development projects.

Waterfall Thus, this model can be considered as theoretical way


of developing software.
Model
But all other life cycle models are essentially
derived from the classical waterfall model. So, in order
to be able to appreciate other life cycle models it is
necessary to learn the classical waterfall model.

Dr. Saumil Maheshwari


The Water
fall Model

Dr. Saumil Maheshwari


Feasibility Study

The main aim of


feasibility study is • Development of an overall
to determine understanding of the problem
whether it would • Formulation of the various possible
be financially and strategies for solving the problem
technically feasible • Evaluation of the different solution
to develop the strategies
product.

Dr. Saumil Maheshwari


Requirements analysis and specification

The aim of the


requirements
analysis and
•Requirements
specification phase gathering and analysis
is to understand the
exact requirements •Requirements
of the customer and
to document them specification
properly.

Dr. Saumil Maheshwari


Design

The goal of the design phase is to transform the requirements


specified in the SRS document into a structure that is suitable
for implementation in some programming language.

In technical terms, during the design phase the software


architecture is derived from the SRS document. Like interface
Design, Architecture design.
• Procedural design approach
• Object-oriented design approach
Dr. Saumil Maheshwari
Coding and unit testing
The purpose of the coding and unit testing phase (sometimes called the
implementation phase) of software development is to translate the software
design into source code. Each component of the design is implemented as a
program module. The end-product of this phase is a set of program modules
that have been individually tested.

During this phase, each module is unit tested to determine the correct
working of all the individual modules. It involves testing each module in
isolation as this is the most efficient way to debug the errors identified at this
stage.
Dr. Saumil Maheshwari
Integration and system testing

Integration testing is carried out to verify that the interfaces


among different units are working satisfactorily. On the other
hand, the goal of system testing is to ensure that the developed
system conforms to the requirements that have been laid out in
the SRS document.
• α – testing: It is the system testing performed by the development team.
• β – testing: It is the system testing performed by a friendly set of customers.
• acceptance testing: It is the system testing performed by the customer himself
after the product delivery to determine whether to accept or reject the delivered
product.
Dr. Saumil Maheshwari
Maintenance

Corrective maintenance: This type of maintenance is carried out to correct errors that
were not discovered during the product development phase.

Perfective maintenance: This type of maintenance is carried out to improve the


performance of the system, or to enhance the functionalities of the system based on
customer’s requests.

Adaptive maintenance: Adaptive maintenance is usually required for porting the


software to work in a new environment. For example, porting may be required to get
the software to work on a new computer platform or with a new operating system.
Dr. Saumil Maheshwari
The classical waterfall model is an idealistic
Shortcomings one since it assumes that no development
of the classical error is ever committed by the engineers
waterfall during any of the life cycle phases.
However, in practical development
model environments, the engineers do commit a
large number of errors in almost every
phase of the life cycle.

Dr. Saumil Maheshwari


No feedback paths
Shortcomings
Difficult to accommodate change
of the requests
classical
waterfall Inefficient error corrections
model
No overlapping of phases

Dr. Saumil Maheshwari


• Software engineering: a practitioner’s
approach by Roger S. Pressman
References • Software Engineering by Ian Sommerville
• Software Engineering by Rajib Mall
• Microsoft Office 365

Dr. Saumil Maheshwari


Thank You

Dr. Saumil Maheshwari

You might also like