0% found this document useful (0 votes)
35 views18 pages

Lecture 4 - Software Process Model

This document discusses evolutionary software process models, including prototyping, the spiral model, and component-based development (CBD). Prototyping involves building initial versions of a software system to help define requirements, which may then evolve into the final product. The spiral model is iterative like prototyping but more controlled, proceeding through multiple iterations to develop increasingly complete versions. CBD reuses existing software components with well-defined interfaces to build new systems, incorporating aspects of the spiral model such as iterative development and risk analysis.

Uploaded by

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

Lecture 4 - Software Process Model

This document discusses evolutionary software process models, including prototyping, the spiral model, and component-based development (CBD). Prototyping involves building initial versions of a software system to help define requirements, which may then evolve into the final product. The spiral model is iterative like prototyping but more controlled, proceeding through multiple iterations to develop increasingly complete versions. CBD reuses existing software components with well-defined interfaces to build new systems, incorporating aspects of the spiral model such as iterative development and risk analysis.

Uploaded by

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

Introduction to Software Engineering

Software Process Model (2)

Muhammad Nasir
[email protected]
Outline
 Evolutionary Process Models
 Prototyping
 Spiral Model
 Component based development (CBD)
Evolutionary Process Model
 A process model that has been explicitly designed to
accommodate a product that evolves over time.
 Produce an increasingly more complete version of the
software with each iteration.
 Evolutionary Models are iterative.
 Evolutionary models are:
 Prototyping
 Spiral Model
Evolutionary Process Models:
Prototyping
Prototyping (cont..)
 Often, a customer defines a set of general
objectives for software, but does not identify
detailed requirements for functions and features.
 In this case Prototyping is best suited
 Prototyping can be used together with other
models for elicitation of requirements
 The prototype can serve as “the first system.”
 Some prototypes are “Throw Away” while others
also evolve and become part of the actual system
Prototyping (cont..)
 Both customers and developers like the prototyping paradigm.
 Customer/End user gets a feel for the actual system
 Developer get to build something immediately.

Problem Areas:
 Developer often makes implementation in order to get a prototype
working quickly without considering long term maintainability and
Quality, efficient algorithms etc.
 Customer cries foul and demand that “a few fixes” be applied to
make the prototype a working product, due to that software quality
suffers as a result.

Customer and developer both must agree that the prototype is built to
serve as a mechanism for defining requirement.
Spiral Model
Spiral Model
 Combines iterative nature of prototyping
with the controlled and systematic aspects
of the linear sequential model
 Using spiral, software developed in as series
of evolutionary release.
 Early iteration, release might be on paper
or prototype.
 Later iteration, more complete version of
software.
Spiral Model
 Evolutionary process begins in a
clockwise direction, beginning at the
center risk.
 First circuit around the spiral might result
in development of a product specification.
Subsequently, develop a prototype
while progressively constructing more
sophisticated version of software.
 Unlike other process models that end
when software is delivered.
Spiral Model (cont.)
Concept Development Project:
 Start at the core and continues for multiple iterations until it is complete.
 If concept is developed into an actual product, the process proceeds
outward on the spiral.
New Product Development Project:
 New product will evolve through a number of iterations around the spiral.
 Later, a circuit around spiral might be used to represent a “Product
Enhancement Project”
Product Enhancement Project:
 There are times when process is dormant or software team not developing
new things but change is initiated, process start at appropriate entry point.
Spiral Model (cont.)
 The spiral model uses prototyping as a risk
reduction mechanism.
 It maintains the systematic stepwise approach
suggested by the classic life-cycle
 But incorporates it into an iterative framework
that more realistically reflects the real world.
 The spiral model demands a direct
consideration of technical risks at all stages
of the project
Spiral Model (cont..)
Problem Area:
 It may be difficult to convince customers (particularly in
contract situations) that the evolutionary approach is
controllable.
 It demands considerable risk assessment expertise
Specialized Process Model
 Specialized process models take on
many of the characteristics of one or
more of the traditional models
presented in the preceding sections.
 However, these models tend to be
applied when a specialized or
narrowly defined software
engineering approach is chosen.
Component Based Development Model

 Commercial off-the-shelf (COTS) software


components, provide targeted functionality with
well-defined interfaces
 that enable the component to be integrated into
the software that is to be built.
 The component-based development model
incorporates many of the characteristics of the
spiral model.
CBD (Cont…)
1. Available component-based products are
researched and evaluated for the application
domain in question.
2. Component integration issues are considered.
3. A software architecture is designed to
accommodate the components.
4. Components are integrated into the architecture.
5. Comprehensive testing is conducted to ensure
proper functionality.
Component Based Development Model
CBD Model (cont.)
 The component-based development
model leads to software reuse, and
reusability and a number of
measurable benefits.
 Reduction in software development
cycle time as well as
 Reduction in project cost
The End
 Thanks for Listening
 Questions & Answers

You might also like