Lec02 Process Model
Lec02 Process Model
1
Topics covered
2
The software process
4
Plan-driven and agile processes
5
Software process models
6
Software process models
8
Waterfall model phases
9
Waterfall model problems
10
Incremental development
11
Incremental development benefits
13
Integration and configuration
14
Types of reusable software
15
Reuse-oriented software engineering
16
Key process stages
✧ Requirements specification
✧ Software discovery and evaluation
✧ Requirements refinement
✧ Application system configuration
✧ Component adaptation and integration
17
Advantages and disadvantages
18
Process activities
19
Process activities
20
The requirements engineering process
21
Software specification
22
Software design and implementation
23
A general model of the design process
24
Design activities
26
Software validation
27
Stages of testing
28
Testing stages
✧ Component testing
▪ Individual components are tested independently;
▪ Components may be functions or objects or coherent groupings
of these entities.
✧ System testing
▪ Testing of the system as a whole. Testing of emergent properties
is particularly important.
✧ Customer testing
▪ Testing with customer data to check that the system meets the
customer’s needs.
29
Testing phases in a plan-driven software
process (V-model)
30
Software evolution
31
System evolution
32
Incremental delivery
33
Incremental development and delivery
✧ Incremental development
▪ Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
▪ Normal approach used in agile methods;
▪ Evaluation done by user/customer proxy.
✧ Incremental delivery
▪ Deploy an increment for use by end-users;
▪ More realistic evaluation about practical use of software;
▪ Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
34
Incremental delivery
35
Incremental delivery advantages
36
Incremental delivery problems
37