Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Subject-oriented design: towards improved alignment of requirements, design, and code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Composition patterns: an approach to designing reusable aspects
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Hi-index | 0.04 |
A structural mismatch between the specification of requirements for software systems and the specification of object-oriented software systems happens because the units of interest during the requirements phase (for example, feature, function etc.) are different from the units of interest during the object-oriented design and implementation (for example, object, class, method etc.). The structural mismatch results in support for a single requirement being scattered across the design units and a single design unit supporting multiple requirements - this in turn results in reduced comprehensibility, traceability and reuse of design models. Subject-oriented design is a new approach to designing systems based on the object-oriented model, but extending this model by adding new decomposition capabilities. The new decomposition capabilities support a way of directly aligning design models with requirements. Composition of design models is specified with composition relationships. This paper describes changes required to the UML metamodel to support composition relationships.