Veeru sdlc ppt

Preview:

Citation preview

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