Chapter 02
Chapter 02
The Process
1
Software Engineering
2
A Layered Technology
Software
Software Engineering
Engineering
- provide support for methods
tools and processes
methods - technical how tos
-glue that holds layers
process model together
a “quality” focus - bedrock
3
Types of Software Maintenance
Corrective
Adaptive
Perfective
Preventive
4
A Common Process Framework
5
Umbrella Activities
Software project management (tracking and
control)
Formal technical reviews
Software quality assurance
Software configuration management
Document preparation and production
Reusability management
Measurement
Risk management
6
The Process Model:
Adaptability
the framework activities will always be
applied on every project ... BUT
the tasks (and degree of rigor) for each
activity will vary based on:
the type of project (an “entry point” to the model)
characteristics of the project
common sense judgment; concurrence of the project
team
7
SEI CMM Levels
8
Process as Problem Solving
problem
definition
status technical
quo development
solution
integration
9
The Linear Model
System/information
engineering
10
Waterfall Model
Software Software
Software
Reqmts Detailed
Integration
Analysis Design
Software Item 1 Software Software Software
Architectural Coding & Qualification
Design Testing Testing
System System
Reqmts System Software Integration,
Analysis Architectural Item n Qualification
Design ... & Release
Activities
Hardware
Items
listen
to build/revise
customer mock-up
customer
test-drives
mock-up
Prototyping
12
RAD
team #3
team #2
business
modeling
business
process
modeling
modeling data
modeling application
generation
testing
&
process turnover
data modeling
modeling
application
generation
process
modeling testing
&
turnover
application
generation
testing
&
turnover
60 - 90 days
13
The Incremental Model
System/information increment 1
engineering
delivery of
4th increment
calendar time
14
15
An Evolutionary (Spiral) Model
Pla n n in g
Risk Ana lysis
C usto m e r
C o m m unic a tio n
Eng in e e rin g
C usto m e r
Eva lua tio n C o nstruc tio n & Re le a se
16
17
Still Other Process Models
WINWIN spiral model - defines negotiating activities and adds
anchor points to spiral model
Concurrent process model—recognizes that different part of
the project will be at different places in the process
Component-based development model—the process to apply
when reuse is a development objective
Formal methods—the process to apply when a mathematical
specification is to be developed
Cleanroom software engineering—emphasizes error detection
before testing
18