Jun 17, 2013 - Specification+and+Design+of+the+PABRE+Framework+(Status:+In+Progress ...... the! design! of! software! systems,! known! as! design! patterns! ..... published!research!relevant!to!a!particular!research!question ...... and%behavior)%that%state%models%in%UML%(class%diagrams% ..... Manual broadcast.
! ! ! !
!
Thesis&Proposal&
DEFINITION&AND&USE&OF&SOFTWARE& REQUIREMENT&PATTERNS&IN& REQUIREMENTS&ENGINEERING&ACTIVITIES& ! ! ! ! !
! ! ! !
Cristina!Palomares!Bonache! ! ! ! Advisors:!Xavier!Franch!and!Carme!Quer!
17/06/2013! ____________________________________________________________________________!
! Programa!de!Doctorat!en!Computació! Departament!d’Enginyeria!de!Serveis!i!Sistemes!de!l’Informació!(ESSI)! Universitat!Politècnica!de!Catalunya !
!
! & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & !
!
!
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Table of contents 1.!
Introduction&................................................................................................................................................&7! 1.1.! 1.2.! 1.3.! 1.4.! 1.5.!
2.!
The&Importance&of&Requirements&...............................................................................................................&7! Requirements&Reuse&........................................................................................................................................&8! Reuse&through&Patterns&..................................................................................................................................&8! Motivation&.............................................................................................................................................................&9! Background&........................................................................................................................................................&10!
Thesis&Proposal&.......................................................................................................................................&12! 2.1.! 2.2.!
3.!
Global&Vision&......................................................................................................................................................&12! Goals&......................................................................................................................................................................&12!
State&of&the&Art&.........................................................................................................................................&14! 3.1.! SLR&Process&Summary&...................................................................................................................................&14! 3.2.! SLR&Results&Analysis&.......................................................................................................................................&16! 3.2.1.! General+Analysis+................................................................................................................................................+17! 3.2.1.1.! 3.2.1.2.! 3.2.1.3.!
RE&Reuse&Object&................................................................................................................................................&17! RE&Reuse&Objects&Catalogue&.........................................................................................................................&18! RE&Reuse&Process&..............................................................................................................................................&19!
3.2.2.1.! 3.2.2.2.! 3.2.2.3.!
Sentences&Templates&......................................................................................................................................&20! Variability&Patterns&..........................................................................................................................................&25! Requirement&Patterns&....................................................................................................................................&28!
3.2.2.! More+related+approaches+..............................................................................................................................+20!
3.3.! 4.!
Conclusions&........................................................................................................................................................&35!
Working&Plan&............................................................................................................................................&37! 4.1.! 4.2.! &A1!
A2!
Research&Plan&....................................................................................................................................................&37! Work&Done&..........................................................................................................................................................&39! Analysis+of+the+different+existent+approaches+to+the+notion+of+pattern+in+the+context+of+RE+ knowledge+reuse+(Status:+In+Progress)+.......................................................................................................+39! Subtasks finished ...................................................................................................................................... 39! Subtasks in progress ................................................................................................................................. 39!
Specification+and+Design+of+the+PABRE+Framework+(Status:+In+Progress)+.............................+39!
A2.1! Specification&of&the&PABRE&Metamodel&(Status:+In+Progess)&..........................................................&40! A2.2,!A2.3,&A2.4&Stable&version&of&the&NFW,&NTW&and&FWSRP&Catalogue&(Status:+In+Progress)&.......................&41! Subtasks finished ...................................................................................................................................... 41! A2.5! SRP&Creation&Methodology&(Status:+Finished)&......................................................................................&44!
A3! A4!
Implementation+of+the+PABRE+System+(Status:+In+Progress)+.........................................................+44!
Subtasks in progress ................................................................................................................................. 45!
A4.1! A4.2!
Definition+of+the+SRP+Reuse+Economic+Model+(Status:+In+Progress)+...........................................+46! State&of&the&art&of&reuse&economic&models&(Status:+Finished)&........................................................&46! Definition&of&the&SRP&Reuse&Economic&Model&(Status:+In+Progress)&...........................................&46!
4.3.! Future&Work&.......................................................................................................................................................&49! A1.4,! A1.5+Maintain+SLR+started+in+A1.1+upQtoQdate+(year+2014,+2015)+..................................................+49! &A1.6! Survey+about+the+current+state+of+RE+in+relation+to+reuse+in+IT+organizations+and+ departments+........................................................................................................................................................+49! A2.1! Specification+of+the+SRP+Metamodel+.........................................................................................................+49! A2.4.2! 2nd+iteration+over+FQSRP+Catalogue+...........................................................................................................+49! A2.2.2,! A2.3.3,+A2.4.3+3rd+iteration+over+NFQ,NTQ+and+FQSRP+Catalogue+...................................................+49! A2.6! SRP+Use+Methodology+.....................................................................................................................................+49! A2.7! SRP+Evolution+Methodology+.........................................................................................................................+50! &A3.1,! A3.2,+A3.3+Design+and+Implementation+of+the+PABREQMan,+PABREQProj+and+PABREQProj+ Web+tool+................................................................................................................................................................+50! A4.2! Definition+of+the+SRP+Reuse+Economic+Model+.......................................................................................+50! A5! Validation+of+the+PABRE+Framework+and+the+SRP+Reuse+Economic+Model+............................+50! A6! Write+the+thesis+..................................................................................................................................................+51! A7! Prepare+the+defense+of+the+thesis+...............................................................................................................+51! 3&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
4.4.!
List&of&Published&Papers&...............................................................................................................................&51!
Glossary&................................................................................................................................................................&54! References&...........................................................................................................................................................&56! Annexed&Papers&.................................................................................................................................................&64!
&
Table of figures Figure&1:&Summary&of&the&works&in&every&step&of&the&SLR&process&...................................................................&15! Figure&2:&Roadmap&of&the&SLR&results&............................................................................................................................&17! Figure&3:&Monzon&addWin&reuse&schema&(MIA)&...........................................................................................................&23! Figure&4:&Estes&et&al.&requirements&metamodel&.........................................................................................................&23! Figure&5:&Lam&et&al.&example&of&abstraction&process&................................................................................................&24! Figure&6:&Moros&et&al.&templates&and&catalogue&metamodel&.................................................................................&24! Figure&7:&N.&Heumesser&et&al.&variability&requirement&template&example&.....................................................&26! Figure&8:&M.&Mannion&et&al.&variability&requirement&template&example&..........................................................&26! Figure&9:&Dehlinger&at&al.&Role&Variation&Point&Schema&example&.......................................................................&27! Figure&10:&Dehlinger&at&al.&Role&Schema&example&.....................................................................................................&28! Figure&11:&Konrad&et&al.&(1)&pattern&template&.............................................................................................................&31! Figure&12:&Roder&usability&pattern&example&................................................................................................................&31! Figure&13:&Wahono&et&al.&extensible&requirement&pattern&template&filled&with&the&Products+ Catalogues&pattern&......................................................................................................................................................&31! Figure&14:&Wahono&et&al.&meWthodology&to&use&extensible&requirement&patterns&......................................&31! Figure&15:&Durán&Toro&et&al.&LWpatterns&for&information&systems&requirements&and&functional& requirements&.................................................................................................................................................................&33! Figure&16:&Franch&et&al.&requirement&patterns&example&........................................................................................&33! Figure&17:&Withall’s&requirement&pattern&structure&................................................................................................&33! Figure&18:&Konrad&et&al.&(2)&requirement&pattern&structure&................................................................................&34! Figure&19:&Silva&et&al.&requirement&pattern&structure&.............................................................................................&35! Figure&20:&Calendar&of&the&thesis&tasks&..........................................................................................................................&38! Figure&21:&PABRE&Framework&Overview&.....................................................................................................................&40! Figure&22:&PABRE&Metamodel&Overview&......................................................................................................................&40! Figure&23:&SRP&Construction&Methodology&..................................................................................................................&44! Figure&24:&The&PABRE&System&...........................................................................................................................................&45! Figure&25:&PABRE&System&Use&Cases&..............................................................................................................................&45!
&
Table of tables Table&1:&Template&used&to&data&extraction&and&synthesis&.....................................................................................&16! Table&2:&SLR&results&classified&according&the&characteristics&of&the&object&to&be&reused&.........................&18! Table&3:&SLR&results&classified&according&the&characteristics&of&the&catalogue&of&the&objects&to&be& reused&...............................................................................................................................................................................&19! Table&4:&SLR&results&classified&according&the&characteristics&for&the&use&of&the&objects&to&be&reused&20! Table&5:&Summary&of&SLR&works&found&related&to&the&reuse&of&requirements&using&templates&in& natural&language&(part&I)&..........................................................................................................................................&21! Table&6:&Summary&of&SLR&works&found&related&to&the&reuse&of&requirements&using&templates&in& natural&language&(part&II).........................................................................................................................................&22! Table&7:&Summary&of&the&SLR&works&found&related&to&Variability&Requirement&Patterns&......................&25! Table&8:&Summary&of&SLR&works&found&related&to&requirement&patterns&(part&I)&......................................&29! Table&9:&Summary&of&SLR&works&found&related&to&requirement&patterns&(part&II)&....................................&30! Table&10:&Tasks&list&of&the&thesis&.......................................................................................................................................&37! Table&11:&PABRE&Catalogue&organized&according&an&ISO/IEC&9126W1&based&classification&schema&..&42! Table&12:&Basic¶meters&in&order&to&feed&the&factors&of&Table&13&................................................................&47! Table&13:&CostWbenefit&factors&to&calculate&the&ROI&of&adopting&an&SRP&catalogue&in&an&organization &.............................................................................................................................................................................................&48! 4&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Table of annexed papers& Franch&X.,&Palomares&C.,&Quer&C.,&Renault&S.,&De&Lazzer&F.,&“A&Metamodel&for&Software&Requirement& Patterns”.&16th&International&Working&Conference&on&Requirements&Engineering:& Foundation&for&Software&Quality&(REFSQ’10),&2010.&(WorkWinWProgress&Paper)&......................&66& Franch&X.,&Guerlain&C.,&Palomares&C.,&Quer&C.,&Renault&S.,&“Interested&in&Improving&Your& Requirements&Engineering&Process?&Try&Requirement&Patterns!”&&Presented&in&the& Empirical&Fair&Track&on&17th&Int.&Working&Conference&on&Requirements&Engineering:& Foundation&for&Software&Quality&(REFSQ'11),&2011.&(Short&Paper)&................................................&72& Palomares&C.,&Quer&C.,&Franch&X.,&“PABREWMan:&Management&of&a&Requirement&Patterns&Catalogue”.& IEEE&International&Requirement&Engineering&Conference&(RE'11),&2011.&(Tool&Demo)&.......&74& Palomares&C.,&Quer&C.,&Franch&X.,&Guerlain&C.,&Renault&S.,&“A&Catalogue&of&NonWTechnical&Requirement& Patterns”.&2nd&International&Workshop&of&Requirements&Patterns&(REPA'12),&at&20th&IEEE& International&Requirement&Engineering&Conference&(RE'12),&2012.&..............................................&76& Franch&X.,&Quer&C.,&Renault&S.,&Guerlain&C.,&Palomares&C.,&“Constructing&and&Using&Software& Requirements&Patterns”.&Chapter&5&in&book&Managing&Requirements&Knowledge&,&2013,& Springer.&.....................................................................................................................................................................&82& Palomares&C.,&Quer&C.,&Franch&X.,&Guerlain&C.,&Renault&S.,&“A&Catalogue&of&Functional&Software& Requirement&Patterns&for&the&Domain&of&Content&Management&Systems”.&&Requirements& Engineering&Track&at&&28th&Symposium&On&Applied&Computing&(SAC’13),&2013.&..................&102& Palomares&C.,&Quer&C.,&Franch&X.,&“Using&a&Pattern&Catalogue&in&Requirements&Engineering& Activities”.&19th&Int.&Working&Conference&on&Requirements&Engineering:&Foundation&for& Software&Quality&(REFSQ’13),&2013.&(Short&Paper)&.............................................................................&108& Palomares&C.,&Quer&C.,&Franch&X.,&“PABREWProj:&Applying&Patterns&in&Requirements&Elicitation”.&IEEE& International&Requirement&Engineering&Conference&(RE'13),&2013.&(Tool&Demo)&...............&114&
&
5&
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
6!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
1. Introduction 1.1. The Importance of Requirements Requirements!Engineering!(RE)!is!the!process!in!which!the!system!to!be!built!is!defined,! getting!as!result!the!requirements!that!will!act!as!a!guideline!for!the!software!development! team.!Concretely,!requirements!elicitation!is!the!process!of!acquiring!system!requirements! from!system!stakeholders.!The!quality!of!this!process!is!critical!to!make!software!projects! a! success.! However,! evidence! exists! that! the! current! state! of! the! practice! is! still! far! from! being! satisfactory;! for! instance,! a! study! about! the! current! state! of! RE! conducted! by! the! SwissQ! company! involving! over! 300! participants! from! the! Swiss! IT! Community! [Swi12],! reveals! that! 70%! of! the! participants! are! not,! or! only! somewhat,! satisfied! with! their! elicitation!of!requirements,!being!considered!the!maturity!level!of!their!RE!very!weak!or! weak!in!the!case!of!31%!of!the!participants.! The! aim! of! the! RE! process! is! to! steer! the! development! towards! producing! the! right! software! [Law01].! Requirements! are! the! basis! for! every! project,! defining! what! the! stakeholders!–!users,!customers,!suppliers,!developers,!and!business!–!in!a!potential!new! system! need! from! it.! This! is! why! RE! aims! at! providing! an! unambiguous,! complete! and! consistent!set!of!requirements!that!help!developing!the!system.!! Without!a!proper!set!of!requirements!that!is!constantly!vetted!by!the!users!of!a!software! system!and!by!the!development!and!analysis!team,!the!system!will!not!properly!address! the!users’!needs.!At!least,!the!system!will!not!be!completed!on!time!or!within!budget!and,! at!worst,!the!project!will!be!discarded!and!the!customer's!faith!in!the!development!team! will!be!severely!damaged.!It!is!imperative!that!gathered!requirements!need!to!be!detailed,! complete,! and! understandable! by! all! stakeholders! of! a! software! project.! If! the! requirements!are!not!elicited!properly!the!project!will!fail,!no!matter!how!well!the!rest!of! the!project!is!executed.!! In!1995!the!Standish!group!performed!research!that!covered!over!8000!software!projects! of! varying! size! [Sta95].! The! study! showed! that! only! 9%! of! large! companies! and! 16%! of! small!companies!delivered!projects!on!time!and!within!budget.!When!the!companies!were! asked!via!survey!to!report!the!causes!of!failed!projects,!the!results!were!enumerated.!On! the!top!eight!factors!accounting!for!failed!projects!in!the!report,!five!of!them!were!related! to! requirements! and! requirements! elicitation,! being! two! of! them! the! top! two! factors:! Incomplete+ requirements! (13.1%),! and! Lack+ of+ user+ involvement+ during+ Requirements+ Engineering!(12.4%).!Besides!the!Standish!report,!more!recent!studies!have!also!identified! requirements!as!an!important!risk!factor!in!project!failures![Arn11]![PMS11].!! It!has!been!further!reported!that!requirementsWbased!problems!and!the!cost!of!fixing!them! increases! rapidly! the! farther! into! the! software! development! they! are! discovered.! A! deficiency!that!costs!a!dollar!to!be!fixed!during!the!requirements!definition!phase!can!cost! two!hundred!dollars!to!be!fixed!once!the!system!goes!to!production![Boe88].! Eliciting! the! suitable! requirements! produces! a! number! of! benefits! such! as! preventing! errors,! improving! quality,! and! reducing! risk! throughout! software! development! projects! [Bro87],! [Pro02].! However,! there! are! some! problems! that! often! exist! in! Software! Requirements! Specifications! (SRS):! usually! requirements! are! stated! in! an! ambiguous,! incomplete!and!inconsistent!manner,!and!generally!they!are!expressed!in!an!unsystematic! way! [Yu97].! The! SwissQ! study! mentioned! above! [Swi12]! also! corroborates! this! fact:! the! 74’5%! of! participants! had! problems! related! to! ambiguousness,! the! 73’6%! problems! related! to! incompleteness,! and! the! 61’1%! problems! related! to! inconsistency.! The! main! challenge!therefore!lies!in!obtaining!unambiguous!and!consistent!requirements!that!state!
7!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
clearly!the!complete!needs!of!the!stakeholders!or!the!problem!to!be!solved!by!the!system! [Hul05].!
1.2. Requirements Reuse Due! to! the! increasing! pressure! of! achieving! high! quality! software! in! the! shortest! time! possible,! different! reuse! techniques! have! been! introduced! from! many! years! ago! in! the! software!development!process![Som06],!as!the!ones!presented!in![Big89]![Sch94]![Kar95]! [Jac97]![Ezr02].!These!techniques!facilitate!the!design!and!development!of!components!in! order! to! be! reused! in! other! applications,! reducing! the! development! time,! improving! the! product!quality!and!being!more!competitive!on!costs.! Ideally,! the! reuse! consists! on! using! knowledge! in! its! most! abstract! form! [Pri89].! The! requirements! represent! the! most! abstract! level! of! knowledge! in! software! projects,! in! a! way!that!by!reusing!requirements!the!level!of!abstraction!of!reusable!items!increases.!! Although! the! argument! is! not! endorsed! by! any! documented! empirical! study,! it! seems! logical! to! expect! that! reuse! of! requirements! in! similar! systems! will! bring! economic! savings.! This! similarity! can! be! brought! by! either! Functional! (F),! NonWFunctional! (NF)! or! NonWTechnical!(NT)!aspects!in!the!systems.!It!can!also!be!argued!that!by!reusing!the!same! set! of! requirements! again! and! again,! the! trust! on! them! will! increase,! more! than! on! requirements!written!from!scratch.! It! is! often! the! case! that,! when! a! company! runs! many! elicitation! processes! over! time,! a! significant! proportion! of! requirements! is! recurrent! and! belong! to! a! relatively! small! number!of!categories.!As!Withall![With07]!said,!only!a!fraction!of!any!system!is!specific!to! its! business! area,! the! requirements! bulk! occurs! over! and! over! again! no! matter! what! the! system! is! for,! so! reuse! in! this! sense! is! possible.! Capitalizing! on! knowledge! acquired! in! previous! projects! seems! in! this! way! an! adequate! strategy! to! improve! the! quality! of! requirements!and!then!increase!the!changes!of!project!success,!as!well!as!to!increase!the! efficiency!of!the!requirements!elicitation!process.!Because!of!this,!the!concept!of!reuse!in! the! RE! stage! is! accepted! as! a! desirable! goal! from! years! ago! [Fin88]! [Mir91]! [Mai93]! [Bol94]![Lam97]![Bar99].! In! a! nutshell,! requirement! reuse! is! the! concept! of! taking! requirements! that! have! been! written!for!previous!projects!and!then!using!them!in!a!new!project.!In!principle,!reuse!can! be!applied!on!different!types!of!specification!objects!ranging!from!business!requirements! and!functional!requirements!to!use!cases!and!test!cases.!This!is!why!requirements!reuse! has! been! examined! from! a! number! of! different! perspectives:! analogy! [Fin88]! [Mai93],! caseWbased! reasoning! [Lai94]! and! generic! modelling! [Bol94]! [Reu90]! [Mir91]! [Rya93].! Unfortunately,!as!far!as!we!know!these!ideas!have!been!restricted!to!smallWscale!academic! examples,!and!remain!largely!untested!in!a!genuine!industrial!or!commercial!capacity.!
1.3. Reuse through Patterns Patterns!are!important!because!they!help!us!to!understand!how!people!perceive!the!world! [Fow97].! It! is! valuable! to! base! a! software! system's! analysis,! organization,! and! design! on! this! perception! of! patterns.! In! their! own! way,! patterns! represent! knowledge! and! experience!that!underlies!many!redesign!and!reengineering!efforts!of!developers!that!have! struggled!to!achieve!greater!reuse!and!flexibility!in!their!software.! Patterns! originated! as! an! architectural! concept! by! Christopher! Alexander! in! 1977.! As! Alexander! said,! “Each! pattern! describes! a! problem! which! occurs! over! and! over! again! in! our! environment,! and! then! describes! the! core! of! the! solution! to! that! problem,! in! such! a! way!that!you!can!use!this!solution!a!million!times!over,!without!ever!doing!it!the!same!way! twice”! [Ale77].! Alexander! is! the! architect! who! first! studied! patterns! in! buildings! and! communities! and! developed! a! pattern+ language! for! generating! them.! His! work! has!
8!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
inspired! a! broader! community! interested! in! patterns! in! general! and! softwareWrelated! patterns!in!particular.!Even!though!Alexander!referred!to!patterns!in!buildings!and!towns,! what!he!said!also!applies!to!recurring!problems!appearing!in!software!development.!! Following! this! line,! software! patterns! are! attempts! to! describe! successful! solutions! to! common! software! problems! [Sch96].! They! contain! useful! models,! their! design! rationale,! and! the! assumptions! and! constraints! of! using! them.! They! facilitate! reuse! and! sharing! of! models!and!design!knowledge!by!allowing!software!engineers!to!adapt!the!models!to!fit!a! specific!problem.!It!is!important!to!remark!that!these!patterns!are!not!invented,!but!they! are!discovered!from!gained!experience!in!building!practical!systems.!! From! many! years! ago,! many! research! and! development! efforts! in! software! development! have!focused!on!the!identification!and!use!of!such!patterns.! In! the! field! of! software! engineering,! patterns! were! created! firstly! to! solve! problems! identified! during! the! design! of! software! systems,! known! as! design! patterns! [Gam95].! Design!patterns!name,!abstract,!and!identify!the!key!aspects!of!common!design!structures! that! are! useful! in! creating! reusable! objectWoriented! design.! They! are! relatively! lowWlevel! abstractions,! in! the! sense! that! they! are! concerned! with! classes,! their! instances,! and! relationships!that!must!be!eventually!implemented!as!programs.! LowerWlevel! patterns! are! the! soWcalled! idioms,! which! are! patterns! at! source! code! levels! [Bus97]! [Gam95].! They! express! generally! accepted! conventions! of! certain! programming! languages! or! cultures,! thus! representing! reuse! in! the! small.! For! example,! returning! an! integer! value! as! the! indicator! of! success/failure! of! some! function! is! quite! common! in! C/C++!programming.!! There! are! also! many! efforts! on! identifying! patterns! that! transcend! programming! and! go! beyond! software! design! per! se! [Cop95W1].! Patterns! for! software! architectures! are! concerned!with!an!overall!structure!of!a!software!system!or!subsystem!that!is!appropriate! to! the! problem! domain! and! clarify! designer’s! intentions! about! the! organization! of! the! system!or!subsystem![Sha95].!Analysis!patterns!are!reusable!object!models!resulting!from! the!activities!of!objectWoriented!analysis!applied!to!common!business!problems![Fow97].! They! contain! a! lot! of! domain! knowledge! and! experience,! yet! can! be! used! in! almost! all! kinds!of!business!software.!In!the!same!line!of!analysis!patterns,!other!approaches!to!reuse! knowledge! during! RE! have! emerged,! being! one! of! the! most! famous! the! requirement! patterns! introduced! by! Withall! [Wit07].! Others! approaches! in! the! same! direction! are! patterns! for! creating! software! documentation! [Kot98]! as! well! as! those! patterns! used! to! model!variability!in!families!of!software!products![Kee99]! Another! frequently! used! class! of! software! patterns! encompasses! organizational! and! process! patterns! [Cop95W2]! [Whi95]! [Coc96]! [Amb98].! These! patterns! apply! to! software! development! processes! and! organizational! pragmatics,! i.e.! to! software! developers! and! users,! relationships! between! them,! and! relationships! between! people! and! software! [Cop95W1].!
1.4. Motivation Just! as! a! summary,! and! as! Glinz! said! [Gli07],! requirements! set! the! boundaries! of! an! important! dimension! of! the! software! products,! and! because! of! this,! the! final! quality! of! these! products! depends! on! the! SRS! that! defines! them.! However,! as! stated! before,! some! problems!often!exist!in!SRS:!usually!requirements!are!stated!in!an!ambiguous,!incomplete! and!inconsistent!manner,!and!generally!they!are!expressed!in!an!unsystematic!way![Yu97].! Although!there!have!been!several!techniques!proposed!to!reuse!knowledge!during!RE,!it! may!be!observed!that!no!concrete!proposal!has!achieved!a!wide!acceptance.!Particularly,! what!appears!to!be!missing!for!reuse!being!achieved!in!requirements!elicitation!as!part!of! regular!projects!is!a!requirements!reuse!approach!that!deals!with:!1)!a!concrete!proposal!
9!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
of! a! reusable! requirements! catalogue;! 2)! how! the! requirements! reuse! process! shall! be! implemented! and! integrated! in! organizations;! and! 3)! how! to! calculate! the! Return! on! Investment!(ROI)!of!the!requirements!reuse!approach.! Then,! with! the! motivation! of! achieving! requirements! reuse,! and! with! the! objective! of! solving!the!requirement!problems!previously!stated,!among!all!the!proposed!techniques!to! achieve! reuse,! this! thesis! proposes! its! own! approach! of! SRP! and! an! entire! framework! around!it.!This!framework’s!goal!is!the!use!of!SRP!for!reusing!knowledge!obtained!during! RE!for!improving!the!quality!and!validity!of!SRS!as!well!as!reducing!the!time!spent!during! requirements! elicitation,! with! the! economic! cost! savings! that! both! entail.! Among! other! assets,! the! proposed! framework! will! incorporate! an! SRP! catalogue,! a! methodology! to! incorporate!the!use!of!SRP!in!requirements!elicitation,!and!an!SRP!reuse!economic!model! in!order!to!fill!the!gap!described!above.
1.5. Background The! work! reported! here! on! SRP! originated! from! the! collaboration! between! the! Public! Research! Center! Henri! Tudor! (TUDOR)! [TUD]! at! Luxembourg! and! the! Software! Engineering! for! Information! Systems! research! group! (GESSI)! [GES]! to! which! I! belong.! TUDOR! works! with! a! business! network! of! freelance! independent! federated! consultants,! referred!as!CASSIS![CAS],!and!trains!them!into!innovative!methods!produced!by!research! projects!for!their!use!in!industrial!contexts.!One!of!the!processes!whose!improvement!has! been! targeted! in! the! CASSIS! network! was! the! introduction! of! requirements! reuse.! After! different,! but! unsuccessful,! approaches! to! reuse! requirements! in! SRS! (reusing! fragments! of!SRS!resulting!from!a!similar!projects!as!a!basis!to!build!a!new!SRS!and!reusing!a!generic! SRS!document!with!“holes”!to!fill),!TUDOR!began!the!collaboration!with!GESSI!and!the!first! steps! to! the! definition! of! the! PABRE! framework! (PAtternsWBased! Requirements! Elicitation)!started!to!be!defined.!During!these!first!steps!some!work!was!done!that!gave! rise!to!a!couple!of!publications![Ren09W1,!Ren09W2]:! • A!first!definition!of!the!structure!of!an!SRP.! • A!first!version!of!the!NFW!SRP!Catalogue.! • A!first!version!of!a!method!to!use!SRP!during!requirements!elicitation.! • Some!preliminary!guidelines!to!evolve!the!SRP!catalogue.! In! 2009! I! joined! GESSI,! and! since! then! I! have! been! working! on! this! first! version! of! SRP.! Some!work!I!did!in!this!direction!before!starting!this!thesis!can!be!found!in:! • My!BSc!final!project![Pal10],!focused!on!the!construction!on!the!first!stable!version! of! a! tool! for! managing! SRP! (PABREWMan)! and! a! tool! for! using! SRP! during! requirements!elicitation!(PABREWProj).!More!information!about!these!tools!can!be! found! in! Section! A3.1,! A3.2,! A3.3+ Design+ and+ Implementation+ of+ the+ PABREPMan,+ PABREPProj+and+PABREPProj+Web+tool.! • My!MSc!on!Computing!thesis![Pal11W1]!delivered:! o A!Systematic!Literature!Review!(SLR),!covering!up!to!year!2010,!about!the! use! of! patterns! for! reuse! knowledge! during! Requirements! Engineering,! which!is!the!base!of!the!state!of!the!art!of!this!thesis!(for!more!information! see! Section! 3.+ State+ of+ the+ Art! and! A1! Analysis+ of+ the+ different+ existent+ approaches+to+the+notion+of+pattern+in+the+context+of+RE+knowledge+reuse).! o A!first!version!of!an!SRP!Metamodel!(for!more!information!see!Section!A2.1+ Specification+of+the+PABRE+Metamodel).! o A! first! version! of! a! NTWSRP! Catalogue! (for! more! information! see! Section! A2.2,!A2.3,!A2.4!Stable+version+of+the+NFP,+NTP+and+FPSRP+Catalogue).!
10!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
o A! method! for! the! construction! of! SRP! (for! more! information! see! Section! A2.5!SRP+Creation+Methodology).!! !!! ! ! !
11!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
2. Thesis Proposal 2.1. Global Vision This!thesis!promotes!the!concept!of!SRP!as!an!asset!to!encapsulate!reusable!knowledge!in! the!RE!stage.!It!is!planned!as!a!theoretical/methodological!thesis,!complemented!with!tool! support,!and!empirical!analysis!and!validation.!! As! stated! above,! patterns! have! been! used! successfully! in! various! aspects! of! software! engineering! and! its! application! in! the! context! of! the! RE! is! clear,! since! requirements! appearing! again! and! again! in! SRS! could! be! identified! as! the! solution! to! a! particular! problem!in!a!given!context!(the!classic!scenario!of!contextWproblemWsolution!pattern).!! The! reuse! of! requirements! in! software! projects! (in! this! case! through! patterns)! can! help! requirements! engineers! to! extract,! validate! and! document! these! requirements,! getting! higher! quality! SRS! in! both! content! and! syntax,! with! the! subsequent! benefits! for! the! next! stages!in!software!development!lifecycle.!More!concretely,!I!make!the!hypothesis!that!the! benefits!of!using!SRP!are:! •
Faster!requirements!elicitation,!coming!from!the!fact!that!SRP!will!offer!“ready!to! use”! requirements! and! that! the! set! of! SRP! will! cover! the! most! common! requirements.!
•
No! ambiguous! requirements,! since! SRP! will! be! unambiguous! as! they! will! be! the! result!of!the!study!of!multiple!SRS!after!a!reviewing!and!a!rewriting!process.!
•
More! complete! SRS,! by! providing! a! complete! set! of! SRP! that! will! be! used! as! a! checklist!to!not!leave!any!aspect!missing!in!SRS.!It!is!worth!noting!that,!after!some! time! of! using! this! set,! it! will! arrive! to! be! a! stable! set! (subject! to! controlled! and! smooth! evolutions! over! time! in! response! to! external! stimulus,! e.g.! technological! changes! or! new! organizational! needs),! although! of! course! we! may! never! have! a! strictly! complete! set! of! SRP! since! there! may! always! be! the! need! of! requirements! that! are! very! specific! of! projects,! and! it! would! not! have! sense! having! them! as! patterns.!
•
!Consistent! SRS,! since! the! set! of! SRP! will! be! preprocessed! to! guarantee! that! is! consistent,! adding! to! each! pattern! any! dependency! that! can! exist! with! other! patterns.! If! these! dependencies! are! taken! into! account! during! the! elicitation! process,!we!may!guarantee!that!the!requirements!that!have!been!extracted!using! SRP!are!consistent.!!
2.2. Goals The!overall!goal!of!this!thesis!can!be!stated!as:! !
Define+ the+ concept+ of+ SRP+ and+ provide+ a+ framework+ to+ facilitate+ its+ use,+ to+ ultimately+ encapsulate+reusable+knowledge+during+RE+stage+and+make+its+use+viable+in+real+elicitation+ processes.+ !
From! this! goal,! a! set! of! subgoals! have! emerged! in! order! to! be! achieved! during! the! development!of!this!thesis:! !
Subgoal! 1:! Analysis! of! the! different! existent! approaches! to! the! notion! of! pattern!in!the!context!of!RE!knowledge!reuse!
12!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
It! aims! to! analyze! the! different! existent! approaches! to! the! notion! of! pattern! to! reuse! knowledge! during! RE,! both! in! academia! and! real! organizations,! in! order! to! help!to!provide!a!better!definition!and!structure!of!SRP!in!the!PABRE!framework.!!! ! Subgoal!2:!Design!and!implementation!of!an!SRP!framework! It!targets!the!design!and!implementation!of!the!PABRE!framework!to!support!and! facilitate! the! use! of! SRP! in! real! elicitation! processes.! To! this! end,! it! has! to! incorporate:! • Formal!definition!of!the!structure!and!semantics!of!SRP!able!to!support!F,! NF!and!NT!requirements.! • A!catalogue!of!SRP!for!the!three!different!types!of!requirements!(F,!NF,!NT).! NFW! and! NTWSRP! will! be! domainWindependent! and! they! could! be! used! in! any! type! of! software! project;! for! FWSRP,! which! are! domainWdependent,! at! least!one!domain!will!be!incorporated!in!the!catalogue.! • A! methodology! to! obtain! SRP! from! SRS,! another! one! to! evolve! them! from! new!SRS,!and!another!one!to!integrate!SRP!use!in!requirements!elicitation! processes.! • A!software!system!to!support!both!previous!methodologies.! ! Subgoal!3:!Definition!of!a!Reuse!Economic!Model!for!the!use!of!SRP! In!order!to!measure!the!economic!benefits!that!the!use!an!SRP!catalogue!according! the! PABRE! framework! can! bring! in! a! company,! a! reuse! economic! model! will! be! defined.! This! model! will! be! based! in! the! concept! ROI,! as! it! is! one! of! the! common! concepts!used!to!measure!economic!benefits!in!software!projects.! ! Subgoal!4:!Validation!of!the!framework! To!validate!the!correctness!and!suitability!of!the!PABRE!framework!and!the!costW benefit! analysis! model,! I! plan! to! use! surveys! to! evaluate! the! acceptance! of! the! overall!proposal!as!well!as!selection!experiments!and!case!studies!(at!least!one)!to! test! and! evaluate! the! use! of! SRP! in! real! elicitation! processes,! which! will! use! the! developed!tools!to!elicit!requirements.!The!validation!should!provide!evidence!of! the!correctness!of!the!framework!and!the!costWbenefit!analysis!model.! ! !
13!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
3. State of the Art This! state! of! the! art! is! the! result! of! an! SLR! that! has! been! done! following! Kitchenham! guidelines!for!SLR![Kit04].!An!SLR!is!a!means!of!evaluating!and!interpreting!all!available! published!research!relevant!to!a!particular!research!question,!topic!area,!or!phenomenon! of!interest.!Its!aim!is!to!present!a!fair!evaluation!of!a!research!topic!by!using!a!trustworthy,! rigorous,!and!auditable!methodology.! The!focus!of!this!SLR!is!those!works!related!to!RE!that!deal!in!some!way!with!patterns,!to! know! how! patterns! are! used! to! reuse! knowledge! during! RE,! putting! special! attention! on! those!proposals!that!use!patterns!to!reuse!requirements.!!
3.1. SLR Process Summary I!will!introduce!here!just!some!of!the!points!that!are!relevant!for!the!further!analysis!of!the! results!of!this!SLR.!The!complete!explanation!of!this!SLR!process!can!be!found!in![Pal11W1].! This!SLR!has!been!conducted!in!three!iterations,!the!three!of!them!following!the!process! introduced! in! the! following! paragraphs.! The! first! iteration! was! done! during! the! MSc! on! Computing! Thesis! [Pal11W1],! and! discovered! works! done! until! year! 2010! (included).! The! second!and!third!iteration!were!yearly!updates!of!the!first!iteration.!This!is!the!reason!why! the!searches!done!in!these!iterations!were!focused!on!years!2011!and!2012,!respectively.! It!is!important!to!remark!that!the!first!iteration!was!a!part!of!a!broader!systematic!review! that! some! GESSI! members! did.! This! broader! systematic! review! was! intended! to! have! a! global!vision!of!reuse!in!Requirements!Engineering,!while!my!systematic!review!was!only! interested!in!those!approaches!that!use!patterns!to!achieve!the!reuse.!Because!of!this,!in! the!first!iteration,!the!first!five!steps!of!the!SLR!process!were!conducted!by!me!and!three! other!members!of!the!group!in!equal!parts.!The!other!steps!(from!6!to!8)!were!conducted! by! me! independently! from! the! general! systematic! review.! For! the! second! and! third! iteration,!I!ran!all!the!steps!in!the!process!under!the!supervision!of!my!advisors.! The! SLR! search! was! done! directly! over! wellWknown! databases! that! embrace! a! lot! of! different!conferences,!journals,!etc.,!in!order!to!cover!a!broader!set!of!sources.!Concretely,! these! databases! were:! IEEE! Xplore! [IEE],! ACM! [ACM],! Springer! Link! [SPR],! and! Science! Direct![SCI].! To! find! out! the! role! that! patterns! play! in! Requirements! Engineering,! I! decided! to! search! proposals!that!in!some!way!are!related!to!“requirements”!or!“requirements!engineering”! and!“reuse”!(patterns!are!always!associated!to!the!reuse!concept,!so!we!preferred!to!look! for!“reuse”!instead!of!“patterns”,!“templates”!or!“boilerplates”,!because!these!terms!are!not! always!used!when!talking!about!these!artifacts).!Then,!the!keywords!used!were:! •
Reuse!or!Reusability!or!Reusing!(i.e.!reus*)!
• Requirement,!Requirements,!Requirements!Engineering!(i.e.!requirement*)! I!decided!to!search!these!keywords!in!the!Title!and!Abstract!fields!of!documents,!as!they! usually!contain!the!most!representative!information!of!a!document.! Then,!the!final!search!string!was:! reus*!in!(Title!or!Abstract)!AND!requirement*!in!(Title!or!Abstract)! Just!as!a!summary,!the!search!and!data!extraction!strategy!used!to!find!the!primary!studies! of!this!SLR,!i.e.!those!works!that!propose!patterns!to!reuse!knowledge!during!RE,!was:! 1. Search+ in+ the+ selected+ databases.! The! search! string! was! used! into! the! selected! databases!and!the!obtained!results!were!exported!to!RefWorks![REF],!a!reference! manager.!
14!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
2. Deletion+ of+ duplicates+ and+ nonPrelevant+ results.! RefWorks! was! used! to! remove! results! that! were! duplicated! and! also! those! ones! that! were! not! relevant! (for! instance!those!results!that!were!the!introduction!of!proceedings).! 3. Selection+of+works+based+on+their+titles.!To!try!to!reduce!the!number!of!articles,!the! ones! that! evidently! were! out! of! the! scope! of! the! systematic! review! according! to! their! title! were! ruled! out.! After! this! selection,! documents! whose! scope! was! not! related!to!RE!were!removed.! 4. Selection+of+works+based+on+their+abstracts.!Many!times!the!titles!were!confusing!or! not! representative! enough.! Reading! the! abstract! helped! to! refine! the! selection! done! in! step! 3.! At! this! stage,! all! works! that! although! being! related! to! RE! were! definitively!out!of!the!scope!were!discarded,!basically!because!reuse!during!RE!was! not!the!primary!contribution!of!the!paper.! 5. Selection+of+works+based+on+an+overview+of+the+entire+work.!Each!work!was!skimmed! to!be!sure!before!the!next!stage!that!it!was!relevant!for!the!systematic!review.!At! this! point,! all! works! whose! contributions! were! not! relevant! or! presented! poor! results!were!removed,!e.g.!those!works!that!were!not!related!to!patterns.! 6. Selection+ of+ works+ based+ on+ their+ full+ texts.! Only! the! works! selected! after! step! 5! were! read! in! depth.! The! deep! reading! of! the! article! was! made! by! marking! the! relevant! parts! and! annotating! comments! to! ensure! that! future! readings! will! take! less! time.! During! this! step,! a! template! related! to! keywords! and! other! important! issues! was! filled! in! order! to! classify! and! facilitate! the! future! data! extraction! and! synthesis!of!those!works!that!were!selected!in!this!step.!The!selection!criteria!were! the!same!as!those!ones!applied!in!step!5.! 7. Marking+ the+ work+ relevance.! As! final! step,! a! personal! view! of! the! article! was! annotated,!pointing!out!the!benefits,!and!the!detected!disadvantages.! 8. Addition+of+further+work.+During!the!process!of!the!systematic!review,!other!works! were!included.!This!process!was!performed!through!obtaining!relevant!citations!of! the! papers! (what! is! known! as! “snowballing”)! and! through! further! work! of! the! researchers.!For!all!article!in!this!further!work,!steps!3!to!7!were!carried!out.! Figure! 1! contains! the! number! of! works! at! the! end! of! each! step! of! the! SLR! process! undertook.!!
! ! !
Figure!1:!Summary!of!the!works!in!every!step!of!the!SLR!process!
15!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
In! order! to! help! the! analysis! of! the! results! of! this! SLR,! I! created! a! template! that! was! fulfilled!for!each!relevant!work!of!the!systemic!review!(those!ones!that!were!selected!after! step!6).!For!further!details!of!this!template!see!Table!1.! !
Topic!
Description!
Domain! of! the! proposal! Object!to!reuse! Type! of! requireX ments!to!reuse!
Is!a!proposal!that!can!be!used!in!all!domain!or!it!is!for!a!specific! software!domain?!Which!domain?! Sentences!in!natural!language,!Conceptual!Models,!Use!Cases,!etc.! F!requirements,!NF!requirements,!NT!requirements,!some!of!them,!etc.!
Notation! used! to! Natural!Language,!Modeling!Language!(for!instance,!UML,!i*!or!adWhoc),! define! the! object! to! Formal!Language!(like!Description!Logics!and!Formal!Temporal!Logic),! reuse!in!the!pattern! etc.!! Reuse! object! metaX model! Structure! in! which! the!object!to!reuse!is! contained! Object!information! Relationships! Arrangement! Classification! Classification! metamodel! Catalogue!
Is!there!a!metamodel!to!describe!the!objects!to!reuse?! Has! the! object! to! reuse! complementary! information,! apart! from! the! object!itself,!as!for!instance!the!context!of!use,!the!problem!that!it!solves,! information!relevant!for!further!development!stages,!etc.?! What!is!the!specific!information!contained!in!the!object!to!reuse?! Is! there! any! type! of! relationships! considered! among! the! objects! to! reuse?!What!are!they?! Are! the! objects! arranged! in! a! taxonomy! or! classification! schema,! or! do! they!not!present!any!organization!or!classification?! Is!there!a!specific!classification!proposed!for!the!objects!to!reuse?! Is!there!a!metamodel!to!describe!the!classification?!
Reuse! object! consX truction!
Is! there! an! established! set! of! reusable! objects?! Is! it! general! or! specific! for!a!project!or!test?!Is!it!a!finished!set!or!in!evolution?! Is!there!a!guide!to!construct!and!define!the!objects!to!be!reused?!
Reuse!method! Catalogue!evolution! Related!tools!
Is!there!a!method!to!reuse!the!objects?! Is!it!explained!in!the!work!how!to!evolve!the!catalogue?! Does!the!proposal!have!related!tools?!What!are!their!functionalities?!
Proves! Scope! of! the! propoX sal! Type!of!study!
Has!the!proposal!been!tested!in!real!cases?! Specification,!Documentation,!Elicitation,!etc.! Empirical,!NonWEmpirical,!Experience!Report,!Literature!Review,!etc.!!
Table!1:!Template!used!to!data!extraction!and!synthesis! !
3.2. SLR Results Analysis Given! the! data! extraction! and! synthesis! defined! in! the! previous! section,! the! synthesis! of! the!59!retrieved!documents!is!presented.!In!Figure!2!I!present!a!‘roadmap’!identifying!the! different! groups! of! works! detected! while! doing! these! review.! The! results! of! the! same! authors!that!talk!about!the!same!approach!have!been!considered!as!an!only!proposal.!The! proposals!found!have!been!classified:! •
First!taking!into!account!if!they!are!used!to!elicit!requirements!or!not.!!
•
Then,!inside!these!two!groups,!taking!into!account!the!information!about!the!object! to!be!reused.!!
16!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
Figure!2:!Roadmap!of!the!SLR!results!
! !
In!the!following,!first!I!will!provide!a!general!analysis!of!the!different!approaches!that!deal! with! patterns! (sometimes! also! called! templates! and! boilerplates)! in! Requirements! Engineering,!following!the!synthesis!criteria!defined!in!Table!1.!After!this!general!analysis,! I! will! focus! specially! on! those! works! that! use! patterns! to! elicit! requirements! in! natural! language! (i.e.,! Sentences! Templates,! Variability! Patterns,! and! Requirement! Patterns),! putting!special!attention!in!the!structure!of!the!patterns!used!and!also!if!there!exists!or!not! a!formal!method!to!reuse!them,!a!wellWdefined!set!of!patterns!and!in!its!viability!of!being! used!in!real!projects.!For!more!information!about!the!other!types!of!patterns!in!Figure!2! see![Pal11W1].!
3.2.1. General Analysis In! this! section! I! show! how! the! works! have! been! classified! taken! into! account! the! reuse! object! they! propose! (Section! 3.2.1.1),! their! catalogues! (Section! 3.2.1.2)! and! their! reuse! process!(Section!3.2.1.3).!! 3.2.1.1. RE Reuse Object Table!2!contains!the!number!of!relevant!proposals!of!this!SLR!classified!according!to!the! characteristics!of!the!object!that!they!propose!to!reuse.!! •
The! first! characteristic! states! whether! the! object! to! be! reused! may! be! reused! in! general! independently! of! the! domain! of! the! software! addressed! or! it! is! for! a! specific!domain.!!
•
The! second! and! third! ones! are! useful! to! know! what! is! the! object! to! be! reused! (sentences! in! natural! language,! their! structure,! conceptual! models,! uses! cases,! formalization! of! requirements)! and! what! type! of! requirements! the! reuse! of! this! object!produces!(F,!NF,!NT,!or!some!of!them).!!
•
The! fourth! characteristic! states! what! is! the! notation! to! define! the! object! to! be! reused,! such! as! natural! language,! modeling! language! (e.g.! UML,! i*)! or! formal! language!(e.g.!formal!logic,!temporal!description!logic).!!
•
The!fifth!one!is!related!to!the!existence!of!a!metamodel!to!define!the!structure!of! the!object!to!be!reused.!!
•
The! sixth,! seventh! and! eight! characteristics! are! useful! to! know! if! the! structure! in! which!the!object!to!be!reused!is!presented!contains!further!information!apart!from! the! object! per+ se.! Specifically,! the! sixth! one! deals! with! the! existence! of! this! information,! while! the! seventh! and! eight! ones! deal! with! the! type! of! information! that! is! contained:! either! if! it! is! about! when! to! use! the! reusable! object! or! useful!
17!
!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
information! for! further! stages! (for! instance,! tests! to! take! into! account),! respectively.!! Finally,!the!ninth!one!states!if!it!has!been!considered!the!relationships!among!the! objects!to!be!reused.!! As! general! conclusions,! we! can! say! that! most! of! the! proposals! have! been! created! as! generalWpurpose,! although! there! are! some! specific! proposals! for! security! requirements! due! to! their! relevance! when! developing! a! product,! and! they! try! to! reuse! sentences! in! natural! language! in! most! of! the! cases! because! it! is! the! most! common! way! to! elicit! requirements.! It! is! also! worth! noting! that! 31! works! (almost! 76%)! don’t! propose! a! metamodel!to!define!the!object!to!be!reused.!Regarding!the!information!that!is!given!with! the!object!to!be!reused,!just!over!50%!of!the!proposals!detail!information!about!when!to! use! the! object! to! be! reused! and! relationships! among! them,! but! only! 19%! (8! proposals)! state!what!the!implications!in!further!stages!when!applying!this!object!in!a!project!are.! •
!
!
Characteristics!of!the!object!to!be!reused!
No!Elicitation!
Elicitation!
1.!Domain!
General!Purpose! Security!Requirements! Others!
4! 0! 2!
18! 7! 10!
2.!Object!to!be!reused!
Sentences!in!Natural!Language!(SNL)!
1!
25!
SNL!Structure! Formalization!of!Requirements!
0! 4!
3! 1!
Conceptual!Models! Use!Cases!
0! 0!
4! 7!
Other!diagrams!(state!diagrams,!sequence!diagrams,! i*!models,!etc.)!
1!
5!
Functional! NonWFunctional!
2! 0!
10! 5!
Functional!+!NonWFunctional! Functional!+!NonWFunctional!+!NonWTechnical!
1! 0!
15! 1!
Not!Stated!
3!
4!
Natural!Language!
1!
21!
Modeling!Language!(e.g.!UML!and!!i*)! Formal!Language!(e.g.!Temporal!Logic)!
4! 1!
3! 1! 10!
3.!Requirement!Type!
4.!Notation!of!the!object!to! be!reused!
Natural!and!Modeling!Languages!
0!
5.!Reusable!object! metamodel!
Yes!
1!
9!
No!/!Not!Stated!
5!
26!
6.!Other!information!apart! from!the!reuse!object!!
Yes! No!/!Not!Stated!
4! 2!
17! 18!
7.!Context!information!to! use!the!object!
Yes! No!/!Not!Stated!
4! 2!
17! 18!
8.!Information!for!further! stages!
Yes! No!/!Not!Stated!
0! 6!
8! 27!
9.!Relations!among! reusable!objects!
Yes! No!/!Not!Stated!
2! 4!
19! 16!
Table!2:!SLR!results!classified!according!the!characteristics!of!the!object!to!be!reused!
3.2.1.2. RE Reuse Objects Catalogue Another! point! of! view! is! considering! the! relevant! proposals! from! the! perspective! of! the! catalogue!(the!set!of!all!reusable!objects!defined).!Table!3!contains!the!number!of!relevant! proposals! of! this! SLR! classified! according! to! the! characteristics! of! the! catalogue! of! the! objects!to!be!reused.!!
18!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!!
•
The!first!characteristic!is!related!to!how!the!set!of!objects!is!stored!to!access!them! later:!as!taxonomy!(i.e.!some!classification!is!used!to!manage!their!access)!or!in!a! nonWstructured!repository!(from!now!on!just!called!repository).!!
•
!The!second!and!third!ones!are!useful!to!know!if!some!classification!is!considered! in!the!approach!(although!it!may!be!the!case!that!this!classification!is!not!used!for! accessing!the!objects)!and!if!there!is!a!metamodel!to!describe!the!structure!of!this! classification.!!
•
Finally,! the! fourth! and! fifth! characteristics! consider! the! existence! of! a! real! catalogue!(either!a!general!one!or!one!created!for!a!specific!project!or!test)!and!if! this!catalogue!is!a!finished!one!or!it!is!in!evolution.!!
!
Characteristics!of!the!catalogue!of!objects!to!be!reused!
No!Elicitation!
Elicitation!
1.!Arrangement!
Taxonomy!(access!using!a!classification)! Repository! Not!Stated!
1! 2! 3!
2.!Classification!for! reusable!objects!
Yes!
1!
6!
No!/!Not!Stated!
5!
29!
3.!Classification! metamodel!
Yes! No!/!Not!Stated!
0! 6!
3! 32!
2! 0!
9! 18!
No!/!Not!Stated!
4!
8!
Finished!
0!
2!
In!evolution! Not!Stated!/!NonWrelevant!
0! 6!
7! 26!
4.!Existence!of!a!catalogue! General! For!a!specific!project!or!test! 5.!State!of!the!catalogue!
3! 15! 17!
Table!3:!SLR!results!classified!according!the!characteristics!of!the!catalogue!of!the!objects!to! be!reused!
The! first! remark! to! do! after! this! data! synthesis! is! that! when! taking! into! account! things! beyond!the!reusable!object,!the!proposals!start!to!be!less!specific!(more!than!the!50%!of! the! works! don’t! state! anything! about! these! aspects).! Regarding! the! arrangement! of! the! objects,! 40%! of! the! proposals! store! the! objects! in! a! repository,! whereas! only! the! 10%! organize!them!using!a!taxonomy!(which!is!an!easier!way!to!access!the!objects).!Related!to! the! existence! of! a! catalogue,! almost! 70%! of! the! proposals! defines! one,! but! only! 26%! of! them!propose!a!general!one!(that!are!those!ones!that!can!be!reused!in!different!projects).! Furthermore,!in!only!2!proposals!the!catalogue!is!finished,!so!it!seems!that!the!other!ones! have!still!work!to!do.!Finally,!it!is!worth!noting!the!fact!that!21%!of!the!proposals!consider! the!evolution!of!their!catalogues!to!have!them!upWtoWdate.! 3.2.1.3. RE Reuse Process Finally,!in!Table!4!we!can!find!the!proposals!organized!according!to!the!characteristics!for! the!use!of!the!objects!to!be!reused.! • The!first!and!second!characteristics!are!related!to!the!existence!of!a!methodology! to!construct!the!objects!to!be!reused!and!to!use!these!objects,!respectively.!! •
The! third! one! states! if! the! evolution! of! the! catalogue! (existing! it! or! not)! is! considered!as!part!of!the!approach,!and!specifically!if!a!method!to!do!this!evolution! exists.!
•
The!fourth!one!states!if!there!are!specific!tools!in!the!proposal!to!reuse!the!objects,! making! easier! with! these! tools! the! possibility! to! use! the! approaches! in! real! projects.!!
•
Finally,!the!fifth!characteristic!states!if!the!proposal!has!been!tested!in!real!cases.!
!
19!
Thesis!Proposal:!Definition!and!Use!of!SRP!in!RE!Activities!!! Characteristics!for!the!use!of!objects!to!be!reused! 1.!Reusable!object! Yes!(method)! construction! Yes!(informal!process)! methodology!! No!/!Not!Stated! 2.!Reusable!object! Yes!(method)! utilization! Yes!(informal!process)! methodology! No!/!Not!Stated!
No!Elicitation! 0! 1! 5! 1! 3! 2!
Elicitation! 7! 9! 19! 14! 7! 14!
3.!Consideration!of!the! evolution!of!the! catalogue!
Yes!(method)! Yes!(no!method)! No!/!Not!Stated!
0! 2! 4!
3! 4! 28!
4.!Reuse!tools!
Yes! No!/!Not!Stated!
2! 4!
11! 24!
5.!Proposal!tested!in!real! cases!
Yes! No!/!Not!Stated!
1! 5!
13! 22!
Table!4:!SLR!results!classified!according!the!characteristics!for!the!use!of!the!objects!to!be! reused!
Related!to!the!methodology!to!construct!and!use!reusable!objects,!it!is!worth!noting!that! only!the!19%!and!38%!of!the!proposals!consider!how!these!processes!shall!be!carried!out,! respectively,!but!only!in!17%!and!36%!of!the!proposals!the!method!is!well!defined.!!With! respect! to! the! evolution! of! the! catalogue,! only! 7%! have! a! method! to! carry! out! this! evolution.!It!is!also!important!to!highlight!that!over!30%!of!them!have!a!tool!to!facilitate! the!reuse!in!real!situations!and!have!been!tested!in!real!cases.!!
3.2.2. More related approaches After!the!general!analysis!in!the!previous!subsection,!here!I!will!focus!on!those!works!that! use! patterns! to! elicit! requirements! in! natural! language,! since! they! are! the! most! relevant! works!for!the!thesis.!Specifically,!in!Section!3.2.2.1!I!will!talk!about!sentences!templates,!in! Section! 3.2.2.2! about! variability! patterns,! and! in! Section! 3.3.3.3! about! requirement! patterns.! 3.2.2.1. Sentences Templates The! first! approach! to! reuse! requirements! in! their! simplest! form! is! to! reuse! directly! the! text! of! these! requirements,! which! is! stated! using! Sentences! in! Natural! Language! (SNL).! The! basic! idea! of! this! form! of! reuse! is! that! the! requirements! analysts! have! a! set! of! templates!of!SNL,!without!further!information!about!when!to!reuse!them,!and!they!have!to! look!for!those!templates!that!could!be!useful!for!a!particular!problem.!We!can!distinguish! two!different!ways!of!reusing!these!SNL:!the!first!one!is!related!to!reuse!the!structure!of! these!texts,!having!templates!stating!what!the!structure!of!requirements!has!to!be,!similar! to! language! patterns! but! a! little! more! simpler! (Watahiki! et! al.,! Wei! et! al.! and! Post! et! al.! proposals);! the! second! one,! which! is! related! to! reuse! directly! texts! of! requirements,! is! simiWlar!to!a!copy!and!paste!approach!but!more!sophisticated!(the!rest!of!the!proposals!in! this!section).!Table!5!and!6!contain!the!works!found!and!their!general!characteristics.! The! main! difference! between! Watahiki+ et+ al.! [Wat01W1]! [Wat01W2],! Liu+ et+ al.! [Liu08]! and! Post+et+al.![Pos11]!proposals,!which!are!focused!on!the!reuse!of!text!structure,!is!the!way!in! which!they!define!the!structure!of!these!requirement!texts.!The!first!one!is!based!in!case! grammar,!one!of!the!techniques!to!manipulate!the!semantic!structure!of!sentences!and!to! formalize!the!rules!of!the!combination!of!the!verbs!and!their!attributes!(also!called!cases),! such!as!“actor”,!“object”!and!“instrument”.!Liu!et!al.!proposal,!however,!define!a!new!lanW guage,!called!SORL,!to!describe!requirements!for!networked!software.!Basically,!they!defiW ne! natural! language! patterns,! which! are! combined! with! domain! ontologies! to! help! to! fill! pattern’s!gaps.!Similar!to!the!previous!proposal,!Post!et!al.!define!a!set!of!natural!language! sentences!structure,!what!they!call!“restricted!English!grammar”,!to!define!requirements! for!automotive!systems,!providing!a!complete!set!of!these!structure!templates.! 20!
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&& &
Table&5:&Summary&of&SLR&works&found&related&to&the&reuse&of&requirements&using&templates&in&natural&language&(part&I)& !
Use&characteristics&
Catalogue& characteristics&
Object&to&be&reused&characteristics&
!
1.!Domain! 2.!Object!to!be!reused! 3.!Requirement!type! 4.!Notation!of!the!object!to!be! reused! 5.!Reusable!object!metamodel! 6.!Other!information!apart!from! the!reuse!object! 7.!Context!information!to!use!the! object! 8.!Information!for!further!stages! 9.!Relations!among!reusable! objects! 1.!Arrangement! 2.!Classification!for!reusable! objects! 3.!Classification!metamodel! 4.!Existence!of!a!catalogue! 5.!State!of!the!catalogue!
Watahiki&et&al.&
Liu&et&al.& &&[Liu08]&
General!Purpose!
Network!Software!
SNL!Structure! F!
SNL!Structure! F,!NF!
Post&et&al.& [Pos11]& Automotive! Requirements! SNL! GGGGGG!
Natural!Language!
Natural!Language!
GGGGGG!
[Wat01M1],&[Wat01M2]&
Jensen&et&al.& [jen09]&
Estes&et&al.& [Est04]&
Security!Requirements! Security!Requirements!
Monzon& &&[Mon08]& General!Purpose!
SNL! NF!
SNL! F,!NF!
SNL! F,!NF!
Natural!Language!
Natural!Language!
Natural!Language!
Natural!Language!
Yes!
GGGGGG!
GGGGGG!
Yes!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Repository!
GGGGGG!
GGGGGG!
Taxonomy!
Repository!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes!
GGGGGG!
GGGGGG!
GGGGGG! Project!/!Test! GGGGGG!
GGGGGG! GGGGGG! GGGGGG!
GGGGGG! General! Finished!
GGGGGG! Project!/!Test! In!Evolution!
Yes! Project!/!Test! GGGGGG!
GGGGGG! Project!/!Test! GGGGGG!
1.!Reusable!object!construction! methodology!!
Yes! (informal!process)!
GGGGGG!
GGGGGG!
GGGGGG!
Yes! (informal!process)!
Yes! (informal!process)!
2.!Reusable!object!utilization! methodology!
Yes! (informal!process)!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes! (informal!process)!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes! (no!method)!
GGGGGG!
4.!Reuse!tools!
GGGGGG!
Yes!(to!use!defined! patterns!to!state! requirements!in! natural!language)!
GGGGGG!
GGGGGG!
5.!Proposal!tested!in!real!cases!
Yes!
GGGGGG!
Yes!
GGGGGG!
3.!Consideration!of!the!evolution! of!the!catalogue!
21&
Yes!(to!mark!in! requirements! Yes!(to!consult!the!DB! specifications!what!are!the! of!requirements!and! requirements!that!are! introduce!new!ones)! reusable!and!reuse!them,! and!also!create!new! requirements)! GGGGGG! Yes!
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&& &
Table&6:&Summary&of&SLR&works&found&related&to&the&reuse&of&requirements&using&templates&in&natural&language&(part&II)& !
Catalogue& characteristics&
Object&to&be&reused&characteristics&
!
1.!Domain! 2.!Object!to!be!reused! 3.!Requirement!type! 4.!Notation!of!the!object!to!be! reused! 5.!Reusable!object!metamodel! 6.!Other!information!apart!from! the!reuse!object! 7.!Context!information!to!use!the! object! 8.!Information!for!further!stages! 9.!Relations!among!reusable! objects! 1.!Arrangement! 2.!Classification!for!reusable! objects! 3.!Classification!metamodel! 4.!Existence!of!a!catalogue! 5.!State!of!the!catalogue!
Use&characteristics&
1.!Reusable!object!construction! methodology!! 2.!Reusable!object!utilization! methodology! 3.!Consideration!of!the!evolution! of!the!catalogue!
4.!Reuse!tools!
5.!Proposal!tested!in!real!cases!
[Lam97M1],&[Lam97M2],&[Lam97M3]&
Lam&et&al.&
Hauksdottir&et&al.&& [Hau12]&
Daramola&et&al.&
Firesmith& [Fir04]&
General!Purpose!
Embedded!Systems!
Security!Requirements!
Security!Requirements!
Sets!of!SNL! F!
SNL! GGGGG!
SNL! F,!NF!
SNL! GGGGGG!
Moros&et&al.& [Mor11]& Home!Automation! Systems! SNL! GGGGGG!
Natural!Language!
Natural!Language!
Natural!Language!
Natural!Language!
Natural!Language!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes!
SNL! NF! Natural! Language! GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes!
GGGGGG!
Repository!
Repository!
GGGGGG!
Repository!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG! Project!/!Test! GGGGGG!
GGGGGG! Project/!Test! GGGGGG!
GGGGGG! GGGGGG! GGGGGG!
GGGGGG! GGGGGG! GGGGGG!
Yes! Project!/!Test! GGGGGG!
GGGGGG! General! Finished!
Yes! (method)!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes! (informal!process)!
GGGGGG!
Yes! (method)!
Yes! (method)!
Yes! (method)!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
GGGGGG!
Yes!(a!tool!to!create!new! tools!,or!formularies,!to! reuse!the!defined!patterns)!
GGGGGG!
GGGGGG!
Yes!(to!manage!and! use!templates,!define! traceability!links)!
GGGGGG!
GGGGGG!
Yes!
Yes! (method)! Yes! (no!method)! Yes!(to!propose!to!users!automatically! templates!taking!into!account!the! introduced!misuse!cases!introduced! by!the!user.!Ontologies!are!used!for! helping!users!to!instantiate!the! parameters!in!boilerplates.)! Yes!
GGGGGG!
Yes!
GGGGGG!
[Dar12]&
22&
Jaramillo&et&al.& [Jar11]& General!Purpose!
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
As#introduced#before,#the#second#group#of#approaches#in#this#category#deals#directly#with# the# reuse# of# texts# of# requirements.# The# basic# principle# of# these# approaches# is# to# have# a# repository# or# taxonomy# which# stores# all# reusable# requirements.# Then# the# reuse# method# entails#that#requirement#engineers#have#to#look#for#those#requirements#that#are#useful#for# a# new# system# making# queries,# which# sometimes# may# be# even# harder# that# define# the# requirements# from# scratch.# Inside# this# group,# we# find# three# different# subgroups:# a# first# one,# reusing# just# templates# which# correspond# to# individual# requirements;# a# second# one,# proposing# the# reuse# of# the# entire# content# of# requirements# specifications# by# using# templates;# and# a# third# one,# reusing# templates# which# correspond# to# parameterized# requirement#texts.### In# the# first# group,# Jesen% et% al.# [Jen09]# map# legislationHbased# legal# requirements# for# sensitive# personal# information# to# a# set# of# reusable# technical# information# security# requirements,# creating# a# security# requirements# catalogue# for# a# concrete# legislation.# The# objective# is# that# if# requirements# engineers# know# what# the# legislation# that# a# new# system# has#to#fulfill#is,#they#can#reuse#directly#the#requirements#of#those#aspects#that#are#needed# for#the#new#system,#avoiding#that#requirements#engineers#have#to#make#the#effort#to#read# and#understand#complex#legislations.# Inside#the#second#group,#Estes%et%al.#[Est04]#and#Monzon%[Mon08]#works#propose#to#reuse# the# entire# content# of# requirements# specifications# (i.e.# F# and# NF# requirements)# to# create# new#requirements#specifications#systems.#The#main#difference#between#both#proposals#is# that# Monzon# defines# a# particular# reuse# methodology# (MIA)# that# permits# three# different# types#of#requirements#(Figure#3):#strong#reused#requirements#(or#cloned#objects),#that#are# those# ones# considered# to# evolve# synchronously# in# the# future# (i.e.# if# a# requirement# is# changed# the# cloned# requirements# also# change);# weak# reused# requirements# (or# derived# objects),# that# are# those# ones# that# are# copied# at# the# beginning# of# a# project# from# a# project# source#but#evolve#separately#from#the#source;#and#specific#requirements#(or#new#objects)# for#a#particular#project.#In#Monzon#proposal,#an#implemented#tool#supports#completely#the# previous# defined# reuse# process:# the# tool# allows# marking# in# requirements# specifications# what#are#the#requirements#that#are#reusable,#and#also#reusing#them#following#the#defined# process).##A#point#that#differentiates#Estes#et#al.#proposal#is:#the#definition#of#a#metamodel# that# describes# the# structure# of# requirements,# and# also# their# attributes# and# classification# (Figure# 4);# the# consideration# of# the# evolution# of# their# template# catalogue;# and# the# implementation#of#a#tool#to#define#these#templates.## #
#
#
Figure&3:&Monzon&addAin&reuse&schema& (MIA)&
Figure&4:&Estes&et&al.&requirements& metamodel
The#last#group#found#in#this#category#is#the#one#that#uses#parameterized#requirement#texts# as# templates,# which# correspond# to# the# approaches# of# Lam% et% al.# [Lam97H1]# [Lam97H2]# [Lam97H3],# Hauksdottir% et% al.# [Hau12],# Daramola% et% al.# [Dar12],# Firesmith# [Fir04],# and# Moros% et% al.# [Mor13].# Lam# et# al.# explain# from# an# enterprise# point# of# view# the# approach#
23&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
taken#to#achieve#reusing#requirements#in#natural#language,#defining#as#the#artifact#to#reuse# the#Reusable#Requirements#Component#(RRC),#which#encapsulates#closely#generic#parts#of# requirements.#The#main#contribution#of#the#proposal#is#the#process#of#abstraction#done#to# generalize#requirements#as#much#as#possible#(making#them,#for#instance,#independent#of# the# technology# used)# and# the# introduction# of# parameters# to# achieve# this# generalization# (Figure# 5).# Following# a# similar# abstraction# process,# Hauksdottir# et# al.# define# the# reuse# process# carried# out# at# the# Danfoss# Company,# by# reusing# parameterized# templates# when# specifying#embedded#realHtime#systems.#Daramola#et#al.,#Firesmith,#and#Moros#et#al.#go#one# step#further#of#the#abstraction#process,#and#also#define#for#their#templates#a#way#of#giving# value#to#the#parameters:#in#the#first#case,#by#using#ontologies#that#help#to#fill#them;#in#the# second#case,#by#just#assigning#a#enumeration#of#possible#values#to#each#parameter;#and#in# the# third# case,# by# associating# a# type# to# these# parameters# and# associating# to# these# type# some#possible#values.#Some#interesting#facts#about#these#proposals#are:# •
Moros#et#al.#define#a#metamodel#(Figure#6)#to#state#the#structure#of#the#catalogue# and#their#templates#(the#parameters#and#their#possible#types).#
•
Moros#et#al.#consider#the#possible#relationships#among#their#templates.#
•
Daramola# et# al.# take# into# account# the# catalogue# evolution# of# the# templates,# although#no#method#is#defined#to#carry#out#this#evolution.#
Lam#et#al.,#Daramola#et#al.,#and#Moros#et#al.#propose#tools#to#facilitate#the#use#of#the# templates#during#RE.# The# proposal# of# Jaramillo% et% al.# [Jar11]# can# be# also# classified# inside# this# last# group# of# parameterized# templates.# However,# in# their# case# the# approach# is# a# little# different,# in# the# sense# that# their# templates# no# correspond# directly# to# requirement# texts,# but# are# parameterized# questions# that# can# be# used# to# discover# NF# requirements# in# a# systematic# way.#The#proposal#also#provides#a#complete#set#of#these#parameterized#questions.# •
#
# Figure&5:&Lam&et&al.&example&of& abstraction&process&
# Figure&6:&Moros&et&al.&templates&and&catalogue& metamodel
24&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
3.2.2.2. Variability Patterns A# way# of# using# patterns# for# achieving# reuse# is# when# Domain# Engineering# approach# is# adapted# to# Requirements# Engineering,# having# in# this# way# patterns# that# contain# a# set# of# requirements# but# where# variability# is# integrated.# That# is,# among# the# set# of# requirements# that# a# pattern# contains,# is# not# necessary# to# use# all# these# requirements# when# a# pattern# is# applied.# Instead,# these# requirements# follow# some# usage# rules# (similar# to# the# variability# diagrams#in#Software#Product#Lines)#that#have#to#be#fulfilled#when#applying#this#pattern.# This#type#of#patterns#is#what#we#call#variability#requirement#patterns.#Table#7#summarizes# the#general#characteristics#of#the#relevant#proposals#found#for#this#SLR#related#to#this#type# of#patterns.# #
Table&7:&Summary&of&the&SLR&works&found&related&to&Variability&Requirement&Patterns& #
#
Use&characteristics&
Catalogue&characteristics&
Object&to&be&reused&characteristics&
1.#Domain#
Heumesser&et&al.&
Mannion&et&al.&
&&[Heu03]&
[Mai08]&
Dehlinger&et&al.&
[Deh05A1],&[Deh05A2]&
Security#Requirements#
General#Purpose#
2.#Object#to#be#reused#
SNL#
SNL#
SNL#
3.#Requirement#type#
F#
F,#NF#
F,#NF#
4.#Notation#of#the#obH ject#to#be#reused#
Natural#Language#
Natural#Language#
Natural#Language#
5.#Reusable#object# metamodel#
HHHHHH#
Yes#
Yes#
6.#Other#information# apart#from#the# reuse#object#
HHHHHH#
HHHHHH#
HHHHHH#
7.#Context#information# to#use#the#object#
HHHHHH#
HHHHHH#
HHHHHH#
8.#Information#for# further#stages#
HHHHHH#
HHHHHH#
HHHHHH#
9.#Relations#among# reusable#objects#
HHHHHH#
Yes#
HHHHHH#
1.#Arrangement#
AgentHbased#Systems#
Repository#
HHHHHH#
HHHHHH#
2.#Specific#classification# for#objects#to#be# reused#
HHHHHH#
HHHHHH#
HHHHHH#
3.#Classification#metamoH del#
HHHHHH#
HHHHHH#
HHHHHH#
Project#/#Test#
Project#/#Test#
Project#/#Test#
5.#State#of#the#catalogue#
HHHHHH#
HHHHHH#
HHHHHH#
1.#Reusable#object# construction# methodology##
HHHHHH#
Yes# (method)#
Yes# (method)#
2.#Reusable#object# utilization# methodology#
HHHHHH#
Yes# (method)#
Yes# (method)#
3.#Consideration#of#the# evolution#of#the# catalogue#
HHHHHH#
HHHHHH#
Yes## (method)#
Yes#(to#browse#and# manage#templates)#
HHHHHH#
HHHHHH#
Yes#
Yes#
HHHHHH#
4.#Existence#of#a# catalogue#
4.#Reuse#tools# 5.#Proposal#tested#in# real#cases#
25&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
# Figure&7:&Heumesser&et&al.& variability&requirement&template& example&
# Figure&8:&Mannion&et&al.&variability&requirement& template&example&
26&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Heumesser% et% al.# [Heu03]# and# Mainnon% et% al.# [Mai08]# propose# this# idea# of# variability# requirement# patterns,# but# in# their# case# these# variability# patterns# are# requirements# expressed# using# sentences# in# natural# language,# in# the# case# of# Mainnon# proposal# parameterized.# The# main# difference# between# both# works# is# the# way# in# which# they# represent# variability.# The# first# one# separates# modelHdependent# (i.e.# core# requirements)# from# modelHindependent# requirements# (e.g.# a# specific# communication# protocol# used,# the# implementation# of# a# specific# visual# display# or# threshold# values)# on# the# same# level# of# abstraction,#giving#as#a#result#the#variability#requirement#pattern#shown#in#Figure#7.#The# variability# requirement# pattern# of# the# second# one,# however,# is# composed# by# a# set# of# requirements# and# some# variability# diagrams# that# express# how# a# complex# requirement# is# decomposed# into# simpler# ones# and# how# the# requirements# have# to# be# used# when# the# pattern# is# applied# (for# instance,# in# the# example# in# Figure# 8,# single# adaptor# discriminant# expresses#that#their#associated#requirements#are#mutually#exclusive#and#multiple#adaptor# discriminant# expresses# that# from# their# associated# requirements# at# least# one# has# to# be# chosen).## Dehlinger% at% al.# [Deh05H1]# [Deh05H2]# also# define# variability# requirement# patterns,# but# from#a#different#perspective.#Their#idea#is#defining#patterns#for#agent's#roles.#Each#agent's# role# pattern# has# the# following# characteristics:# protocols# (the# way# an# agent# can# interact# with#other#agents),#activities#(computations#associated#with#the#role#that#can#be#executed# without# interacting# with# other# agents),# permissions# (information# resources# rights# that# a# role#has#to#read)#and#responsibilities#(functionalities#of#a#role).#The#variation#is#introduced# in#this#pattern#using#variation#points,#which#give#a#classification#of#the#different#levels#of# intelligence#that#a#role#can#adopt#during#its#lifetime.#All#this#information#is#encapsulated#in# what# they# call# Role% Schema# and# Role% Variation% Point% Schema# (see# Figure# 10# and# 9# for# an# example,#respectively).#In#this#way,#future#systems#will#employ#roles#comprising#some#of# the# variation# points# previously# defined# as# well# as# new# capabilities# not# found# in# any# pattern.# Role Schema for cluster allocation planning agent
Role Variation Point Schema for the I1 variation point of the cluster allocation planning agent
Figure&9:&Dehlinger&at&al.&Role&Variation&Point&Schema&example&
#
27&
#
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Role Schema for cluster allocation planning agent
#
Figure&10:&Dehlinger&at&al.&Role&Schema&example&
3.2.2.3. Requirement Patterns A# different# approach# to# achieve# reuse# during# RE# is# to# create# patterns# that# contain# the# (often#parameterized)#text#of#requirements,#and#also#some#extra#information#about#when# each# pattern# has# to# be# used.# Requirements# patterns# are# a# sophisticated# way# of# reusing# requirements,# not# just# reusing# the# text# of# other# projects# like# in# most# of# the# sentences# templates# approaches# (Section# 3.2.2.1),# but# embracing# also# a# process# of# abstraction# in# order#to#make#requirement#patterns#as#general#as#possible#but#without#losing#the#essence# of#the#requirements#contained#in#the#pattern.#The#principal#difference#among#requirement# patterns# and# variability# requirement# patterns# is# that# the# last# ones# usually# reuse# a# set# of# functional# requirements# to# describe# a# complete# functionality,# but# a# requirement# pattern# contains# just# one# or# more# requirements# that# are# related# to# some# criteria# (for# instance,# availability#or#interface#language)#but#they#don’t#contain#all#the#requirements#for#a#specific# functionality.# I# have# found# thirteen# different# approaches# that# propose# requirement# patterns# to# be# applied# during# requirements# elicitation# (Table# 8# and# 9).# One# of# the# proposals#inside#this#group#(Franch#et#al.)#is#the#one#in#which#this#thesis#is#focused#on.# Three# similar# ways# of# understand# requirement# patterns# are# those# ones# from% Toval% et% al.# [Tov02]# [Tov11],# Mannion% et% .al# [Man98]# [Man99]# [Man01]# and# Shahrokni% et% al.# [Sha12].# Their#requirement#patterns#are#viewpoints#of#finerHgrain#requirements#(natural#language# Schema for the I1 variation pointet# of al.# the cluster allocation planning method# agent sentences)# Role that#Variation are# in#Point their# repositories.# Toval# define# the# SIREN# (SImple# Reuse#of#software#requiremENts)#to#requirements#reuse,#where#a#requirement#pattern#is# defined#as#a#sentence#in#natural#language,#sometimes#parameterized,#that#contains#also#the# following#attributes:#identification,#priority,#critically,#viability,#risk,#source#and#other#ones# that# only# appear# in# some# requirement# patterns.# Their# repository# contains# requirement# patterns#from#specific#domains#and#profiles,#where#each#domain#or#profile#is#a#view#of#the# global#repository#(i.e.#classifications).#Mannion#et#al.#define#a#ViewpointHOriented#Domain# Requirements# Definition# method# (VODRD)# to# analyze# user# requirements# from# an# individual#stakeholder’s#perspective.#Because#of#this,#their#concept#of#requirement#pattern# is#also#a#parameterized#sentence#in#natural#language,#but#grouping#these#sentences#using# viewpoints,#in#a#way#that#each#requirement#pattern#corresponds#to#a#different#viewpoint.# Finally,# Shahrokni# et# al.# define# robustness# requirements# patterns# with# different# levels# of# abstractions#inside#them,#so#each#pattern#can#be#seen#as#a#different#view#depending#on#the# level#of#abstraction#you#are#looking#for#when#reusing#the#pattern.# #
28&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
& Table&8:&Summary&of&SLR&works&found&related&to&requirement&patterns&(part&I)& !
!
Security!Requirements!
General!Purpose!
2.!Object!to!be!reused!
SNL!
SNL!
3.!Requirement!type!
F,!NF!
F!
Natural!Language!
Natural!Language!
OOOOOO!
OOOOOO!
Sharokni&et&al.& [Sha10]& General!Purpose! SNL,!Conceptual! Models,!Use!Cases,! Sequence!Diagrams! F,!NF! Natural!Language,! Modeling!Language! (similar!to!UML)! OOOOOO!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
OOOOOO!
Yes!
OOOOOO!
OOOOOO!
Yes!
Yes!
Yes!
Yes!
Yes!
OOOOOO!
Yes!
Repository!
Repository!
OOOOOO!
Taxonomy!
OOOOOO!
Repository!
Yes!
OOOOOO!
OOOOOO!
Yes!
OOOOOO!
Yes!
OOOOOO! Project!/!Test! In!Evolution! Yes! (method)! Yes! (method)! Yes! (no!method)!
OOOOOO! Project!/!Test! In!Evolution! Yes! (informal!process)! Yes! (method)!
OOOOOO! General! OOOOOO!
OOOOOO! Project!/!Test! Evolution!
OOOOOO! Project!/!Test!! OOOOOO!
OOOOOO! Project!/!Test! OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Yes! (method)!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Use&characteristics&
Catalogue& characteristics&
Object&to&be&reused&characteristics&
1.!Domain!
4.!Notation!of!the!object!to!be! reused! 5.!Reusable!object!metamodel! 6.!Other!information!apart!from! the!reuse!object! 7.!Context!information!to!use!the! object! 8.!Information!for!further!stages! 9.!Relations!among!reusable! objects! 1.!Arrangement! 2.!Classification!for!reusable! objects! 3.!Classification!metamodel! 4.!Existence!of!a!catalogue! 5.!State!of!the!catalogue! 1.!Reusable!object!construction! methodology!! 2.!Reusable!object!utilization! methodology! 3.!Consideration!of!the!evolution! of!the!catalogue!
Toval&et&al.&
[Tov02],&[Tov11]&
4.!Reuse!tools!
OOOOOO!
5.!Proposal!tested!in!real!cases!
Yes!
&Mannion&et&al.&
[Man98],&[Man99],&[Man01]&
Yes!(to!search!in!the! repository!and!create! new!patterns)! OOOOOO!
! !
29&
Konrad&et&al.&(2)& [Kon05]& Embedded!Systems!
Roder&
Wahono&et&al.&
Usability!Requirements!
Web!Systems!
SNL!
SNL!
SNL,!Use!Cases!
F! Natural!Language,! Formal!Language! (Temporal!Logic)! OOOOOO!
F!
F,!NF!
Natural!Language!
Natural!Language,! Modeling!Language!
OOOOOO!
OOOOOO!
[Rod11],&[Rod12]&
&&[Wah02]&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Table&9:&Summary&of&SLR&works&found&related&to&requirement&patterns&(part&II)&
Use&characteristics&
Catalogue& characteristics&
Object&to&be&reused&characteristics&
!
!
Durán&Toro&et&al.& [Dur99]&
1.!Domain!
Franch&et&al.&
&&&Withall& [Wit07]&
General!Purpose!
General!Purpose!
General!Purpose!
2.!Object!to!be!reused!
SNL,!Use!Cases!
SNL!
SNL!
3.!Requirement!type!
F,!NF!
F,!NF,!NT!
NF!
Natural!Language!
Natural!Language!
Natural!Language!
OOOOOO!
Yes!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
Yes!
No!
OOOOOO!
OOOOOO!
Yes!
Yes!
Yes!
OOOOOO!
Yes!
4.!Notation!of!the!object!to! be!reused! 5.!Reusable!object! metamodel! 6.!Other!information!apart! from!the!reuse!object! 7.!Context!information!to! use!the!object! 8.!Information!for!further! stages! 9.!Relations!among!reusable! objects! 1.!Arrangement! 2.!Classification!for!reusable! objects! 3.!Classification!metamodel! 4.!Existence!of!a!catalogue! 5.!State!of!the!catalogue! 1.!Reusable!object!consO truction!methodology!! 2.!Reusable!object!utilizaO tion!methodology! 3.!Consideration!of!the!evoO lution!of!the!catalogue! 4.!Reuse!tools! 5.!Proposal!tested!in!real! cases!
[Men08],&[Ren09Y1],&[Fra10],& [Pal11Y2],&[Pal12]&
Konrad&et&al.&(2)& &&[Kon02]&
Yang&et&al.& [Yan12Y2]&
Silva&et&al.& [Sil12]&
Macasaet&et&al.& [Mac12]&
Embedded!Systems! Seismology!Requirements! Geospatial!Requirements! General!Purpose! SNL,!Feature!Models,!Class! SNL,!Use!Cases,! SNL,!Business!Process! SNL,!Conceptual!Models! Diagrams,!Sequence! Conceptual!Models! Models! Diagram! F,!NF! F! F,!NF! F,!NF! Natural!Language,! Natural!Language,! Natural!Language,! Natural!Language,! Modeling!Language! Modeling!Language! Modeling!Language! Modeling!Language!(a! (similar!to!UML)! (UML)! (MATA)! own!one)!
OOOOOO!
Yes!
Yes!
Yes!
OOOOOO!
Yes!
Yes!
Repository!
Taxonomy!
OOOOOO!
Repository!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Yes!
Yes!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO! General! OOOOOO! Yes! (method)! Yes! (method)! Yes!! (no!method)!
OOOOOO! General! OOOOOO!
OOOOOO! OOOOOO! OOOOOO! Yes! (informal!process)!
OOOOOO! Project!/!Test!! OOOOOO!
OOOOOO! OOOOOO! OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO! Project!/!Test! OOOOOO!
Yes! General! Evolution! Yes! OOOOOO! (method)! Yes! Yes! (informal!process)! (method)! Yes!! OOOOOO! (method)! Yes!(one!to!manage! patterns;!another!one! OOOOOO! to!create!SRS!using! them)! Yes!
Yes!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Yes!(for!pattern! management)!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
OOOOOO!
Yes!
30&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Also% incorporating% sentences% in% natural% language% in% their% requirement% patterns% are% the! Konrad!et!al.!(1)![Kon05]%and%Roder![Rod11]%[Rod12]%proposals.%In%Konrad%et%al.%(1)%they% propose%a%catalogue%of%80%real!time2patterns!(Figure%11),%which%are%requirement%patterns% for%embbeded%systems%incorporating%a%definition%on%natural%language%of%the%requirement% and%also%a%mapping%to%formalize%it%to%different%realHtime%temporal%logic%languages.%From%a% completely%different%point%of%view,%Roder%proposes%usability!patterns!(see%Figure%12%for%an% example)%as%an%easier%way%of%incorporating%usability%requirements%in%use%case%based%SRS.% % %
Figure&11:&Konrad&et&al.&(1)&pattern&template&
%
Figure&12:&Roder&usability&pattern&example&
%
%
Figure&13:&Wahono&et&al.&extensible&requirement&pattern& template&filled&with&the&Products)Catalogues&pattern& 31&
%
Figure&14:&Wahono&et&al.&meL thodology&to&use&extensible& requirement&patterns&
%
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Wahono! et! al.% [Wah02]% define% the% concept% of% extensible% requirement% pattern% for% web% applications.%They%define%an%extensible%requirement%pattern%as%a%reusable%and%extensible% framework% for% requirements.% Not% like% other% existing% patterns,% an% extensible% requirement% pattern% has% two% kinds% of% pattern% elements:% constraint% elements% (pattern% name,% classiH fication,% problem,% contexts,% examples,% forces,% related% patterns)% and% extensible% elements% (solution,% user% behaviour,% page% behaviour,% prototype,% data% behaviour,% architecture,% security),%which%is%the%main%difference%between%this%proposal%and%the%other%requirement% patterns% studied.% Figure% 13% contains% the% template% of% an% extensible% requirement% pattern% filled% with% the% example% Products! Catalogues% pattern.% Another% interesting% point% of% this% proposal%is%the%method%defined%to%use%these%patterns%(Figure%14).% The% proposals% of% Durán! Toro! et! al.! [Dur99],% Franch! et! al.% [Men08]% [Ren09H1]% [Fra10]% [Pal11H2]%[Pal12]%and%Withall%[Wit07]%define%requirement%patterns%in%a%similar%way.%They% understand% requirement% patterns% as% one% or% more% sentences% in% natural% language,% where% each%one%corresponds%to%a%requirement,%and%some%metadata%fields%(that%are%the%same%for% all% the% patterns% defined% in% the% same% proposal).% The% main% differences% between% their% requirement%patterns%are%(Figures%15,%16%and%17%have%the%template%or%an%example%of%the% requirement%patterns%for%each%one%of%the%different%proposals):% •
Some%proposals%consider%more%metadata%than%other%ones.%For%instance,%Durán%Toro% et%al.%requirement%patterns%state%the%importance%and%urgency%of%the%requirements% contained%in%the%pattern.%
•
In% Withall% and% Franch% et% al.% proposals,% they% distinct% alternative% ways% to% write% the% same% requirement% (for% instance,% the% same% requirement% can% have% more% or% less% detailed% information,% or% it% could% be% the% case% that% for% different% contexts% the% requirement%is%expressed%in%different%ways).%%
Withall% works% also% incorporate% information% for% further% development% stages.% For% instance,%incorporating%the%field%design!patterns.% From% another% point% of% view,% these% proposals% also% differ% in% the% assets% that% surround% requirement% patterns,% such% as% whether% there% is% a% methodology% to% construct% or% to% use% patterns,% classifications% for% them% and% metamodels% to% define% both% patterns% and% their% classification.%In%this%area,%Withall%and%Franch%et%al.%works%are%worth%noting.%Withall%also% define% in% his% work% how% to% classify% requirement% patterns% to% facilitate% their% access,% a% methodology% to% construct% and% use% requirement% patterns% and,%although%in% an% informal% manner,%how%to%evolve%the%defined%catalogue.%However,%Franch%et%al.%goes%one%step%further% and,%apart%from%a%classification%for%patterns%(using%this%classification%as%taxonomy%to%access% patterns)% and% a% methodology% to% construct% and% use% them,% also% defines% the% metamodel% for% both%requirement%patterns%and%their%classification%and%some%rules%to%evolve%the%catalogue.% Another%interesting%point%of%this%work%is%that%they%have%constructed%a%catalogue%for%F,%NF% and% NT% requirements% that% can% be% used% in% real% projects,% and% they% have% developed% two% different%tools%in%order%to%facilitate%the%use%of%their%patterns%in%real%projects:%one%to%create% and%manage%requirement%patterns,%their%classifications%and%to%support%the%evolution%of%the% catalogue,% and% another% one% to% use% these% patterns% in% real% software% projects,% following% the% methodology% defined% to% their% use,% and% finally% to% create% the% corresponding% requirements% specifications%for%each%project.% % •
32&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
%
%
Figure&16:&Franch&et&al.&requirement&patterns& example&
Figure&15:&Durán&Toro&et&al.&LLpatterns&for& information&systems&requirements&and& functional&requirements&
%
%
% Figure&17:&Withall’s&requirement&pattern&structure
33&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Finally,%the%proposals%appearing%in%Konrad!et!al!(2)![Kon02],%Yang!et!al.%[Yan12H2],%Silva!et! al.% [Sil12],% and% Macasaet! et! al.% [Mac12]% go% one% step% further% from% the% previous% proposals:% their% requirements% patterns,% apart% from% incorporating% one% or% more% sentences% in% natural% language% and% some% metadata% fields,% also% take% into% account% some% modeling% diagrams,% different% in% each% proposal.% Konrad% et% al.% (2)% proposal% incorporates% some% fields% (structure% and%behavior)%that%state%models%in%UML%(class%diagrams%and%state%diagrams,%respectively),% which%are%related%to%the%requirements%considered%in%the%pattern.%Following%the%same%line,% Yang% et% al.% uses% UML% class% diagrams% to% summarize% the% solution% of% their% patterns% (this% approach% follow% the% strict% pattern% structure:% contextHproblemHsolution)% and% Silva% et% al.% defines% feature% models,% class% diagrams% and% sequence% diagrams% inside% each% requirement% pattern.% The% approach% presented% in% Macasaet% et% al.% is% a% little% different% from% the% previous% ones,%in%the%sense%that%their%requirement%patterns%incorporates%a%diagram%expressed%in%a% business% process% modeling% notation% in% order% to% show% what% is% the% global% view% of% the% pattern,%as%well%as%the%possible%relation%with%other%patterns.%As%an%example,%Figure%18%and% Figure%19%contain%the%pattern%structure%for%Konrad%et%al.%(2)%and%Silva%et%al.%and%proposals.% Some%important%things%to%highlight%from%these%proposals%are:% •
Three% out% of% the% four% proposals% (except% the% one% from% Silva% et% al.)% incorporate% information% for% further% development% stages,% so% it% seems% to% be% a% relation% between% the%definition%of%models%and%the%appearance%of%this%kind%of%information%in%patterns.%
•
Konrad% at% al.% and% Silva% et% al.% define% a% catalogue% of% requirement% patterns.% The% problem%is%that%in%the%first%case,%it%is%focused%on%a%small%part%of%the%requirements% related% to% embedded% systems,% and% in% the% second% case% the% catalogue% has% been% created%for%testing%the%proposal,%so%it%seems%that%any%of%them%could%be%used%in%real% projects.%
•
Yang%et%al.%defines%a%complete%method%to%reuse%their%requirements%patterns%during% requirements%elicitation.%
•
Finally,%Silva%et%al.%proposes%a%tool%for%manage%their%requirement%patterns,%but%the% tool%is%still%not%able%to%use%the%patterns%to%elicit%requirements.%
%
%
Figure&18:&Konrad&et&al.&(2)&requirement&pattern&structure&
34&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
% Figure&19:&Silva&et&al.&requirement&pattern&structure&
3.3. Conclusions As% general% conclusion% of% this% SLR,% first% of% all% I% can% say% that% most% of% the% works% found% that% propose%the%notion%of%pattern%to%reuse%knowledge%during%RE%are%focused%on%the%elicitation% of%requirements,%following%the%same%line%of%the%SRP%proposed%in%this%thesis.%However,%most% of% these% approaches% dealing% with% reuse% during% requirements% elicitation,% as% previously% shown,%are%too%fuzzy%in%the%sense%that%they%define%precisely%the%pattern%approach%but%they% don’t% take% into% account% how% to% integrate% the% proposal% in% real% requirement% elicitation% processes.% This% is% a% drawback% that% this% thesis% will% solve% by% proposing% a% method% to% reuse% SRP%during%requirement%elicitation%processes.%Looking%deeply,%from%the%small%quantity%of% works%that%deal%with%the%reuse%process%for%requirements%elicitation%in%their%proposal,%only% two%of%them%(those%of%Withall%and%Franch%et%al.,%which%is%the%one%proposed%in%this%thesis)% have% defined% a% catalogue% of% patterns% that% can% already% be% used% for% the% elicitation% of% requirements%in%organizations.%However,%unlike%my%SRP%approach,%Withall%proposal%is%only% focused%on%NF%requirements,%and%since%the%publication%of%his%book%in%2007%no%more%work% for%extending%it%has%been%done%as%far%as%I%know.% More% specifically% for% my% work,% while% doing% this% SLR,% some% of% the% analyzed% works% have% given% good% ideas% in% order% to% improve% the% notion% of% SRP% proposed% in% this% thesis% (some% of% them%already%incorporated%in%my%current%SRP%proposal).%Among%others,%these%ideas%are:% •
Notion% of% pattern% as% a% group% of% interrelated% requirements% (e.g.% Dehlinger% et% al.,% Withall,%and%Silva%et%al.).%%
•
Definition% of% metadata% fields% different% from% the% usual% ones% (e.g.% constraints% in% Konrad%et%al.,%dependencies%in%Silva%et%al.,%version%in%Durán%Toro%et%al.).%%
•
Introduction% of% parameters% inside% natural% language% templates% representing% a% requirement%(e.g.%Lam%et%al.,%Hauksdottir%et%al.,%Withall,%and%Durán%Toro%et%al.).%
•
Definition%of%the%possible%values%that%parameters%can%take%when%instantiating%it%for% a%specific%SRS%(e.g.%Firesmith,%Daramola%et%al.,%and%Moros%et%al.),%in%some%case%even% defining%these%possible%values%as%different%types%of%parameters%(Moros%et%al.).%
•
%Use% of% ontologies% as% glossaries% for% having% homogeneous% requirements% from% the% point%of%view%of%the%used%vocabulary%(Daramola%et%al.).%
•
Definition%of%different%ways%of%reusing%the%content%in%a%pattern%(MIA%reuse%process% of%Monzon%already%introduced%in%Section%3.2.2.1).% 35&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
4. Working Plan 4.1. Research Plan In%order%to%cover%the%set%of%goals%presented%in%Section%2,%I%have%identified%the%following%set% of%tasks%for%the%development%of%my%thesis%(Table%10).% %
Table&10:&Tasks&list&of&the&thesis& A1& &&&A1.1& &&&A1.2& &&&A1.3& &&&A1.4& &&&A1.5& &&&A1.6& A2& &&&A2.1&& &&&A2.2& &&&&&A2.2.1& &&&&&A2.2.2& &&&A2.3& &&&&&A2.3.1& &&&&&A2.3.2& &&&&&A2.3.3& &&&A2.4& &&&&&A2.4.1& &&&&&A2.4.2& &&&&&A2.4.3& &&&A2.5& &&&A2.6& &&&A2.7& A3& &&&A3.1& &&&A3.2& &&&A3.3& A4& &&&A4.1& &&&A4.2& A5& &&&A5.1& &&&A5.2& &&&A5.3& A6& A7&
Analysis%of%the%different%existent%approaches%to%the%notion%of%pattern%in%the%context%of% RE%knowledge%reuse%% → First%version%of%an%SLR%about%patterns%used%to%reuse%knowledge%during%RE% → Maintain%SLR%started%in%A1.1%upHtoHdate%(year%2012)% → Maintain%SLR%started%in%A1.1%upHtoHdate%(year%2013)% → Maintain%SLR%started%in%A1.1%upHtoHdate%(year%2014)% → Maintain%SLR%started%in%A1.1%upHtoHdate%(year%2015)% → Survey%about%the%current%state%of%RE%in%relation%to%reuse%in%IT%organizations% and%departments% Specification%and%design%of%the%PABRE%Framework% → Specification%of%the%PABRE%metamodel% → Stable%version%of%the%NFHSRP%Catalogue% - Second%iteration%(SRP%granularity%&%Glossary%uniformization)% - Third%iteration%(Relationships%granularity%&%Question%Texts)% → Stable%version%of%the%NTHSRP%Catalogue% - First%iteration%(Construction)% - Second%iteration%(SRP%granularity%&%Glossary%uniformization)% - Third%iteration%(Relationships%granularity%&%Question%Texts)% → Stable%version%of%the%FHSRP%Catalogue% - First%iteration%(Construction)% - Second%iteration%(SRP%granularity%&%Glossary%uniformization)% - Third%iteration%(Relationships%granularity%&%Question%Texts)% → SRP%creation%methodology% → SRP%use%methodology% → SRP%evolution%methodology% Implementation%of%the%PABRE%Framework%(PABRE%System)% → Design%&%Implementation%of%the%PABREHMan%tool% → Design%&%Implementation%of%the%PABREHProj%tool% → Design%&%Implementation%of%the%PABREHProj%Web%tool% Definition%of%the%SRP%Reuse%Economic%Model% → State%of%the%Art%of%reuse%economic%models% → Definition%of%the%SRP%Reuse%Economic%Model% Validation%of%the%SRP%Framework%and%the%SRP%Reuse%Economic%Model% → Validation%through%surveys% → Validation%through%selection%experiments% → Validation%through%a%case%study%(I)% Write%the%thesis% Prepare%the%defense%of%the%thesis%
% The% development% of% this% thesis% is% as% shown% in% Figure% 20.% The% leftHhand% side% shows% the% tasks%already%done%in%their%time%interval,%whereas%the%rightHhand%side%is%the%planning%for% the%next%tasks.%
36&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
% Figure&20:&Calendar&of&the&thesis&tasks&
37&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
4.2. Work Done A1 Analysis of the different existent approaches to the notion of pattern in the context of RE knowledge reuse (Status: In Progress) These% activities% have% been% performed% in% order% to% analyze% the% different% patterns% used% to% reuse% knowledge% during% RE% both% in% academia% and% organizations% in% order% to% help% to% provide%a%better%definition%and%structure%of%SRP.% One% of% the% contributions% in% this% set% of% activities% has% been% the% development% of% an% SLR% of% patterns%which%goal%is%reuse%knowledge%during%RE.%This%SLR%tried%to%answer%the%question% “What%is%the%State%of%the%Art%to%reuse%knowledge%during%SRP%using%patterns?”.%The%SLR%has% been%finished%(the%main%results%can%be%found%in%[Pal11H1]%and%Section%3.!State!of!the!Art),% although%my%idea%is%updating%it%every%year.% Another%contribution%has%been%the%design%and%implementation%of%an%online%questionnaire% [Pal13H2]%[Pal13H3]%whose%goal%is%to%know%current%RE%practices%related%to%essential%aspects% for%the%definition%of%SRP%as%well%as%to%analyze%its%current%and%potential%use%in%industry.% Subtasks)finished) •
A1.1!First!version!of!an!SLR!about!patterns!used!to!reuse!knowledge!during!RE.%This% subtask% was% already% carried% out% during% the% Master% Thesis.% It% consisted% on% developing% an% SLR% focused% on% patterns% used% for% reuse% during% Requirements% Engineering,% using% the% string% search% “reus*% in% (Title% or& Abstract)% AND& requirement*% in% (Title% or& Abstract)”% and% getting% results% until% year% 2010.% More% information% about% the% followed% process% can% be% found% in% Section% 3.1! SLR! Process! Summary%and%[Pal11H1].%
•
A1.2! Maintain! SLR! started! in! A1.1! up2to2date! (year! 2012).% Maintain% the% SLR% developed% in% A1.1% upHtoHdate,% repeating% the% same% process% followed% in% A1.1,% but% keeping%the%year%of%the%searches%to%2011.%
•
A1.3!Maintain!SLR!started!in!A1.1!up2to2date!(year!2013).!Same%as%A1.2,%but%for%year% 2012.%
Subtasks)in)progress) •
A2
A1.6!Survey!about!the!current!state!of!RE!in!relation!to!reuse!in!IT!organizations!and! departments.% The% design% of% the% survey% is% finished,% using% for% its% design% the% guidelines% for% surveys,% and% specifically% the% ones% for% online% questionnaires,% proposed%in%[Oat06].%It%has%been%already%posted%online%using%the%LimeSurvey%[LIM]% online% questionnaire% platform.% Currently% the% survey% is% being% executed% (35% responses%at%the%moment%of%handing%over%this%document).%
Specification and Design of the PABRE Framework (Status: In Progress)
The%PABRE%framework%(Figure%21)%proposes%the%use%of%SRP%as%a%means%to%capture%and%use% requirements%knowledge%in%the%context%of%IT%projects.%% Following% the% typical% contextHproblemHsolution% structure% of% patterns,% an% SRP% basically% consists% of:% a% template% (solution)% that% may% generate% one% or% more% requirements% when% applied% in% a% certain% project,% and% some% information% (contextHproblem)% to% identify% its% applicability%in%that%project.%Patterns%are%classified%by%means%of%classification%schemas,%i.e.% hierarchies% of% classifiers% that% facilitate% the% identification% of% relevant% SRP% during% the% elicitation% process,% and% the% organization% of% the% requirements% in% the% SRS.% More% than% one% classification%schema%may%be%defined%over%the%same%SRP%catalogue.% 38&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
% % % % % % % % % % Figure&21:&PABRE&Framework&Overview % The% framework% currently% embraces:% 1)% A% metamodel% that% describes% the% structure% of% patterns%and%their%organization%(subtask%A2.1);%2)%AN%SRP%catalogue%composed%by%29%NFH SRP,% 37% NTHSRP% and% 45% FHSRP% (subtasks% A2.2,% A2.3,% A2.4% respectively);% 3)% A% method% for% constructing%and%evolving%SRP,%as%well%as%another%one%for%guiding%the%use%of%the%catalogue% in% the% RE% stage% (subtasks% A2.5,% A2.7,% A2.6% respectively);% and% 4)% The% PABRE% system% as% technological% support% (task% A.3).% More% information% of% these% 4% assets% can% be% found% in% the% next%subsections%(except%for%A2.6%and%A2.7,%which%information%can%be%found%in%the%Section% 4.3!Future!Work).% A2.1 Specification of the PABRE Metamodel (Status: In Progess) The%aim%of%a%PABRE%metamodel%(Figure%22)%is%to%define%the%structure%and%semantics%of%an% SRP,%as%well%as%their%organization%inside%a%catalogue.%In%this%metamodel%we%can%distinguish% four%independent,%but%interrelated,%parts.% 1. SRP%Core.%It%contains%the%exact%structure%and%details%of%a%SRP.%Briefly,%this%structure% is:%a%requirement%pattern%has%several%pattern%forms,%which%are%made%of%one%fixed% part,%several%extended%parts%and%several%constraints.%Fixed%and%extended%parts%are% templates%in%natural%language%with%parameters.%%
% Figure&22:&PABRE&Metamodel&Overview&
39&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
2. Application% part.% This% part% allows% adapting% an% SRP% in% every% project,% using% parameters% and% metrics% associated% to% these% parameters.% In% other% words,% the% application%part%is%the%only%part%that%varies%in%every%project%when%using%a%pattern.% 3. Relationships% part.% It% arises% from% the% observation% that% patterns% elements% are% not% isolated% units% of% knowledge.% This% part% is% useful% to% create% complete% requirements% specifications%without%incoherencies.% 4. Classification% part.% This% part% defines% how% SRP% can% be% organized% to% facilitate% its% access%in%a%repository.% More%information%about%the%PABRE%metamodel%can%be%found%in%[Fra10]%[Pal11H1]%[Fra13].% It%has%been%proof%that%this%metamodel%is%able%to%support%F,%NF%and%NT%requirements%by%the% construction%of%SRP%for%each%one%of%these%types%(see%next%subsection%for%more%information% about%these%SRP).%% A2.2,
A2.3, A2.4 Stable version of the NF-, NT- and F-SRP Catalogue (Status: In Progress) The% current% PABRE% catalogue% (the% set% of% all% the% SRP% defined)% was% built% as% a% result% of% analyzing%the%SRS%of%a%certain%number%of%projects%in%which%TUDOR%was%involved,%following% the%method%presented%in%the%next%subsection%(subtask%A2.5).%It%is%composed%by:%29%NFHSRP% (first%version%can%be%found%in%[Ren09H1]%[Ren09H2]),%37%NTH%SRP%[Fra13]%[Pal12]%[Pal11H1]% and% 45% FHSRP% for% the% Domain% of% Content% Management% Systems% (CMS)% [Pal13H1].% While% analyzing%a%number%of%SRS%documents%regarding%software%procurement%projects,%we%have% observed%that%a%big%percentage%of%NFHreqs%and%NTHreqs%are%domainHindependent%(i.e.,%they% appear% basically% in% the% same% way% in% different% documents,% even% if% belonging% to% projects% from% different% domains),% whilst% in% the% case% of% FHreqs% it% is% quite% the% opposite.% This% is% the% reason% why% NFHSRP% and% NTHSRP% are% domainHindependent,% while% FHSRP% are% domainH dependent.%% The% PABRE% catalogue% not% only% embraces% the% set% of% SRP,% but% also% corresponds% to% the% different%classification%schemas%to%access%the%repository.%In%our%case,%we%are%classifying%F,% NF% and% NT% requirements% using% a% classification% based% on% the% ISO/IECH9126H1% standard% [ISO]%(see%Table%11).% Subtasks)finished) •
•
• •
A2.2.1! 2nd! iteration! over! NT2SRP! Catalogue.% A% version% of% the% NFHSRP% catalogue% already% existed% before% the% start% of% this% thesis.% However,% the% SRP% granularity% was% sometimes% no% uniform% and% the% SRP% didn’t% use% sometimes% the% same% word% for% talking% about% the% same% concept.% This% second% iteration% goal% was% to% solve% these% issues.%% A2.3.1! 1st! iteration! over! NT2SRP! Catalogue.% This% iteration% was% focused% on% constructing%the%first%version%of%the%NTHSRP%by%analyzing%some%real%SRS%provided% by%TUDOR,%following%the%methodology%corresponding%to%the%subtask%A2.5.%% A2.3.2%2nd!iteration!over!NT2SRP!Catalogue.!Same%goal%as%subtask%A2.2.1%but%applied% to%the%NTHSRP.% A2.4.1%1st!iteration!over!F2SRP!Catalogue.!Same%goal%as%subtask%A2.3.1%but%applied%to% the%FHSRP.% %
% % %
40&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
Table&11:&PABRE&Catalogue&organized&according&an&ISO/IEC&9126L1&based&classification& schema& 1.Users&& 2.Roles&& 3.Groups&& 4.Content&&
Users!management! Users!actions! Roles!management! Groups!management! Contents!management!
Contents!security! Contents!veriafibilines!
NONLFUNCTIONAL& PART&
FUNCTIONAL&PART&(for&CMS)&
5.Folders&& 6.Alias&&
Folders!management! Folders!security! Alias!management!
7.Query&&
Alias!security! Searches!
8.Lifecycle&&
Search!API! Searches!security! Lifecycle!management!
9.Mail&&
Lifecycle!security! Mail!files!management!
10.Web&contents&&
Mail!security! Web!contents!management!
11.Media&& &
Web!contents!security! Media!management! %
12.Agenda&& %
Agenda!management! %
13.Storage&& %
Storage!management! %
14.&Text&input&%
Text!input!management%
1.Functionality&
Suitability! Accuracy! Interoperability! Security!
41&
HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Content management • Content customization • Content annotation • Content preview • Content lifetime • Broadcast modes • Broadcast features • Automatic broadcast • Manual broadcast • Assets to import/export • Import/export features ----------------------------• Content version management • History features • Annotation history • Broadcasting history • Access history • Workflow history • URL features HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • External content references • Hyperlinks management HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Indexing • Content search HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Workflows management • Publication workflow • Pre-publication actions • Post-publication actions • Content validation HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • E-mail notifications • Assets to import/export • Import/export features HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Website navigation features • Website features • Websites management • Website use HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Marketing operations • Newsletters • Electronic payment • Contacts management • Incoming faxes management • E-mail notifications • To-do list • Storage features • Storage compression • Automatic storage • Storage rights • Editor • Spell checker • Formularies features HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Data precision • Data exchange • Interoperability with external systems • Authentication • Authorization • Automatic logoff • Data transmission protection • Stored data protection
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
2.Usability&&
3.&Efficiency&
4.Reliability&&
5.Portability&&
1.Supplier&&
NONLTECHNICAL&PART&
2.Product&&
3.Business&&
4.Project&&
HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% • Interface language • Interface type • Online help Learnability! • Interface learnability • Documentation • Failure alerts Operability! • Recovery procedures • Installation procedures • Update procedures HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% Attractiveness! HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% U.!Compliance! • Interface load time Time!behaviour! • Concurrent users capacity • Data capacity Resource!utilisation! • Users capacity HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% E.!Compliance! • Failure alerts Maturity! • Alternative data storage Fault!tolerance! • Availability • Downtime • Uptime • Backups Recoverability! • Log HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% R.!Compliance! • Development language Adaptability! • Platform Installability! HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% Coexistence! HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% Replaceability! HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% P.!Compliance! • Supplier Administrative Info Organizational!structure! • Supplier Organization • Supplier History • Supplier Economic Info Positioning!and!strength! • Supplier Workforce • Supplier Business Experience Reputation! • Supplier Quality Certification • Training Services!offered! • Maintenance Procedure Support! • Type of Maintenance • Product History History! • Community Support • Delivered Documentation Deliverables! • Source Code Parameterization!and!customization! HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% %HHHHHHHHHHHHHHHHHHHHHHHHHHHHH% Licensing!schema! • Intellectual Property Rights Ownership! • Warranty Guarantees! • Cost Breakdown Structure Costs! • System Implementation Scheduling Business!Scheduling! • Progress Control • Project Management Method • Final acceptance • Release • Analysis • Data Migration • Development • Acceptance Tests • Steering Committee Supplier!relationships! • Meetings Organization • Access to Customer Premises • Privacy • Progress Control • Quality Assessment • Payment Procedure • Settlement of Disputes • Supplier People Assigned to the Project • Help Desk • Crash Response F.!Compliance! Understandability!
42&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
A2.5 SRP Creation Methodology (Status: Finished) A%wellHdefined%method%to%construct%SRP%(Figure%23)%has%been%already%presented%in%[Pal11H 1]% [Fra13]% [Pal13H1].% This% method% takes% as% a% starting% point% real% SRS,% filters% the% requirements%of%the%selected%type%(F,%NF%or%NT),%aligns%them%according%to%the%aspect%they% refer% to,% analyses% these% aspects% to% study% their% adequacy% as% SRP,% and,% for% each% one% of% the% SRP% candidates% previously% identified,% an% SRP% is% built.% Finally,% once% all% SRP% have% been% constructed,% they% are% classified% according% to% some% classification% schema% and% their% relationships%are%recorded.%This%method%has%already%been%used%to%construct%the%3%parts%of% the%current%SRP%catalogue.%
% Figure&23:&SRP&Construction&Methodology&
A3
Implementation of the PABRE System (Status: In Progress)
The%PABRE%system%is%composed%of%two%tools%(see%Figure%24):%PABREHMan%[Pal10]%[Pal11H 2]% (subtask% A3.1)% and% PABREHProj% [Pal10]% [Pal13H4]% (subtask% A3.2,% A3.3% for% the% desktop% and%web%version,%respectively).% The% main% goal% of% the% PABREHMan% tool% is% to% facilitate% the% definition% of% SRP% and% their% management% in% an% SRP% catalogue.% The% users% of% the% tool% are% Requirements% Engineering% Experts%that%decide%to%add%new%SRP,%that%analyze%the%data%of%use%of%SRP%to%make%evolve%the% catalogue,% and% that% maintain% the% classification% schemas% used% to% organize% the% SRP% in% the% catalogue.% PABREHProj,%both%in%its%desktop%and%web%version,%has%as%goal%to%facilitate%the%definition%of% the% requirements% for% a% certain% IT% project% by% using% SRP.% The% users% of% the% tool% are% Requirements%Analysts%(RA).%During%the%requirements%elicitation%of%a%specific%project,%the% tool% helps% recommending% the% requirements% to% add% to% the% SRS% document% of% the% project.% Once%the%elicitation%process%finishes,%the%tool%also%allows%generating%automatically%a%CallH forHTenders%document%to%be%sent%to%potential%providers,%and%the%exportation%of%data%of%use% of%SRP%in%projects.%%
43&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
PABREDMan Manage&Classification& Schemas
Define&SRP
%
Manage&SRP
Requirements
Figure&24:&The&PABRE&System& Engineering Expert
Import&/&Export&
Both%tools%provide%also%import%and%export%facilities%of%an%SRP%catalogue%and%project%data.% SRP&Catalogue In%this%context,%PABREHProj%interoperates%with%the%OPAL%tool%[OPA]%developed%by%TUDOR.% Import&Data&of&Use For%more%information%about%their%functionalities%see%the%use%case%diagram%of%the%system%in% Of&SRP Figure%25.% PABREDProj Browse&the& SRP&Catalogue
PABREDMan
Manage&Elicitation& Projects
Manage&Classification& Schemas
Define&SRP
Requirements Analyst
Manage& Requirements
Manage&SRP
Requirements Engineering Expert
Define& Requirements
Generate&Requirements& Specification&Document
Import&/&Export& SRP&Catalogue
Generate&CallDforD Tenders&Document
Import&Data&of&Use Of&SRP
Import&/&Export& Project Export&Data&of&Use&& Of&SRP
PABREDProj Browse&the& Figure&25:&PABRE&System&Use&Cases&
%
SRP&Catalogue
)
Subtasks)in)progress)
Manage&Elicitation& Projects
A3.1! Design! and! Implementation! of! the! PABRE2Man! tool.% A% first% stable% version% has% Define& Further% work% needs% to% be% done% to% improve% its% usability% already% been% developed.% Requirements Requirements Analyst (see%Section%4.3!Future!Work%for%further%details).% •
Manage& Requirements Generate&Requirements& Specification&Document
Generate&CallDforD Tenders&Document Import&/&Export&
44&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
•
•
A4
A3.2!Design!and!Implementation!of!the!PABRE2Proj!tool.%%A%first%stable%version%has% already% been% developed.% Further% work% needs% to% be% done% to% improve% its% usability% (see%Section%4.3!Future!Work%for%further%details).% A3.3%Design!and!Implementation!of!the!PABRE2Proj!Web!tool.!A%first%prototype%has% already% been% developed,% but% further% testing% needs% to% be% done% to% achieve% a% stable% version%(see%Section%4.3!Future!Work%for%further%details).%%
Definition of the SRP Reuse Economic Model (Status: In Progress)
Reuse%economic%models%try%to%give%an%economic%value%to%activities%where%reuse%is%involved.% However,%when%reviewing%the%existing%approaches%for%these%models,%any%of%them%deal%with% the% reuse% at% the% requirements% level,% and% even% less% when% reuse% is% achieved% by% using% SRP.% Then%it%became%necessary,%in%order%to%measure%the%economic%benefits%that%the%use%of%the% SRP% framework% (the% PABRE% framework)% can% bring% in% a% company,% to% create% such% reuse% economic%model%for%our%specific%reuse%case.%However,%it%is%worth%noting%that%the%proposed% model%could%be%easily%generalized%to%any%other%requirements%reuse%technique.% A4.1 State of the art of reuse economic models (Status: Finished) This%activity%has%been%performed%in%order%to%learn%about%reuse%economic%models,%as%well% as%select%those%works%that%can%be%more%relevant%and%serve%as%a%basis%for%the%definition%of% the% SRP% Reuse% Economic% Model.% More% information% about% these% selected% works% can% be% found%in%the%next%subsection.% A4.2 Definition of the SRP Reuse Economic Model (Status: In Progress) To% open% a% path% in% the% creation% of% an% SRP% reuse% economic% model,% we% present% here% a% preliminary% version% of% an% economic% model% to% perform% costHbenefit% analysis% on% the% adoption%of%SRP.%% Among%the%different%approaches%for%reuse%economic%models,%ROI%models%hold%a%prominent% position% [Bif05]% [Erd04]% [Van04]% [Gaf92].% ROI% models% seek% to% determine% if% a% reuse% investment% will% pay% off% in% the% future,% analyzing% the% net% benefit% of% reuse% after% expending% some% level% of% resources.% In% our% case,% the% SRP% reuse% economic% model% will% use% the% ROI% formula% proposed% by% Boehm% [Bif05],% where% the% benefits% are% the% improvements% in% the% elicitation%process%and%the%nonHdone%errors%because%of%the%use%of%SRP,%and%the%costs%are%the% expenses%in%constructing%the%unique%specification%parts%(requirements%that%are%unique%in%a% software%project)%and%the%SRP%catalogue:% &'(')*+, − ./,+, !"# = % ! ./,+, % For%the%decomposition%of%Costs%and%Benefits,%we%identified%six%costHbenefit%factors%for%SRP% adoption.% We% started% the% formulation% of% factors% by% adopting% Poulin’s% method% for% measuring% code% reuse% [Pou97H1]% [Pou97H2].% We% adapted% Poulin’s% model% because% it% has% been%applied%in%industry%and%offers%parameters%to%operationalize%it.%We%adopted%its%benefit% factors% (DCA,% SCA)% published% in% [Pou97H1]% [Pou97H2].% Conversely,% we% consider% more% appropriate%for%SRP%to%adopt%the%cost%factors%defined%for%SPL%(CSWdev_costs,%CSWservice_costs)%in% [Pou97H2],%instead%of%the%additional%development%costs%[Pou97H1].% To%complete%the%model%we%add%the%unique%elicitation%costs%of%SRS.%Also,%with%the%help%of%the% propagation% cost% metric% [Mac11],% we% also% consider% necessary% changes% to% reusable% elements%(which%are%not%considered%by%Poulin’s%method)%and,%therefore,%evolution.%% The%former%three%factors%are%for%development%and%the%latter%ones%for%maintenance:%
45&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
•
ECA,% Elicitation% Cost% Avoidance,% similar% to% Poulin’s% Development% Cost% Avoidance% (DCA)%[Pou97H1]%[Pou97H2].%It%is%the%benefit%from%reusing%SRP%in%SRS%compared%to% building%them%from%scratch.%%
•
UEC,%Unique%Elicitation%Costs.%It%is%the%cost%to%develop%the%unique%parts%of%an%SRS% that%cannot%be%elicited%using%SRP.%
•
AEC,% Additional% Elicitation% Costs,% similar% to% Poulin’s% Common% Software% Development%Costs%(CSWdev_costs)%[Pou97H2].%It%is%the%cost%of%the%initial%investment,% i.e.,%developing%an%SRP%catalogue.%
•
SCA,% Service% Cost% Avoidance% [Pou97H1]% [Pou97H2].% Benefits% coming% from% the% avoided%errors%because%of%the%use%of%SRP.%
•
AMC,%Additional%Maintenance%Costs,%similar%to%Poulin’s%Common%Software%Service% Costs%(CSWservice_costs)%[Pou97H2].%Cost%coming%from%the%changes%due%to%errors%in%the% SRP%catalogue.%
CEC,%Catalogue%Evolution%Costs.%It%is%the%cost%of%evolving%the%SRP%catalogue,%i.e.,%the% cost%of%changing%or%adding%SRP%to%the%catalogue.% Putting%everything%together,%given%a%number%n%of%SRS%built%on%top%of%the%SRP%catalogue,%and% a% number% m% of% SRP% (the% number% of% SRP% in% the% catalogue),% the% benefits% and% costs% of% adopting%an%SRP%are%defined%as:% •
#
!"#"$%&'( = *(,-.% + 0-.% )! %=1 0
%
!"#$#% = %'(! + '*! + !(! + +(-(!. )!
% In%Table%12,%we%present%twelve%basic%parameters%that%are%required%for%calculating%the%six% costHbenefit% factors% previously% defined.% Table% 13% shows% the% formulas% to% calculate% this% six% costHbenefit%factors%as%well%as%the%parameters%that%are%needed%for%these%calculations.%% As%mentioned%above,%this%is%just%a%preliminary%version%of%the%SRP%reuse%economic%model,% but%further%work%to%improve%and%validate%it%needs%to%be%done.%% .=1
%
Table&12:&Basic¶meters&in&order&to&feed&the&factors&of&Table&13&
Description&of&the¶meters&(adapted&for&the&SRP&context)& RCR%
RCRmod%
RCWR% EC% RC% PC%
Relative% Cost% of% Reuse:% Amount% of% effort% to% locate,% evaluate% and% integrate% a% requirement% without% modification% in% an% SRS% rather% than% elicit% and% write% it% from%scratch%(i.e.%without%using%SRP)%[Pou97H1].% Relative%Cost%of%Reuse%with%Modification:%Amount%of%effort%to%locate,%evaluate% and%integrate%a%requirement%with%modification%in%an%SRS%rather%than%elicit%and% write%it%from%scratch%(i.e.%without%using%SRP).% Relative%Cost%of%Writing%for%Reuse:%Ratio%of%the%portion%of%effort%that%takes%to% write%a%requirement%for%reuse%relative%to%the%cost%of%writing%it%for%oneHtime%use% [Pou97H1].% Error% Cost:% Average% cost% of% solving% an% error% in% an% SRS,% in% euros% per% error% [Pou97H1].% Requirement% Cost:% Cost% of% eliciting% and% writing% a% requirement% from% scratch% (i.e.%without%using%SRP)%[Pou97H1].% Propagation% Cost:% Percentage% of% the% requirements% affected% in% the% SRP% catalogue%when%performing%evolutions%(e.g.%removing%SRP%or%adding%SRP%with% new%dependencies).%
46&
Thesis&Proposal:&Definition&and&Use&of&SRP&in&RE&Activities&&&
ER% Error%Rate:%Historical%rate%of%errors%in%an%SRS%[Pou97H1].% Reused% Requirements:% Number% of% requirements% in% a% project% that% come% as% a% RR% direct%application%(without%modification)%of%SRP%[Pou97H1].% Reused%Requirements%with%Modification:%Number%of%requirements%in%a%project% that% come% as% an% indirect% application% (with% modification)% of% SRP.% Such% RRmod% modifications%are%just%small%variations%in%text%of%the%requirements,%but%never% substantial%changes.% New%Requirements:%Number%of%new%requirements%(i.e.%not%elicited%using%SRP)% Rnew% in%a%project.% RSRP% Requirements%in%an%SRP:%Number%of%requirements%in%an%SRP.% Requirements%in%an%SRP%that%evolve:%Number%of%requirements%in%an%SRP%that% RSRP_EVO% are%modified,%removed%or%added%to%the%catalogue.% % Table&13:&CostLbenefit&factors&to&calculate&the&ROI&of&adopting&an&SRP&catalogue&in&an&organization&
Description&of&the&costLbenefit&factors&(adapted&for&the&SRP&context)& ECA% Elicitation%Cost%Avoidance:%Benefits%from%reusing%SRP%[Pou97H1]%[Pou97H2].%In% our% case,% differentiating% it% from% Poulin’s,% we% also% take% into% account% here% the% requirements%that%have%been%reused%with%modification.% !"# = (&&'('(1 − &"&)'('&") + (&&-./ '('(1 − ' &"&-./ )'('&")!
%
SCA% Service% Cost% Avoidance:% Benefits% coming% from% the% avoided% errors% because% of% the%use%of%SRP%[Pou97H1]%[Pou97H2].%% !"# = %%&'&(%&'&("! %
AEC% Additional%Elicitation%Costs:%Cost%of%developing%an%SRP%catalogue%[Pou97H2].% /
!"# = %#&%'(' )(%+%,- ) ('%#'! - =1 %
AMC% Additional% Maintenance% Costs:% Costs% of% fixing% errors% in% the% SRP% catalogue% [Pou97H2].% ,
!"# = %('(')* ) ./0'/./0#/! * =1 %
CEC% Catalogue%Evolution%Costs:%Costs%of%changing%or%adding%SRP%to%the%catalogue.% !"! = "$%&'()%*+,-$-&%./-*( + +"$%&'()%*+12)*(-*2*3- + +45%.262()%* /
/
= 7+8 9:94";