KEMBAR78
L17 SoftwareLifecycleModels | PDF | Software Development Process | Software Prototyping
0% found this document useful (0 votes)
46 views94 pages

L17 SoftwareLifecycleModels

Soft
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views94 pages

L17 SoftwareLifecycleModels

Soft
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 94

Software Lifecycles Models

Software Engineering
Lecture 17

Bernd Bruegge
Applied Software Engineering
Technische Universitaet Muenchen

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Outline of Todays Lecture


Modeling the software life cycle
Sequential models
Pure waterfall model
V-model
Sawtooth model

Iterative models
Boehms spiral model
Unified Process

Entity-oriented models
Issue-based model

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Typical Software Life Cycle Questions

Which activities should we select for the software project?


What are the dependencies between activities?
How should we schedule the activities?
To find these activities and dependencies we can use the same modeling
techniques we use for software development:
Functional Modeling of a Software Lifecycle
Scenarios
Use case model
Structural modeling of a Software Lifecycle
Object identification
Class diagrams
Dynamic Modeling of a Software Lifecycle
Sequence diagrams, statechart and activity diagrams

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Definitions
Software life cycle:
Set of activities and their relationships to each other to
support the development of a software system

Software development methodology:


A collection of techniques for building models applied
across the software life cycle

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Functional Model of a simple life cycle


model
Software development
<<include>>

<<include>>

<<include>>

Problem definition

Client

2006 Bernd Bruegge

System development

Project manager

Developer

Software Engineering WS 2006/2007

System operation

Administrator

End user

Activity Diagram for the same Life Cycle


Model

Problem
definition
activity

System
development
activity

System
operation
activity

Software development goes through a linear progression of states


called software development activities

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Another simple Life Cycle Model

System
development
activity

System
upgrade
activity

Market
creation
activity

System Development and Market creation can be done in parallel.


They must be done before the system upgrade activity

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Two Major Views of the Software Life Cycle


Activity-oriented view of a software life cycle
Software development consists of a set of development
activities

all the examples so far

Entity-oriented view of a software life cycle


Software development consists of the creation of a set of
deliverables.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

Entity-centered view of Software Development

Software Development

Lessons learned
document

Market survey
document
System specification
document

Executable system

Software development consists of the creation of a


set of deliverables
2006 Bernd Bruegge

Software Engineering WS 2006/2007

Combining Activities and Entities in One


View
Activity

Work product
Market survey
document

consumes
Problem definition
activity

System development
activity

produces
consumes
produces

System operation
activity

Executable system

consumes
produces

2006 Bernd Bruegge

Specification
document

Lessons learned
document

Software Engineering WS 2006/2007

10

IEEE Std 1074: Standard for Software Life


Process Group
Cycle Activities
IEEE Std 1074

Project
Management
> Project Initiation
>Project Monitoring
&Control
> Software Quality
Management

PreDevelopment
> Concept
Exploration
> System
Allocation

Development

PostDevelopment

> Requirements
> Design
> Implementation

CrossDevelopment
(Integral Processes)

> Installation
> Operation &
Support
> Maintenance
> Retirement

>V&V
> Configuration
Management
> Documentation
> Training

Process

2006 Bernd Bruegge

Software Engineering WS 2006/2007

11

Object Model of the IEEE 1074 Standard


Software Life Cycle

Money
*
Process Group

Time
Participant

*
Process

Work Unit

consumed by

*
Activity
2006 Bernd Bruegge

Resource

Task
Software Engineering WS 2006/2007

*
produces

Work Product
12

Life Cycle Modeling


Many models have been proposed to deal with
the problems of defining activities and
associating them with each other
The first model proposed was the waterfall model
[Royce]
Spiral model [Boehm]
Objectory process [Jacobsen]
Rational process [Kruchten]
Unified process [Jacobsen, Booch, Rumbaugh]

2006 Bernd Bruegge

Software Engineering WS 2006/2007

13

The Waterfall Model of


the Software Life
Cycle

Concept
Exploration
Process
System
Allocation
Process
Requirements
Process

Design
Process
Implementation
Process
Verification
& Validation
Process

