11.12.2012 Views

Model-Driven Evolution of Software Architectures - Software and ...

Model-Driven Evolution of Software Architectures - Software and ...

Model-Driven Evolution of Software Architectures - Software and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

48 Chapter3. State<strong>of</strong>thePractice<br />

Requirementsspecifywhatasystemdoes;adesigndescribeshowto<br />

realiseasystem. S<strong>of</strong>twareengineeringtextbooksstrictlyseparatetherequirements<strong>and</strong>thedesignphases<strong>of</strong>s<strong>of</strong>twaredevelopment;inpractice,this<br />

separationislessobvious.Infact,thesmallcompanies<strong>of</strong>tenputboththe<br />

requirements<strong>and</strong>designintothesystemspecification. Thesecompanies<br />

didnotexplicitlyderives<strong>of</strong>twarerequirementsfromthesystemrequirements.<br />

Thedevelopmentprocessesinthelargercompaniesdidresultin<br />

separaterequirements<strong>and</strong>designdocumentsondifferentabstractionlevels.<br />

However,inmanycases,thesecompaniesdirectlycopiedinformation<br />

fromadesigndocumentintoarequirementsdocumentforthenextabstractionlevelinstead<strong>of</strong>firstperformingadditionalrequirementsanalysis.<br />

Forinstance,as<strong>of</strong>twarearchitecturespecification(i.e.,adesigndocument)<br />

mightlistsomecharacteristics<strong>of</strong>thecomponentsthatcomprisethearchitecture.<br />

Onthenextabstractionlevelarequirementsdocumentconcerns<br />

onlyanindividualcomponent.Oftensimplythecharacteristicsmentioned<br />

inthearchitecturespecificationareusedastherequirements,instead<strong>of</strong><br />

elaboratingthoserequirements<strong>and</strong>addingmoredetailedrequirements.<br />

3.4.1 RequirementsSpecification<br />

Requirementswereusuallyspecifiedinnaturallanguage<strong>and</strong>processed<br />

withanordinarywordprocessor.Thecompaniesnormallyusedtemplates<br />

<strong>and</strong>guidelinestostructurethedocuments.Thetemplatesprescribedwhat<br />

aspectshadtobespecified. However,notallprojectsatacompanyused<br />

these templates, so requirements specifications from different projects<br />

sometimeslookedquitedifferent.<br />

Becauseembedded-s<strong>of</strong>tware’snonfunctionalpropertiesaretypicallyimportant,weexpectedthesetemplatestoreserveasectiononnonfunctional<br />

requirementsnextt<strong>of</strong>unctionalrequirements.Thiswasn’talwaysthecase.<br />

Forexample,therequirementsspecificationdidn’talwaysexplicitlytake<br />

intoaccountreal-timerequirements.Sometimesaprojectexpressedthem<br />

inaseparatesectionintherequirementsdocuments,but<strong>of</strong>tentheywere<br />

implicit.Requirementsspecification<strong>and</strong>designalsousuallydidn’texplicitlyaddressothertypicalembedded-s<strong>of</strong>twarerequirements,suchasthose<br />

forpowerconsumption<strong>and</strong>memoryuse.<br />

Projectsthatemployeddiagramstosupportrequirementsusedmostly<br />

free-form<strong>and</strong>box-linediagramsinastylethatresemblestheUnified<strong>Model</strong>ingLanguage<br />

1 (UML),data-flowdiagrams,orothernotations. Project<br />

membersprimarilyusedgeneral-purposedrawingtoolstodrawthediagrams.<br />

Because<strong>of</strong>thelack<strong>of</strong>propersyntax<strong>and</strong>semantics,otherproject<br />

members<strong>of</strong>tenmisinterpretedthediagrams. Thiswasespeciallytruefor<br />

1 http://www.uml.org(June2007)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!