|
1. |
Design Strategies and Knowledge in Object-Oriented Programming: Effects of Experience |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 129-169
Francoise Detienne,
Preview
|
PDF (2239KB)
|
|
摘要:
An empirical study of design strategies and knowledge used in object-oriented (OO) software design was conducted. Eight professional programmers experienced with procedural programming languages and either experienced or not experienced in OO programming (OOP) participated in this experiment. The programmers were asked to design a program for a procedural problem and a declarative problem. Analysis was concentrated on the design strategies related to two central aspects of the OO paradigm: (a) associating actions (i.e., execution steps) of a complex plan to different objects and revising a complex plan and (b) defining simple plans at different levels in the class hierarchy. Regarding the development of complex-plan elements attached to different objects, the present results show that, for beginners in OOP, the description of objects and the description of actions are not always integrated in an early design phase, particularly for a declarative problem; for the programmers experienced in OOP, the description of objects and the description of actions tend to be integrated in first drafts of solutions, whichever the problem type. Most of the first drafts of solutions were structured around the objects, whatever the experience of subjects in OOP. However, by analyzing the order in which actions are generated, it was found that, for the programmers experienced in OOP, methods were grouped together mainly by membership in the same class; for the beginners in OOP, methods were grouped together mainly by functional similarity and execution order. Furthermore, with only a little experience in OOP, complex plans were revised more often. Regarding the development of simple plans at different levels in the class hierarchy, the present results indicate that, with less OOP experience, simple plans are developed either in a top-down manner or in a bottom-up manner; with more OOP experience, simple plans are developed in a strictly top-down manner. The analysis of design strategies revealed the use of different knowledge according to subjects' language experience: (a) schemas related to procedural languages (actions organized in an execution order) and (b) schemas related to OO languages (actions and objects integrated and actions organized around objects).
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667216
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
2. |
Cognitive Activities and Levels of Abstraction in Procedural and Object-Oriented Design |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 171-226
Nancy Pennington,
Adrienne Y. Lee,
Bob Rehder,
Preview
|
PDF (3149KB)
|
|
摘要:
The research reported in this article provides descriptions of design activities and of the evolving designs for expert procedural and expert object-oriented (OO) designers and for novice OO designers who also had extensive procedural experience. Ten experienced programmers were observed while designing software that would serve as a scoring system for swim meet competitions. Talk-aloud protocols were collected and analyzed for different types of cognitive activities and strategies that occurred during the course of design. In particular, we analyzed both the design activities and the level of abstraction of the designs over the course of time for each group in order to examine the role of several design strategies described in the literature as central in procedural design. In the course of these analyses, we developed a generic way (design template) of comparing the final designs of designers in different paradigms. Using this template, we analyzed the designs in terms of their completeness for different views at different levels of abstraction. Our analyses of procedural and OO designers-in terms of their cognitive activities, design strategies, and final designs-provide a detailed comparison between design paradigms in practice. A variety of descriptive results are discussed in terms of positive transfer, interference, and implications for design training. Findings are also discussed in terms of the relation between tasks and design paradigms.
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667217
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
3. |
Are Objects That Important? Effects of Expertise and Familiarity on Classification of Object-Oriented Code |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 227-248
Simon P. Davies,
David J. Gilmore,
Thomas R.G. Green,
Preview
|
PDF (1310KB)
|
|
摘要:
This article reports a study of the use of card sorts in the categorization of fragments of object-oriented (OO) programs. We are interested in the way in which programmers think about code so that we might attempt to provide support for browsing and reuse activities within OO environments. As a consequence, we have been exploring the use of knowledge acquisition techniques in order to elicit programmers' knowledge about code. The study reported here required expert and novice programmers to sort through several cards, each containing a fragment of code. In the case of the expert group, half of the subjects were familiar with the code, and half were not. The subjects sorted the cards according to any criteria they felt were appropriate. Our results showed, contrary to our expectations, that experts tended to focus on the functional relations between the code fragments and that the novices were much more concerned with objects and inheritance relations. Moreover, those experts who were familiar with the code also appeared to focus to a greater degree on functional information compared to those who were unfamiliar with the code, who derived classifications based on object and class relations. We discuss these results in terms of the existing body of knowledge about expertise in procedural programming and with respect to the claims that have been made about the naturalness of conceiving the world in terms of objects and their relations. Last, we suggest several directions for future research into the psychological mechanisms that might underpin OO design and programming.
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667218
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
4. |
Object-Oriented Analysis and Design in Software Project Teams |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 249-292
James D. Herbsleb,
Helen Klein,
Gary M. Olson,
Hans Brunner,
Judith S. Olson,
Joe Harding,
Preview
|
PDF (3074KB)
|
|
摘要:
Software development poses enormous cognitive, organizational, and managerial challenges. In this article, we focus on two of the most formidable of these challenges and on the promise of object-oriented (00) technology for addressing them. In particular, we analyze the claims made about 00 design (OOD) and (a) dissemination of domain knowledge and (b) communication and coordination. In order to address the validity of these claims, we conducted an in-depth observational study of OOD in an industrial setting as well as a series of interviews with experienced OOD practitioners. Compared to similar projects using traditional methods, our study found evidence in the OOD project for a reduced need for clarification in design discussions; differences in participation, in how meeting time is spent, and in the sequential order of design discussions; and a much greater tendency to ask why questions. We discuss the implications of these findings for tools, grain size of design units, interactions with clients, and organizing for OOD.
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667219
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
5. |
Object-Oriented System Development in a Banking Project: Methodology, Experience, and Conclusions |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 293-336
Ute Burkle,
Guido Gryczan,
Heinz Zullighoven,
Preview
|
PDF (2589KB)
|
|
摘要:
A methodology for object-oriented (OO) system development is introduced. Its relevance is illustrated by an ongoing project in the banking sector. This project failed initially while following a traditional life-cycle-oriented approach. We identify three main features that made the second OO phase successful—employing OO techniques; combining these techniques with a guideline, the tools-and-materials metaphor; and employing the concepts of evolutionary system development. We base our approach to object orientation on the language used in the application domain, thereby unifying analysis, design, and software construction. The tools-and-materials metaphor helps to bridge the gap between application-oriented and technical models as it starts with identifying the relevant means and objects of work in the application domain, thereby providing a guideline for constructing interactive systems. As we view system development essentially as a learning-and-communication process, evolutionary system development—with its feedback cycles among the parties involved and the use of prototyping—is the key to making the software process a success. The underlying idea of our OO approach is that it not only allows concepts of the application domain to be mapped directly onto to a technical model, but, foremost, it provides techniques, strategies, and appropriate document types supporting the continuous communication between all parties involved in the development process of software systems.
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667220
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
6. |
Objects of Our Desire: Empirical Research on Object-Oriented Development |
|
Human–Computer Interaction,
Volume 10,
Issue 2-3,
1995,
Page 337-344
Bill Curtis,
Preview
|
PDF (489KB)
|
|
ISSN:0737-0024
DOI:10.1080/07370024.1995.9667221
出版商:Lawrence Erlbaum Associates, Inc.
年代:1995
数据来源: Taylor
|
|