adapted from [Royce 1970]

Installation
Process
Operation &
Support Process

2006 Bernd Bruegge

Software Engineering WS 2006/2007

14

DOD Standard 2167A


Example of a waterfall model with the following
software development activities

System Requirements Analysis/Design


Software Requirements Analysis
Preliminary Design and Detailed Design
Coding and CSU testing
CSC Integration and Testing
CSCI Testing
System integration and Testing

Required by the U.S. Department of Defense for


all software contractors in the 1980-90s.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

15

Activity Diagram of
MIL DOD-STD-2167A
System
Requirements
Analysis

Preliminary
Design

System
Requirements
Review

Preliminary
Design Review
System
Design

Detailed
Design

System
Design
Review

Critical Design
Review (CDR)
Software
Requirements
Analysis

Software
Specification
Review

2006 Bernd Bruegge

CSC
Integration
& Testing

Coding &
CSU Testing

Software Engineering WS 2006/2007

16

From the Waterfall Model to the V Model


Acceptance

Requirements
Engineering

System
Testing

Requirements
Analysis
Integration
Testing

System Design

Unit
Testing

Object
Design
Implementation

Unit
Testing
Integration
Testing
System
Testing
2006 Bernd Bruegge

Software Engineering WS 2006/2007

17

Activity Diagram of the V Model


System
Requirements
Analysis

Operation

Is validated by

precedes
Software
Requirements
Elicitation

Client
Acceptance

System
Integration
& Test

Requirements
Analysis

Component
Integration
& Test

Preliminary
Design

Detailed
Design

Unit
Test

Problem with the V-Model:


Implementation
2006 Bernd Bruegge

Software Engineering WS 2006/2007

Developers Perception =
User Perception

18

Properties of Waterfall-based Models


Managers love waterfall models

Nice milestones
No need to look back (linear system)
Always one activity at a time
Easy to check progress during development: 90%
coded, 20% tested

However, software development is non-linear


While a design is being developed, problems with
requirements are identified
While a program is being coded, design and
requirement problems are found
While a program is tested, coding errors, design errors
and requirement errors are found.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

19

The Alternative: Allow Iteration

Escher was the first:-)

2006 Bernd Bruegge

Software Engineering WS 2006/2007

20

Construction of Eschers Waterfall Model

http://www.cs.technion.ac.il/~gershon/EscherForReal/
2006 Bernd Bruegge

Software Engineering WS 2006/2007

21

Spiral Model
The spiral model focuses on addressing risks
incrementally, in order of priority.
It consists of the following set of activities
Determine objectives and constraints
Evaluate alternatives
Identify risks
Resolve risks by assigning priorities to risks
Develop a series of prototypes for the identified risks
starting with the highest risk
Use a waterfall model for each prototype development
If a risk has successfully been resolved, evaluate the results
of the round and plan the next round
If a certain risk cannot be resolved, terminate the project
immediately

This set of activities is applied to a couple of socalled rounds.


2006 Bernd Bruegge

Software Engineering WS 2006/2007

22

Rounds in Boehms Spiral Model


Concept of Operations For each round go
Software
through these activities:
Requirements
Define objectives,
Software Product
alternatives,
Design
constraints
Detailed Design
Evaluate alternatives,
identify and resolve
Code
risks
Unit Test
Develop and verify a
Integration and Test
prototype
Acceptance Test
Plan the next round.
Implementation
Disccourse on Prototyping
2006 Bernd Bruegge

Software Engineering WS 2006/2007

23

Diagram of Boehms Spiral Model

2006 Bernd Bruegge

Software Engineering WS 2006/2007

24

Round 1, Concept of Operations:


Determine Objectives,Alternatives & Constraints

Project
Start

2006 Bernd Bruegge

Software Engineering WS 2006/2007

25

Round 1, Concept of Operations:


Evaluate Alternatives, identify & resolve Risks
Risk Analysis

2006 Bernd Bruegge

Software Engineering WS 2006/2007

26

Round 1, Concept of Operations:


Develop and Verify

Concept of Operation
Activity
2006 Bernd Bruegge

Software Engineering WS 2006/2007

