1
Chapter 2
Chapter 2
The
The
Process
Process
2
Software Engineering
Software Engineering
 Defined by IEEE 610.12-1990 as:
Defined by IEEE 610.12-1990 as:
 (1) The application of a systematic, disciplined, quantifiable
(1) The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance
approach to the development, operation, and maintenance
of software; that is, the application of engineering to software.
of software; that is, the application of engineering to software.
(2) The study of approaches in (1).
(2) The study of approaches in (1).
3
Software Engineering
A Layered
A Layered
Technology
Technology
Software Engineering
a “quality” focus
a “quality” focus
process model
process model
methods
methods
tools
tools
- provide support for methods
and processes
- technical how tos
-glue that holds layers
together
- bedrock
4
Types of Software
Types of Software
Maintenance
Maintenance
 Corrective
Corrective
 Adaptive
Adaptive
 Perfective
Perfective
 Preventive
Preventive
5
A Common Process
A Common Process
Framework
Framework
Common process framework
Common process framework
Framework activities
Framework activities
Task Sets
Task Sets
Umbrella Activities
Umbrella Activities
tasks
tasks
milestones,deliverables
milestones,deliverables
SQA checkpoints
SQA checkpoints
6
Umbrella
Umbrella
Activities
Activities
 Software project management
Software project management
(tracking and control)
(tracking and control)
 Formal technical reviews
Formal technical reviews
 Software quality assurance
Software quality assurance
 Software configuration management
Software configuration management
 Document preparation and production
Document preparation and production
 Reusability management
Reusability management
 Measurement
Measurement
 Risk management
Risk management
7
The Process
The Process
Model:
Model:
Adaptability
Adaptability
 the framework activities will
the framework activities will always
always be
be
applied on
applied on every
every project ... BUT
project ... BUT
 the tasks (and degree of rigor) for each
the tasks (and degree of rigor) for each
activity will vary based on:
activity will vary based on:
 the type of project (an “entry point” to the model)
the type of project (an “entry point” to the model)
 characteristics of the project
characteristics of the project
 common sense judgment; concurrence of the
common sense judgment; concurrence of the
project team
project team
8
SEI CMM Levels
9
Process as Problem
Process as Problem
Solving
Solving
status
quo
problem
definition
technical
development
solution
integration
10
The Linear
The Linear
Model
Model
analysis design code test
System/information
engineering
11
System
Reqmts
Analysis
System
Architectural
Design
Software
Reqmts
Analysis
Software
Architectural
Design
Software
Detailed
Design
Software
Coding &
Testing
Software
Integration
Software
Qualification
Testing
System
Integration,
Qualification
& Release
Activities
Software
Item n
. . .
Software Item 1
Hardware
Items
Note: 1) Software Lifecycle Activities are bolded / shaded
2) This model is consistent with IEEE/EIA 12207.2 - 1997
Waterfall Model
12
Prototypin
Prototypin
g
g
listen
to
customer
build/revise
mock-up
customer
test-drives
mock-up
Prototyping
13
RAD
RAD
business
modeling
data
modeling
process
modeling
application
generation
testing
&
turnover
business
modeling
data
modeling
process
modeling
application
generation
testing
&
turnover
business
modeling
data
modeling
process
modeling
application
generation
testing
&
turnover
team #1
team #2
team #3
60 - 90 days
14
The Incremental
The Incremental
Model
Model
analysis design code test
System/information
engineering
analysis design code test
analysis design code test
analysis design code test
increment 2
increment 3
increment 4
increment 1
delivery of
1st increment
delivery of
2nd increment
delivery of
3rd increment
delivery of
4th increment
calendar time
15
16
An Evolutionary (Spiral)
An Evolutionary (Spiral)
Model
Model
Customer
Communication
Planning
Construction & Release
Customer
Evaluation
Engineering
Risk Analysis
17
18
Still Other Process
Still Other Process
Models
Models
 WINWIN spiral model - defines negotiating activities
WINWIN spiral model - defines negotiating activities
and adds anchor points to spiral model
and adds anchor points to spiral model
 Concurrent process model
Concurrent process model—recognizes that different
—recognizes that different
part of the project will be at different places in the
part of the project will be at different places in the
process
process
 Component-based development model
Component-based development model—the process
—the process
to apply when reuse is a development objective
to apply when reuse is a development objective
 Formal methods
Formal methods—the process to apply when a
—the process to apply when a
mathematical specification is to be developed
mathematical specification is to be developed
 Cleanroom software engineering
Cleanroom software engineering—emphasizes error
—emphasizes error
detection
detection before
before testing
testing

software requirement engineeringg.ppt