Towards unifying analysis, design, and implementation in object-oriented environments

Object-oriented technology is decreasing the gap between analysis, design, and implementation and is leading to ideas that will ultimately integrate or at least strongly couple the three phases. In order to unify analysis, design, and implementation in object-oriented systems, we believe it is necessary to build an integrated facility that is part of the development environment, that supports bidirectional lifecycle development, that integrates active documentation as part of the process, and that focuses on re-analysis, re-design, and re-implementation as the main development activities.In this paper, we describe our long-term objectives for coupling the analysis, design, and implementation phases; e.g., to permit design to drive implementation (top-down coupling) and also implementation to drive design (bottom-up coupling). We also describe our immediate research project which focuses primarily on bottom-up coupling; i.e., on tools that support "design capturing" and "design regeneration " enabling developers to extract their designs from existing software and to semi-automatically re-extract the designs when changes are made to the implementation.

[1]  Dennis de Champeaux,et al.  A comparative study of object-oriented analysis methods , 1992 .

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

[3]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

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

[5]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[6]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

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

[8]  Bran Selic,et al.  ROOM: an object-oriented methodology for developing real-time systems , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.