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 tile 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.
['Siobhán Clarke']
Composing Design Models: An Extension to the UML