The Cognitive Consequences of Object-Oriented Design

The most valuable tools or methodologies supporting the design of interactive systems are those that simultaneously ease the process of design and improve the usability of the resulting system. We consider the potential of the object-oriented paradigm in providing this dual function. After briefly reviewing what is known about the design process and some important characteristics of object-oriented programming and design, we speculate on the possible cognitive consequences of this paradigm for problem understanding, problem decomposition, and design result. We conclude with research issues raised by our analysis.

[1]  Grady Booch,et al.  Software engineering with Ada , 1983 .

[2]  D. Gentner Structure‐Mapping: A Theoretical Framework for Analogy* , 1983 .

[3]  Keith Duncan,et al.  Cognitive Engineering , 2017, Encyclopedia of GIS.

[4]  Peter Freeman,et al.  Software perspectives - the system is the message , 1987 .

[5]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[6]  Mary Beth Rosson,et al.  Smalltalk scaffolding: a case study of minimalist instruction , 1990, CHI '90.

[7]  R. Mayer Different problem-solving competencies established in learning computer programming with and without meaningful models. , 1975 .

[8]  D G Bobrow,et al.  Perspectives on Artificial Intelligence Programming , 1986, Science.

[9]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[10]  Wilf R. LaLonde,et al.  Introducing object-oriented programming into the computer science curriculum , 1987, SIGCSE '87.

[11]  John Mylopoulos,et al.  Knowledge Representation as the Basis for Requirements Specifications , 1985, Computer.

[12]  L. Caporael Anthropomorphism and mechanomorphism: two faces of the human machine , 1986 .

[13]  Robin Jeffries,et al.  The Processes Involved in Designing Software. , 1980 .

[14]  Glenford J. Myers,et al.  Softwear Reliability , 1976 .

[15]  Edwin H. Blake,et al.  On Including Part Hierarchies in Object-Oriented Languages with an Implementation in Smalltalk , 1987, ECOOP.

[16]  Alex A. Verrijn-Stuart,et al.  Information systems user-designer communication problems , 1988, Inf. Manag..

[17]  David W. Sandberg An alternative to subclassing , 1986, OOPSLA 1986.

[18]  Stephen J. Payne,et al.  Task-Action Grammars: A Model of the Mental Representation of Task Languages , 1986, Hum. Comput. Interact..

[19]  Mary Beth Rosson,et al.  Problem-solution mapping in object-oriented design , 1989, OOPSLA 1989.

[20]  Robert Dunn,et al.  Software Defect Removal , 1984 .

[21]  Mary Beth Rosson,et al.  The designer as user: building requirements for design tools from design practice , 1988, CACM.

[22]  John D. Gould,et al.  The 1984 Olympic Message System: a test of behavioral principles of system design , 1987, CACM.

[23]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[24]  Eleanor Rosch,et al.  Principles of Categorization , 1978 .

[25]  R. Guindon,et al.  Control of cognitive processes during software design: what tools are needed? , 1988, CHI '88.

[26]  John Millar Carroll The Nurnberg Funnel: Designing Minimalist Instruction for Practical Computer Skill , 1990 .

[27]  John C. Thomas,et al.  Metaphor and the Cognitive Representation of Computing Systems , 1982, IEEE Transactions on Systems, Man, and Cybernetics.

[28]  Daniel G. Bobrow,et al.  Object-Oriented Programming: Themes and Variations , 1989, AI Mag..

[29]  B. A. Sheil,et al.  The Psychological Study of Programming , 1981, CSUR.

[30]  James D. Hollan,et al.  Direct Manipulation Interfaces , 1985, Hum. Comput. Interact..

[31]  Michael Jackson,et al.  Principles of program design , 1975 .

[32]  Mary Beth Rosson,et al.  Paradox of the active user , 1987 .

[33]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[34]  Bertrand Meyer,et al.  Reusability: The Case for Object-Oriented Design , 1987, IEEE Software.

