Formal Methods for E... Advanced Design Patterns in I...

Aspektorientierte Softwareentwicklung

Dipl.-Inf. (FH) J. Adersberger, Dipl.-Inf. D. Wischermann

Seminar im Hauptstudium


Das Hauptziel der Aspektorientierten Softwareentwicklung (AOSD - Aspect-Oriented Software Development) ist die Modularisierung von aus objektorientierter Sicht (OOA/OOD/OOP) quer verstreuten Zuständigkeiten (Crosscutting Concerns) einer Software über den gesamten Entwicklungsprozess hinweg. Beispiele für Crosscutting Concerns sind Sicherheitsprüfungen, die Überwachung von Schnittstellenverträgen, die Fehlerbehandlung oder das Monitoring. Mit AOSD kann die Wartbarkeit, Wiederverwendbarkeit und Zuverlässigkeit der entwickelten Software verbessert werden und eine höhere Entwicklungsproduktivität erreicht werden. Das Seminar führt entlang der klassischen Entwicklungsphasen Analyse, Design, Implementierung, Test fundiert in das Thema der Aspektorientierten Softwareentwicklung ein. Den Schwerpunkt bildet eine detaillierte Betrachtung der Einsatzmöglichkeiten von Aspekten.

Themenblöcke

Themen

  1. Einführung in die Aspektorientierung
  2. Aspekte im Requirements Engineering: Early Aspects und Concern Modeling
  3. Traceability von Crosscutting Concerns
  4. Modellierung von Aspekten
  5. Aspektorientierte Programmierung am Beispiel AspectJ
  6. Multidimensional Seperation of Concerns am Beispiel Hyper/J
  7. Anwendung der Aspektorientierung (1): Design Patterns
  8. Anwendung der Aspektorientierung (2): Nebenläufigkeitskontrolle
  9. Anwendung der Aspektorientierung (3): Aspektorientierte Middleware
  10. Anwendung der Aspektorientierung (4): Security
  11. Anwendung der Aspektorientierung (5): Design-by-Contract und Konsistenzprüfungen
  12. Verifikation und Aspektorientierung
  13. top