41
12
CHAPTER2. OVERVIEW
ProRfallsintothecategoryoffreetools. But t comparedtotheonesmen-
tioned,itcontains importantfeaturesfromprofessionaltools,includingtrace-
abilityandtypedattributes. Further,bytakingadvantageoftheEclipseecosys-
tem,thetoolcanbeaugmentedbyplug-insforversionsupport,modelintegra-
tionandmuchmore.
Information. Professional support, commercial components andintegration
servicesareavailablefromFormalMindandotherserviceproviders.
2.3 Requirements Interchange Format (ReqIF)
ReqIF standsforRequirementsInterchangeFormat. Itisanexchangeformat
forrequirementsandadatamodel. ProRis s aneditor thatcandirectlyview
andmodifyReqIFdata.
ReqIFwascreatedtosupporttheexchangeofrequirementsacrossorganiza-
tions. Forinstance,itallowsamanufacturertosendrequirementstosuppliers.
Thesupplierscanthencommentandreviewtherequirements,ortheycancreate
asystemspecicationthatislinkedtotherequirements.
ReqIFisanocialOMGstandard.
Warning. ReqIFusesitsownterminology. Section2.4denestheReqIFvo-
cabulary andhowit relates tothe terms usedinclassical requirements
engineering.
2.3.1 ReqIFHistory
For technicalandorganizationalreasons,twocompaniesinthemanufacturing
industryarerarelyabletoworkonthesamerequirementsrepositoryandsome-
timesdonotworkwiththesamerequirementsauthoringtools. Ageneric,non-
proprietaryformatforrequirementsinformationisrequiredtocrossthechasm
andtosatisfy the urgent industry needfor exchanging requirement informa-
tionbetweendierentcompanieswithoutlosingtheadvantageofrequirements
managementattheorganizations’borders.
TheRequirements Interchange Format(ReqIF) describedinthisRFCde-
nes sucha tool-independent exchange e format. Requirement t information is
exchangedbytransferringXMLdocumentsthatcomplytotheReqIFformat.
In2004,theHIS(HerstellerInitiativeSoftware),apanelofGermany’sauto-
motivemanufacturers(Daimler,VW,Porsche,AudiandBMWGroup)devel-
opedtheideaofcreatingthe\RequirementsInterchangeFormat".In2005,the
rstversionofthatformatwaspresentedat the REConf,aconference about
requirementsengineeringandmanagement,inMunich.In2008,theHISSteer-
ing Committee decidedthat t the internationalizationandmaintenance of the
RequirementsInterchangeFormatshouldbeproceededwiththeProSTEPiViP
Association.Aprojectwassetupandateamwasbuiltthatincludesmembers
oftheProSTEPiViPAssociation,representativesofmanufacturingcompanies
41
2.4. TERMINOLOGY
13
(Audi,BMWGroup,Daimler,VW,BoschandContinental),toolvendors(At-
ego,IBM,MKS)anddevelopmentpartners(HOODGmbH,PROSTEPAG).
Information. Furtherreading:TheHISExchangeProcessforRequirements{all
youeverwantedtoknow.
TheReqIFteamexpectsthatmakingtheRequirementsInterchangeFormat
anOMGstandardincreasesthenumberofinteroperableexchangetoolimple-
mentations onthemarket,fosters thetrust ofcompaniesexchangingrequire-
mentinformationintheexchangeformatandprovidessafetyofinvestmentsto
toolvendors.
2.3.2 PreviousVersionsofReqIF
ThisdocumentissubmittedasRFCoftheRequirements InterchangeFormat
(ReqIF) to o the OMG. Before the submission, the e Requirements Interchange
FormathasbeenaspecicationproposedbytheHISandinitslatestversion,a
recommendationofProSTEPiViP.Fortheseversions,theabbreviation\RIF"
hasbeenapplied. The e HISreleasedtheRequirementsInterchangeFormat as
RIF 1.0, RIF 1.0a, RIF 1.1; RIF 1.1a a and the ProSTEP iViP released the
recommendationRIF1.2.
As the acronym RIF has an ambiguous meaning within the OMG, the
acronym ReqIFhas beenintroduced toseparate e it from the W3C‘sRule In-
terchange Format. ReqIF F 1.0 is the e direct successor of f the ProSTEP iViP
recommendationRIF1.2.
Warning. TheProRGUIdoesnotcurrentlysupportRIF.
2.3.3 InternalAttributes
ReqIF allows s users to o dene the attributes s that SpecObjects s may carry. In
additionto these, there are anumber r of internalattributes that are dened
by theReqIFstandard. Examples s include an internal ID D or thelast change
timestamp.
Theseinternal attributes s arerarely of interest tousers who o just want to
workwithrequirements. However,theymaybeofinteresttotoolexperts,or
maybeinspectedfortroubleshooting.
InternalattributescanbeaccessedfromthePropertiesView,usingthe
All
At
tributestab.
2.4 Terminology
WorkingwithProRcanbeconfusingasitusestheterminologyfromReqIF.For
instance,ReqIFusesSpecObjects,ratherthanrequirements. Inthefollowing,we
denethemoreimportantterms. Morearedenedthroughoutthedocument.
Youcanusetheindextondthedenitionofterms.
38
14
CHAPTER2. OVERVIEW
Figure2.1: Specicationexample
Information. ThisbookusesReqIFterminologythroughout. Pleasereferto
thischaptertounderstandthemeaningoftheseterms.
AReqIFmodelisthedatastructurethatholdsalltheinformationtogether.
Inpracticalterms,it’sjustale,thatusuallyendsin
.re
qifor
.re
qifz. It
containsnotjusttherequirements,butalsothedatatypesofthoserequirements
andalotofotherstu. IthasbeendescribedindetailinSection2.3.
ReqIF. ReqIFisanXML-basedformatforrequirements,intended
tobeusedasanexchangeformat.ItisanopenOMGstandardand
describedindetailinSection2.3.TheXMLdataistypicallystored
in awithwiththeextension
.re
qif. It t is also o possible to store
theReqIFletogetherwithassociateddata(embeddedobjects)or
other ReqIFles. ThesearethenstoredinaZIParchivewiththe
extension
.re
qifz.
Beforedeningthemostimportantelements,wewillprovideabriefoverview
withaconcreteexample.
2.4.1 The MostImportantReqIFElements
Figure2.1showsasimpleReqIFmodel,openinProR.
The
Spec
i
fi
ca
tion
Ed
i
tor(thecentraltable)showstherstfourSpecOb-
jects, as s visualizedina a specication. Thetree-like e structure is recognizable:
56
2.4. TERMINOLOGY
15
INF-1isanodewiththreechildren, REQ-1,REQ-2andREQ-3(this s canbe
seenbytheindentation).Let’slookatINF-1andREQ-1. Whenoneisselected
inthemainpain,it’s attributes appearinthe
Prop
er
ties
View,thepaneat
thebottom.
INF-1hastwoAttributes,\Description"and\ID".TheSpecType is\Infor-
mationType"(shownastheheaderinthe
Prop
er
ties
View).
REQ-1,REQ-2,andREQ-3havethreeAttributes,\Description",\ID"and
\Status"(thisisnotobviousfromthegure).Toaccommodatethis,acolumn
called\Status"hasbeencreated. Asthe\InformationType"hasno\Status"
attribute,itisnotshowninthe
Prop
er
ties
View.
2.4.2 SpecElements
A requirement t is called a SpecObject. This s is arguably the most important
element in ReqIF, the e actual requirements that t you are e working with. The
SpecObjectsofaReqIFmodelcanbedirectlyaccessedinProRviatheoutline.
It is more e common toaccess s them via a a Specication. When aSpecObject
is selected, , its s details (attributes and internalinformation) ) areshowninthe
Prop
er
ties
View.
SpecObject. ASpecObjectisadatastructureforstoringrequire-
mentsinformation. Ithasanumberofattributes. Themosttypical
attributesincludetherequirementstextandahuman-readableID.
A SpecType determines s the attributes of the SpecObject. It is a
SpecElement.
ThereareotherelementsinReqIFthathaveatypeandattributes. Wecall
theseSpecElements,althoughintheocialReqIFspecication,theyarecalled
SpecElementsWithAttributes.
SpecElement. ASpecElementisanabstract t ReqIFelementthat
has a SpecType and Attributes. Concrete manifestations include
SpecObjects,Specications,SpecRelationsandSpecRelationGroups.
CreatinglinksbetweenSpecObjectsisacentralfunctionalityofrequirements
tools. InReqIFterminology,linksarecalledSpecRelations.
SpecRelation. ASpecRelationis s adatastructureforconnecting
twoSpecObjects. Itcontainsasourceandatargetreferencetothe
SpecObjects that areconnected. As s aSpecRelationis aSpecEle-
ment,ithasatypeandattributes.
SpecObjectsdonothaveanyparticularorder.SpecObjectscanbeorganized
into a tree-like structure by using a Specication. A A Specicationis a root
elementforatreeofSpecObjects. TheSpecObjectsarereferenced.Thismeans
thatthesame SpecObject canbe referencedmultiple times,bothwithinone
SpecicationorindierentSpecications.
37
16
CHAPTER2. OVERVIEW
Specication. A A Specicationis a datastructure for organizing
SpecObjectsintoatreestructure. Thistreeconsists s of references.
AsaSpecicationisaSpecElement,ithasatypeandattributes.
AllSpecElementshaveaSpecType.ASpecTypedenesAttributeDenitions,
whichdenestheattributesfortheSpecElementofthattype.
Example
AnAttributeDenitionisjustadatatypewithalabel. Slightlysimplied,
exampleswouldbe:
AttributeID oftypeString
Attribute Status of f type Enumeration with the e values accepted and
rejected
AttributeReqIF.TextoftypeXHTML(richtext).
SpecType. TheSpecTypedenesasetofAttributeDenitions. A
SpecElementwiththegiventypehastheattributesdenedbythe
AttributeDenitions.
AttributeDenition. AnAttributeDenitionbelongs s toaSpec-
Type.ItconsistsofalabelandaDatatypeDenition,whichprovides
thetype. SomeAttributeDenitionscanbeconguredfurther. At-
tributeDenitionscanalsohaveadefaultvalue.
Lastly,therearesevenDatatypeDenitions,someofwhichcanbecustomized
further.
DatatypeDenition. DatatypeDenitions s arethe fundamental
typesinReqIFandinclude:
Boolean{trueorfalse
Integer{therangecanbecustomized
Real{rangeandprecisioncanbecustomized
Date{alsoincludesthetime
String{themaximumlengthcanbecustomized
Enumeration{bothsingleandmultiplechoicearesupported
XHTML{allowembeddingobjectsofanytype
2.4.3 ComparingExcelandReqIF
Withthe basicterminology inplace, we have aquicklookat the ProRuser
interfaceandcompareitwithExcel.Wedothis,asmostreaderswillbefamiliar
withExcel,anditissometimesusedforsimplerequirementsengineering.
51
2.4. TERMINOLOGY
17
Specication. (Excel-equivalent: Sheet)AReqIFmodelcanhaveanarbitrary
number ofSpecications. Inthe e GUI,it isrepresentedas anExcel-like
gridview(seeFigure2.1).
TheSpecication is s the \container" " for r the requirements. Think k ofan
Exceldocumentthatallowsyoutocreateanarbitrarynumberofsheets.
EachsheetcanbecomparedtoasingleSpecication. Mostnotabledif-
ferencesare:(1)theSpecicationsarereferencesratherthanindependent
entities (whichmeansthatthesamerequirement canbereferencedand
canappear inmultipleplaces);(2)A Specicationmanages ahierarchy
ofrequirements,whileanExcelsheet is a
at list. Thisisshowninthe
Figure,whereINF-1istheparenttothreerequirements.Thehierarchyis
visiblebothinthemaineditor,aswellasintheoutline.
SpecObject. (Excel-equivalent: Row)ASpecObjectrepresentstheactualre-
quirement,andistypicallyorganizedinaSpecication.
EachrowintheExcelspreadsheetistheequivalentofaSpecObject. Are-
quirementtypicallyhasanumberofattributes.AgaincomparedtoExcel,
eachrowinasheetrepresentsarequirementandeachcellrepresentsan
attribute. However,inExcel,allrowshavethesamecolumns(allrequire-
mentshavethesameattributes),whileReqIFallowsmixingSpecObjects
of dierent SpecTypes. Also, , not all attributes s needto o be shownin a
Specication.
Figure2.1showsinthe
Out
line
Viewa
atlist ofallSpecObjects. For
instance,theSpecObject
DW2y... isnotreferencedintheSpecication
at all. Selecting g aSpecObject shows s its SpecType (in the e gure, it t is
\InformationType")andallattributes(inthegure,\Description"and
\ID").
Attribute. (Excel-equivalent:Cell)Anattributeholdstheactualcontentofa
SpecObject.
InExcel,anewattributeis simplycreatedbyputtingacolumnheader
onacolumn. InReqIF,columnsarecreatedvia
ProR
|
Col
umn
Con
fig
u
ra
tion, or r by clicking g on
. But t content will l only be shown if f the
SpecObjectofthatrowhasanattributeofthatname.
Besidestheactualtextoftherequirement,typicalattributesincludeID,
status,etc. Notethatthereareno\standard"attributes. However,the
ProSTEPImplementorForumdenedarecommendationforasetofstan-
dardattributes.
35
Chapter 3
Tutorial
3.1 BasicConcepts
In this s tutorial, , wewill usethe ReqIF terminology, whichcanbeconfusing.
Therefore,pleasefamiliarizeyourselfwiththeterminologyrst(Section2.4).
Warning. InReqIFterminology,arequirementiscalledSpecObject,alinkis
aSpecRelation,andthedocumentviewconsistsofSpecHierarchies. Con-
fused? ThenpleasehavealookatSection2.4,wheretheterminologyis
described.
3.2 Tutorial 1: Creating a Basic ReqIF Model
Inthissection,wewillbuildaReqIFmodelfromscratch,stepbystep.
3.2.1 InstallProR
The easiestwayfor installing ProR is downloadingformalmindStudio. This
isastandalone-applicationthatisbasedonEclipseProR,combinedwithsome
enhancements.
Alternatively,youcaninstallProRinanyEclipse-Installationviaitsupdate
site(listedontheRMFDownloadpage). Thisis s recommendedfor advanced
usersonlywhoneedtointegrateRMFwithotherEclipse-basedcomponents.
Information. TheinstallationisdescribedindetailinSection4.1.2.
3.2.2 Create the Model
Ifyoudonotalreadyhaveone,createanewproject: : Select
File
|
New
|
Project;
CreatetheReqIFmodelbyselecting
File
|
New
|
Re
qif10
Model;
19
47
20
CHAPTER3. TUTORIAL
Figure3.1: TheProRuserinterface
Selecttheprojectandnamethele\tutorial.reqif".Click
Fin
ish;
Uponcompletion,themodelwillbeopened,aswellastheoneandonly
Spec
i
fi
ca
tioncontainedinthismodel.
Afterthis,yourwindowshouldlookmoreorlessasshowninFigure3.1.
YouwillseeyourReqIFleinthe
Project
Ex
plorerwindow(1).
The
Spec
i
fi
ca
tion
Ed
i
tor(2)showsyourSpecications.
IntheSpecicationEditor,youseetheSpecObjectsthatexistinthisSpeci-
cation. Thereiscurrentlyonlyone,withthedescription\Starteditinghere".
The
Out
line(3)hasfourfolders:
Specications. Shows s theSpecications inthe ReqIF.Youcanexpandthe
treetoexposethehierarchyofSpecObjectsintheReqIFmodel.
SpecObjects. ShowsallSpecObjectsintheReqIFmodelasa
atlist. Keep
inmindthat SpecObjects in Specications s are references. Incontrast,
thisfoldershowsallSpecObjects createdfortheReqIFmodel, , whether
ornottheyarereferenced.
SpecRelations. ShowsallSpecRelationsintheReqIFasa
atlist. Fornow,
wewillignoreSpecRelations.
SpecRelationsGroups. These are special constructs that can be used for
groupingSpecRelationswiththesamesourceandtarget.
ThepropertiesofaselectedSpecElementareshowninthe
Prop
er
ties
View
(4). As the e only SpecObject in the model is selected, we see e its SpecType
Documents you may be interested
Documents you may be interested