Early metrics for object oriented designs

To produce high quality object-oriented systems, a strong emphasis on the development process is necessary. This implies two implicit and complementary goals. First, to ensure a full control over the whole process, enabling accurate cost and delay estimation, resource efficient management, and a better overall understanding. Second, to improve quality all along the system lifecycle at development and maintenance stage. On the client side, a steady control over the development process implies a better detection and elimination of faults, raising the viability and usability of the system. This paper introduces a realistic example of metrics integration in the development process of object-oriented software. By addressing early stages of the design (ie. class diagram), we can anticipate design-level errors or warnings thus enabling a reduction of immediate and further costs and problems. Metrics used are issued from state of the art object-oriented research, and integrated in the widespread unified process of software development.

[1]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[2]  L. B. S. Raccoon,et al.  Fifty years of progress in software engineering , 1997, SOEN.

[3]  Brian A. Nejmeh,et al.  NPATH: a measure of execution path complexity and its applications , 1988, CACM.

[4]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

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

[6]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

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

[8]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.

[9]  Mary Shaw,et al.  Prospects for an engineering discipline of software , 1990, IEEE Software.

[10]  Jeffrey M. Voas,et al.  PIE: A Dynamic Failure-Based Technique , 1992, IEEE Trans. Software Eng..

[11]  Miguel Goulão,et al.  Toward the Design Quality Evaluation of Object-Oriented Software Systems , 1995 .

[12]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.

[13]  C. O. P. Hase,et al.  Rational Unified Process Best Practices for Software Development Teams , 2003 .

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

[15]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

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

[17]  Yves Le Traon,et al.  Testability analysis of a UML class diagram , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[18]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[19]  Kenneth L. Morris,et al.  Metrics for object-oriented software development environments , 1989 .

[20]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

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

[22]  S. KrishnanM.,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity , 2003 .