aspect-oriented requirements engineering david schaefer, joao araujo, isabel brito, awais rashid,...
TRANSCRIPT
![Page 1: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/1.jpg)
Aspect-Oriented Requirements Engineering
David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia
Mesquita
![Page 2: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/2.jpg)
Problems
• How to identify aspects at the requirements level?– What is the relationship between aspects and non-
functional requirements, constraints and concerns?
• How to model aspects at the requirements level?• How to trace requirements level aspects through
later development stages and during re-engineering?
• How to validate aspects identified at the requirements level?
![Page 3: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/3.jpg)
Identifying Aspects (1)
• Solution 1: Model using viewpoints/use cases/scenarios/stakeholder concerns and then identify crosscutting requirements.+ Exploit the power and potential of existing mechanisms- Scalability problems. Hard to observe crosscutting in the
presence of a large number of viewpoints, use cases or scenarios.
Int Easier to see the functional crosscutting against a base SOC
Int Adapt existing techniques.
![Page 4: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/4.jpg)
Identifying Aspects (2)
• Solution 2: Brainstorming without the modelling.+ No effort required for initial structuring
- You could be absolutely list: brainstormed!
- You are bound to miss something
Int You could find aspect you might not find using other techniques
![Page 5: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/5.jpg)
Identifying Aspects (3)
• Solution 3: Look at global properties, non-functional requirements and constraints as they are potential aspects+ Easier to spot
Int Might not necessarily be global
![Page 6: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/6.jpg)
Modelling Aspects (1)
• Solution 1: Extension of existing modelling mechanisms e.g. OO, FSM, Concern-based+ Ride the power of existing techniques
+ Ease of integration with existing techniques, tools, etc.
+ Ease of learning
- Inherit the shortcomings of existing techniques
![Page 7: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/7.jpg)
Modelling Aspects (2)
• Solution 2: Express them as requirements affected by multiple concerns in a concern graph. The edges of the concern graph express satisfaction of requirements by certain other entities. + No modelling restrictions => greater flexibility
- Difficult to integrate with other techniques
- Higher maintenance costs
Int Complex structure might make it difficult to identify an aspect
![Page 8: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/8.jpg)
Traceability (1)
• Solution 1: Concern graph developed through stepwise concretisation of concerns. The leaves of the graph are the code and in between are other documents such as design. + Good traceability
- Maintenance and scalability
Int Development time is a question of evaluation in real world systems development
![Page 9: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/9.jpg)
Traceability (2)
• Solution 2: Re-engineering: Tool to find aspects in your code. Some form of code mining and extract patterns of crosscutting.+ Tool support- Effort to develop a toolInt Accuracy
• Solution 3: Guidelines for the mapping and influence of aspects to later stages perhaps influenced by domain analysis.+ Early identification of traceability- Need really good guidelines otherwise mistakes are likely
![Page 10: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/10.jpg)
Validation (1)
• Solution 1: Prototyping+ Intensive participation of stakeholders at an early stage
- Things can be missed
• Solution 2: Formal methods+ Precision
- Doesn’t mean it is correct
- Hard to obtain input from stakeholders
- Can be complicated an expensive
![Page 11: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/11.jpg)
Validation (2)
• Solution 3: Domain analysis+ Domain constraints taken into account- Hard to generalise
• Solution 4: Early architecture development (in parallel with requirements modelling)+ Early exchange of information between
architecture and requirements designInt Decision on architecture may be too early
![Page 12: Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita](https://reader036.vdocuments.us/reader036/viewer/2022082818/56649f165503460f94c2c55a/html5/thumbnails/12.jpg)
Conclusion
• Need a systematic process to identify, model and validate concerns– Exploit existing mechanisms for backward
compatibility, their existing user base and power
– Scalability and traceability are critical
– Validation is extremely important though hard to achieve
– Domain analysis and stepwise development has an important role to play