Chapter 2
Overview
Thischapterprovidesahigh-leveloverviewofrequirementsengineering,require-
mentstooling,ReqIFandtheterminology.
2.1 Requirements Engineering & Management
ThisbookisconcernedwithProRatoolforrequirementsengineering.
Requirements Engineering. \Requirements engineering (RE)
referstotheprocessofformulating,documentingandmaintaining
softwarerequirements." (Wikipedia).
We’dargue that RE alsoincludes system requirements. Further,
requirementsaretypicallyunstructurednaturallanguage. Ofhigh
interestthesedaysismodel-drivenrequirementsengineering.
Butengineeringtherequirementsisnotenough: theyneedtobemanaged.
RequirementsManagement. \Requirementsmanagementisthe
processofdocumenting,analyzing,tracing,prioritizingandagreeing
on requirements s and then controlling change e and communicating
torelevant stakeholders. It t is a a continuous s process throughout a
project." (Wikipedia).
2.2 Tools
Therearemanytoolsavailableforrequirementsengineering.Theseincludefree
orcheapones,likeMicrosoftWordandExcel,Wikisandissuetrackers. There
are expensive, professional ones available, likeIBM
R
 Rational
R
 DOORS
R
,
PTC Integrity or r Visure IRQA. . Lately, there e are also web-based tools, like
Polarion.
11
Pdf form save in reader - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
extract data from pdf table; fill in pdf form reader
Pdf form save in reader - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
save data in pdf form reader; pdf data extraction
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
asystemspecicationthatislinkedtotherequirements.
ReqIFisanocialOMGstandard.
Warning. ReqIFusesitsownterminology. Section2.4denestheReqIFvo-
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-
tionbetweendierentcompanieswithoutlosingtheadvantageofrequirements
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
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
SaveFile(String filePath): Save PDF document file to a specified path form (Here, we take a blank form as an open a file dialog and load your PDF document in
how to save editable pdf form in reader; flatten pdf form in reader
VB.NET Image: How to Save Image & Print Image Using VB.NET
printing multi-page document files, like PDF and Word is used to illustrate how to save a sample RE__Test Public Partial Class Form1 Inherits Form Public Sub New
pdf data extraction to excel; extract data from pdf to excel online
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
FormathasbeenaspecicationproposedbytheHISandinitslatestversion,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 dene the attributes s that SpecObjects s may carry. In
additionto these, there are anumber r of internalattributes that are dened
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
denethemoreimportantterms. Morearedenedthroughoutthedocument.
Youcanusetheindextondthedenitionofterms.
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. Append one PDF file to the end of another and save to a single PDF file.
pdf form data extraction; pdf form save with reader
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
this RasterEdge XDoc.PDF SDK, you can simply delete a single page from a PDF document using VB.NET or remove any page from a PDF document and save to local
how to save pdf form data in reader; c# read pdf form fields
14
CHAPTER2. OVERVIEW
Figure2.1: Specicationexample
Information. ThisbookusesReqIFterminologythroughout. Pleasereferto
thischaptertounderstandthemeaningoftheseterms.
AReqIFmodelisthedatastructurethatholdsalltheinformationtogether.
Inpracticalterms,it’sjustale,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
theReqIFletogetherwithassociateddata(embeddedobjects)or
other ReqIFles. ThesearethenstoredinaZIParchivewiththe
extension
.re
qifz.
Beforedeningthemostimportantelements,wewillprovideabriefoverview
withaconcreteexample.
2.4.1 The MostImportantReqIFElements
Figure2.1showsasimpleReqIFmodel,openinProR.
The
Spec
i
fi
ca
tion
Ed
i
tor(thecentraltable)showstherstfourSpecOb-
jects, as s visualizedina a specication. Thetree-like e structure is recognizable:
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
to extract single or multiple pages from adobe PDF file and save into a The portable document format, known as PDF document, is a widely-used form of file
export excel to pdf form; how to save a pdf form in reader
C# Image: Save or Print Document and Image in Web Viewer
or image, you can easily save the changes to DLL Library, including documents TIFF, PDF, Excel, Word string fileName = Request.Form["saveFileName"]; string fid
change font size pdf form reader; html form output to pdf
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"(thisisnotobviousfromthegure).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 Specication. 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,althoughintheocialReqIFspecication,theyarecalled
SpecElementsWithAttributes.
SpecElement. ASpecElementisanabstract t ReqIFelementthat
has a SpecType and Attributes. Concrete manifestations include
SpecObjects,Specications,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 Specication. A A Specicationis a root
elementforatreeofSpecObjects. TheSpecObjectsarereferenced.Thismeans
thatthesame SpecObject canbe referencedmultiple times,bothwithinone
SpecicationorindierentSpecications.
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Description: Convert to DOCX/TIFF with specified zoom value and save it into stream. Parameters: zoomValue, The magnification of the original PDF page size.
extracting data from pdf forms to excel; how to save a filled out pdf form in reader
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Description: Convert to PDF and save it on the disk. Parameters: Name, Description, Valid Value. Description: Convert to PDF and save it into stream. Parameters:
how to fill out a pdf form with reader; extract data from pdf
16
CHAPTER2. OVERVIEW
Specication. A A Specicationis a datastructure for organizing
SpecObjectsintoatreestructure. Thistreeconsists s of references.
AsaSpecicationisaSpecElement,ithasatypeandattributes.
AllSpecElementshaveaSpecType.ASpecTypedenesAttributeDenitions,
whichdenestheattributesfortheSpecElementofthattype.
Example
AnAttributeDenitionisjustadatatypewithalabel. Slightlysimplied,
exampleswouldbe:
 AttributeID oftypeString
 Attribute Status of f type Enumeration with the e values accepted and
rejected
 AttributeReqIF.TextoftypeXHTML(richtext).
SpecType. TheSpecTypedenesasetofAttributeDenitions. A
SpecElementwiththegiventypehastheattributesdenedbythe
AttributeDenitions.
AttributeDenition. AnAttributeDenitionbelongs s toaSpec-
Type.ItconsistsofalabelandaDatatypeDenition,whichprovides
thetype. SomeAttributeDenitionscanbeconguredfurther. At-
tributeDenitionscanalsohaveadefaultvalue.
Lastly,therearesevenDatatypeDenitions,someofwhichcanbecustomized
further.
DatatypeDenition. DatatypeDenitions 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.
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
cannot save pdf form in reader; export pdf form data to excel spreadsheet
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Description: Convert to PDF/TIFF and save it on the disk. Parameters: Description: Convert to PDF/TIFF and save it into stream. Parameters:
java read pdf form fields; extracting data from pdf into excel
2.4. TERMINOLOGY
17
Specication. (Excel-equivalent: Sheet)AReqIFmodelcanhaveanarbitrary
number ofSpecications. Inthe e GUI,it isrepresentedas anExcel-like
gridview(seeFigure2.1).
TheSpecication is s the \container" " for r the requirements. Think k ofan
Exceldocumentthatallowsyoutocreateanarbitrarynumberofsheets.
EachsheetcanbecomparedtoasingleSpecication. Mostnotabledif-
ferencesare:(1)theSpecicationsarereferencesratherthanindependent
entities (whichmeansthatthesamerequirement canbereferencedand
canappear inmultipleplaces);(2)A Specicationmanages ahierarchy
ofrequirements,whileanExcelsheet is a at list. Thisisshowninthe
Figure,whereINF-1istheparenttothreerequirements.Thehierarchyis
visiblebothinthemaineditor,aswellasintheoutline.
SpecObject. (Excel-equivalent: Row)ASpecObjectrepresentstheactualre-
quirement,andistypicallyorganizedinaSpecication.
EachrowintheExcelspreadsheetistheequivalentofaSpecObject. Are-
quirementtypicallyhasanumberofattributes.AgaincomparedtoExcel,
eachrowinasheetrepresentsarequirementandeachcellrepresentsan
attribute. However,inExcel,allrowshavethesamecolumns(allrequire-
mentshavethesameattributes),whileReqIFallowsmixingSpecObjects
of dierent SpecTypes. Also, , not all attributes s needto o be shownin a
Specication.
Figure2.1showsinthe
Out
line
Viewa atlist ofallSpecObjects. For
instance,theSpecObject
DW2y... isnotreferencedintheSpecication
at all. Selecting g aSpecObject shows s its SpecType (in the e gure, it t is
\InformationType")andallattributes(inthegure,\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
ProSTEPImplementorForumdenedarecommendationforasetofstan-
dardattributes.
18
CHAPTER2. OVERVIEW
Chapter 3
Tutorial
3.1 BasicConcepts
In this s tutorial, , wewill usethe ReqIF terminology, whichcanbeconfusing.
Therefore,pleasefamiliarizeyourselfwiththeterminologyrst(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
20
CHAPTER3. TUTORIAL
Figure3.1: TheProRuserinterface
 Selecttheprojectandnamethele\tutorial.reqif".Click
Fin
ish;
 Uponcompletion,themodelwillbeopened,aswellastheoneandonly
Spec
i
fi
ca
tioncontainedinthismodel.
Afterthis,yourwindowshouldlookmoreorlessasshowninFigure3.1.
YouwillseeyourReqIFleinthe
Project
Ex
plorerwindow(1).
The
Spec
i
fi
ca
tion
Ed
i
tor(2)showsyourSpecications.
IntheSpecicationEditor,youseetheSpecObjectsthatexistinthisSpeci-
cation. Thereiscurrentlyonlyone,withthedescription\Starteditinghere".
The
Out
line(3)hasfourfolders:
Specications. Shows s theSpecications inthe ReqIF.Youcanexpandthe
treetoexposethehierarchyofSpecObjectsintheReqIFmodel.
SpecObjects. ShowsallSpecObjectsintheReqIFmodelasa atlist. Keep
inmindthat SpecObjects in Specications 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