Theme: An Approach for Aspect-Oriented Analysis and Design Peter van de Werken Seminar Aspect-Oriented Programming October 1, 2007 Peter van de Werken () AOP - Session 7 October 1, 2007 1 / 14 Theme: Aspect-Oriented Analysis and Design Outline Action view Clipped Action view Theme view Theme/UML Augmented Theme view Remaining questions Peter van de Werken () AOP - Session 7 October 1, 2007 2 / 14 Theme: Aspect-Oriented Analysis and Design Figure 1 Action view R3: When a student registers then it must be logged in their record. Peter van de Werken () AOP - Session 7 October 1, 2007 3 / 14 Theme: Aspect-Oriented Analysis and Design Figure 1 Question from Christiaan They talk about lexical analysis being done by Theme/Doc a couple of times, but isn’t that terribly inaccurate and error prone? They actually mention in 4.1 that they had problems with synonyms and I imagine there will be other problems like that. So wouldn’t it be easier to model it by hand instead of letting a tool try to guess it and then fix the mistakes of the tool? Peter van de Werken () AOP - Session 7 October 1, 2007 4 / 14 Theme: Aspect-Oriented Analysis and Design Figure 2 Clipped Action view Finding crosscutting themes. Peter van de Werken () AOP - Session 7 October 1, 2007 5 / 14 Theme: Aspect-Oriented Analysis and Design Figure 3 Theme view - register R1: Students can register for courses. Peter van de Werken () AOP - Session 7 October 1, 2007 6 / 14 Theme: Aspect-Oriented Analysis and Design Figure 5 Theme view - logged R6: When a professor unregisters a student it must be logged. Peter van de Werken () AOP - Session 7 October 1, 2007 7 / 14 Theme: Aspect-Oriented Analysis and Design Figure 4 Theme/UML - register R1: Students can register for courses. Peter van de Werken () AOP - Session 7 October 1, 2007 8 / 14 Theme: Aspect-Oriented Analysis and Design Figure 6 Theme/UML - logged bind[<{Person, Student, Professor},{Student.register(), Person.unregister(), Professor.giveMark()}>] Peter van de Werken () AOP - Session 7 October 1, 2007 9 / 14 Theme: Aspect-Oriented Analysis and Design Figure 6 Question from Alesya From the diagrams in the paper it seems that Theme/UML makes use of both class diagram notation and also sequence diagram notation. I wonder what additional information does those diagrams have to capture that allows to depict how cross-cutting concerns relate to each other? Peter van de Werken () AOP - Session 7 October 1, 2007 10 / 14 Theme: Aspect-Oriented Analysis and Design Figure 6 Question from Martijn And can you tell us what the consequences of the determination of the crosscutting themes are? How do they affect the implementation of the system? For example, if the system is implemented in AspectJ, does every Theme aspect correspond to an AspectJ aspect? Peter van de Werken () AOP - Session 7 October 1, 2007 11 / 14 Theme: Aspect-Oriented Analysis and Design Figure 8 Augmented Theme view - register Peter van de Werken () AOP - Session 7 October 1, 2007 12 / 14 Theme: Aspect-Oriented Analysis and Design Remaining questions Remaing questions Question from Mark Are there other approaches to using aspects at design level? How do they work? Question from Mark Is this Theme-approach commonly used in practice? Question from Robbin Are there any tools that can be used for this approach? Peter van de Werken () AOP - Session 7 October 1, 2007 13 / 14 Theme: Aspect-Oriented Analysis and Design Remaining questions Discussion question from Alesya There may be situations when requirements frequently change in the software development process. Do you think that decomposing requirements into aspects helps dealing with any changes when requirements evolve? Peter van de Werken () AOP - Session 7 October 1, 2007 14 / 14
© Copyright 2024 Paperzz