1
s
Requirements Engineering Databases:
The Good, The Bad, and The Ugly
Brian Berenbach
Siemens Corporate Research
New England Database Day
(NEDBDay08)
s
s
2
Agenda
¾
Brief Introduction to Siemens (Context)
¾
What is a Requirements Database?
¾
Key differentiators of an RE Database
¾
Industrial Problems
¾
s
s
3Siemens at a Glance
Medical Medical Solutions Transportation Transportation SystemsSiemens VDO Automotiv
e Pow er Power G ener at ion Power Transmissi on and Distribution Automation and Co ntrol Automati on and Drives Industrial Soluti ons and Services Siemens Buil ding Technologi es Lighting Sylvani a Inform ation and cations Communications ns Busin ess Services
Annual Worldwide Sales
75
%
of total sales are from
products and services
develop ed in th e last five y ears
$98.2 billion
47,000 employ ees$6.6B dedicated to global R&D
Net In co me: $2.8B World’s 21 st largest company orldw ide figu
res for fiscal 20
05 1(U.S. GAAP 2) S ept ember 30 nu al excha nge ra te for F Y 2005: €1.00 = $1.273
s
s
4
Siemens has a long tradition of
s
s
5
The rate of innovations is increasing.
… 5 years and younger … 6 to 10 years old …m o re t h an 10 year s old
Share of sales with products…
1985 2005 1980 48% 30% 22% 55% 29% 16% 75% 19% 6%
s
s
6
RE Databases are Important
Functionality previously realized in
electrical or electro-mechanical
systems is now being realized in soft
ware => bigger, more complex, &
more software projects (hundreds
of developers, millions of lines of
code).
Meeting functional and non-functional requirements is important to business success => restricted hardware resources, real-time performance, safety critical applications.
Multisite development projects.
High quality (i.e., thoroughly tested, re
liable) software is important to
business success.
Our RE databases must address the increasing scale and
s
s
7
Requirements Database
A requirements database is an extension of a standard database that
provides key functionality in the area
of version control and traceability.
That is, the database provides, “off
the shelf”
the ability to version and
track changes to requirements and to trace requirements within and outside of the database, also to
create trace matrices and generate
formatted reports and specifications.
Let’s find the
changes!
s
s
8
Attributes of an RE Database
The are many unique attributes of an RE database compared with a traditional database. They include:
iSchema predefined to support the storage of requirements of different kinds
i
Version control at the requirement (re
cord) level, with user views of
history of a requirement
i
Intrinsic support for tracing, that
is, a “drag and drop”
m
echanism
that is easy to use and supports creating traces manually between requirements.
i
Generation of requirements documents directly from the repository. The preferred method of working I to create and edit requirements in the database, then use the documentation facility of the database to create a filtered and formatted set of requirements in a requirement specification, usua
lly as either a word or pdf
s
s
9
Typical Configurations of RE Databases
There are two typical types of configurations
for RE Databases.
iOne possible one has the RE management software on the server, using a browser to access it.
i
The other configuration, which is faster but requires that software be
installed on the client,
is to have a client appl
ication on the user PC
s
s
10
Scale and complexity make life difficult
Requirements
Database with
Over 16000*
Requirements
Requirements
Database with
Over 16000*
Requirements
View Traces
View Traces
* We have RE databases wi
s
s
11
Key Differentiators of RE Databases
Easy to use, intuitive with minimal need to refer to documentation
Ability to baseline and perform change control on requirements.
s
s
12
Key Differentiators of RE Databases
Ability to work offline
i
Take requirements home, review them, change them, roll
them back into the database later.
Good thing I can make those
changes at home.
Good thing I can make those
s
s
13
Key Differentiators of RE Databases
Product line support
iCreate subsets of requirements that c
an be reused for different projects and
products.
Global Support.
iThe ability to have distributed requirement
s analysis is more than just the ability
to fold in rules to determine routing,
review procedures (e.g. workflow), and
s
s
14
Key Differentiators of RE Databases
All fields/attributes should be definable on a
per company or per project basis, such that
the same corporate data dictionary is used on
multiple projects for consistency, but
each project can still have its own glossary of terms, keywords,
etc.
Corporate Dictionary
Project
s
s
15
Key Differentiators of RE Databases
Parent child
relationship-it should be possible to
have a parent child relationship, and where there is such a relationship, it should be possible to have parent and child of a different core requirement type.
FEAT101
SECRQT101.5
PERFRQT 101.33
i
Note that some commercial databases do
not allow parent-child requirements to
s
s
16
Key Differentiators of RE Databases
Traceability-the tool used shall enable
end-to-end traceability, vertical and horizontal traceability. This may require integration with other tools such as IDEs
and/or modeling and
testing tools.
Mandated by law, including Sarbanes-Oxley, the FDA and the FAA.
Traceability required by most demanding safety- critical process standards such as: DO178B, IEC 61508, EN50128*.
s
s
17
Traceability and The FDA*
A software requirements traceability
analys
is should be conducted to
trace software requirements
to (and from) system requirements and to
risk analysis results.
In addition to any other analyses
and docum
entation used to verify
software requirements, a
formal design review
is recommended to
confirm that requirements are fully specified and appropriate before extensive software design efforts begin.
Requirements can be approved and re
leased incrementally, but care should
be taken that interactions and inte
rfaces among software (and hardware)
requirements are properly reviewed, analyzed, and controlled.”
u
idance
s
s
18
Traceability and the FAA
FAA's Advisory Circular AC20-115B established DO-178B as
the accepted means of certifying all new aviation software:
“The stringent and internationally accepted DO-178B process
standard that governs the development of civilian avionics
embedded software is primarily requirements driven. …at each
stage …
software developers must be able to demonstrate
traceability of designs against requirements
; i.e. are the
high-level requirements I am specifying traceable to the system
requirements? Are the low-level requirements traceable to the
high-level requirements? ....
*Esterels
s
19 xx xxxSHR 3
or
Multiple Layers
SR 37
SR 31
SR 41
Xx xxx xx xx xx xxxx xx xxxxx&
X xx x xxxxx xx xx xx xxxx xxx&
DR 37
DR 132
DR 24
DR 131
DR 42
DR 14
Xx x xx xxxxx xx xxxx xx x xxxor
Xxxxxxx xx xxxx x xxxx xx xxxxxx&
System
requirements
Design requirements
DK 01: Xxx xxx x xxs
s
20 xx xxxSHR 3
or
Multiple Layers
SR 37
SR 31
SR 41
Xx xxx xx xx xx xxxx xx xxxxx&
X xx x xxxxx xx xx xx xxxx xxx&
DR 37
DR 132
DR 24
DR 131
DR 42
DR 14
Xx x xx xxxxx xx xxxx xx x xxxor
Xxxxxxx xx xxxx x xxxx xx xxxxxx&
System
requirements
Design requirements
DK 01: Xxx xxx x xxs
s
21
The Ugly
s
s
22
s
s
23
Captain! There are no viable solutions on the
s
s
24
The Bad
s
s
25
The Good
some advanced techniques that
SCR/SE has piloted may help in
the future
i
Unified Requirements Model
i
s
s
26
The Unified Requirements Modeling Language
The U
nified R
equirements M
odeling L
anguage (URML) is a
standard notation for the modeling of requirements artifacts
as first step in developing a product or performing business
modeling.
It incorporates elements of:
iUse cases
iFeature Modeling
iHazard Analysis
iThreat Modeling
iGoal Modeling
iOther requirements related visual modeling techniques
Sam
p
s
s
27
Unified Requirements Models
A
unified requirements model
is a model that has been
created using the URML
.
i
s
s
28
Unified Requirements Model
Requirements Relationships are naturally organized in directed graphs, whereas traditional databases support a tree structure. The use of a tree structure forces the creation of an inordinate number of traces and does not work well with cross-cutting requirements. As a typical project grows to N requirements, the number of traces needed is often greater than N
s
s
29
A Visual Language Provides Views into the Model
¾
Faster than text (up to 70%)
¾
Verifiable
¾
Easier to understand than text.
I f
inally underst
and
why I should use
s
s
30
Definition of Traceability*
“Requirements traceability is the ability to describe and
fo
llow t
he lif
e of a require
m
ent, in both a forward and
backward direction:
from it
s or
igins,
th
rough it
s development and
specification
to its subsequent deployment and use
through periods of ongoing refinement and iteration in all
of the project phases.”
*Gotels
s
31Dynamic Tracing
Problem:
Manual tracing is subject to errors,
omissions, and decay as artifacts are changed
and the lack-of-benefit-to-tracer problem
.
One solution:
Dynamic tracing
Dynamic tracing
is the automated generation
s
s
32
With over 3000 design
documents the rebels
will
NEVER
find the
flaw in the DeathStar.
With over 3000 design
documents the rebels
will
NEVER
find the
s
s
33
Much to learn you have,
hmmm? The rebels are using
Dynamic Tracing
!
Much to learn you have,
hmmm? The rebels are using
Dynamic Tracing
s
s
34
s
s
35
Information Retrieval*
Inference Network Model
(probabilistic approach)
Prob(d
j|q) =
prob(d
j|t
i) prob(q|t
i) prob(t
i)
Σ
prob(q)
i Frequency of term t iin respect to the size
of the document. prob(d
j |t i )=freq(d j ,t i )/ Σ k fre q(d j ,t k ) Frequency of term t i
in respect to the size
of the query. prob(q|t
i )=freq(q,t i )/ Σ k freq(q,t k )
Measures the rarity/commonality of the term. prob(t
i ) = η (1/n i ) where n i = # of docs containing t i . η = nor malizing factor Prob ability of a link bet w een a
query and document.
Σ i prob(q|t i ) prob(t i )
*Slide Courtesy of Prof. Jane C
leland-Huang, DePa
s
s
36 / * * N oti fi cat ion _Pr oce ss ing .ja va * @ aut ho r Fuh u L iu * @ ver si on 5.0 * C han ge d l og fil e t o log DB */ impo rt ja va. awt .*; i mpo rt ja va. awt .ev ent .* ; i mpo rt ja vax .sw ing .*; i mpo rt ja va. io. *; i mpo rt ja va. uti l.* ; i mpo rt ja va. sql .*; .... void Up da teD isp lay Lis t( ) { l ist Mo del .re mov eAl lE lem ent s() ; S tri ng mS QL = " SEL EC T d ist inc t” + “ S ubs cri ber Nam e FRO M E ven tDe ta ils "; t ry { r s = s tmt .ex ecu te Que ry( mSQ L); w h i le (rs .ne xt( )) { Str ing Su bsN am e = rs .ge tSt ri ng( 1); lis tMo del .ad dE lem ent (Su bsN am e); } r s . clo se( ); } ca tc h ( Exc ept ion e ) { S y s tem .ou t.p rin tl n(" Not ifi cat io n_P roc ess ing : P r o ble m w ith qu er y: " + e ); } } • An example of traceable artifacts and selected lin
s
s
37Visualized Hierarchy*
X X F R E E ZE PREDICTIO N DRIVIN G AL ERT CON T AC T S ROADS UPDAT E R O AD DATA ROAD NE T W OR K MAPS ROAD S E N SOR S WEATH E R STATIO N MANAG EMEN T WEATH E R READI NG S WEATHER STATION S DE-ICING SCHEDULINGAlerts shall be issued when hazardous driving conditions exist
Candidate link
Accepted link
Current link
Rejected link
X leland-Huang, DePa ul Universitys
s
38
Questions?
Am I supposed to disintegrate the database or the
audience???