0% found this document useful (0 votes)
3 views7 pages

Software Process Models

The document outlines various software processes, emphasizing the importance of specification, design, implementation, validation, and evolution in software development. It details several software process models, including Waterfall, V, Incremental, RAD, Spiral, and Agile models, each with unique characteristics and applications. Additionally, it introduces Visual Paradigm as a tool for managing software processes and project management effectively.

Uploaded by

Raji S
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)
3 views7 pages

Software Process Models

The document outlines various software processes, emphasizing the importance of specification, design, implementation, validation, and evolution in software development. It details several software process models, including Waterfall, V, Incremental, RAD, Spiral, and Agile models, each with unique characteristics and applications. Additionally, it introduces Visual Paradigm as a tool for managing software processes and project management effectively.

Uploaded by

Raji S
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

Software Processes is a coherent set of activities for specifying, designing, implementing and

testing software systems. A software process model is an abstract representation of a process that
presents a description of a process from some particular perspective. There are many different
software processes but all involve:

 Specification – defining what the system should do;


 Design and implementation – defining the organization of the system and implementing
the system;
 Validation – checking that it does what the customer wants;
 Evolution – changing the system in response to changing customer needs.

Types of Software Process Model


Software processes, methodologies and frameworks range from specific prescriptive steps that
can be used directly by an organization in day-to-day work, to flexible frameworks that an
organization uses to generate a custom set of steps tailored to the needs of a specific project or
group. In some cases a “sponsor” or “maintenance” organization distributes an official set of
documents that describe the process.

Software Process and Software Development Lifecycle Model

One of the basic notions of the software development process is SDLC models which stands for
Software Development Life Cycle models. There are many development life cycle models that
have been developed in order to achieve different required objectives. The models specify the
various stages of the process and the order in which they are carried out. The most used, popular
and important SDLC models are given below:

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

Waterfall Model
The waterfall model is a breakdown of project activities into linear sequential phases, where each
phase depends on the deliverables of the previous one and corresponds to a specialisation of
tasks. The approach is typical for certain areas of engineering design.
V Model
The V-model represents a development process that may be considered an extension of the
waterfall model and is an example of the more general V-model. Instead of moving down in a
linear way, the process steps are bent upwards after the coding phase, to form the typical V
shape. The V-Model demonstrates the relationships between each phase of the development life
cycle and its associated phase of testing. The horizontal and vertical axes represent time or
project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction
uppermost), respectively.
Incremental model
The incremental build model is a method of software development where the model is designed,
implemented and tested incrementally (a little more is added each time) until the product is
finished. It involves both development and maintenance. The product is defined as finished when
it satisfies all of its requirements. Each iteration passes through the requirements, design, coding
and testing phases. And each subsequent release of the system adds function to the previous
release until all designed functionally has been implemented. This model combines the elements
of the waterfall model with the iterative philosophy of prototyping.

Iterative Model
An iterative life cycle model does not attempt to start with a full specification of requirements by
first focusing on an initial, simplified set user features, which then progressively gains more
complexity and a broader set of features until the targeted system is complete. When adopting
the iterative approach, the philosophy of incremental development will also often be used
liberally and interchangeably.

In other words, the iterative approach begins by specifying and implementing just part of the
software, which can then be reviewed and prioritized in order to identify further requirements.
This iterative process is then repeated by delivering a new version of the software for each
iteration. In a light-weight iterative project the code may represent the major source of
documentation of the system; however, in a critical iterative project a formal software
specification may also be required.
RAD model
Rapid application development was a response to plan-driven waterfall processes, developed in
the 1970s and 1980s, such as the Structured Systems Analysis and Design Method (SSADM).
Rapid application development (RAD) is often referred as the adaptive software development.
RAD is an incremental prototyping approach to software development that end users can
produce better feedback when examining a live system, as opposed to working strictly with
documentation. It puts less emphasis on planning and more emphasis on an adaptive process.

RAD may resulted in a lower level of rejection when the application is placed into production,
but this success most often comes at the expense of a dramatic overruns in project costs and
schedule. RAD approach is especially well suited for developing software that is driven by user
interface requirements. Thus, some GUI builders are often called rapid application development
tools.

Spiral model
The spiral model, first described by Barry Boehm in 1986, is a risk-driven software development
process model which was introduced for dealing with the shortcomings in the traditional
waterfall model. A spiral model looks like a spiral with many loops. The exact number of loops
of the spiral is unknown and can vary from project to project. This model supports risk handling,
and the project is delivered in loops. Each loop of the spiral is called a Phase of the software
development process.

The initial phase of the spiral model in the early stages of Waterfall Life Cycle that is needed to
develop a software product. The exact number of phases needed to develop the product can be
varied by the project manager depending upon the project risks. As the project manager
dynamically determines the number of phases, so the project manager has an important role to
develop a product using a spiral model.
Agile model
Agile is an umbrella term for a set of methods and practices based on the values and principles
expressed in the Agile Manifesto that is a way of thinking that enables teams and businesses to
innovate, quickly respond to changing demand, while mitigating risk. Organizations can be agile
using many of the available frameworks available such as Scrum, Kanban, Lean, Extreme
Programming (XP) and etc.

The Agile movement proposes alternatives to traditional project management. Agile approaches
are typically used in software development to help businesses respond to unpredictability which
refer to a group of software development methodologies based on iterative development, where
requirements and solutions evolve through collaboration between self-organizing cross-
functional teams.

The primary goal of being Agile is empowered the development team the ability to create and
respond to change in order to succeed in an uncertain and turbulent environment. Agile software
development approach is typically operated in rapid and small cycles. This results in more
frequent incremental releases with each release building on previous functionality. Thorough
testing is done to ensure that software quality is maintained.

Managing Software Process with Visual Paradigm


Visual Paradigm provides a rich set of project management tools that help software team perform
major development activities and manage the artifact created throughout the process.

Project Manage Guide-Through

Kick-start any size of IT projects with automated guide-through process, with step-by-step
instruction, input references and samples. Develop deliverables incrementally and
collaboratively with your team members.
Just-in-Time PMBOK / Project Management Process Map

People are facing great deal of difficulties on Project Management such as steep learning curve
and high costs hiring certified professionals. Visual Paradigm’s unique automated PMBOK tool
provides all the help and guidance for jumpstarting IT project management with minimal costs.

You might also like