0% found this document useful (0 votes)
8 views10 pages

What Is A Software Process Model

Uploaded by

tayyabmalik4411
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views10 pages

What Is A Software Process Model

Uploaded by

tayyabmalik4411
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Software process model:

A software process model is an abstraction of the software


development process. The models specify the stages and order of
a process. So, think of this as a representation of the order of
activities of the process and the sequence in which they are
performed.

A model will define the following:

 The tasks to be performed


 The input and output of each task
 The pre and post-conditions for each task
 The flow and sequence of each task

The goal of a software process model is to provide guidance for


controlling and coordinating the tasks to achieve the end product
and objectives as effectively as possible.
There are many kinds of process models for meeting different requirements. We refer to
these as SDLC models (Software Development Life Cycle models). The most popular and
important SDLC models are as follows:

 Waterfall model
 V model
 Incremental model
 RAD model
 Agile model
 Iterative model
 Prototype model
 Spiral model

Types of software process models:


Some software models are as follows

1. Waterfall Model

The waterfall model is a sequential, plan driven-process where you must plan and
schedule all your activities before starting the project. Each activity in the waterfall model
is represented as a separate phase arranged in linear order.

It has the following phases:

 Requirements
 Design
 Implementation
 Testing
 Deployment
 Maintenance

Each of these phases produces one or more documents that need to be approved before the
next phase begins. However, in practice, these phases are very likely to overlap and may
feed information to one another.

The software process isn’t linear, so the documents produced may need to be modified to
reflect changes.
The waterfall model is easy to understand and follow. It doesn’t require a lot of customer
involvement after the specification is done. Since it’s inflexible, it can’t adapt to changes.
There is no way to see or try the software until the last phase.

The waterfall model has a rigid structure, so it should be used in cases where the
requirements are understood completely and unlikely to radically change.

2. V Model

The V model (Verification and Validation model) is an extension of the waterfall model. All
the requirements are gathered at the start and cannot be changed. You have a
corresponding testing activity for each stage. For every phase in the development cycle,
there is an associated testing phase.

V Model
The corresponding testing phase of the development phase is planned in parallel, as you
can see above.

The V model is highly disciplined, easy to understand, and makes project management
easier. But it isn’t good for complex projects or projects that have unclear or changing
requirements. This makes the V model a good choice for software where downtimes and
failures are unacceptable.

3. Incremental Model

The incremental model divides the system’s functionality into small increments that are
delivered one after the other in quick succession. The most important functionality is
implemented in the initial increments.

The subsequent increments expand on the previous ones until everything has been
updated and implemented.
Incremental development is based on developing an initial implementation, exposing it to
user feedback, and evolving it through new versions. The process’ activities are interwoven
by feedback.

Each iteration passes through the requirements, design, coding, and testing stages.
Incremental Model

The incremental model lets stakeholders and developers see results with the first
increment. If the stakeholders don’t like anything, everyone finds out a lot sooner. It is
efficient as the developers only focus on what is important and bugs are fixed as they arise,
but you need a clear and complete definition of the whole system before you start.

The incremental model is great for projects that have loosely coupled parts and projects
with complete and clear requirements.

4. Iterative Model

The iterative development model develops a system by building small portions of all the
features. This helps to meet the initial scope quickly and release it for feedback.
In the iterative model, you start off by implementing a small set of software requirements.
These are then enhanced iteratively in the evolving versions until the system is
completed. This process model starts with part of the software, which is then implemented
and reviewed to identify further requirements.

Iterative Model

Like the incremental model, the iterative model allows you to see the results at the early
stages of development. This makes it easy to identify and fix any functional or design
flaws. It also makes it easier to manage risk and change requirements.

The deadline and budget may change throughout the development process, especially for
large complex projects. The iterative model is a good choice for large software that can
be easily broken down into modules.

5. RAD Model

The Rapid Application Development (RAD model) is based on iterative development and
prototyping with little planning involved. You develop functional modules in parallel for
faster product delivery. It involves the following phases:

1. Business modeling
2. Data modeling
3. Process modeling
4. Application generation
5. Testing and turnover

6. The RAD concept focuses on gathering requirements using focus groups and
workshops, reusing software components, and informal communication.
Source: Omar Elgabry

There are many kinds of process models for meeting different


requirements. We refer to these as SDLC models (Software
Development Life Cycle models). The most popular and important
SDLC models are as follows:

 Waterfall model
 V model
 Incremental model
 RAD model

 Agile model
 Iterative model
 Prototype model
 Spiral model

You might also like