0% found this document useful (0 votes)
28 views9 pages

Software Engineering - Chapter 2 Process Models (Continue)

Uploaded by

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

Software Engineering - Chapter 2 Process Models (Continue)

Uploaded by

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

Software Engineering

Chapter 2 Process Models


(Continue)

1
Evolutionary Models

◼ Software system evolves over time as requirements often change


as development proceeds. Thus, a straight line to a complete end
product is not possible. However, a limited version must be
delivered to meet competitive pressure.
◼ Usually a set of core product or system requirements is well
understood, but the details and extension have yet to be defined.
◼ You need a process model that has been explicitly designed to
accommodate a product that evolved over time.
◼ It is iterative that enables you to develop increasingly more
complete version of the software.
◼ Two types are introduced, namely Prototyping and Spiral models.
2
3. Evolutionary Models: Prototyping Model

Construction
of prototype

3
Prototyping Model (Description)
◼ Follows an evolutionary and iterative approach
◼ Used when requirements are not well understood
◼ Serves as a mechanism for identifying software
requirements
◼ Focuses on those aspects of the software that are
visible to the customer/user
◼ Feedback is used to refine the prototype

4
Prototyping Model (Potential Problems)
◼ The customer sees a "working version" of the
software, wants to stop all development and then
buy the prototype after a "few fixes" are made
◼ Developers often make implementation
compromises to get the software running quickly
(e.g., language choice, user interface, operating
system choice, inefficient algorithms)
◼ Lesson learned
◼ Define the rules up front on the final disposition
of the prototype before it is built
◼ In most circumstances, plan to discard the
prototype and engineer the actual production
software with a goal toward quality
5
Spiral Model (Diagram)

6
Spiral Model (Description)
◼ Follows an evolutionary approach
◼ Used when requirements are not well understood
and risks are high
◼ Inner spirals focus on identifying software
requirements and project risks; may also incorporate
prototyping
◼ Outer spirals take on a classical waterfall approach
after requirements have been defined, but permit
iterative growth of the software

7
Spiral Model (Description)…
◼ Operates as a risk-driven model…a go/no-go
decision occurs after each complete spiral in order
to react to risk determinations

◼ Requires considerable expertise in risk assessment

◼ Serves as a realistic model for large-scale software


development

8
General Weaknesses of Evolutionary
Process Models
1) Prototyping poses a problem to project planning
because of the uncertain number of iterations required
to construct the product
2) Evolutionary software processes do not establish the
maximum speed of the evolution
• If too fast, the process will fall into chaos
• If too slow, productivity could be affected
3) Software processes should focus first on flexibility
and extensibility, and second on high quality
• We should prioritize the speed of the development
over zero defects
• Extending the development in order to reach higher
quality could result in late delivery
9

You might also like