Measurement of the effects of reusing C++ classes on object-oriented software development

TR Number

Date

1995-03-05

Journal Title

Journal ISSN

Volume Title

Publisher

Virginia Tech

Abstract

This research models the effects of software reuse on object-oriented software development, in particular, the reuse of C++ classes. Two types of reuse (with and without modification) are compared. The common traits of programmers who tend to reuse are identified, and some object-oriented software metrics are correlated with the inherent reusability of a C++ class. These issues are important because software reuse has been shown to increase productivity within the software development process.

This research effort describes three experiments. The first characterizes the effects of reusing C++ classes on object-oriented software development using nine development process indicators. The second experiment uses ten similar process indicators to differentiate the effects of writing C++ classes from scratch versus reusing them without modification versus inheriting new classes from existing ones. The last experiment correlates some object-oriented metrics with the expert opinions of the reusability of C++ classes.

This research has shown that the black box reuse (reuse without modification) of C++ classes is beneficial to object-oriented software development in many ways. Development time is reduced and system reliability increases. For abstract data type C++ classes, a set of fifteen skills and experiences are shown to be prominent in frequent class reusers. Lastly, a set of object-oriented metrics is used to predict C++ class reusability. All of these results can be used to increase programmer productivity when developing C++ software systems.

Description

Keywords

software metrics, software reuse

Citation