20 Evolving
20 Evolving
University of Toronto
Lecture 20:
Software Evolution
Requirements Traceability
Importance of traceability
Traceability tools
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Program Types
Source: Adapted from Lehman 1980, pp1061-1063
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
may
relate
to
formal
statement
of problem
real
world
maybe of
interest to
controls the
production
of
change
PROGRAM
solution
real
world
abstract
view of world
provides
S-type
P-type
compare
change
requirements
specification
E-type
change
real world
solution
PROGRAM
PROGRAM
abstract
view of world
requirements
specification
model
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Continuing Change
Any software that reflects some external reality undergoes continual change
or becomes progressively less useful
change continues until it is judged more cost effective to replace the system
Increasing Complexity
As software evolves, its complexity increases
unless steps are taken to control it.
Conservation of Familiarity
The amount of change in successive releases is roughly constant
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Requirements Growth
Source: Adapted from Davis 1988, pp1453-1455
Daviss
model:
conventional
development
Functionality
User needs
Inappropriateness
(shaded area)
Shortfall
Adaptability
Lateness
(slope of line)
Longevity
t
en
se
e
er
c e li v
ha
a
l
p
e
p
r
l
nt
nt
ui
re nt d
re
e
e
q
st
re
nd me
em
em
r
a
i
c
c
y
f
an
an
z e la c e
t if
h
h
e
n
e
p
e
en
en
fr re
id
em
s
ea
a
ph
se
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
Time
University of Toronto
Software Aging
Source: Adapted from Parnas, 1994
University of Toronto
Software maintenance
Source: Adapted from Blum, 1992, p492-495
Maintenance philosophies
throw-it-over-the-wall - someone else is responsible for maintenance
investment in knowledge and experience is lost
maintenance becomes a reverse engineering challenge
Full-reuse model
Starts with requirements for the new system, reusing as much as possible
Needs a mature reuse culture to be successful
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Key techniques
Change Management Process
Release Planning
Requirements Prioritization (previous lecture!)
Requirements Traceability
Architectural Stability (next weeks lecture)
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Change Management
Configuration Management
Each distinct product is a Configuration Item (CI)
Each configuration item is placed under version control
Control which version of each CI belongs in which build of the system
Baselines
A baseline is a stable version of a document or system
Safe to share among the team
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
University of Toronto
Domain Engineering
Divides software development into two parts:
Software Families
Many companies offer a range of related software systems
Choose a stable architecture for the software family
identify variations for different members of the family
Horizontal families
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
10
University of Toronto
Requirements Traceability
From IEEE-STD-830:
Backward traceability
Forward traceability
From DOD-STD-2167A:
A requirements specification is traceable if:
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
11
University of Toronto
Importance of Traceability
Source: Adapted from Palmer, 1996, p365
Maintenance
Document access
ability to find information quickly in
large documents
Process visibility
ability to see how the software was
developed
provides an audit trail
Management
change management
risk management
control of the development process
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
12
University of Toronto
Traceability Difficulties
Source: Adapted from Palmer, 1996, p365-6
Cost
very little automated support
full traceability is very expensive and time-consuming
Delayed gratification
the people defining traceability links are not the people who benefit from it
development vs. V&V
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
13
University of Toronto
Current Practice
Source: Adapted from Palmer, 1996, p367-8
Coverage:
links from requirements forward to designs, code, test cases,
links back from designs, code, test cases to requirements
links between requirements at different levels
Traceability process
Assign each sentence or paragraph a unique id number
Manually identify linkages
Use manual tables to record linkages in a document
Use a traceability tool (database) for project wide traceability
Tool then offers ability to
follow links
find missing links
measure overall traceability
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
14
University of Toronto
Informational Problems
e.g cannot answer queries such as who is responsible for this piece of
information?
Lack of agreement
over the quantity and type of information to trace
Informal Communication
People attach great importance to personal contact and informal
communication
But then the traceability database only tells part of the story!
Even so, finding the appropriate people is a significant problem
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
15
University of Toronto
Problematic Questions
Source: Adapted from Gotel & Finkelstein, 1997, p100
Involvement
Who has been involved in the production of this requirement and how?
Change
What changes are relevant to this requirement?
Notification
Who needs to be involved in, or informed of, any changes proposed to this
requirement?
Loss of knowledge
What loss of project knowledge is likely if a specific individual leaves?
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
16
University of Toronto
Summary
2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license.
17