There is a well documented problem in the software engineering field relating to a structural mismatch between the specification of requirements for software systems and the specification of object-oriented software systems. The structural mismatch happens because the units of interest during the requirements phase (for example, feature, service, capability, function etc.) are different to the units of interest during 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. This paper presents an 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 individual requirements. Each model contains a design of an individual requirement, with concepts from the domain (which may appear in multiple requirements) designed from the perspective of that requirement. Standard UML is used to design the models decomposed in this way. Composition of design models is supported, and it is specified with a composition relationship. A composition relationship specifies how models are to be composed by identifying overlapping concepts in different models and specifying how models should be integrated. This paper describes changes required to the UML metamodel to support composition relationships. Two kinds of integration strategies are discussed -merge and override.
Clarke REF also extends the UML metamodel with the notion of composableElements that can be composed using a composition relationship.
Extending standard UML with model composition semantics
Computer Science