Design and Analysis of Metrics for Component-Based Software Systems

Component-based Software Engineering (CBSE) is a paradigm that aims at constructing and designing systems by using a pre-defined set of software components. A component is a reusable, self -contained piece of software with well -specified interface that is independent of any application. Main advantages of this approach are low cost, high quality and less time to develop applications along with several others . There are many software component models available in the industry, for example: Microsoft’s COM (Component Object Model), DCOM, .NET Framework, Sun’s Java Beans, EJB (Enterprise Java Beans), J2EE Specification and OMG’s (Object Management Group) CORBA (Common Object Request Broker Architecture). However, besides several advantages, CBSE st ill faces many problems. The research aspect of component quality assessment, with emphasis on quantitative approaches, is fairly unexplored. The few existing evaluations are performed at a qualitative level. In traditional approach, most of the metrics mo dels are based on source code analysis, which can not be used in component -based systems. Due to the black -box nature of the components, it requires considerably different approach for quantitative analysis of quality aspects. OBJECTIVES OF THE PROPOSED WO RK In this work, the main emphasis is on quantitative evaluation of metrics for various functional and non-functional aspects of software components and their impact on the system, they are integrated in. Also, it proposes a quality model for estimation of quality for software components. Following are the objectives which are explored in this study: Objective 1: To identify the metrics for software components. Metrics have been thoroughly studied and explored for several quality features of component-based systems. These features include complexity, customizability,

[1]  中島 震,et al.  Book Review—Objects, Components, and Frameworks with UML:The Catalysis Approach , 2000 .

[2]  Alexander L. Wolf,et al.  The Application of Dependence Analysis to Software Architecture Descriptions , 2003, SFM.

[3]  Witold Pedrycz,et al.  Software cost estimation with fuzzy models , 2000, SIAP.

[4]  P. S. Grover,et al.  Estimation of quality for software components: an empirical approach , 2008, SOEN.

[5]  Mark R. Vigder,et al.  Maintaining COTS-based systems: start with the design , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[6]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[7]  Darrel Ince Iso 9001 and Software Quality Assurance , 1994 .

[8]  R. W. Selby,et al.  Quantitative studies of software reuse , 1989 .

[9]  Bayu Hendradjaya,et al.  Theoretical Considerations for Software Component Metrics , 2007 .

[10]  Victor R. Basili,et al.  Identifying and qualifying reusable software components , 1991, Computer.

[11]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[12]  Nasib S. Gill,et al.  Component-based measurement: few useful guidelines , 2003, SOEN.

[13]  Nasib S. Gill,et al.  Reusability issues in component-based development , 2003, SOEN.

[14]  Debra J. Richardson,et al.  Describing Dependencies in Component Access Points , 2001 .

[15]  Premkumar T. Devanbu,et al.  Analytical and empirical evaluation of software reuse metrics , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[16]  Jeffrey M. Voas,et al.  Software Quality from a Behavioral Perspective , 2004, IT Prof..

[17]  김수동,et al.  [서평]「Software Engineering : A Practitioner's Approach, 4^(th) Edition」 , 1997 .

[18]  Shinji Kusumoto,et al.  Empirical evaluation of reuse sensitiveness of complexity metrics , 1999, Inf. Softw. Technol..

[19]  Yann-Gaël Guéhéneuc,et al.  A Quality Model for Design Patterns , 2004 .

[20]  Nael Salman,et al.  Complexity Metrics AS Predictors of Maintainability and Integrability of Software components , 2006 .

[21]  S. Sivanandam,et al.  Introduction to Fuzzy Logic using MATLAB , 2006 .

[22]  Arie van Deursen,et al.  A Model of Maintainability - Suggestion for Future Research , 2006, Software Engineering Research and Practice.

[23]  Debra J. Richardson,et al.  Analyzing dependencies in large component-based systems , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[24]  Arun Kumar Misra,et al.  Estimating software maintenance effort: a neural network approach , 2008, ISEC '08.

[25]  Robert J. Kauffman,et al.  Automating Output Size and Reusability Metrics in an Object-Based Computer Aided Software Engineering (Case) Environment , 1991 .

[26]  James M. Bieman,et al.  Candidate reuse metrics for object oriented and Ada software , 1993, [1993] Proceedings First International Software Metrics Symposium.

[27]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[28]  P. S. Grover,et al.  Few useful considerations for maintaining software components and component-based systems , 2007, SOEN.

[29]  Michael Sparling,et al.  Lessons learned through six years of component-based development , 2000, CACM.

[30]  Magnus Larsson,et al.  Predicting Quality Attributes in Component-based Software Systems , 2004 .