27

Round 1, Concept of Operations:


Prepare for Next Activity

Requirements and
Life cycle Planning
2006 Bernd Bruegge

Software Engineering WS 2006/2007

28

Round 2, Software Requirements:


Determine Objectives,Alternatives & Constraints
Start
of Round 2

2006 Bernd Bruegge

Software Engineering WS 2006/2007

29

Comparison of Projects
Determine objectives,
alternatives, & constraints

Evaluate alternatives,
identify & resolve risks
Risk
analysis
Risk
analysis

Project P1

Risk
analysis
P1

Prototype3
Prototype2

Prototype1
Requirements
plan

Concept of
operation

Software
Requirements

Development Requirements
plan validation

Plan next phase

System
Product
Design

P2

Integration Design
plan validation

Detailed
Design

Code
Unit Test

Integration & Test

Develop & verify


next level product

Acceptance
Test

Project P2
2006 Bernd Bruegge

Software Engineering WS 2006/2007

30

Outline of Todays Lecture


Modeling the software life cycle
Sequential models
Pure waterfall model
V-model
Sawtooth model

Iterative models
Boehms spiral model
Unified Process

Entity-oriented models
Issue-based model

2006 Bernd Bruegge

Software Engineering WS 2006/2007

31

Unified Process
The Unified Process is another iterative process
model
States of a software system developed with the
Unified Process
Inception, Elaboration, Construction, Transition

Artifacts Sets
Management Set, Engineering Set

Workflows
Management, Environment, Requirements, Design,
Implementation, Assessment, Deployment

Iterations are managed as software projects


Project participants are called stakeholders.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

32

The Unified Process


The Unified Process supports the following
Evolution of project plans, requirements and software
architecture with well-defined synchronization points
Risk management
Evolution of system capabilities through demonstrations
of increasing functionality

Big emphasis on the difference between


engineering and production
This difference is modeled by introducing two
major stages:
Engineering stage
Production stage.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

33

Difference: Engineering vs. Production


Engineering Stage:
Focuses on analysis and design activities, driven by
unpredictable teams

Production Stage:
Focuses on construction, test and deployment, driven by
more predictable but larger teams

Focus Factor

Engineering Stage

Production Stage

Risk

Schedule, technical feasibility

Cost

Activities

Planning, Analysis, Design

Implementation, Integration

Artifacts

Requirement Analysis and


System Design Documents
Quality Assessment Demonstration, Inspection
2006 Bernd Bruegge

Software Engineering WS 2006/2007

Baselines, Releases
Testing
34

Phases in the Unified Process


The 2 major stages decomposed into 4 phases
Production phase
Engineering stage
3. Construction phase
1. Inception phase
4. Transition phase
2. Elaboration phase

Inception

Elaboration

Transition from
engineering to
production stage

Transition

Construction

The phases describe states of the software system to be developed.

Inception Phase: Objectives


Establish the projects scope
Define acceptance criteria
Identify the critical use cases and scenarios
Demonstrate at least one candidate software
architecture
Estimate the cost and schedule for the project
Define and estimate potential risks

2006 Bernd Bruegge

Software Engineering WS 2006/2007

36

Elaboration Phase: Objectives


At the end of this phase, the engineering of the
system is complete
A decision must be made:
Commit to production phase?
Move to an operation with higher cost risk and inertia
(i.e. bureaucracy)

Main questions:
Are the system models and project plans stable
enough?
Have the risks been dealt with?
Can we predict cost and schedule for the completion of
the development for an acceptable range?

2006 Bernd Bruegge

Software Engineering WS 2006/2007

37

Construction Phase: Objectives


Minimize development costs by optimizing
resources
Avoid unnecessary restarts (modeling, coding)

Achieve adequate quality as fast as possible


Achieve useful version
Alpha, beta, and other test releases

2006 Bernd Bruegge

Software Engineering WS 2006/2007

38

Transition Phase
The transition phase is entered
when a baseline is mature enough that it can be
deployed to the user community

For some projects the transition phase is


the starting point for the next version

For other projects the transition phase is


