New England Databae Day (NEDBDay08) February 4, 2008 Requirement Engineering Databae: The Good, The Bad, and The Ugly Brian Berenbach Siemen Corporate Reearch brian.berenbach@iemen.com 1
Agenda Brief Introduction to Siemen (Context) What i a Requirement Databae? Key differentiator of an RE Databae Indutrial Problem Some Current Reearch Area 2
Information and Communication Communication Siemen Buine Automation and Control Automation and Drive Indutrial Solution and Service Siemen at a Glance Power Power Generation Power Tranmiion and Ditribution Tranportation Tranportation Sytem Siemen VDO Automotive Medical Medical Solution 3 Siemen Building Technologie Lighting Sylvania Service Annual Worldwide Sale Net Income: $2.8B World 21 t larget company 47,000 employee $6.6B dedicated to global R&D $98.2 billion Siemen AG: Worldwide figure for fical 2005 1 (U.S. GAAP 2 ) 1 Fical Year October 1 September 30 2 Average annual exchange rate for FY 2005: 1.00 =$1.273 75% of total ale are from product and ervice developed in the lat five year
SIEMENS CORPORATE RESEARCH Siemen ha a long tradition of technological innovation. 4
The rate of innovation i increaing. Share of ale with product 5 year and younger 48% 55% 75% 6 to 10 year old 30% 29% more than 10 year old 22% 1980 16% 19% 6% 1985 2005 5
RE Databae are Important Functionality previouly realized in electrical or electro-mechanical ytem i now being realized in oftware => bigger, more complex, & more oftware project (hundred of developer, million of line of code). Meeting functional and non-functional requirement i important to buine ucce => retricted hardware reource, real-time performance, afety critical application. Multiite development project. High quality (i.e., thoroughly teted, reliable) oftware i important to buine ucce. Our RE databae mut addre the increaing cale and complexity of emerging oftware ytem. 6
Requirement Databae A requirement databae i an extenion of a tandard databae that provide key functionality in the area of verion control and traceability. That i, the databae provide, off the helf the ability to verion and track change to requirement and to trace requirement within and outide of the databae, alo to create trace matrice and generate formatted report and pecification. Let find the change! 7
Attribute of an RE Databae The are many unique attribute of an RE databae compared with a traditional databae. They include: ischema predefined to upport the torage of requirement of different kind iverion control at the requirement (record) level, with uer view of hitory of a requirement iintrinic upport for tracing, that i, a drag and drop mechanim that i eay to ue and upport creating trace manually between requirement. igeneration of requirement document directly from the repoitory. The preferred method of working I to create and edit requirement in the databae, then ue the documentation facility of the databae to create a filtered and formatted et of requirement in a requirement pecification, uually a either a word or pdf document. 8
Typical Configuration of RE Databae There are two typical type of configuration for RE Databae. i One poible one ha the RE management oftware on the erver, uing a brower to acce it. i The other configuration, which i fater but require that oftware be intalled on the client, i to have a client application on the uer PC acceing the databae on a erver. 9
Scale and complexity make life difficult Requirement Databae with Over 16000* Requirement View Trace View Trace * We have RE databae with over 2 GB in them 10
Key Differentiator of RE Databae Eay to ue, intuitive with minimal need to refer to documentation Ability to baeline and perform change control on requirement. Support for rich text and graphic in a requirement decription 11
Key Differentiator of RE Databae Ability to work offline itake requirement home, review them, change them, roll them back into the databae later. Good thing I can make thoe change at at home. 12
Key Differentiator of RE Databae Product line upport icreate ubet of requirement that can be reued for different project and product. Global Support. ithe ability to have ditributed requirement analyi i more than jut the ability to fold in rule to determine routing, review procedure (e.g. workflow), and cripting for uer guidance and quality aurance. 13
Key Differentiator of RE Databae All field/attribute hould be definable on a per company or per project bai, uch that the ame corporate data dictionary i ued on multiple project for conitency, but each project can till have it own gloary of term, keyword, etc. Corporate DictionaryProject Dictionary 14
Key Differentiator of RE Databae Parent child relationhip- it hould be poible to have a parent child relationhip, and where there i uch a relationhip, it hould be poible to have parent and child of a different core requirement type. FEAT101 SECRQT101.5 PERFRQT 101.33 inote that ome commercial databae do not allow parent-child requirement to be of different type. 15
Key Differentiator of RE Databae Traceability- the tool ued hall enable end-toend traceability, vertical and horizontal traceability. Thi may require integration with other tool uch a IDE and/or modeling and teting tool. Mandated by law, including Sarbane-Oxley, the FDA and the FAA. Traceability required by mot demanding afetycritical proce tandard uch a: DO178B, IEC 61508, EN50128*. 16
Traceability and The FDA* A oftware requirement traceability analyi hould be conducted to trace oftware requirement to (and from) ytem requirement and to rik analyi reult. In addition to any other analye and documentation ued to verify oftware requirement, a formal deign review i recommended to confirm that requirement are fully pecified and appropriate before extenive oftware deign effort begin. Requirement can be approved and releaed incrementally, but care hould be taken that interaction and interface among oftware (and hardware) requirement are properly reviewed, analyzed, and controlled. *General Principle of Software Validation; Final Guidance for Indutry and FDA Staff, Jan 11, 2002 17
Traceability and the FAA FAA' Adviory Circular AC20-115B etablihed DO-178B a the accepted mean of certifying all new aviation oftware: The tringent and internationally accepted DO-178B proce tandard that govern the development of civilian avionic embedded oftware i primarily requirement driven. at each tage oftware developer mut be able to demontrate traceability of deign againt requirement; i.e. are the highlevel requirement I am pecifying traceable to the ytem requirement? Are the low-level requirement traceable to the high-level requirement?... *Eterel Technologie 18
SHR 3 Xx xxx xxx xx xx xxxxxx xxx or Xx xxx xx xx xx xxxx xx xxxxx Stakeholder requirement & Multiple Layer SR 37 X xx x xxxxx xx xx xx xxxx xxx SR 31 Xx x xx xxxxx xx xxxx xx x xxx DK 01: Xxx xxx x xx SR 41 Xxxxxxx xx xxxx x xxxx xx xxxxxx Sytem requirement & or & DR 37 DR 132 DR 24 DR 131 DR 42 DR 14 Deign requirement 19
SHR 3 Xx xxx xxx xx xx xxxxxx xxx or Xx xxx xx xx xx xxxx xx xxxxx Stakeholder requirement & Multiple Layer SR 37 X xx x xxxxx xx xx xx xxxx xxx & Product line make Xx x xx xxxxx or SR 31 xx xxxx xx x xxx thi DK 01: Xxx wore!!! xxx x xx & SR 41 Xxxxxxx xx xxxx x xxxx xx xxxxxx Sytem requirement DR 37 DR 132 DR 24 DR 131 DR 42 DR 14 Deign requirement 20
The Ugly Databae do not cale Significant performance Degradation Lack of functionality Not uer friendly Obolete cripting language Inefficient query mechanim Poor merge functionality Trace are unmanageable and break 21
Time to panic? 22
Captain! There are no viable olution on the horizon 23
The Bad An unolved computer cience problem 24
The Good ome advanced technique that SCR/SE ha piloted may help in the future iunified Requirement Model idynamic Tracing 25
The Unified Requirement Modeling Language The Unified Requirement Modeling Language (URML) i a tandard notation for the modeling of requirement artifact a firt tep in developing a product or performing buine modeling. It incorporate element of: iue cae ifeature Modeling ihazard Analyi ithreat Modeling igoal Modeling iother requirement related viual modeling technique Sample URML Picture 26
Unified Requirement Model A unified requirement model i a model that ha been created uing the URML. iit ha been found empirically that text pecification are inherently ambiguou. The ambiguity i exacerbated with global oftware development, different language and culture. Graphical model are inherently unambiguou. 27
Unified Requirement Model Requirement Relationhip are naturally organized in directed graph, wherea traditional databae upport a tree tructure. The ue of a tree tructure force the creation of an inordinate number of trace and doe not work well with cro-cutting requirement. A a typical project grow to N requirement, the number of trace needed i often greater than N 2. 28
SIEMENS CORPORATE RESEARCH I finally undertand why I hould ue childproof door lock! ¾Eaier to undertand than text. ¾Verifiable ¾Fater than text (up to 70%) A Viual Language Provide View into the Model 29
Definition of Traceability* Requirement traceability i the ability to decribe and follow the life of a requirement, in both a forward and backward direction: from it origin, through it development and pecification to it ubequent deployment and ue through period of ongoing refinement and iteration in all of the project phae. - *Gotel & Finkletein, 1994 30
Dynamic Tracing Problem: Manual tracing i ubject to error, omiion, and decay a artifact are changed and the lack-of-benefit-to-tracer problem. One olution: Dynamic tracing Dynamic tracing i the automated generation of candidate trace link. 31
With over 3000 deign document the rebel will NEVER find the flaw in in the DeathStar. 32
Much to to learn you have, hmmm? The rebel are uing Dynamic Tracing! 33
A Typical Traceability Matrix 34
Information Retrieval* Inference Network Model (probabilitic approach) Frequency of term t i in repect to the ize of the document. prob(d j t i )=freq(d j,t i )/ Σ k freq(d j,t k ) Frequency of term t i in repect to the ize of the query. prob(q t i )=freq(q,t i )/ Σ k freq(q,t k ) Prob(d j q) = Σ prob(d j t i ) prob(q t i ) prob(t i ) i prob(q) Probability of a link between a query and document. Σ i prob(q t i ) prob(t i ) Meaure the rarity/commonality of the term. prob(t i ) = η(1/n i ) where n i = # of doc containing t i. η = normalizing factor *Slide Courtey of Prof. Jane Cleland-Huang, DePaul Univerity 35
/* * Notification_Proceing.java * @author Fuhu Liu * @verion 5.0 * Changed log file to log DB */ import java.awt.*; import java.awt.event.*; import javax.wing.*; import java.io.*; import java.util.*; import java.ql.*;... void UpdateDiplayLit() { litmodel.removeallelement(); String msql = "SELECT ditinct + SubcriberName FROM EventDetail"; try { r = tmt.executequery(msql); while (r.next()) { String SubName = r.getstring(1); litmodel.addelement(subname); } } } r.cloe(); } catch (Exception e) { Sytem.out.println("Notification_Proceing: Problem with query: " + e); An example of traceable artifact and elected link 36
Viualized Hierarchy* X X WEATHER STATION MANAGEMEN T FREEZE PREDICTIO N DRIVING ALERT CONTACTS Alert hall be iued when hazardou driving condition exit WEATHER READINGS WEATHER STATIONS DE-ICING SCHEDULING ROADS ROAD NETWORK MAPS UPDATE ROAD DATA ROAD SENSORS Candidate link Accepted link Current link Rejected link X *Slide Courtey of Prof. Jane Cleland-Huang, DePaul Univerity 37
Quetion? Am I uppoed to diintegrate the databae or the audience??? Zapppp 38