Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.2. Architecture-<strong>Driven</strong>S<strong>of</strong>twareDevelopment 23<br />
Thesemotivationsforconsiderings<strong>of</strong>twarearchitecturedesignasaseparatephaseinthes<strong>of</strong>twaredevelopmentprocess,alsoillustratestheimportance<strong>of</strong>s<strong>of</strong>twareevolutiononthearchitecturallevel.Ifs<strong>of</strong>twareiscontinuouslyevolvedonlowerabstractionlevels,phenomenasuchasarchitecture<br />
drift<strong>and</strong>erosion[Perry<strong>and</strong>Wolf,1992](seealsoChapter1),decreasethe<br />
possibility<strong>of</strong>usingthes<strong>of</strong>twarearchitectureinthewaysdescribed.Atthat<br />
point,restoration<strong>of</strong>theintendedarchitectureormigrationtoanewarchitecture,again,bringsthebenefits<strong>of</strong>conceptualintegrity,earlyassessment<br />
<strong>of</strong>designdecisions,<strong>and</strong>reuse.<br />
Withrespecttotheprecedingdiscussionons<strong>of</strong>twarearchitecturethis<br />
thesispositionss<strong>of</strong>twarearchitectureinterms<strong>of</strong>structure<strong>and</strong>architecturalelements.Moreover,consideringtheimportance<strong>of</strong>s<strong>of</strong>twarestructurefors<strong>of</strong>twareevolution(seeSection2.1),weinvestigatehowtouse<strong>and</strong>manipulates<strong>of</strong>twarearchitecturesforthes<strong>of</strong>twareevolutiontasksweidentifiedinSection1.1.<br />
2.2.3 S<strong>of</strong>twareArchitectureDesign<br />
Thegoal<strong>of</strong>s<strong>of</strong>twarearchitecturedesignistodefinetheconstraintsforsubsequentdesign<strong>and</strong>implementationactivitiesthatresultinthedevelopment<strong>of</strong>asystemthatfulfilsitsfunctional<strong>and</strong>otherqualitygoals.Assuch,<br />
as<strong>of</strong>twarearchitectureisbothpermissive<strong>and</strong>restrictivewithrespectto<br />
thedecisionstakeninsubsequentactivities[Perry<strong>and</strong>Wolf,1992].<br />
Basedonexistingdesign<strong>and</strong>evaluationmethods,Kazmanetal.[2006]<br />
formulatethreeprinciplesthatareusefultounderst<strong>and</strong>howarchitectural<br />
constraintsaredefined: 1)anarchitectureshouldbedefinedinterms<strong>of</strong><br />
elementsthatarecoarseenoughforhumanintellectualcontrol<strong>and</strong>specificenoughformeaningfulreasoning,2)businessgoalsdeterminequality<br />
attributerequirements,<strong>and</strong>3)qualityattributerequirementsguidethe<br />
design<strong>and</strong>analysis<strong>of</strong>s<strong>of</strong>twarearchitectures.<br />
Similartootherengineeringdisciplines,theactualdesign<strong>of</strong>s<strong>of</strong>tware<br />
largelyremainsacreativeactivity. Consequently,thesuccess<strong>of</strong>s<strong>of</strong>tware<br />
projectsforalargepartdependsontheexperience<strong>and</strong>skills<strong>of</strong>thes<strong>of</strong>tware<br />
architects. Althoughs<strong>of</strong>twarearchitectureevaluationmethodscanhelp<br />
architectstoassessthequality<strong>of</strong>feredbythearchitecturetheydefined,<br />
suchmethodscanonlybeappliedafterithasbeendesigned.Weintroduce<br />
thesemethodsinSection2.2.5.<br />
Toalsoprovideguidanceduringthedesignprocessitself,theanalysis<br />
<strong>and</strong>codification<strong>of</strong>experiencesbycategorisingproblemtypes<strong>and</strong>recording<br />
<strong>and</strong>generalisingsuccessful(byexperience)solutions,is<strong>of</strong>greatimportance<br />
fors<strong>of</strong>twarearchitecturepractice.S<strong>of</strong>twarearchitecturalstyles,sometimes<br />
alsoreferredtoasarchitecturalpatterns,aresuchcodifications.