Übung 1.3: Architectural Control-Regel definieren
Für diese Übung wird vorausgesetzt, dass Sie bereits Übung 1.1: Erforderliche Ressourcen importieren ausgeführt haben. Bei der vorliegenden Übung lesen Sie zunächst ein Benutzerszenario. Anschließend übernehmen Sie die Rolle des im Szenario beschriebenen Softwarearchitekten und verwenden das in Übung 1.1 importierte Projekt, um die Übung auszuführen.
Benutzerszenario
Zur Vermeidung von Fremdabhängigkeiten muss der Architekt Sicherheitsfeatures einbauen, um zu gewährleisten, dass keine Abhängigkeiten in die Anwendung eingefügt werden. Zu diesem Zweck erstellt er über einen Assistenten eine entsprechende Regel. Die Regel sieht vor, dass er benachrichtigt wird, sobald das Dienstprogramm vom Anwendungspaket abhängig wird.
Nach dem Erstellen der Regel führt der Architekt eine Codeprüfung aus, indem er sie auf eine Codebasis anwendet. Im Rahmen der gefundenen Fehler wird jede Fremdabhängigkeit in der Anwendung aufgezeigt.
Übung
Im Verlauf dieser Übung führen Sie folgende Aufgaben aus:
- Definieren einer Regel mit Hilfe eines Assistenten
- Prüfen, ob die von Ihnen definierte Regel der Structural Analysis-Codeprüfung hinzugefügt wird
- Ausführen der Structural Analysis-Codeprüfung
- Anzeigen der bei der Codeprüfung gefundenen Fehler, die Abweichungen von den Kriterien Ihrer Regel aufzeigen
Regel definieren
So definieren Sie eine Architectural Control-Regel mit Hilfe eines bereitgestellten Assistenten:
- Klicken Sie in der Funktionsleiste in der Ansicht "Code Review" auf das Symbol für Regeln verwalten
.

- Klicken Sie im Fenster für Vorgaben auf New rule. Der Assistent für eine neue Regel für die Codeprüfung wird geöffnet.
Dieser zeigt Ihnen in wenigen Schritten, wie Sie eine Regel definieren. In dieser Übung entwickeln Sie eine Architectural Control-Regel, auf Grund derer Sie benachrichtigt werden, wenn eine Abhängigkeit zwischen zwei Komponenten entsteht.
- Klicken Sie in der Liste der Architectural Control-Regeln auf Component [dependency] introduced. Wenn Sie diese Auswahl treffen, weist Sie der Text unterhalb der Liste darauf hin, die Schablone zu verwenden, um eine Abhängigkeit zwischen zwei Komponenten nicht zuzulassen. Klicken Sie auf Next.

- Akzeptieren Sie unter dem Punkt Basic properties die Standardwerte, durch die die Einordnung der Regel in die Structural Analysis-Kategorie mit einer Wertigkeitsangabe für den Fehler erfolgt.

- Geben Sie unter dem Punkt Specific properties die unabhängigen und die abhängigen Komponenten für die Regel an:
- Unabhängige Komponente: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\IndependentComponent.java
- Abhängige Komponente: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\DependentComponent.java.
- Klicken Sie auf Finish.
Regel anzeigen, die der Codeprüfung hinzugefügt wurde
- Nach dem Definieren einer Regel erscheint das Fenster für Vorgaben. Klicken Sie in der Liste Select Code Review auf Complete Code Review, sofern noch nicht ausgewählt. Dadurch werden alle Codeprüfungskategorien angezeigt.
- Erweitern Sie den Ordner Structural Analysis, um die von Ihnen erstellte Regel anzuzeigen.
- Klicken Sie auf die Regel, um die dafür definierten Eigenschaften anzuzeigen (siehe folgenden Screenshot):

Codeprüfung auswählen, die ausschließlich Ihre Regel anwendet
Zum Ausführen einer Codeprüfung, bei der ausschließlich die von Ihnen definierte Regel angewendet wird, löschen Sie alle Ordner in der Liste mit Ausnahme des Ordners Structural Analysis (siehe vorherigen Screenshot). Klicken Sie auf OK.
Codebasis für die Prüfung auswählen
So wählen Sie den Arbeitsbereich als zu überprüfende Codebasis aus:
- Klicken Sie in der Funktionsleiste in der Ansicht "Code Review" auf das Symbol für Prüfung
> Review Workspace.
Codeprüfung ausführen
Nach Auswahl der Codebasis für die Prüfung wird die Codeprüfung ausgeführt. Sie können den Status der Prüfung anhand des Fortschrittsanzeigers in der unteren rechten Ecke der Ansicht verfolgen.
Bei der Codeprüfung gefundene Fehler anzeigen
Nach Abschluss der Codeprüfung werden die gefundenen Fehler in der Ansicht "Code Review" angezeigt (siehe folgenden Screenshot). Unterhalb der Registerkarte wird die Codeprüfung in der Statistik zusammengefasst.

- Erweitern Sie den Ordner Structural Analysis, um die gefundenen Fehler anzuzeigen.

- Klicken Sie doppelt auf den dritten Fehler, um den zugehörigen Quellcode im Editor anzuzeigen (siehe folgenden Screenshot):

Sie haben Übung 1.3 "Architectural Control-Regel definieren" abgeschlossen.
Vorteile von benutzerdefinierten Regeln nutzen
Durch das Erstellen eigener Regeln bauen Sie angepasste Sicherheitsfeatures zur Überwachung der Designimplementierung ein. Sie können die folgenden Maßnahmen ergreifen:
- Kriterien für eine Regel angeben
- Der Regel eine Wertigkeit zuordnen: Problem, Warnung oder Empfehlung
- Eine Codeprüfung ausschließlich für Ihre Regel(n) ausführen
Nachbearbeitung von Übung 1.3
Sie haben die Übung "Architectural Control-Regel definieren" beendet. Im Verlauf dieser Übung führten Sie folgende Aufgaben aus:
- Definieren einer Regel mit Hilfe eines Assistenten
- Prüfen, ob die von Ihnen definierte Regel der Structural Analysis-Codeprüfung hinzugefügt wurde
- Ausführen der Structural Analysis-Codeprüfung
- Anzeigen der bei der Codeprüfung gefundenen Fehler, die Abweichungen von den Kriterien Ihrer Regel aufzeigen
Sie können nun mit Übung 1.4: Problem in der Codestruktur beheben beginnen.