11 - Aspektorientierte Entwicklung Flashcards

1
Q

Definition: Aspektorientierte Entwicklung

A

Eine Entwicklungsmethode, die das Konzept der Aspekte verwendet. Aspekte kapseln Funktionalität, die andere Funktionalität kreuzt (sog. “crossing concerns”). Sie soll “seperation of concerns” ermöglichen, da Aspekte unabhängig voneinander geändert und wiederverwendet werden können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Bestandteile: Aspekt (3)

A

1) Advice
2) Pointcut
3) Mögliche Join Points

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definition: Advice (Aspekt)

A

Der Code gemäß den (andere Anforderungen kreuzenden) Anforderungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definition: Join Point (Aspekt)

A

Ein Ereignis in einem ausgeführten Programm, bei dem der mit einem Aspekt verknüpfte Advice ausgeführt werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definition: Verbindungspunktmodell (Aspekt)

A

Der Satz von Ereignissen, auf die in einem Pointcut verwiesen werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definition: Pointcut (Aspekt)

A

Eine in einem Aspek eingeschlossene Anweisung, die die Verbindungspunkte definiert, an denen der mit dem Aspekt verknüpfte Advice ausgeführt werden soll.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definition: Einweben (Aspekt)

A

Das einbeziehen des Advicecodes an den angegebenen Verbindungspunkten durch einen Aspect-Weber

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Möglichkeiten: Einweben von Aspekten (3)

A

1) Quellcodevorverarbeitung
2) Während des Linkens
3) Zur Laufzeit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Einweben von Aspekten: Quellcodevorverarbeitung

A

Der Aspect-Weaver läuft über den Quellcode und fügt ihn (in angepasster Form) an den passenden Stellen ein. Danach lässt sich ein Standardcompiler verwenden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Einweben von Aspekten: Während des Linkens

A

Der Aspect-Weaver wird sozusagen in den Compiler eingebaut.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Einweben von Aspekten: Zur Laufzeit

A

Join Points werden ständig im Hintergrund überwacht. Tritt ein definiertes Ereignis ein, so wird der zugehörige Advice ausgeführt. Dies ist aber weniger performant als die anderen Methoden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Design von Aspektorientierter Software.

A

Mit diesem Ansatz kann sich auch einiges bei der Design Phase ändern. Dies wäre z.B. bei Use-Case-Diagrammen, wo Aspekte als erweiternde Anwendungsfälle modelliert werden, die im Diagramm je nach Art des Join Points mit &laquo_space;extends&raquo_space; oder &laquo_space;include&raquo_space; gekennzeichnet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

V&V Aspektorientierter Software

A

Nur bei White-Box-TEsts und Programminspektionen haben AOSD einige Besonderheiten. Hier sollte jeder Advice einzeln testbar sein, Tests sollten entworfen werden, die Aspekte unabhängig vom System testen, in das sie eingewoben werden und ein Test sollte alle Join Points umfassen, die in dem System vorkommen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly