ACM Transactions on Computer-Human Interaction · 1996 · 105 citations · 23 references
ComputingComputer ScienceKnowledge ReuseProgramming LanguagesSoftware EngineeringApplication Programming InterfacesObject-oriented DesignSoftware DesignSoftware ReuseUse Case AnalysisUse Case ModelingCode ReusabilityCode ReuseEmpirical EvaluationObject-oriented ReuseReuseReuse In Software EngineeringReuse StrategiesSoftware Reusability
Software reuse, a long-standing and refractory issue in software technology, has been specifically emphasized as an advantage of the object-oriented programming paradigm. We report an empirical study of expert Smalltalk programmers reusing user interface classes in small graphical applications. Our primary goal was to develop a qualitative characterization of expert reuse strategies that could be used to identify requirements for teaching and supporting reuse programming. A secondary interest was to demonstrate to these experts the Reuse View Matcher—a prototype reuse tool—and to collect some initial observations of this tool in use during reuse programming. We observed extensive “reuse of uses” in the programmers' work: they relied heavily on code in expample applications that provided an implicit specification for reuse of the target class. We called this implicit specification a “usage context.” The programmers searched for relevant usage contexts early. They repeatedly evaluated the contextualized information to develop solution plans, and they borrowed and adapted it when the sample context suited their immediate reuse goals. The process of code development was highly dynamic and incremental; analysis and implementation were tightly interleaved, frequently driven by testing and debugging. These results are considered in terms of the tradeoffs that inhere in the reuse of uses and the teaching and tool support that might improve the efficiency and accuracy of this approach to reuse.
23
K. Anders Ericsson, Herbert A. Simon · Psychological Review · 1980 · 4.4K citations
Object-oriented software construction
Pierre America · Science of Computer Programming · 1989 · 2K citations
Ralph E. Johnson, Brian Foote · Journal of Object-oriented Programming · 1988 · 1.1K citations
Computing, Computer Science, Design +15