Prescriptive Process Models
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
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.
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
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:
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.