a complete delivery to a third party responsible for
operation, maintenance and enhancement of the
software system.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

39

Transition Phase: Objectives


Achieve independence of users
Produce a deployment version is complete and
consistent
Build a release as rapidly and cost-effectively as
possible.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

40

Iteration in the Unified Process


Each of the four phases introduced so far
(inception, elaboration, construction, transition)
consists of one or more iterations
An iteration represents a set of activities for
which
have a milestone (a well-defined intermediate event)
the scope and results are captured with work-products
called artifacts.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

41

Artifact Sets
Artifact set
A set of work products that are persistent and in a
uniform representation format (natural language, Java,
UML,)
Every element in the set is developed and reviewed as a
single entity

The Unified Process distinguishes five artifact


sets:

Management set
Requirements set
Design set
Implementation set
Deployment set

2006 Bernd Bruegge

Also called Engineering set.

Software Engineering WS 2006/2007

42

Artifact Sets in the Unified Process


Requirements
Set
1. Vision
document
(problem
statement)
2. Requirements
model(s)

Design Set

Implementation
Set
1. Design
1. Source code
model(s)
baselines
2. Test model 2. Compile-time
files
3. Software
3. Component
architecture
executables

Deployment
Set
1. Integrated product executable
2. Run-time files
3. User
documentation

Management Set
Planning Artifacts

1. Work breakdown structure


2. Business Case
3. Release specifications
4. Software Project
Management Plan

Operational Artifacts

1. Release descriptions
2. Status assessments
3. Software change order
database
4. Deployment documents
5. Environment

Focus on Artifact Sets during Development


Each artifact set is the predominant focus in one
stage of the unified process
Inception

Elaboration

Construction

Transition

Management
Set
Requirements
Set
Design Set
Implementation
Set
Deployment
Set
2006 Bernd Bruegge

Software Engineering WS 2006/2007

44

Management of Artifact Sets


Some artifacts are changed only after a phase
Other artifacts are updated after each minor
milestone, i.e. after an iteration
The project manager is responsible
to manage and visualize the sequence of artifacts
across the software lifecycle activities
This visualization is often called artifact roadmap.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

45

Artifact Set Roadmap: Focus on


Models
Inception

Elaboration

Construction

Informal
Baseline

Transition

Management Set
1. Vision
2. WBS
3. Schedule
4. Conf. Management
5. Project Agreement
6. Test cases
Requirements Set
1. Analysis Model
Design Set
1. System Design
2. Interface Specification
Implementation Set
1. Source code
2. Test cases
Deployment Set
1. Alpha-Test
2. Beta-Test

2006 Bernd Bruegge

Software Engineering WS 2006/2007

46

Artifact Set Roadmap: Focus on


Documents
Inception

Elaboration

Construction

Informal
Baseline

Transition

Management Set
1. Problem Statement
2. WBS
3. SPMP
4. SCMP
5. Project Agreement
6. Test plan
Requirements Set
1. RAD
Design Set
1. SDD
2. ODD
Implementation Set
1. Source code
2. Test cases
Deployment Set
1. User Manual
2. Administrator Manual
2006 Bernd Bruegge

Software Engineering WS 2006/2007

47

Models vs. Documents


Documentation-driven approach
The production of the documents drives the milestones
and deadlines

Model-driven approach
The production of the models drive the milestones
deadlines

Main goal of a modern software development


project
Creation of models and construction of the software
system
The purpose of documentation is to support this goal.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

48

Reasons for Documentation-Driven Approach


No rigorous engineering methods and languages
available for analysis and design models
Language for implementation and deployment is
too cryptic
Software project progress needs to be assessed
Documents represent a mechanism for demonstrating
progress

People want to review information


but do not understand the language of the artifact

People wanted to review information,


but do not have access to the tools to view the
information.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

49

Artifact-Driven Approach
Provides templates for documents at the start of
the project
Instantiates documents automatically from
these templates
Enriches them with modeling and artifact information
generated during the project

Tools automatically generate documents from


the models. Examples:

Schedule generator
Automatic requirements document generator
Automatic interface specification generator
Automatic analysis and design documents generator
Automatic test case generator.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

50

