A framework for evaluating reusability of core asset in product line engineering

Product line engineering (PLE) is a new effective approach to software reuse, where applications are generated by instantiating a core asset which is a large-grained reuse unit. Hence, a core asset is a key element of PLE, and therefore the reusability of the core asset largely determines the success of PLE projects. However, current quality models to evaluate reusability do not adequately address the unique characteristics of core assets in PLE. This paper proposes a comprehensive framework for evaluating the reusability of core assets. We first identify the key characteristics of core assets, and derive a set of quality attributes that characterizes the reusability of core assets. Then, we define metrics for each quality attribute and finally present practical guidelines for applying the evaluation framework in PLE projects. Using the proposed framework, the reusability of core assets can be more effectively and precisely evaluated.

[1]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[2]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[3]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[4]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[5]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[6]  Soo Dong Kim,et al.  Variability Design and Customization Mechanisms for COTS Components , 2005, ICCSA.

[7]  Soo Dong Kim,et al.  A systematic method for scoping core assets in product line engineering , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[8]  Lem O. Ejiogu Software engineering with formal metrics , 1991 .

[9]  Hironori Washizaki,et al.  A metrics suite for measuring reusability of software components , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[10]  Ji Hwan Park,et al.  C-QM: A Practical Quality Model for Evaluating COTS Components , 2003, Applied Informatics.

[11]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[12]  Soo Dong Kim,et al.  A theoretical foundation of variability in component-based development , 2005, Inf. Softw. Technol..

[13]  Eila Niemelä,et al.  Quality-driven architecture design and quality analysis method: A revolutionary initiation approach to a product line architecture , 2002 .

[14]  Soo Dong Kim,et al.  DREAM: a practical product line engineering using model driven architecture , 2005, Third International Conference on Information Technology and Applications (ICITA'05).

[15]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[16]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[17]  Jan Gerben Wijnstra From problem to solution with quality attributes and design aspects , 2003, J. Syst. Softw..

[18]  Gary J. Chastek,et al.  Measures for Software Product Lines , 2003 .

[19]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[20]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.