Object‐Oriented Design

Work on what was to become “structured design” began in the early 1960s. Structured design, as a well-defined and named concept, did not achieve appreciable visibility until the publication of an article in the IBM Systems Journal in 1974. There is more than one way to accomplish a “structured design.” Like structured design, the term object-oriented design (OOD) means different things to different people. For example, OOD has been used to imply such things as The design of individual objects, and/or the design of the individual methods contained in those objects The design of an inheritance (specialization) hierarchy of objects The design of a library of reusable objects The process of specifying and coding of an entire object-oriented application The term nonformal is used to describe approaches to OOD that are not well defined, step-by-step, or repeatable, such as those that emphasize the design of individual objects, specialization (inheritance) hierarchies, and libraries of objects. A survey of such approaches indicates that there may indeed be some repeatable rigor (and some sage advice) given for these approaches, but they are severely lacking when it comes to defining the software architecture of large and critical systems. Different approaches, techniques and experienced with object oriented design are discussed here. Keywords: programming language; nonformal; lifecycle view; nonrigorous approaches; mixed paradigms; paradigms; metrics; experience

[1]  Kent Beck,et al.  A laboratory for teaching object oriented thinking , 1989, OOPSLA 1989.

[2]  R. J. Muller,et al.  An object-oriented structured design method for code generation , 1989, SOEN.

[3]  Ken Shumate,et al.  Layered virtual machine/object-oriented design , 1988, WADAS '88.

[4]  Grady Booch Object-oriented design , 1982, ALET.

[5]  M. Elizabeth C. Hull,et al.  Object-oriented design, Jackson system development (JSD) specifications and concurrency , 1989, Softw. Eng. J..

[6]  J. Backus Software I: Function-level computing: A new programming method, linked to radically different architectures, may greatly simplify software development , 1982, IEEE Spectrum.

[7]  Derek Coleman,et al.  UMIST OBJ: A Language for Executable Program Specifications , 1989, Comput. J..

[8]  Stephen S. Yau,et al.  A survey of software design techniques , 1986, IEEE Transactions on Software Engineering.

[9]  Hassan Gomaa,et al.  A software design method for real-time systems , 1984, CACM.

[10]  Scott C. McIntyre,et al.  Object-oriented Systems Analysis and Design: Methodology and Application , 1988, J. Manag. Inf. Syst..

[11]  James E. Rumbaugh,et al.  Relational database design using an object-oriented methodology , 1988, CACM.

[12]  Sidney C. Bailin,et al.  An Ada design and implementation toolset based on object-oriented and functional programming paradigms , 1990, WADAS '90.

[13]  Bruno Alabiso,et al.  Transformation of Data Flow Analysis Models to Object-Oriented Design , 1988, OOPSLA.

[14]  E. Colbert,et al.  The object-oriented software development method: a practical approach to object-oriented development , 1989, TRI-Ada '89.

[15]  John A. Anderson,et al.  Automated object-oriented requirements analysis and design , 1989, WADAS '89.

[16]  Neal L. Walters An ada object-based analysis and design approach , 1991, ALET.

[17]  G. K. Khalsa Using object modeling to transform structured analysis into object oriented design , 1989, WADAS '89.

[18]  K. McQuown Object oriented design in a real-time multiprocessor environment , 1989, TRI-Ada '89.

[19]  Alan Kay,et al.  Microelectronics and the Personal Computer , 1977 .

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

[21]  Anthony I. Wasserman,et al.  The object-oriented structured design notation for software design representation , 1990, Computer.

[22]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[23]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[24]  Grady Booch Describing software design in Ada , 1981, SIGP.

[25]  Allan Jaworski,et al.  Principles for defining an object-oriented design decomposition in Ada , 1990, WADAS '90.

[26]  D. C. Rine A common error in the object structuring of object-oriented design methods , 1987, SOEN.

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

[28]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[29]  Peter Wegner,et al.  Concepts and paradigms of object-oriented programming , 1990, OOPS.

[30]  Gregg P. Reed,et al.  Analyzing systems for object oriented design , 1989, WADAS '89.

[31]  Joe Pendley,et al.  Using information engineering and Ada object-oriented design methods in concert — a case study , 1989, WADAS '89.

[32]  Rebecca Wirfs-Brock,et al.  Object-oriented design: a responsibility-driven approach , 1989, OOPSLA 1989.

[33]  C. Meyer,et al.  Experiences in applying the layered virtual machine/object-oriented development methodology to an Ada design effort , 1989, TRI-Ada '89.

[34]  Pankaj Jalote,et al.  Functional Refinement and Nested Objects for Object-Oriented Design , 1989, IEEE Trans. Software Eng..

[35]  Stowe Boyd Object-oriented design and PAMELA , 1987, ALET.

[36]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[37]  P. Vielcanet HOOD design method and control/command techniques for the develpment of realtime software , 1989, WADAS '89.

[38]  Glenn D. Bergland,et al.  A Guided Tour of Program Design Methodologies , 1981, Computer.

[39]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[40]  P. Masiero,et al.  JSD as an object-oriented design method , 1988, SOEN.

[41]  Hans-Jürgen Kugler,et al.  Using VDM in an Object-Oriented Development Method for Ada Software , 1987, VDM Europe.

[42]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

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

[44]  Lewis Gray,et al.  Transitioning from structured analysis to object-oriented design , 1988, WADAS '88.

[45]  Peter Grogono,et al.  Polymorphism and type checking in object-oriented languages , 1989, SIGP.

[46]  Kris A. Jamsa Object oriented design vs structured design: a student's perspective , 1984, SOEN.

[47]  David C. Rine,et al.  A proposed standard set of principles for object-oriented development , 1991, SOEN.

[48]  Paul T. Ward How to integrate object orientation with structured analysis and design , 1989, IEEE Software.

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

[50]  Karl Lieberherr,et al.  Contributions to teaching object-oriented design and programming , 1989, OOPSLA 1989.