Package Coupling Measurement in Object-Oriented Software

The grouping of correlated classes into a package helps in better organization of modern object-oriented software. The quality of such packages needs to be measured so as to estimate their utilization. In this paper, new package coupling metrics are proposed, which also take into consideration the hierarchical structure of packages and direction of connections among package elements. The proposed measures have been validated theoretically as well as empirically using 18 packages taken from two open source software systems. The results obtained from this study show strong correlation between package coupling and understandability of the package which suggests that proposed metrics could be further used to represent other external software quality factors.

[1]  Lars Grunske,et al.  An Automated Dependability Analysis Method for COTS-Based Systems , 2005, ICCBSS.

[2]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[3]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[4]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[5]  Fernando Brito e Abreu,et al.  A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[6]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[7]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[8]  Miguel Goulão,et al.  A Merit Factor Driven Approach to the Modularization of Object-Oriented Systems , 2001 .

[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]  Oscar Nierstrasz,et al.  Using Contextual Information to Assess Package Cohesion , 2006 .

[11]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[12]  James A. Gosling,et al.  The Java application programming interface , 1996 .

[13]  Xavier Franch,et al.  A quality-model-based approach for describing and evaluating software packages , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[14]  Marco Cantu Mastering Delphi 2 for Windows 95/NT, with CD-ROM , 1995 .

[15]  Neil A. M. Maiden,et al.  Modelling Component Dependencies to Inform Their Selection , 2003, ICCBSS.

[16]  Matthias Biehl,et al.  Search-based improvement of subsystem decompositions , 2005, GECCO '05.

[17]  Xi He,et al.  Service Oriented Dynamic Decoupling Metrics , 2006, SWWS.

[18]  Nejmeddine Tagoug,et al.  Object-oriented system decomposition quality , 2002, 7th IEEE International Symposium on High Assurance Systems Engineering, 2002. Proceedings..

[19]  Mark R. Vigder,et al.  Managing Dependencies Between Software Products , 2005, ICCBSS.

[20]  Edward Yourdon,et al.  Object-oriented analysis (2nd ed.) , 1991 .

[21]  John Mylopoulos,et al.  An actor dependency model of organizational work: with application to business process reengineering , 1993, COCS '93.

[22]  Sallie M. Henry,et al.  Measuring Object-Oriented Design , 1995, Journal of object-oriented programming.

[23]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

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

[25]  V. Lakshmi Narasimhan,et al.  Some theoretical considerations for a suite of metrics for the integration of software components , 2007, Inf. Sci..

[26]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[27]  James A. Gosling,et al.  Window Toolkit and Applets , 1996 .

[28]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[29]  Baowen Xu,et al.  Measuring cohesion of packages in Ada95 , 2004, SIGAda.

[30]  Srini Ramaswamy,et al.  Component Dependency in Object-Oriented Software , 2007, Journal of Computer Science and Technology.

[31]  Mira Mezini,et al.  Building modular object-oriented systems with reusable collaborations , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[32]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[33]  Simon Charles Roger Lewis,et al.  The Art and Science of SmallTalk , 1995 .

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

[35]  Vojislav B. Misic,et al.  Cohesion is structural, coherence is functional: different views, different measures , 2001, Proceedings Seventh International Software Metrics Symposium.

[36]  Neville Churcher,et al.  Comments on "A Metrics Suite for Object Oriented Design" , 1995, IEEE Trans. Software Eng..

[37]  Meilir Page-Jones,et al.  What Every Programmer Should Know About Object-Oriented Design , 1996 .

[38]  Bertrand Meyer Object success - a manager's guide to object orientation, its impact on the corporation, and its u , 1995 .

[39]  Soo Dong Kim,et al.  Component identification method with coupling and cohesion , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[40]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion of software modules: an information-theory approach , 2001, Proceedings Seventh International Software Metrics Symposium.

[41]  Edwin Hautus,et al.  IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS , 2002 .

[42]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[43]  C. R. Kothari,et al.  Research Methodology: Methods and Techniques , 2009 .

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

[45]  Paul Rook,et al.  Controlling software projects , 1986, Softw. Eng. J..

[46]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[47]  Paul D. Scott,et al.  Coupling and cohesion measures for evaluation of component reusability , 2006, MSR '06.

[48]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.