Obstacles in object-oriented software development

Recently, a considerable number of object-oriented software development methods have been introduced to produce extensible, reusable, and robust software. We have been involved in the development of a large number of pilot applications to form our own view on object-oriented methods. Although our experiences confirmed the claims about the benefits of object-oriented methods, we identified a number of important obstacles that are not addressed by current methods. This paper summarizes these obstacles and evaluates them with respect to our pilot applications. The aim of this paper is to make software engineers aware of problems they may encounter during object-oriented development, and to inspire researchers to initiate new research activities.

[1]  Dennis de Champeaux,et al.  Object-Oriented Analysis and Top-Down Software Development , 1991, ECOOP.

[2]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[3]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

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

[5]  Bjarne Stroustrup,et al.  The Annotated C++ Reference Manual , 1990 .

[6]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[7]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[8]  Craig Schaffert,et al.  An introduction to Trellis/Owl , 1986, OOPSLA 1986.

[9]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[10]  David Maier,et al.  The GemStone Data Management System , 1989, Object-Oriented Concepts, Databases, and Applications.

[11]  D. B. Skillicorn,et al.  Effective algorithms for partitioning distributed programs , 1988, Seventh Annual International Phoenix Conference on Computers an Communications. 1988 Conference Proceedings.

[12]  Edward Yourdon,et al.  Object-oriented analysis (2nd ed.) , 1991 .

[13]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[14]  Anand R. Tripathi,et al.  Communication, scheduling, and resource management in SINA , 1988 .

[15]  David W. Embley,et al.  Object-oriented systems analysis , 1992 .

[16]  Sallie M. Henry,et al.  An Empirical Study of the Object-Oriented Paradigm and Software Reuse , 1991, OOPSLA.

[17]  Jan Bosch,et al.  Inverse remote procedure calls , 1991 .

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

[19]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[20]  D. B. Lomet Process structuring, synchronization, and recovery using atomic actions , 1977 .

[21]  Boudewijn R. Haverkort,et al.  Compiler generation based on grammar inheritance , 1990 .

[22]  Jan Bosch,et al.  A new heuristic for load-balanced assignment of objects and minimized network communication in distributed programs implemented through inverse remote procedure calls , 1991 .

[23]  Anand R. Tripathi,et al.  Data abstraction mechanisms in SINA/ST , 1988, OOPSLA 1988.

[24]  Dennis de Champeaux,et al.  Object-oriented system development , 1993 .

[25]  Anand R. Tripathi,et al.  Atomic delegation: object-oriented transactions , 1991, IEEE Software.

[26]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[27]  Won Kim,et al.  Features of the ORION Object-Oriented Database System , 1989, Object-Oriented Concepts, Databases, and Applications.

[28]  Dennis G. Kafura,et al.  Inheritance in Actor Based Concurrent Object-Oriented Languages , 1989, Comput. J..

[29]  Anand R. Tripathi,et al.  An implementation of the object‐oriented concurrent programming language SINA , 1989, Softw. Pract. Exp..

[30]  C. Tomlinson,et al.  Inheritance and Synchronization with Enabled Sets , 1989, OOPSLA.

[31]  Romualdes Skvarcius,et al.  Discrete mathematics with computer science applications , 1986 .

[32]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[33]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[34]  Karl J. Lieberherr,et al.  Assuring good style for object-oriented programs , 1989, IEEE Software.

[35]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[36]  E. G. Zondag Hierarchical management of distributed objects , 1990 .

[37]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[38]  Adele Goldberg,et al.  SmallTalk 80: The Language , 1989 .

[39]  G. K. Smelser The structure of the eye , 1961 .

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