A controlled experiment investigation of an object-oriented design heuristic for maintainability

Abstract The study presented in this paper is a controlled experiment, aiming at investigating the impact of a design heuristic, dealing with the `god class' problem, on the maintainability of object-oriented designs. In other words, we wish to better understand to what extent a specific design heuristic contributes to the quality of designs developed. The experiment has been conducted using undergraduate students as subjects, performing on two system designs using the Coad & Yourdon method. The results of this study provide evidence that the investigated design heuristic: (a) affects the evolution of design structures; and (b) considerably affects the way participants apply the inheritance mechanism.

[1]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .

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

[3]  François Lustman,et al.  A change impact model for changeability assessment in object-oriented software systems , 2002, Sci. Comput. Program..

[4]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion: an information-theory approach , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[5]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[6]  James M. Bieman,et al.  Reuse through inheritance: a quantitative study of C++ software , 1995, SSR '95.

[7]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[8]  ShepperdMartin,et al.  An empirical investigation of an object-oriented design heuristic for maintainability , 2003 .

[9]  Donald Firesmith Inheritance Guidelines , 1995, J. Object Oriented Program..

[10]  Fernando Brito e Abreu,et al.  Evaluating the impact of object-oriented design on software quality , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[11]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.

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

[13]  Scott A. Whitmire,et al.  Object-Oriented Design Measurement , 1997 .

[14]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[15]  Herbert Schildt Advanced C , 1986 .

[16]  Manos Roumeliotis,et al.  A Review of Experimental Investigations into Object-Oriented Technology , 2004, Empirical Software Engineering.

[17]  Robert C. Sharble,et al.  The object-oriented brewery: a comparison of two object-oriented development methods , 1993, SOEN.

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

[19]  Peter Wall Advanced C++ , 1993, TOOLS.

[20]  Brian Everitt,et al.  Principles of Multivariate Analysis , 2001 .

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

[22]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[23]  Ioannis Stamelos,et al.  An empirical investigation of an object-oriented design heuristic for maintainability , 2003, J. Syst. Softw..

[24]  John Whittaker,et al.  Rules of Thumb , 1996 .

[25]  Robert L. Glass In search of meaning (a tale of two words) , 2002, IEEE Software.

[26]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

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

[28]  Norman Wilde,et al.  Maintaining object-oriented software , 1993, IEEE Software.

[29]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[30]  M BiemanJames,et al.  Reuse through inheritance , 1995 .

[31]  Les Hatton,et al.  Does OO Sync with How We Think? , 1998, IEEE Softw..

[32]  James M. Armstrong,et al.  Uses and abuses of inheritance , 1994, Softw. Eng. J..

[33]  Harry Zimmer,et al.  Rules of Thumb , 1987, Int. CMG Conference.

[34]  Colin Atkinson,et al.  An experimental comparison of reading techniques for defect detection in UML design documents , 2000, J. Syst. Softw..

[35]  Jos van Hillegersberg,et al.  Maintenance of object-oriented systems: an empirical analysis of the performance and strategies of programmers new to object-oriented techniques , 1995, PPIG.