Software Process Models
CSE 360: Introduction to Software
Engineering
What is a Process Model?
| A structured set of activities required to develop a
software system.
| 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.
| A software process model is an abstract
representation of a process. It presents a description
of a process from some particular perspective
Waterfall vs Incremental Approaches
| Waterfall models are processes where all of the
process activities are planned in-advance and
progress is measured against this plan.
| In Incremental processes, planning is incremental,
and it is easier to change the process to reflect
changing customer requirements.
| In practice, most practical processes include
elements of both waterfall and incremental
approaches.
| There are no right or wrong software processes.
Software Process Models
Software Process
Models
Waterfall Incremental
1. Linear Process Models
a. Waterfall 1. Incremental Model
2. Extreme Programming(XP)
2 Linear Process Model with feedback 3. Scrum
a . V-Model 4. Kanban
3. Evolutionary Process Models
a. Prototyping
b. Spiral
Summary
| Software process models are to bring order to the
software development process with the intention of
producing high quality products on time and within
budget
| Two major categories: Waterfall and Incremental