Siobhán Clarke

Learn More
Aspects are behaviours that are tangled and scatteredacross a system. In requirements documentation, aspectsmanifest themselves as descriptions of behaviours that areintertwined, and woven throughout. Some aspects may beobvious, as specifications of typical crosscutting behaviour.Others may be more subtle, making them hard to identify. Ineither case, it is(More)
Requirements such as distribution or tracing have an impact on multiple classes in a system. They are <i>cross-cutting</i> requirements, or <i>aspects</i>. Their support is, by necessity, scattered across those multiple classes. A look at an individual class may also show support for cross-cutting requirements tangled up with the core responsibilities of(More)
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,(More)
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(More)