02 SE Processes
02 SE Processes
INT2208E
Lecture 02: Software Processes
1
Last class
• Software
• Software Engineering
2
Software
3
Software Engineering
Deployment
4
This class
6
Questions (20’)
7
Waterfall model
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
8
Incremental development
Concurrent
activities
Initial
Specification version
Outline Intermediate
description Development versions
Final
Validation version
9
Reuse-oriented software engineering
Requirements Requirements
specification refinement Adapt
components
Software Integrate
evaluation Components system
available Develop new
components
10
Discussion
11
A system to control antilock braking
12
Replacing an existing accounting system by a new one
13
R&D
14
Process activities
15
Requirements engineering
Requirements
elicitation and
analysis
Requirements
specification
Requirements
validation
System
descriptions
User and system
requirements
Requirements
document
16
Software design
Design inputs
Design activities
Database design
Design outputs
17
System implementation
18
Software validation
Component Acceptance
System testing
testing testing
19
V-model
20
Evolution
Existing New
systems system
21
Change in software projects
• Change leads to rework, so the costs of change include both rework (e.g.
re-analyzing requirements) as well as the costs of implementing new
functionality
22
Discussion
23
Prototype development
Establish Define
prototype prototype Develop Evaluate
objectives functionality prototype prototype
24
Incremental delivery
System
incomplete?
Validate Integrate Validate Deploy
increment increment system increment
System
complete?
Final
system
25
Discussion
26
Key points
27
Key points
28
Key points
29
Homework
30
Next class: Agile Software Development
• Agile methods
• Agile development techniques
• Agile project management
• Scaling agile methods
• Reading assignment: Ch. 3 (Software Engineering, 10th Edition,
Sommerville, Ian)
31