Vous êtes sur la page 1sur 19

A

SEMINAR
ON

SOFTWARE DEVELOPMENT LIFE


CYCLE

BY- VARUN RAJPUT


C O N TEN TS

A . D e fin itio n o f so ftw a re d e ve lo p m e n t


life C ycle
B . A ll th e p h a se s o f S D LC
C . S o m e m o d e ls o f S D LC
D . B u ild & Fix M o d e l
E. W a te rfa llM o d e l
F.V M o d e l
G . Pro to typ in g M o d e l
H . In cre m e n ta lM o d e l
I. S p ira l M o d e l
W H A T IS S O FT W A R E D E V E LO P M E N T LIFE C YC L

•It is a strategy for producing quality software.



•The process in which a number of phases are present and
each of these phases performs distinct tasks for
developing an efficient software.

•It is the establishment and use of engineering
principles in order to obtain economically software that
is reliable and works efficiently on real machines.
PHASES OF
SDLC

1.PROBLEM DEFINITION
2.ANALYSIS
3.DESIGN
4.CODING
5.TESTING & DEBUGGING
6.IMPLEMENTATION
7.MODIFICATION & MAINTENANCE
PROBLEM DEFINITION

This phase is more critical for the completion of a


satisfactory program than any of the following steps. it
is impossible to solve a problem without a clear
understanding and identification of the problem.

Problem definition may , thus include many factors .


Input/output, time constraints, processing requirements,
accuracy, memory limitations.
ANALYSIS

The main task of analysis phase is “information gathering”.


The detailed information of domain for which we are
developing the software is collected.
Information is kept in writing form. Moreover, above
information is converted in to more formal, figurative or
diagrammatic approach.
The tools are:
ER diagram [Entity Relationship Diagram]
Data Flow Diagram [D.F.D.]
Condition Table
System Flow Chart.
DESIGN

The important aspect of this phase is to plan the flow of


program , with a tool that is less rigid than a programming
language.
During this stage a detailed design is created using
structure charts, algorithm, data structure designs, data
tables and psuedo code.

An algorithm is step by step description of how to arrive


at the solution of given problem.
The psuedo code can be translated into any high level
language in the next stage coding.
CODING

The programming environment is selected according to the


requirement. We convert tools prepared in the analysis and
design phase in to the programming language. Coding requires
less expertization and less experience as compare to
analysis and design. The major emphasis in coding should be
simplicity and clarity. A program written by one may have to
be read by others later. Therefore it should be readable and
simple to understand. Complex logic and tricky coding should
be avoided. There should be proper documentation.
TESTING & DEBUGGING

Testing is to identify errors in our program. When there is a


syntax error in the program then it has been detected by the
compiler and can be easily removed by the programmer.
In the case of logical error which are not detected by the
compiler than, the testing is done on the basis of already
available input and manually processed output data. We have
the old input and corresponding output. The input data is fed
in our software. Its output is compared with the output
available. If there is a mismatch, there are errors in our
program.

Then the debugging phase is used to


remove errors from the programThe tools that can be used to
debug a program are simulators, logic analyzers, breakpoints,
trace routines, memory dumps, software interrupts
IMPLEMENTATION
In this phase the software prepared at developer site is
installed at client site. The developer should keep and mind
the hardware and software configuration at the client site so
that there may not exist any problem for using the software.
MODIFICATION & MAINTENANCE

Some uncovered errors are reported by the user. These errors must
be removed. Moreover, there are changes in the user’s working
environment. The user requests the changes in the software according
to his changing needs. The developer modifies the software.
If analysis and design phases are implemented properly, modification
and maintenance require less effort. The success of the software
project depends upon the efficiency of analysis and design phase.
MODELS OF SDLC

A number of models have been proposed by the researchers to


organize the software engineering activities into phases. The
software model can be defined as a detailed description of
process which defines guidelines for software engineer to
develop the product using methods and tools. Some of the SDLC
models are as

1. BUILD
AND FIX MODEL

2.
WATER FALL MODEL

3. THE
V MODEL

4.
PROTOTYPE MODEL

5.
INCREMENTAL MODEL
BUILD & FIX MODEL
• This technique was used in Build Product
the initial years of s/w
development resulted
into the term build and
fix model. This model
resulted in a number of
project failures because
the product was not Fix & Revise the Product
constructed using
proper specification and
design.
W A T E R FA LL M O D E L
• This is the most used Feasibility Study

model of 70’s . It was


proposed by Royce in Requirements

1970 as an
alternative to build System Design
and fix model. This
model consist of
Implementation
seven different
phases each of which
performs a distinct Testing
task.

Deployment

Operation & Maintenance


THE V MODEL
• This model was
developed to relate
the analysis and
design activities with
the testing activities
and thus focuses on Requirement Acceptance Testing
verification and Analysis

validation activities
of the product. As System Design Integration
Testing
this model relates
the analysis and
design phase to Detailed
Design
Unit Testing

testing phase,
• testing activities are
Coding
done in parallel


PROTOTYPE MODEL

Prototype model should also be used


when requirements of the system are Initial Rapid Develop Prototy
Require Design the pe
not clearly understood or unstable. ment Prototyp Eval
It can also be used if requirements e by
are changing quickly. This model User
can be successfully used for
developing user interfaces, high
technology software intensive
systems and systems with complex
algorithms and interfaces. It is
also very good choice to Refine Requirements
demonstrate technical feasibility
of the product.
The Incremental
In today’s scenario, customers
are not ready to wait for too
Model
long for product to be
delivered as they used to do in
early 70’s or eighties. This
model therefore releases the A
product partially to the Release1
A
Release2
customer in the beginning and B
slowly adds increased
functionality to the system. The
incremental model is used when
requirements are defined at the New
beginning of the project but at functional
ity added
the same time they are expected Enhance functionality
to evolve overtime. It can also C
be used for projects with A
development schedules more than Release3 B
one year or if deliveries are
to be made at regular intervals.
SPIRAL MODEL
• Spiral model is generally used for
large projects with medium to
high risk because in small
projects it is possible that cost Planning the
of risk analysis may exceed next phase Risk Analysis
the the actual cost of project.
In other words, Spiral model is
practical approach for solving
large scale software
development related
problems.

Customer Evaluation Engineering the


Product
THANKS

Vous aimerez peut-être aussi