Process is an overloaded term


The Unified Process distinguishes between macro
and micro process:
The macro process models the software lifecycle
The micro process models activities that produce artifacts

Another meaning for process:


Business process
The policies, procedures and practices in an
organization pursuing a software-intensive line of
business.
Focus: Organizational improvement, long-term
strategies, and return on investment (ROI)

The micro processes are called workflows in the


Unified Process.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

51

Workflows in the Unified Process (1)


Management workflow
Planning the project (Problem statement, SPMP, SCMP,
Test plan)

Environment workflow
Automation of process and maintenance environment.
Setup of infrastructure (Communication, Configuration
management, ...).

Requirements workflow
Analysis of application domain and creation of
requirements artifacts (analysis model).

Design workflow
Creation of solution and design artifacts (system
design model, object design model).

2006 Bernd Bruegge

Software Engineering WS 2006/2007

52

Workflows in the Unified Process (2)


Implementation workflow
Implementation of solution, source code testing,
maintenance of implementation and deployment
artifacts (source code).

Assessment workflow
Assess process and products (reviews, walkthroughs,
inspections, testing)

Deployment workflow
Transition the software system to the end user

2006 Bernd Bruegge

Software Engineering WS 2006/2007

53

Workflows work across Phases


Inception

Elaboration Construction Transition

Management
Workflow
Environment
Workflow
Requirements
Workflow
Design Workflow
Implementation
Workflow
Assessment
Workflow
Deployment
Workflow

Workflows create artifacts (documents, models)


Workflows consist of one or more iterations per phase
54
2006 Bernd Bruegge

Software Engineering WS 2006/2007

Limitations of Waterfall and iterative


Models
Neither of these models deal well with frequent
change
The Waterfall model assumes that once you are done
with a phase, all issues covered in that phase are
closed and cannot be reopened
The Spiral and Unified Process model can deal with
change between phases, but do not allow change
within a phase

What do you do if change is happening more


frequently?
The only constant is the change

2006 Bernd Bruegge

Software Engineering WS 2006/2007

55

An Alternative: Issue-Based Development


A system is described as a collection of issues
Issues are either closed or open
Closed issues have a resolution
Closed issues can be reopened (Iteration!)

The set of closed issues is the basis of the system


model
I1:Open

A.I1:Open

SD.I1:Closed

SD.I3:Closed
I2:Closed

I3:Closed

Planning
2006 Bernd Bruegge

A.I2:Open

Requirements Analysis
Software Engineering WS 2006/2007

SD.I2:Closed

System Design
56

Waterfall Model: Analysis Phase


I1:Open
A.I1:Open
I2:Open

I3:Open

A.I2:Open

SD.I1:Open

Analysis
Analysis

SD.I3:Open
SD.I2:Open

2006 Bernd Bruegge

Software Engineering WS 2006/2007

57

Waterfall Model: Design Phase


I1:Closed
A.I1:Open
I2:Closed

I3:Open

A.I2:Open

SD.I1:Open

Analysis
Analysis

SD.I3:Open
SD.I2:Open

Design

2006 Bernd Bruegge

Software Engineering WS 2006/2007

58

Waterfall Model: Implementation Phase


I1:Closed
A.I1:Closed
I2:Closed

I3:Closed

A.I2:Closed

SD.I1:Open

Analysis

SD.I3:Open
SD.I2:Open

Design

Implementation
2006 Bernd Bruegge

Software Engineering WS 2006/2007

59

Waterfall Model: Project is Done


I1:Closed
A.I1:Closed
I2:Closed

I3:Closed

A.I2:Closed

SD.I1:Open

Analysis

SD.I3:Open
SD.I2:Open

Design

Implementation
2006 Bernd Bruegge

Software Engineering WS 2006/2007

60

Issue-Based Model: Analysis Phase


I1:Open
D.I1:Open
I2:Open

I3:Open

Imp.I1:Open

Analysis:80%
Design: 10%
Implementation: 10%
2006 Bernd Bruegge

Software Engineering WS 2006/2007

61

Issue-Based Model: Design Phase


I1:Closed
SD.I1:Open
I2:Closed

