Holistic assessment of software product line architectures : the HoPLAA approach
Femi Olumofin · Mspace (University of Manitoba) · 2006
CHAPTER 1, ]NTRODUCT]ON the overall structural description or configuration of a sofLr,are system in terms of conlponents anrì connectors [59].Thìs global, high leveì vierv of software designs simplifies developers' understanding of the solution.It consequentÌy enables them to expìoit architcctu¡al abstractions for reasoning about and determining quality attributes of a software system even before the first line of code is written.'l'he architecture can be used in this v¡av to gain insight ìnto the quality attributes that the software systern will possess and exhibit when actuaììy deployed.R.esearch on ways to improve software production productlvity has not been deprived of success.In partícular, reuse h¿s been identifìed as one of the most important concepts to impÌement, regardless of the level of granularity: at thc architectural level, reuse can lead to an order-of-magnitudc improvement in software development productivity [6, 10,14,15].Architecture based reuse occurs at a more conceptu:rl level than the better known code reuse, Reuse can be undertaken on an ad hoc, one-at-a-time basìs by simply identifying the opportunity to reuse some of thc design artifacts, However, the real benefits of reusc can only be realized when reuse is undertaken in a systematic.planned.top down fashion.At the architecture levcl, plarured reuse involves us- ing a common architecture as the basis for developing a farnily of rel¿¡ted software products popularÌy called software product lines or prod,uct farnzlie.s.The softrvare product line refers to a set of systems developed from a common core asset bâse [14].Common examples of product families in other are¿rs include mobile phones, cars, cons nrer electronic âf-¡paral-LlS suclr rs TVs aqd the lil.-r.All nfrhp ilprn< in ¡ nrnd.uct family share the same basic functionality.Ho.wever, each individual product may have some spccific cha¡a,cteristics of its own.(Ihese cha.racteristics may be shared among some, but not all, of the products in the fa.mily.)For instancc, an autornobile manufacturer can systematic¿l.llyassemble sevcral unique versions of the same câr model from a common body and engine block but using diflerent transmissions (automatic or rnanual) and an optional navigation systern.The cars ¿ìre built from the samc core asset (or architecture), but are diffcrentrated by optional and alternative fe¿trrres.