Subject-oriented design: towards improved alignment of requirements, design, and code

In practice, object-oriented design models have been less useful throughout the lifetime of software systems than they should be. Design models are often large and monolithic, and the structure of the designs is generally quite different from that of requirements. As a result, developers tend to discard the design, especially as the system evolves, since it is too difficult to keep its relationship to requirements and code accurate, especially when both are changing. This paper presents a different approach to designing systems, based on flexible decomposition and composition, that closely aligns designs with both requirements specifications and with code. We illustrate how this approach permits the benefits of designs to be maintained throughout a system’s lifetime.

[1]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[2]  Rudolf K. Keller,et al.  Design components: towards software composition at the design level , 1998, Proceedings of the 20th International Conference on Software Engineering.

[3]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[4]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[5]  Kasper Østerbye,et al.  Roles: Conceptual Abstraction Theory and Practical Language Issues , 1996, Theory and Practice of Object Systems.

[6]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[10]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[11]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[12]  Harold Ossher,et al.  Specifying Subject-Oriented Composition , 1996, Theory Pract. Object Syst..

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

[14]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[15]  Rob Pooley,et al.  The unified modelling language , 1999, IEE Proc. Softw..

[16]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[17]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[18]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[19]  Alexander L. Wolf,et al.  Feature Engineering , 1998 .

[20]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

[21]  Bent Bruun Kristensen Subject Composition by Roles , 1997, OOIS.

[22]  Grady Booch,et al.  Object-oriented analysis and design with applications (2. ed.) , 1995, Benjamin/Cummings series in object-oriented software engineering.

[23]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[24]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

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

[26]  Peter F. Sweeney,et al.  Three steps to views: extending the object-oriented paradigm , 1989, OOPSLA '89.

[27]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[28]  Randall B. Smith,et al.  A Simple and Unifying Approach to Subjective Objects , 1996, Theory Pract. Object Syst..

[29]  John Vlissides,et al.  Pattern hatching: design patterns applied , 1998 .

[30]  Mary Beth Rosson,et al.  Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications , 2000, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[31]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[32]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[33]  Peter F. Sweeney,et al.  Three steps to views: extending the object-oriented paradigm , 1989, OOPSLA 1989.

[34]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[35]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[36]  John Daniels,et al.  Designing object systems: object-oriented modelling with Syntropy , 1995 .