I3:Open

SD.I2:Open

Imp.I1:Open

Imp.I3:Open

Analysis:40%
Imp.I2:Open

Design: 60%
Implementation: 0%
2006 Bernd Bruegge

Software Engineering WS 2006/2007

62

Issue-Based Model: Implementation Phase


I1:Open
A.I1:Open

I2:Closed

I3:Closed
A.I2:Closed

SD.I1:Open

SD.I3:Open

Analysis:10%
SD.I2:Closed

Design: 10%
Implementation: 60%
2006 Bernd Bruegge

Software Engineering WS 2006/2007

63

Issue-Based Model: Prototype is Done


I1:Closed
A.I1:Closed

I2:Closed

I3: Pending
A.I2:Closed

SD.I1:Open

SD.I3:Closed
SD.I2: Unresolved

2006 Bernd Bruegge

Software Engineering WS 2006/2007

64

Frequency of Change and Choice of


Software Lifecycle Model
PT = Project Time, MTBC = Mean Time Between Change
Change rarely occurs (MTBC PT)
Waterfall Model
Open issues are closed before moving to next phase
Change occurs sometimes (MTBC PT)
Boehms Spiral Model, Unified Process
Change occurring during phase may lead to iteration
of a previous phase or cancellation of the project
Change is frequent (MTBC PT)
Issue-based Development (Concurrent Development)
Phases are never finished, they all run in parallel.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

65

Summary Unified Process


Unified Process: Iterative software lifecycle model
Emphasis on early construction of a software architecture
Emphasis on early demonstrations of the system

Definitions
4 phases: Inception, Elaboration, Construction, Transition
7 workflows: Management, environment, requirements,
design, implementation, assessment, deployment.
5 artifact sets: Management set, requirements set, design
set, implementation set, deployment set

Iteration: Repetition within a workflow.


A unified process iteration should be treated as a
software project.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

66

Summary
Software life cycle models
Sequential models
Pure waterfall model and V-model
Iterative model
Boehms spiral model
Unified process
Entity-oriented models
Issue-based model
Sequential models can be modeled as special cases of
the issue-based model

Prototyping
A specific type of system model
Illustrative, functional and exploratory prototypes
Revolutionary and evolutionary prototyping
Time-boxed prototyping is a better term than rapid
prototyping.
2006 Bernd Bruegge

Software Engineering WS 2006/2007

67

Additional References
Walker Royce
Software Project Management, Addison-Wesley, 1998.

Ivar Jacobsen, Grady Booch & James Rumbaugh


The Unified Software Development Process, Addison
Wesley, 1999.

Jim Arlow and Ila Neustadt


UML and the Unified Process: Practical Object-Oriented
Analysis and Design, Addison Wesley, 2002.

Philippe Kruchten
Rational Unified Process, Addison-Wesley, 2000.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

68

Additional and Backup Slides

2006 Bernd Bruegge

Software Engineering WS 2006/2007

69

Phase vs. Iteration


A phase creates formal, stake-holder approved
versions of artifacts (major milestones)
A phase to phase transition is triggered by a business
decisions

An iteration creates informal, internally


controlled versions of artifacts (minor
milestones)
Iteration to iteration transition is triggered by a specific
software development activity.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

70

Processes, Activities and Tasks


Process Group: Consists of a set of processes
Process: Consists of activities
Activity: Consists of sub activities and tasks
Process
Group

Development

Process

Design

Activity

Design
Database
Make a
Purchase
Recommendation

Task

2006 Bernd Bruegge

Software Engineering WS 2006/2007

71

Sawtooth Model
Distinguishes between client and developers
Client
System
Requirements
Analysis

Prototype
Demonstration 1

Prototype
Demonstration 2

Client
Acceptance

Developer
System
Integration
& Test

Requirements
Analysis

Component
Integration
& Test

Preliminary
Design
Unit
Test

Detailed
Design

Implementation

2006 Bernd Bruegge

Software Engineering WS 2006/2007

72

The Sharktooth Model


distinguishes between client, project manager and developers
Client
System
Requirements
Analysis

Prototype
Demo 1

