Software Development Processes Course: Research Paper

profilefarzadbigz
PowerPointfortheWaterfallModel.pptx

The Waterfall Model

A Word on Vocabulary

Waterfall is called

Process Model

Lifecycle

We use lifecycle.

More VocabuLary confusion

Software development activities:

Pressman: Sommerville:

Communication Specification

Planning Development

Modeling Validation

Construction Evolution

Deployment

We will use

Proposal

Requirements Engineering

Planning

Design

Construction

Testing

Deployment

Maintenance

The Waterfall Lifecycle

Each activity is a phase

For the most part, the phases are done in order once.

At the end of each phase a document is reviewed

There is limited capability for backtracking

From one phase to its immediate predecessor

From a later phase back to Requirements Engineering or Design

Go/No-go decision at the end of each phase

Waterfall Advantages

Easier for upper management to track

Easier use of specialists

Reviewed formal documents valuable to maintenance and support

Emphasis on formal communication

Minimal involvement of customer and potential users

Disadvantages

Difficult, if not impossible to do a phase completely before moving on.

Expensive to backtrack

Software development is a learning process

Significant change is almost always frequent and unpredictable

No partial products available before development is complete

When to Use

Some government agencies provide complete requirements as a Request for Proposal

Developing prototypes as part of a larger project

Some informal projects.

Still frequently used in 2018.

Variations on Waterfall

V Model

Requirements Engineering Acceptance Testing

Architectural Design System Testing

Component Design Integration Testing

Code Generation Unit Testing

Another Variation

Partition the Product

When it needs to be available

Risk (see Spiral Model)

Pick one partition and develop it using Waterfall

Select another partition and develop it using Waterfall

Continue until you have the entire product.

More on the Last Variation

Each partition may be implemented at the same time

Supports multiple development teams, perhaps located differently.

Or implementation may proceed one partition at a time.

Typically, three to six months for each partition implementation.