HCI Bibliography Home | HCI Journals | About HCI | Journal Info | HCI Journal Volumes | Detailed Records | RefWorks | EndNote | Hide Abstracts
HCI Tables of Contents: 0102030405060708091011121314151617181920

Human-Computer Interaction 10

Editors:Thomas P. Moran
Dates:1995
Volume:10
Publisher:Lawrence Erlbaum Associates
Standard No:ISSN 0737-0024
Papers:12
Links:Table of Contents
  1. HCI 1995 Volume 10 Issue 1
  2. HCI 1995 Volume 10 Issue 2/3
  3. HCI 1995 Volume 10 Issue 4

HCI 1995 Volume 10 Issue 1

Articles

Living Design Memory: Framework, Implementation, Lessons Learned BIBA 1-37
  Loren G. Terveen; Peter G. Selfridge; M. David Long
We identify an important type of software design knowledge that we call community-specific folklore and discuss problems with current approaches to managing it. We developed a general framework for a living design memory, built a design memory tool, and deployed the tool in a large software development organization. The tool effectively disseminates knowledge relevant to local software design practice. It is embedded in the organizational process to help ensure that its knowledge evolves as necessary. This work illustrates important lessons in building knowledge management systems, integrating novel technology into organizational practice, and carrying out research-development partnerships.
Algorithms for Automatic Dialogue Analysis Using Propositional Production Systems BIBA 39-78
  Dan R., Jr. Olsen; Andrew F. Monk; Martin B. Curry
The specification of a graphical user interface (GUI), like any other part of a computer system, is an incremental process whereby an outline of the system is systematically developed, evaluated, and revised until it is reasonably complete. This article describes some algorithms and procedures that can be used to automate the analysis of a specification to facilitate this iterative process.
   A propositional production system (PPS) is a notation that can be used by designers to describe the high-level behavior of a GUI. Such a description is executable and relatively easy to learn and use. PPSs are a form of state machine; therefore, much of the theory of state machines can be applied to their analysis. PPSs, however, provide the advantage of semiparallel definitions of state transitions. This is important, as dialogue models of modern GUIs allow a large number of simultaneously available inputs leading to very large state spaces. By dealing in sets of states, a PPS makes the problem of describing the potentially exponential number of state transitions tractable. This article discusses how this innovation can lead to efficient algorithms for analyzing a dialogue model for properties such as task completeness, reversibility of effect, accessibility, connectedness, and avoidance of deadlock.
Beyond Object-Oriented Technology: Where Current Approaches Fall Short BIBA 79-119
  Gerhard Fischer; David Redmiles; Lloyd Williams; Gretchen I. Puhr; Atsushi Aoki; Kumiyo Nakakoji
Object-oriented (OO) technology has been heralded as a solution to the problems of software engineering. The claims are that OO technology promotes understandability, extensibility, evolvability, reusability, and maintainability of systems and that OO systems are easy to understand and use. However, this technology has not been as successful as expected. An analysis of experiences and empirical studies reveals that the problem is not the technology per se but that the technology provides no support to software developers in performing the processes the technology requires. We present a cognitive model of software development that details the challenges software developers face in using OO technology. The model focuses on three aspects of software development -- evolution, reuse and redesign, and domain orientation. We motivate this model with a variety of firsthand experiences and use it to assess current OO technology. Further, we present tools and evaluations that substantiate parts of this model. The model and tools indicate directions for future software development environments, looking beyond the technological possibilities of OO languages and beyond the context of individual developers and projects.

HCI 1995 Volume 10 Issue 2/3

Special Issue on Empirical Studies of Object-Oriented Design: Editorial

Introduction to This Special Issue on Empirical Studies of Object-Oriented Design BIBA 121-128
  Francoise Detienne; Robert Rist
Object-oriented (OO) technology has been accepted by both academia and industry in a very short time. Ten years ago, the few OO languages available were seen as interesting ideas. Since then, new languages have been designed, and existing languages have been extended to become OO. Given the rapid acceptance of this new technology, it is imperative to understand the process and to evaluate the benefits of OO design.
   The field of the psychology of programming has matured to take on this task. In 1986, two papers (Curtis, 1986; Soloway, 1986) from the First Workshop on Empirical Studies of Programmers noted the limits of current research-studies of students rather than of real programmers and studies of "programming in the small" rather than of real and thus large software projects. The work presented in this special issue reflects the shift from students to real programmers and from studies of individual programmers to the study of software development teams. At the same time, the focus of the studies has moved from programming tasks (e.g., coding and debugging) to more upstream activities (e.g., design, analysis, communication, and team organization).
   This special issue presents the results of laboratory and field studies of OO design. It consists of five empirical studies plus a concluding commentary. In this introduction, we compare the structure of solutions generated using an OO design approach versus a traditional design approach, discuss claims for the superiority of OO design, and present an outline of the articles.

Special Issue on Empirical Studies of Object-Oriented Design: Articles

