veeru sdlc ppt
TRANSCRIPT
OVER VIEW OF SDLC
SOFTWARE DEVELOPMENT LIFE CYCLE
DIFFERENT MODELS OF SDLC
Waterfall Model
Iterative Waterfall Model
Rapid Prototype Model
Evolutionary model
Spiral Model
Fish Model
V-Shape Model
RAD Model
Incremental Model
WATERFALL MODEL
DESCRIPTION:
Requirements: defines needed information, function, behavior,
performance and interfaces
Design: includes flowcharts, data structures, software
architecture, interface representations, algorithmic details
Implementation: source code, data base, user documentation,
testing.
ADVANTAGES OF WF MODEL
easy to understand, easy to use
provides structure
milestones are clear
good for management control (plan, staff,
track)
works well when quality is more important
than cost or schedule
DISADVANTAGES OF WF MODEL
all requirements must be known upfront
deliverables created for each phase are
considered frozen – inhibits flexibility
can give a false impression of progress
does not reflect problem-solving nature of
software development , i.e. iterations of
Phases
one big integration at the end
little opportunity for customer to preview the
system (until it may be too late)
ITERATIVE WATERFALL MODEL
DESCRIPTION
This model
attempts to overcome the limitations of original Waterfall
model by adding an “iterative” loop at the end of the cycle
allows a return to previous stages and the changes whenever
required
RAPID PROTOTYPE MODEL
Requirements Capture
Quick Design
Build Prototype
Customer Evaluation of
Prototype
Engineer Final
ProductThe Rapid
Prototype Workflow
Iterate
ADVANTAGES
Reduces risk of incorrect user requirements
Good where requirements are
changing/uncommitted
Regular visible progress aids management
Supports early product marketing
DISADVANTAGES
An unstable/badly implemented prototype often
becomes the final product.
Requires extensive customer collaboration
• Costs customers money
• Needs committed customers
• Difficult to finish if customer withdraws
• May be too customer specific, no broad market
EVOLUTIONARY MODEL
Development
Application
User Validation
Feed back
with req.
User Acceptance
N
YApp is
Base Lined
Initial Reqs.
ADVANTAGES
When costumer is evolving the requirements this is suitable
model
DISADVANTAGES
Dead line are not clearly defined
Time consuming model
Costly model
No transparency
Project monitoring and maintained is difficult
SPIRAL MODEL
DESCRIPTION OF SPIRAL MODEL
Key Steps
Requirement Planning
Risk Analysis
Development & Test (Engineering)
Customer Evaluation
DESCRIPTION
It emphasis more on risk analysis
In this model project undergoes each phase repeatedly called
spiral
The planning phase is the base line spiral and each
subsequent spiral built on spiral model
This types model is used in risk analysis project for ex. Space
Crafts
ADVANTAGES
Importance's is placed more in risk analysis
Software produced in early stages
DISADVANTAGES
Not suitable for small projects
IT is very costly
Need expertise for this model
Time consuming model
FISH MODEL
DESCRIPTION
This is a process oriented company's development model.
Even though it is a time consuming and expensive model
One can be rest assured that both verification and validation is
done parallel by separate teams in each phase of the model.
So there are two reports generated by the end of each phase
one for validation and one for verification.
Because all the stages except the last delivery and
maintenance phase is covered by the two parallel processes the
structure of this model looks like a skeleton between two
parallel lines hence the name fish model.
ADVANTAGES
As the both verification and validation is when outcome will
come quality product
This strict process results in products of exceptional quality.
So one of the important objective is achieved.
DISADVANTAGES
Time consuming process
Costly process
V-MODEL
DESCRIPTION
A variant of the Waterfall that emphasizes the:
(1).verification and
(2).validation of the product.
Testing of the product is planned in parallel with a
corresponding phase of development
Project and Requirements Planning is acceptance testing
Specification Analysis is systems testing
Overview/ High-Level Design: defines how software functions
fulfill the design is integration test
Detailed Design: develop algorithms for each architectural
component is unit test
code
ADVANTAGES
emphasize planning for verification and validation of the
product in early stages of product development
each deliverable must be testable
project management can track progress by milestones
easy to use
DISADVANTAGES
Does not
easily handle concurrent events
easily handle dynamic changes in requirements
contain risk analysis activities
Time consuming model
Costly model
RAD MODEL
DESCRIPTIONThe phases in the rapid application development (RAD) model are:
Business modeling: The information flow is identified between various
business functions.
Data modeling: Information gathered from business modeling is used to
define data objects that are needed for the business.
Process modeling: Data objects defined in data modeling are converted to
achieve the business information flow to achieve some specific business
objective. Description are identified and created for CRUD of data objects.
Application generation: Automated tools are used to convert process models
into code and the actual system.
Testing and turnover: Test new components and all the interfaces.
ADVANTAGES Reduced development time.
Increases reusability of components
Quick initial reviews occur
Encourages customer feedback
Integration from very beginning solves a lot of integration
issues.
DISADVANTAGES
Depends on strong team and individual performances for
identifying business requirements.
Only system that can be modularized can be built using
RAD
Requires highly skilled developers/designers.
High dependency on modeling skills
Inapplicable to cheaper projects as cost of modeling and
automated code generation is very high.
INCREMENTAL MODEL
Construct a partial implementation of a total system
Then slowly add increased functionality
The incremental model prioritizes requirements of the system
and then implements them in groups
Each subsequent release of the system adds function to the
previous release, until all designed functionality has been
implemented
ADVANTAGES
develop high-risk or major functions first
each release delivers an operational product
customer can respond to each build
uses “divide and conquer” breakdown of tasks
initial product delivery is faster
customers get important functionality early
risk of changing requirements (at the very end) is reduced
DISADVANTAGES
requires very thoughtful planning and design
requires early definition of a complete and fully functional
system to allow for the definition of increments
well-defined module interfaces are required (some will be
developed long before others) – to allow for a graceful increment