View/Open

Date

Author

Metadata

Abstract

This study evaluates three different ways of structuring a
software library for an object-oriented system. The traditional
class/subclass tree (CIS) is used as well as two methods from the
mental model literature: hierarchical cluster analysis (HCA) of
sorting data and modal block clustering (MBC) of attribute rating
data (Shurtleff, Jenkins, and Sams, 1988; Tullis, 1985).

Also examined in this context are two software metrics: depth-in-
inheritance-tree (D IT) and response-for-class (RFC) (Lei, 1991,
1993). These two metrics had been found by Lei to correlate with
the ease of maintenance of software. It was conjectured that they
might also be useful in the study of mental model methods for
software.

Finally, student and professional programmers are explicitly
compared. There has been much debate on the applicability of
software-related data generated from student subjects but little
research on the topic.

The results indicate that subject performance with the MBC
representation was worse than with the CIS representation. Also
found was that performance with the HCA representation was not
sufficiently better to justify the effort involved in creating the new
representation.

Student programmers were found in this study to be no worse
than professional programmers and thus appear to be acceptable
substitutes for professional programmers in a class-based search
task. This study's results indicate that student response time to
locate a class could be used as the lower boundary for professional
programmer class locating time. The student error rates, however,
could be used as the upper boundary for professional programmer
error rate performance in class locating tasks.

A "middle" problem was also found. Classes 1n the middle of a
library representation proved to be more difficult to locate as
measured by time and error rate.
Finally, a higher RFC was found to increase search time for a
class when it was in the middle of a library representation. A higher
RFC also reduced programmer reusability ratings of a class and the
programmer's confidence in the reusability rating.