Font Size: a A A

Analogical reasoning and reuse in object-oriented analysis

Posted on:1996-07-16Degree:Ph.DType:Dissertation
University:University of Colorado at BoulderCandidate:Puhr, Gretchen IFull Text:PDF
GTID:1468390014988107Subject:Information Science
Abstract/Summary:
Software reuse holds the promise that complex software systems can be built faster, at lower cost, and with higher quality by reusing existing software artifacts. However, despite numerous success stories and decades of research, the promise has not been fulfilled. This situation has lead to a renewed "interest in understanding how and where reuse can be effective and why it has proven so difficult to bring the seemingly simple idea of software reuse to the forefront of software development" (Krueger, 1992, p. 133).;This research investigates the cognitive issues individuals face when trying to reuse a given object-oriented analysis (OOA) artifact. The two overarching research questions are: (1) How is a given OOA (re)used to solve a new problem? (2) How do different types of OOA artifact and different levels of expertise impact reuse?;An experimental study is conducted with thirty-seven participants, including undergraduate and graduate students and professional OO developers. Participants think-aloud as they perform an OOA task. Six experimental conditions were studied: three "good" analogy/reuse conditions, two "poor" analogy/reuse conditions, and one control condition. In the first five conditions, participants are given an OOA artifact to reuse; in the sixth condition, no artifact is provided.;Quantitative and qualitative analysis of the verbal protocols shows that analogical mapping explains a large portion of the reuse process. More reuse occurred in the theoretically good analogy conditions than in any other condition. Neither novice nor experienced analysts reused the theoretically poor analogies. The good analogies were structurally similar (i.e., common inter- and intra-object relationships) whereas the poor analogies were structurally dissimilar. Thus structural similarity is critical to making an artifact reusable.;Comparing experts and novices, novices engaged in more reuse activity than did experts. However, the novices' reuse activity was often unproductive, whereas the experts were able to quickly and accurately recognize and apply the analogy. Thus, while novices engaged in more reuse activity, they were not as successful at reusing as were the experts. These findings contribute to our understanding of the reuse process and have implications for tool development to better support reuse.
Keywords/Search Tags:Reuse, OOA, Software
Related items