Design Strategies and Knowledge in Object-Oriented Programming: Effects of Experience BIBA 129-169
  Francoise Detienne
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).
Cognitive Activities and Levels of Abstraction in Procedural and Object-Oriented Design BIBA 171-226
  Nancy Pennington; Adrienne Y. Lee; Bob Rehder
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.
Are Objects that Important? Effects of Expertise and Familiarity on Classification of Object-Oriented Code BIBA 227-248
  Simon P. Davies; David J. Gilmore; Thomas R. G. Green
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.
Object-Oriented Analysis and Design in Software Project Teams BIBA 249-292
  James D. Herbsleb; Helen Klein; Gary M. Olson; Hans Brunner; Judith S. Olson; Joe Harding
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 (OO) technology for addressing them. In particular, we analyze the claims made about OO 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.
Object-Oriented System Development in a Banking Project: Methodology, Experience, and Conclusions BIBA 293-336
  Ute Burkle; Guido Gryczan; Heinz Zullighoven
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.

Special Issue on Empirical Studies of Object-Oriented Design: Commentary

Objects of Our Desire: Empirical Research on Object-Oriented Development BIBA 337-344
  Bill Curtis
Object-oriented (OO) design and programming trace their lineage to research on abstract data types in the late 1960s and early 1970s, but they did not become popular software development techniques until the late 1980s. In all this time there has been little serious empirical or experimental study of OO techniques. What usually passes for evaluation is either a testimonial from an industry pundit who may have developed a small application using an OO technique, or the report of a successful application by an advanced development group. It is curious that industries which perform sophisticated return on investment analyses of investments in plant and equipment will commit billions of dollars to investment in software development which uses new techniques that have received little to no valid empirical evaluation.
   Empirical studies of OO design began appearing in the early 1990s (Boehm-Davis & Ross, 1992; Detienne, 1990; Kim & Lerch, 1992; Rosson & Alpert, 1990). The handful of research papers produced by these scientists is buried under the avalanche of uncritical testimonials appearing in the computing trade press. OO techniques have even made the covers of venerable business periodicals where they were claimed to be causing a revolution in software technology. It seems that computing revolutions are measured primarily by deployment, somewhat less by successful implementation, and far less by actual cost benefits. Unfortunately, many companies who quaffed an OO elixir did not recover immediately from the software maladies that afflicted them.
   Although excellent textbooks on OO methods are now available, there is tragically little empirical research on their application. Even worse, this special issue of Human-Computer Interaction will be read by very few of the thousands of the people who read Computerworld, Information Week, Datamation, Software Development, and the other trade press periodicals in which OO methods are touted as often as explained. The results reported in this special issue are promising, but simultaneously they provide sobering expectations about the effort involved in obtaining the benefits of OO methods.

HCI 1995 Volume 10 Issue 4

Articles

Development of Text-Editing Skill: From Semantic and Syntactic Mappings to Procedures BIBA 345-400
  Leon Harvey; Robert Rousseau
The mapping of different semantic and syntactic elements on the acquisition and practice of text-editing skill is used to test predictions from a production system model of skill development. Five text editors that use specific or general procedures that either obey a joint or a disjoint syntax have been designed and tested. Joint syntax and disjoint syntax, respectively, refer to whether defining the operation and the object in a procedure is done in a single or in two different steps. Tests of the editors were carried out using a set of varied tasks presented in two different serial task orders. Results showed that specific procedures are not necessarily faster to use than general ones for simple tasks, but general ones are faster for complex ones. Moreover, specific procedures are more prone to forgetting, as users consulted the help facilities more often. Users of joint editors consulted the help menu less often but for a longer time than users of disjoint editors. They also experienced a greater workload. It is suggested that joint and disjoint editors differ according to the way task parameters must be provided to the procedures. Finally, all measures were sensitive to serial task orders. The production system model of skill development is shown to provide an accurate explanation of group differences and of serial task order effects through strength accumulation, number of executed cycles, and cognitive operators.
Remote Conversations: The Effects of Mediating Talk with Technology BIBA 401-444
  Abigail J. Sellen
Three different videoconferencing systems for supporting multiparty, remote conversations are described and evaluated experimentally. The three systems differed by how many participants were visible at once, their spatial arrangement, and control over who was seen. Conversations using these systems were compared to same-room (Experiment 1) and audio-only (Experiment 2) conversations. Specialized speech-tracking equipment recorded the on-off patterns of speech that allowed objective measurement of structural aspects of the conversations, such as turn length, pauses, and interruptions. Questionnaires and interviews also documented participants' opinions and perceptions in the various settings.
   Contrary to expectation, systems in which visual cues such as selective gaze were absent produced no differences in turn-taking or in any other aspect of the structure of conversation. In fact, turn-taking was unaffected even when visual information was completely absent. Overall, only the same-room condition showed any significant differences from any other condition; people in the same room produced more interruptions and fewer formal handovers of the floor than in any of the technology-mediated conditions. In this respect, the audio-only and video systems examined in these studies were equivalent. However, analyses of participants' perceptions showed that participants felt that visual access in mediated conversations was both important and beneficial in conversation. Further, there were indications that the particular design of the different video systems did affect some aspects of conversational behavior, such as the ability to hold side and parallel conversations.