0% found this document useful (0 votes)
605 views

Prescriptive Process Models

The document discusses five prescriptive process models for software development: the waterfall model, incremental model, RAD (rapid application development) model, prototype model, and spiral model. Each model is described in one or two paragraphs outlining their key characteristics, advantages, and disadvantages. The waterfall model is a linear sequential model inappropriate for changing requirements. The incremental model delivers functionality incrementally. RAD emphasizes short development cycles. Prototyping gets early user feedback. The spiral model combines waterfall and prototyping with risk analysis at each cycle.

Uploaded by

Pranay Mahadik
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
605 views

Prescriptive Process Models

The document discusses five prescriptive process models for software development: the waterfall model, incremental model, RAD (rapid application development) model, prototype model, and spiral model. Each model is described in one or two paragraphs outlining their key characteristics, advantages, and disadvantages. The waterfall model is a linear sequential model inappropriate for changing requirements. The incremental model delivers functionality incrementally. RAD emphasizes short development cycles. Prototyping gets early user feedback. The spiral model combines waterfall and prototyping with risk analysis at each cycle.

Uploaded by

Pranay Mahadik
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Prescriptive Process Models

The prescriptive process models fall into 5 categories. A software Engineer has to select one
or more of the 5 process models for software development

They are –

1. Waterfall Model

2. Incremental Model

3. RAD Model

4. Prototype Model

5. Spiral Model

1. The Waterfall Model:

There are times when the requirements of a problem are reasonably well understood – when
work flows from communication through deployment in a reasonably linear fashion. Stages are
cascaded and shall be developed one after the other. In other words one stage should be
completed before the other begins. Hence, when all the requirements are elicited by the
customer, analyzed for completeness and consistency, documented as per requirements, the
development and design activities commence.

Today software work is fast paced and subject to a never-ending stream of changes in features,
functions and information content. Waterfall model is inappropriate for such work. This model is
useful in situation where the requirements are fixed and work proceeds to completion in a linear
manner.

Problems that are encountered with the waterfall model are:

1. Real projects do not follow the sequential flow that the model proposes.
2. It is often difficult for the customer to state all requirements explicitly.
3. The customer must have patience. A working version of the program will not be available
until late in the project time-span.
Advantages:
1. Enforces a disciplined Engineering approach
2. Large documentation to show visibility of process
3. Due to documentation maintenance cost is reduced
Disadvantages:
1. Documentation slows down the process
2. Lacks Flexibility
3. Feedback happens very late in the life cycle

2. Incremental Model

The incremental model combines elements of the waterfall model applied in an iterative fashion.
The incremental model delivers a series of releases, called increments, that provides
progressively more functionality for the customer at each increment is delivered. In each
increment, additional functions and features are added after confirming the utility of earlier
increments.
In incremental development the system is partitioned into subsystems or increments. The
releases are defined in the beginning. In this model first increment is the core product or primary
function. The core product implemented undergoes detailed evaluation by the user which
becomes advantages for future increments.
Advantages
1. The software team can be small in size
2. Additional increments can be planned and managed to address technical risks
3. Prompt system delivery to use without any hassle
4. Early increment with partial functionality can be used by customer to prevent delay

3 Rapid Application Development Model(RAD Model)

Rapid Application Development (RAD) is a modern software process model that emphasizes a
short development cycle. The RAD Model is a “high-speed” adaptation of the waterfall model,
in which rapid development is achieved by using a component based construction approach. If
requirements are well understood and project scope is considered, the RAD process enables a
development team to create a “Fully Functional System” within a very short period of time
One of the distinct features of RAD model is the possibility of cross life cycle activities which
will be assigned to teams, teams #1 to team #n leading to each module getting developed almost
simultaneously.
RAD model distributes the analysis and construction phases into a series of short iterative
development cycles. The activities of each phase per team are Business modeling, Data modeling
and process modeling.
Advantages:
1. Changing requirements can be accommodated and progress can be measured.
2. Powerful RAD tools can reduce development time.
3. Suitable for scalable component based systems
Limitations:

1. Requires strong technical team expertise and skills.


2. Requires commitment of time by all
3. May not be appropriate for very large scale systems
4. The Prototype Model:

Prototyping is a technique for providing a reduced functionality or a limited performance


versions of a software system. More emphasis is directed to requirement analysis and
functional specification. They use some form of functional specification as a start6ing point
or input which is then simulated, analysed and executed. They allow developers to rapidly
construct primitive versions that can be evaluated by users. User’s evaluation can be
incorporated as feedback to refine the specifications and designs. The complete working
version may evolve on a continuous basis.
Advantages:
1. Customer feedback is taken early in the process to avoid costly redesign later
2. Developer can benefit from experience gained from building the prototype and
apply this experience towards building a better product.
Disadvantages:
1. Depending on the type of software , it may not be possible to build a meaningful
prototype without considerable effort
2. The customer may use the prototype as the final product and so no enhancements
happen.
5. Spiral Modelling

Evolutionary Models: The Spiral


planning
estimation
scheduling
risk analysis

communication

modeling
analysis
design
start

deployment
construction
delivery code
feedback test

It uses the best of waterfall model and rapid prototype model. Starting with the initial
communication, it moves into the planning quadrant in clockwise direction and then risk
analysis, modeling and deployment of the final product happens as it passes through the
quadrants outwards. At each interaction cycle a progressively more complete version of the
prototype is built. At each customer evaluation, the engineering work is evaluated and
suggestions for modification are made. The project is terminated when the risk associated are
large.
Advantages:
1. Combines best features of waterfall model aand protype models
2. Addresses risk associated with software development
3. Enable the developers to apply prototyping at any stage in the evolution of the product
Disadvantages:
1. Complicated and so not suitable for small projects
2. Requires considerable risk assessment expertise.
3. If a major risk is undiscovered , a huge problem may occur.

You might also like