Prototype
Demo 2

Client
Acceptance

Manager
System
Integration
& Test

Design
Review

Developer

Requirements
Analysis

Component
Integration
& Test
Preliminary
Design

Unit
Test

Detailed
Design

Implementation
2006 Bernd Bruegge

Software Engineering WS 2006/2007

73

Process is overloaded in the Unified


Process
Meta Process (Also called Business process)
The policies, procedures and practices in an organization
pursuing a software-intensive line of business.
Focus: Organizational improvement, long-term strategies,
and return on investment (ROI)

Macro Process (Lifecycle Model)


The set of processes in a software lifecycle and
dependencies among them
Focus: Producing a software system within cost, schedule
and quality constraints

Micro Process
Techniques for achieving an artifact of the software process.
Focus: Intermediate baselines with adequate quality and
functionality, as economically and rapidly as practical.
2006 Bernd Bruegge

Software Engineering WS 2006/2007

74

Inception Phase: Activities


Formulate the scope of the project
Capture requirements
Result: problem space and acceptance criteria are
defined

Design the software architecture


Evaluate design trade-offs, investigate solution space
Result: Feasibility of at least one candidate
architecture is explored, initial set of build vs. buy
decisions

Plan and prepare a business case


Evaluate alternatives for risks and staffing problems.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

75

Elaboration Phase: Activities


Elaborate the problem statement (vision)
Work out the critical use cases that drive technical and
managerial decisions

Elaborate the infrastructure


Tailor the software process for the construction
stage, identify tools
Establish intermediate milestones and evaluation
criteria for these milestones.
Identify buy/build problems and decisions
Identify lessons learned from the inception
phase
Redesign the software architecture if necessary

2006 Bernd Bruegge

Software Engineering WS 2006/2007

76

Construction Phase: Activities


Resource management, control and process
optimization
Complete development
Test against evaluation criteria
Assess releases against acceptance criteria.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

77

Transition Phase: Activities


All the activities of deployment-specific
engineering
Commercial packaging and production
Sales rollout kit development
Field personnel training

Assess deployment baselines against the


acceptance criteria in the requirements set.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

78

Inception Phase: Evaluation Criteria


Do all stakeholders concur on the scope
definition and cost and schedule estimates?
Are the requirements understood?
Are the critical use cases adequately modeled?

Is the software architecture understood?


Are cost, schedule estimates, priorities, risks
and development processes credible?
Is there a prototype that helps in evaluating the
criteria?

2006 Bernd Bruegge

Software Engineering WS 2006/2007

79

Elaboration Phase: Evaluation Criteria


Apply the following questions to the results of
the inception phase:
Is the problem statement stable?
Is the architecture stable?
Have major risk elements have been resolved?
Is the construction plan realizable?
Do all stakeholders agree that the problem solved if
the current plan is executed?
Are the actual expenses versus planned expenses so
far acceptable?

2006 Bernd Bruegge

Software Engineering WS 2006/2007

80

Construction Phase: Evaluation Criteria


Apply the following questions to the results of
the construction phase:
Is there a release mature enough to be deployed?
Is the release stable enough to be deployed?
Are the stakeholders ready to move to the transition
phase?
Are actual expenses versus planned expenses so far
acceptable?

2006 Bernd Bruegge

Software Engineering WS 2006/2007

81

Transition Phase: Evaluation Criteria


Is the user satisfied?
Are actual expenses versus planned expenses so
far acceptable?

2006 Bernd Bruegge

Software Engineering WS 2006/2007

82

Rationale for Notations in Artifact Sets (contd)


Implementation set:
Notation: Programming language
Goal: Capture the building blocks of the solution
domain in human-readable format.

Deployment set:
Form: Machine language
Goal: Capture the solution in machine-readable format.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

83

Rationale for Notations in the Artifact Sets


Management Set:
Notation: Ad hoc text, graphics, textual use cases
Goal: Capture plans, processes, objectives, acceptance
criteria.

Requirements set:
Notation: Structured text, models in UML
Goal: Capture problem in language of problem domain

Design set:
Notation: Structured text, models in UML
Goal: Capture the engineering blueprints