[31]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[32]  Arvinder Kaur,et al.  Application of Artificial Neural Network for Predicting Maintainability Using Object-Oriented Metrics , 2008 .

[33]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[34]  T. Vernazza,et al.  Defining metrics for software components , 2002 .

[35]  Ho-Won Jung,et al.  Measuring software product quality: a survey of ISO/IEC 9126 , 2004, IEEE Software.

[36]  Ivica Crnkovic,et al.  Concerning Predictability in Dependable Component-Based Systems: Classification of Quality Attributes , 2004, WADS.

[37]  S. Hyakin,et al.  Neural Networks: A Comprehensive Foundation , 1994 .

[38]  Judith Barnard,et al.  A new reusability metric for object-oriented software , 1998, Software Quality Journal.

[39]  Lotfi A. Zadeh,et al.  From Computing with Numbers to Computing with Words - from Manipulation of Measurements to Manipulation of Perceptions , 2005, Logic, Thought and Action.

[40]  Harry S. Delugach,et al.  Dependency Analysis Using Conceptual Graphs , 2001 .

[41]  Sajjad Mahmood,et al.  Measuring the complexity of a UML component specification , 2005, Fifth International Conference on Quality Software (QSIC'05).

[42]  Uri Blumenthal,et al.  Classification and computation of dependencies for distributed management , 2000, Proceedings ISCC 2000. Fifth IEEE Symposium on Computers and Communications.

[43]  Francisca Losavio,et al.  Quality Models to Design Software Architecture , 2002, J. Object Technol..

[44]  Fabio Kon,et al.  Dependence management in component-based distributed systems , 2000, IEEE Concurr..

[45]  Alain Wegmann,et al.  On quality attribute based software engineering , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[46]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[47]  T. Saaty Fundamentals of Decision Making and Priority Theory With the Analytic Hierarchy Process , 2000 .

[48]  Kari Känsälä,et al.  Inter-item correlations among function points , 1993, [1993] Proceedings First International Software Metrics Symposium.

[49]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[50]  Elli Georgiadou,et al.  Software quality model requirements for software quality engineering. , 2006 .

[51]  Alessandro Bianchi,et al.  Maintenance-oriented selection of software components , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[52]  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).

[53]  Won Kim On Issues with Component-Based Software Reuse , 2005, J. Object Technol..

[54]  Mark Woodman,et al.  Issues of CBD Product Quality and Process Quality , 2001 .

[55]  Nasib S. Gill,et al.  Few important considerations for deriving interface complexity metric for component-based systems , 2004, SOEN.

[56]  Paolo Nesi,et al.  Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems , 2001, IEEE Trans. Software Eng..

[57]  Sajjad Mahmood,et al.  A survey of component based system quality assurance and assessment , 2005, Inf. Softw. Technol..

[58]  Sallie M. Henry,et al.  Software quality metrics based on interconnectivity , 1981, J. Syst. Softw..

[59]  Roy S. Freedman,et al.  Testability of Software Components , 1991, IEEE Trans. Software Eng..

[60]  Antonio Vallecillo,et al.  Measuring the usability of software components , 2006, J. Syst. Softw..

[61]  Eliza Varney,et al.  Institute Of Electrical And Electronic Engineers, Inc , 2010 .

[62]  Antonio Vallecillo,et al.  Quality Attributes for COTS Components , 2002 .

[63]  Miguel Goulão,et al.  Independent Validation of a Component Metrics Suite , 2004 .

[64]  Stefania Bandini,et al.  A support system to COTS-based software development for business services , 2002, SEKE '02.

[65]  Jeffrey S. Poulin,et al.  The Business Case for Software Reuse , 1993, IBM Syst. J..

[66]  Nagib Callaos,et al.  Designing with Systemic Total Quality , 1994 .

[67]  Octavian Paul Rotaru,et al.  Reusability metrics for software components , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..

[68]  Latika Kharb,et al.  Complexity metrics for component-oriented software systems , 2008, SOEN.

[69]  Antonio Vallecillo,et al.  A Survey on the Quality Information Provided by Software Component Vendors , 2003 .

[70]  Jon Arvid Børretzen The impact of component-based development on software quality attributes 1 , 2005 .

[71]  Barry W. Boehm,et al.  A software product line life cycle cost estimation model , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[72]  Hussein Zedan,et al.  Externalizing component manners to achieve greater maintainability through a highly re-configurable architectural style , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[73]  Magnus Larsson Applying Configuration Management Techniques to Component-based Systems , 2000 .

[74]  Joseph P. Cavano,et al.  A framework for the measurement of software quality , 1978, SIGMETRICS Perform. Evaluation Rev..

