Beyond Object-Oriented Technology: Where Current Approaches Fall Short
- 1 March 1995
- journal article
- Published by Taylor & Francis in Human–Computer Interaction
- Vol. 10 (1) , 79-119
- https://doi.org/10.1207/s15327051hci1001_3
Abstract
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, evolvabilty, 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, resue 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.Keywords
This publication has 35 references indexed in Scilit:
- Embedding critics in design environmentsThe Knowledge Engineering Review, 1993
- A research typology for object-oriented analysis and designCommunications of the ACM, 1992
- Object behavior analysisCommunications of the ACM, 1992
- Analysis and modeling in software developmentCommunications of the ACM, 1992
- Introduction—object-oriented designCommunications of the ACM, 1990
- Schema creation in programmingCognitive Science, 1989
- Designing documentation to compensate for delocalized plansCommunications of the ACM, 1988
- Construction Kits and Design Environments: Steps Toward Human Problem-Domain CommunicationHuman–Computer Interaction, 1987
- Learning Flow of Control: Recursive and Iterative ProceduresHuman–Computer Interaction, 1986
- Constructive interaction and the iterative process of understandingCognitive Science, 1986