Process Models: Dr. Hameedur Rahman
Process Models: Dr. Hameedur Rahman
1
CS-204 Software Engineering
SOFTWARE PROCESS MODELS
SOFTWARE LIFE CYCLE
When a process involves building a software, the
process may be referred to as software life cycle
Requirements analysis and definition
System (architecture) design
Program (detailed/procedural) design
Writing programs (coding/implementation)
Testing: unit, integration, system
System delivery (deployment)
Maintenance
2
SOFTWARE PROCESS MODELS
SOFTWARE DEVELOPMENT PROCESS MODELS
Waterfall model
V model
Prototyping model
Operational specification
Transformational model
Phased development: increments and iterations
Spiral model
Agile methods
3
SOFTWARE PROCESS MODELS
WATERFALL MODEL
One of the first process development models proposed
Works for well understood problems with minimal or no changes in the
requirements
In it, one development stage should be completed before the next
begins, thus when all the requirements are elicited from the customer,
analyzed for completeness and consistency and documented in a
requirement document, then the development team can go on to
system design activities.
Simple and easy to explain to customers
It presents
a very high-level view of what goes on during development
sequence of process activities
Each major phase is marked by milestones and deliverables
(artifacts) 4
- Milestones are the end-point of a process activity
- Deliverables are project results delivered to customers
SOFTWARE PROCESS MODELS
WATERFALL MODEL (CONTINUED)
5
SOFTWARE PROCESS MODELS
WATERFALL MODEL (CONTINUED)
There is no iteration in waterfall model
Most software developments apply a great many
iterations
6
Fig: The software development process in reality
SOFTWARE PROCESS MODELS
ADVANTAGES OF THE WATERFALL MODEL
10
SOFTWARE PROCESS MODELS
WATERFALL MODEL WITH PROTOTYPE
(CONTINUED)
Prototyping helps
developers assess alternative design strategies (design
prototype)
users understand what the system will be like (user
interface prototype)
Prototyping is useful for verification and validation
- Validation: ensures that the system has
implemented all of the requirements, so that each
system function can be traced back to a particular
requirement in the specification. It ensures that
developer is building the right product (according to
specifications).
- Verification : ensures that each function works
correctly. It checks quality of the implementation.
11
SOFTWARE PROCESS MODELS
WATERFALL MODEL WITH PROTOTYPE
(CONTINUED)
Waterfall model with prototyping
12
SOFTWARE PROCESS MODELS
V MODEL
V model is a variation of the waterfall model
Uses unit testing to verify program design i.e during
unit and integration testing, the coders and test team
members should ensure that all aspects of the program
design have been implemented correctly in the code.
Uses integration testing to verify architectural (system)
design
Uses acceptance testing to validate the requirements
If problems are found during verification and
validation, the left side of the V can be re-executed to
fix and improve the requirements, design and code
before testing step on the right side are re-enacted.
13
SOFTWARE PROCESS MODELS
V MODEL (CONTINUED)
14
ASSIGNMENT # 01
The assignment is to read the chapter 2 from the book called "Software
Engineering : A practitioners Approach by roger pressman" and then
answer the following.
List five questions that :(1) designers should ask users,(2) users should ask
designers, (3) users should ask themselves about the software product
that is to be built, and (4) designers should ask themselves about the
software product that is to be built and the process that will be used to
build it.
15