[35]  Brenda K. Laurel,et al.  Interface as Mimesis , 1986 .

[36]  Brad J. Cox Message/Object Programming: An Evolutionary Change in Programming Technology , 1984, IEEE Software.

[37]  Elliot Soloway,et al.  A cognitive analysis of a code inspection , 1987 .

[38]  R. L. Campbell,et al.  Artifacts as psychological theories: the case of human-computer interaction , 1989 .

[39]  Oscar Nierstrasz,et al.  KNOs: KNowledge acquisition, dissemination, and manipulation Objects , 1987, TOIS.

[40]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[41]  Ludwig Slusky Integrating software modelling and prototyping tools , 1987 .

[42]  John M. Carroll,et al.  Actively Learning To Use a Word Processor , 1983 .

[43]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[44]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[45]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[46]  Gustav Pomberger Software engineering and Modula-2 , 1986, Prentice Hall International Series in Computer Science.

[47]  Maryam Alavi,et al.  An assessment of the prototyping approach to information systems development , 1984, CACM.

[48]  Elliot Soloway,et al.  Mental models and software maintenance , 1986, J. Syst. Softw..

[49]  Jr. Brooks F.P. No Silver Bullet Essence and Accidents of Software Engineering , 1987 .

[50]  P. Barnard,et al.  Design practice and interface usability: Evidence from interviews with designers , 1983, CHI '83.

[51]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[52]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[53]  Ron Weber,et al.  Some factors affecting program repair maintenance: an empirical study , 1983, CACM.

[54]  Thomas P. Moran,et al.  The Command Language Grammar: A Representation for the User Interface of Interactive Computer Systems , 1981, Int. J. Man Mach. Stud..

[55]  Allen Newell,et al.  Problem solving techniques for the design of algorithms , 1984, Inf. Process. Manag..

[56]  J. Nielsen,et al.  Integrated software usage in the professional work environment: evidence from questionnaires and interviews , 1986, CHI '86.

[57]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[58]  James E. Rumbaugh Relations as semantic constructs in an object-oriented language , 1987, OOPSLA 1987.

[59]  Mary Beth Rosson,et al.  Climbing the smalltalk mountain , 1990, SGCH.

[60]  B. D. Sharratt TOP-DOWN INTERACTIVE SYSTEMS DESIGN: SOME LESSONS LEARNT FROM USING COMMAND LANGUAGE GRAMMAR , 1987 .

[61]  Daniel C. Halbert,et al.  Using Types and Inheritance in Object-Oriented Programming , 1987, IEEE Software.

[62]  Mary E. S. Loomis,et al.  An Object Modelling Technique for Conceptual Design , 1987, ECOOP.

[63]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[64]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[65]  Peter Wegner Dimensions of object-based language design , 1987, OOPSLA 1987.

[66]  C. T. Wu Benefits of object-oriented programming in implementing visual database interface , 1990 .

[67]  Herbert A. Simon,et al.  The Structure of Ill Structured Problems , 1973, Artif. Intell..

[68]  T. T. Carey,et al.  Prototyping interactive information systems , 1983, CACM.

[69]  John M. Carroll,et al.  Interface metaphors and user interface design , 1988 .

[70]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[71]  John C. Thomas,et al.  Clinical— experimental analysis of design problem solving , 1979 .

[72]  Richard E. Mayer,et al.  Some Conditions of Meaningful Learning for Computer Programming: Advance Organizers and Subject Control of Frame Order. , 1976 .

[73]  Henry Lieberman,et al.  Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems , 1986, OOPSLA.

[74]  John M. Carroll,et al.  The Minimal Manual , 1987, Hum. Comput. Interact..

[75]  Mary Beth Rosson,et al.  On Comprehending a Computer Manual: Analysis of Variables Affecting Performance , 1987, Int. J. Man Mach. Stud..

[76]  L. Barsalou,et al.  Ad hoc categories , 1983, Memory & cognition.