Software Engineering - I
Software Engineering - I
-I-
Lecture 1
Software Process Engineering
Fundamental Assumption:
3
Risk Management
4
The Software Process (Simplified)
Feasibility and
Planning Requirements
Design
Operation and
Implementation Maintenance
5
The Waterfall Model
Requirements
Definition
System and
Software design
Programming
and Unit Testing
Integration and
System Testing
Operation and
6
Maintenance
Requirements Analysis and Definition
8
Programming and Unit Testing
9
Integration and System Testing
10
Operation and Maintenance
11
Discussion of the Waterfall Model
Advantages:
v Process visibility
v Dependence on individuals
v Quality control
v Cost control
Disadvantages:
Each stage in the process reveals new
understanding of the previous stages, that
requires the earlier stages to be revised.
12
Feedback in the Waterfall Model
Requirements
Definition
System and
Software design
Programming
and Unit Testing
Integration and
System Testing
Operation and
13
Maintenance
Iterative Refinement
(Evolutionary Development)
14
Iterative Refinement
Evaluation Requirements
Implementation Design
15
(Prototype on Spiral Model)
Iterative Refinement
Concurrent
Activities
Initial
Requirements Version
Outline Intermediate
Design
Description Versions
Implementation Final
16 Version
Iterative Refinement & Software
Process
Concurrent
Activities
Outline
Description Requirements
Design
Implementation Final
17 Version
Iterative Refinement
18
Iterative Refinement + Waterfall Model:
Graphics for Basic
19
Iterative Refinement + Waterfall Model:
Graphics for Basic
Design Issues:
v Pictorial subprograms: coordinate systems, window/viewport
v User specification of perspective
Design Strategy: (Iterative Refinement)
v Write a series of prototypes with various proposed semantics
v Evaluate with a set of programming tasks
20
Iterative Refinement + Waterfall Model:
Graphics for Basic
21
Observations about Software Processes