|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
AUSUBEL, D. P. 1960. The use of advance organizers in the learning and retention of meaningful verbal material. J. Educ. Psychol. 51, 267-272.
|
| |
2
|
|
 |
3
|
|
| |
4
|
BIGGERSTAFF,T.J.AND RICHTER, C. 1987. Reusability framework, assessment, and direc-tions. IEEE Softw. 4, 2 (Mar.), 41-49.
|
| |
5
|
|
| |
6
|
CARROLL,J.M.AND ROSSON, M. B. 1991. Deliberated evolution: Stalking the View Matcher in design space. Hum. Comput. Interact. 6, 3-4, 281-318.
|
| |
7
|
|
 |
8
|
John M. Carroll , Janice A. Singer , Rachel K. E. Bellamy , Sherman R. Alpert, A view matcher for learning Smalltalk, Proceedings of the SIGCHI conference on Human factors in computing systems: Empowering people, p.431-437, April 01-05, 1990, Seattle, Washington, United States
[doi> 10.1145/97243.97320]
|
| |
9
|
CARROLL,J.M.,THOMAS,J.C.,AND MALHOTRA, A. 1979. A clinical-experimental analysis of design problem solving. Des. Stud. 1, 2, 84-92.
|
| |
10
|
|
| |
11
|
COX, B. J. 1987. Building malleable systems from software "chips." Computerworld (Mar.), 59-86.
|
| |
12
|
DE~ TIENNE, F. 1991. Reasoning from a schema and from an analog in software code reuse. In Proceedings of Workshop on Empirical Studies of Programmers (ESP IV). Ablex, Norwood, N.J., 5-22.
|
 |
13
|
|
| |
14
|
DIGITALK, I. 1989. Smalltalk/V PM: Object-Oriented Programming System. Digitalk Inc., Los Angeles, Calif.
|
| |
15
|
ERICSSON,K.A.AND SIMON, H. A. 1980. Verbal reports as data. Psychol. Rev. 87, 215-251.
|
| |
16
|
FISCHER, G. 1987. Cognitive view of reuse and redesign. IEEE Softw. 4, 3, 60-72.
|
| |
17
|
FLANAGAN, J. C. 1954. The critical incident technique. Psychol. Bull. 51, 28, 28-35.
|
| |
18
|
GUINDON, R. 1990. Designing the design process: Exploiting opportunistic thoughts. Hum. Comput. Interact. 5, 1, 305-344.
|
 |
19
|
Richard Helm , Yoëlle S. Maarek, Integrating information retrieval and domain specific approaches for browsing and retrieval in object-oriented class libraries, Conference proceedings on Object-oriented programming systems, languages, and applications, p.47-61, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
20
|
JOHNSON,R.E.AND FOOTE, B. 1988. Designing reusable classes. J. Object-Oriented Pro-gram. 1, 2 (June/July), 22-35.
|
 |
21
|
|
 |
22
|
John A. Lewis , Sallie M. Henry , Dennis G. Kafura , Robert S. Schulman, An empirical study of the object-oriented paradigm and software reuse, Conference proceedings on Object-oriented programming systems, languages, and applications, p.184-196, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
23
|
|
| |
24
|
MEYER, B. 1987. Reusability: The case for object-oriented design. IEEE Softw. 4, 2 (Mar.), 50-64.
|
| |
25
|
|
 |
26
|
|
| |
27
|
RAJ,R.K.AND LEVY, H. M. 1989. A compositional model of software reuse. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '89). British Computer Society, London, U.K., 3-24.
|
 |
28
|
|
| |
29
|
|
 |
30
|
Mary Beth Rosson , John M. Carrol , Rachel K. E. Bellamy, Smalltalk scaffolding: a case study of minimalist instruction, Proceedings of the SIGCHI conference on Human factors in computing systems: Empowering people, p.423-430, April 01-05, 1990, Seattle, Washington, United States
[doi> 10.1145/97243.97319]
|
 |
31
|
Mary Beth Rosson , John M. Carroll , Christine Sweeney, A view matcher for reusing Smalltalk classes, Proceedings of the SIGCHI conference on Human factors in computing systems: Reaching through technology, p.277-283, April 27-May 02, 1991, New Orleans, Louisiana, United States
[doi> 10.1145/108844.108916]
|
| |
32
|
|
| |
33
|
TAENZER, D., GANTI, M., AND PODAR, S. 1989. Problems in object-oriented software reuse. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '89). British Computer Society, Cambridge, U.K., 25-38.
|
| |
34
|
|
CITED BY 22
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Davor ČubraniĆ , Gail C. Murphy , Janice Singer , Kellogg S. Booth, Learning from project history: a case study for software development, Proceedings of the 2004 ACM conference on Computer supported cooperative work, November 06-10, 2004, Chicago, Illinois, USA
|
|
|
|
|
|
|
|
|
|
|
|
Reid Kerr , Wolfgang Stuerzlinger, Context-sensitive cut, copy, and paste, Proceedings of the 2008 C3S2E conference, May 12-13, 2008, Montreal, Quebec, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John M. Daughtry , Umer Farooq , Jeffrey Stylos , Brad A. Myers, API usability: CHI'2009 special interest group meeting, Proceedings of the 27th international conference extended abstracts on Human factors in computing systems, April 04-09, 2009, Boston, MA, USA
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.m
Miscellaneous
Subjects:
Reusable software**
H.
Information Systems
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.2
User Interfaces (D.2.2, H.1.2, I.3.6)
Subjects:
Training, help, and documentation
General Terms:
Documentation,
Human Factors,
Languages
Keywords:
Smalltalk,
debugging into existence,
example-based learning,
reuse of uses,
usage context
|