2006 Bernd Bruegge

Software Engineering WS 2006/2007

84

Workflows in the Unified Process

Management workflow
Environment workflow
Requirements workflow
Design workflow
Implementation workflow
Assessment workflow
Deployment workflow

2006 Bernd Bruegge

Software Engineering WS 2006/2007

85

Managing Projects in the Unified Process


How should we manage the construction of
software systems with the Unified Process?
Treat the development of a software system with the
Unified Process as a set of several iterations
Some of these can be scheduled in parallel, others
have to occur in sequence
Define a single project for each iteration
Establish work break down structures for each of the 7
workflows.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

86

Industry Distribution across Maturity Levels


(State of the Software Industry in 1995)
Maturity Level
1
2
3
4
5

Initial
Repeatable
Defined
Managed
Optimizing

Frequency
70%
15%
< 10%
< 5%
< 1%
Source:
Royce, Project
Management,
P. 364

2006 Bernd Bruegge

Software Engineering WS 2006/2007

87

Insert: Types of Prototypes


Illustrative Prototype
Develop the user interface with a set of storyboards
Implement them on a napkin or with a user interface
builder (Visual Basic, Revolution...)
Good for first dialog with client

Functional Prototype
Implement and deliver an operational system with
minimum functionality
Then add more functionality
No user interface

Exploratory Prototype ("Hack")


Implement part of the system to learn more about the
requirements
Good for paradigm breaks.
2006 Bernd Bruegge

Software Engineering WS 2006/2007

88

Types of Prototyping
Revolutionary Prototyping
Also called specification prototyping
Get user experience with a throw-away version to get
the requirements right, then build the whole system
Advantage: Can be developed in a short amount of
time
Disadvantage: Users may have to accept that
features in the prototype are expensive to implement

Evolutionary Prototyping
The prototype is used as the basis for the
implementation of the final system
Advantage: Short time to market
Disadvantage: Can be used only if target system can
be constructed in prototyping language.
2006 Bernd Bruegge

Software Engineering WS 2006/2007

89

Prototyping vs Rapid Development


Revolutionary prototyping is sometimes called
rapid prototyping
Rapid Prototyping is not a good term because it
confuses prototyping with rapid development
Prototyping is a technical issue: It is a particular model
of development used in a life cycle process
Rapid development is a management issue: It is a
particular way to control a project

Prototyping can go on forever, if it is not


restricted:
Time-boxed prototyping limits the duration of the
prototype development.

2006 Bernd Bruegge

Software Engineering WS 2006/2007

90

References
Readings used for this lecture
[Bruegge-Dutoit] Chapter 12
[Humphrey 1989] Watts Humphrey, Managing the
Software Process, SEI Series in Software Engineering,
Addison Wesley, ISBN 0-201-18095-2

Additional References
[Royce 1970] Winston Royce, Managing the
Development of Large Software Systems, Proceedings of
the IEEE WESCON, August 1970, pp. 1-9
SEI Maturity Questionaire, Appendix E.3 in [Royce 1998],
Walker Royce, Software Project Management,
Addison-Wesley, ISBN0-201-30958-0

2006 Bernd Bruegge

Software Engineering WS 2006/2007

91

Movie of Eschers Waterfall Model

Escher for Real


http://www.cs.technion.ac.il/~gershon/EscherForRealWaterfallFull.avi
(C) Copyright 2002-5 Gershon Elber,Computer Science Department,
Technion
2006 Bernd Bruegge

Software Engineering WS 2006/2007

92

OOSE-Book: Development activities and


their products
problem
statement

Requirements
elicitation
nonfunctional
requirements

functiona
l
model

use case
diagram

Analysis
class
diagram

System
design
2006 Bernd Bruegge

statechart
diagram

object
model
dynamic
model

Software Engineering WS 2006/2007

sequence
diagram
93

OOSE- Development activities (contd)


System
design

subsystem
decomposition

design
goals

Object
design
class
diagram
source
code

Testing
2006 Bernd Bruegge

object
design
model
Implementation

deliverable
system
Software Engineering WS 2006/2007

94

You might also like