[75]  Khairuddin Hashim,et al.  A SOFTWARE MAINTAINABILITY ATTRIBUTES MODEL , 1970 .

[76]  V. L. Narasimhan,et al.  A New Suite of Metrics for the Integration of Software Components , 2003 .

[77]  Robert B. Grady,et al.  Practical Software Metrics for Project Management and Process Improvement , 1992 .

[78]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[79]  Saeed Araban,et al.  Interface metrics for reusability analysis of components , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[80]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[81]  Silvio Romero de Lemos Meira,et al.  Quality Attributes for a Component Quality Model , 2005 .

[82]  Reidar Conradi,et al.  The REBOOT approach to software reuse , 1995, J. Syst. Softw..

[83]  Kam-Fai Wong,et al.  A Generic Environment for COTS Testing and Quality Prediction , 2005 .

[84]  Tsvi Kuflik,et al.  Evaluating software reuse alternatives: a model and its application to an industrial case study , 2004, IEEE Transactions on Software Engineering.

[85]  Paul D. Scott,et al.  Ranking reusability of software components using coupling metrics , 2007, J. Syst. Softw..

[86]  Nasib S. Gill,et al.  Importance of software component characterization for better software reusability , 2006, SOEN.

[87]  A. von Mayrhauser,et al.  Using a neural network to predict test case effectiveness , 1995, 1995 IEEE Aerospace Applications Conference. Proceedings.

[88]  Hyunsoo Kim,et al.  The software maintenance project effort estimation model based on function points , 2003, J. Softw. Maintenance Res. Pract..

[89]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[90]  Jeffrey M. Voas Maintaining Component-Based Systems , 1998, IEEE Softw..

[91]  Klara Nahrstedt,et al.  QoS-aware dependency management for component-based systems , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[92]  Sigrid Eldh Software Testing Techniques , 2007 .

[93]  Nasib S. Gill,et al.  Dependency and interaction oriented complexity metrics of component-based systems , 2008, SOEN.

[94]  Stephen S. Yau,et al.  Integration in component-based software development using design patterns , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[95]  Rikard Land Measurements of Software Maintainability , 2002 .

[96]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

[97]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[98]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[99]  Stephen G. MacDonell,et al.  FULSOME: fuzzy logic for software metric practitioners and researchers , 1999, ICONIP'99. ANZIIS'99 & ANNES'99 & ACNN'99. 6th International Conference on Neural Information Processing. Proceedings (Cat. No.99EX378).

[100]  Will Tracz Developing reusable Java components , 1997, SSR '97.

[101]  K. K. Aggarwal,et al.  Sensitivity analysis of fuzzy and neural network models , 2005, ACM SIGSOFT Softw. Eng. Notes.

[102]  K. K. Aggarwal,et al.  Measurement of Software Maintainability Using a Fuzzy Model , 2005 .

[103]  A. Jefferson Offutt,et al.  Maintaining evolving component-based software with UML , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[104]  M A Branch,et al.  Software maintenance management , 1986 .

[105]  Bixin Li Managing Dependencies in Component-Based Systems Based on Matrix Model , 2003 .

[106]  K. K. Aggarwal,et al.  Software reuse metrics for object-oriented systems , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[107]  S.M. Alhazbi Measuring the complexity of component-based system architecture , 2004, Proceedings. 2004 International Conference on Information and Communication Technologies: From Theory to Applications, 2004..

[108]  H. D. Rombach,et al.  Towards a comprehensive framework for reuse: A reuse-enabling software evolution environment , 1988 .

[109]  Jiang Guo,et al.  Using category theory to model software component dependencies , 2002, Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems.

[110]  Pearl Brereton,et al.  Component-Based Systems: A Classification of Issues , 2000, Computer.

[111]  J. Ryder,et al.  Fuzzy modeling of software effort prediction , 1998, 1998 IEEE Information Technology Conference, Information Environment for the Future (Cat. No.98EX228).

[112]  M. Ahmed,et al.  Towards adaptive soft computing based software effort prediction , 2004, IEEE Annual Meeting of the Fuzzy Information, 2004. Processing NAFIPS '04..

[113]  Joseph P. Cavano,et al.  A framework for the measurement of software quality , 1978 .

[114]  Audrey E. Taub,et al.  A Management Guide to Software Maintenance in COTS-Based Systems , 2000 .

[115]  Soo Dong Kim,et al.  Component metrics to measure component quality , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[116]  Eila Niemelä,et al.  The impact of maintainability on component-based software systems , 2003, 2003 Proceedings 29th Euromicro Conference.

[117]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[118]  R. Dromey,et al.  A Model for Software Product Quality , 1995, IEEE Trans. Software Eng..

[119]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..