Measuring the Impact of Reuse on Quality and Productivity in Object-Oriented Systems

This paper presents the results of a study conducted at the University of Maryland in which we assessed the impact of reuse on quality and productivity in OO systems. Reuse is assumed to be a very effective strategy for software industry to build high-quality software. However, there is currently very little empirical information about what we can expect from reuse in terms of productivity and quality gains. This also applies to OO development which is supposed to facilitate reuse. Our experiment is one step towards a better understanding of the benefits of reuse in an OO framework, considering currently available technology. Data was collected, for four months, on the development of eight medium-size management information systems with equivalent requirements. All eight projects were developed using the Waterfall Software Engineering Life Cycle Model, an Object-Oriented (OO) design method and the C++ programming language. This study indicates significant benefits from reuse in terms of reduced defect density and rework as well as increased productivity.

[1]  Eliot R. Smith,et al.  Research methods in social relations , 1962 .

[2]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs , 1988, IEEE Trans. Software Eng..

[3]  Jay L. Devore,et al.  Probability and statistics for engineering and the sciences , 1982 .

[4]  Sandro Morasca,et al.  Goal-Driven Definition of Product Metrics Based on Properties , 1995 .

[5]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

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

[7]  Capers Jones,et al.  Programming Productivity , 1986 .

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

[9]  W. W. Agresti,et al.  The Minnowbrook workshop on software reuse: a summary report , 1988 .

[10]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[11]  Jon Valett,et al.  Data collection procedures for the Software Engineering Laboratory (SEL) database , 1992 .

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

[13]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

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

[15]  Victor R. Basili,et al.  Support for comprehensive reuse , 1991, Softw. Eng. J..

[16]  Victor R. Basili,et al.  An Evaluation of Ada Source Code Reuse , 1992, Ada-Europe.

[17]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[18]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[19]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[20]  Douglas A. Young,et al.  Object oriented programming with C++ and OSF/Motif , 1992 .

[21]  H. D. Rombach Software reuse: a key to the maintenance problem , 1991 .

[22]  Fernando Brito e Abreu,et al.  Candidate metrics for object-oriented software within a taxonomy framework , 1994, J. Syst. Softw..