topbild
You are here: iwi → Kompetenzschwerpunkte → Systems Engineering → Projekte → Aspektorientierte Programmierung
Artikelaktionen

Aspektorientierte Programmierung

 

Hintergrund/Problemstellung:
Im Rahmen der Softwareentwicklung tauchen regelmäßig Methoden auf, die teilweise neuartige und bessere Konzepte sind, manchmal aber auch nur Altes, mehr oder weniger Bewährtes in neuem Deckmantel umfassen. Die Aspektorientierte Programmierung (AOP) gehört zu den neueren Ansätzen, die die Grenzen der Objektorientierten Programmierung (OOP) zu überwinden versuchen. Mit AOP sollen der Grad der Wiederverwendbarkeit einzelner Aspekte erhöht und die Änderbarkeit und Wartbarkeit der Software erleichtert werden.

Ziele:
Es stellt sich immer wieder die Frage, inwieweit jeder neue Software-Engineering-Trend verfolgt und, insbesondere in der Hochschullehre, unterrichtet werden soll. Ziel ist, die Grundlagen von Aspektorientierter Programmierung zu verstehen und ihre Einsatzmöglichkeiten und ihr Nutzenpotential zu hinterfragen.

Ergebnisse:
AOP ist ein neues Paradigma, konkurrenziert aber in keiner Weise die bewährte Technik der Objektorientierung. Im Gegenteil, AOP stellt eine leistungsstarke Erweiterung zu OOP dar. Nur in Zusammenarbeit können beide Paradigmen ihre volle Wirkungskraft entfalten und bisherige Grenzen von OOP überwinden. Genau wie beim OOP-Paradigma werden mit fortschreitenden Anwendungserfahrungen aber auch Grenzen von AOP sichtbar werden.

Zielgruppen:
Personen in der Softwareentwicklung und aus dem ICT-Management, sowie Studierende und Dozierende im Software-Engineering.

Praxis:
Da Aspektcode zentral gehalten werden kann, was die Übersichtlichkeit eines Systems verbessert, können Fehler schneller aufgefunden und Anpassungen effizienter vollzogen werden. Dies führt zu einer Reduktion von Entwicklungszeit und Entwicklungskosten. Durch die verbesserte Anpassbarkeit wird der Grad der Wiederverwendbarkeit und Wartbarkeit der einzelnen Module im Vergleich zu OOP weiter gesteigert. Die Qualität eines Softwaresystems kann somit durch AOP erhöht werden.

Theorie:
Das Konzept der AOP basiert auf der Trennung von Komponenten und Aspekten (Prinzip des Separation of Concerns). Die AOP ist eine Ergänzung zur OOP und stellt Techniken zur Verfügung, um Aspekte, die in verschiedenen Komponenten vorkommen, in Module zu packen und damit den Quellcode in Komponenten und Aspekte zu modularisieren. Der aspektorientierte Ansatz ermöglicht eine Kapselung dieser Aspekte. Aspektcode kann klar vom restlichen Komponentencode getrennt werden.

Projektstatus:
abgeschlossen (2004-2005)

Projektpartner und Sponsor(en):
Prof. Andreas Reber

Projektverantwortliche/Projektleitung/Ansprechpartner:
Prof. Dr. Rolf Dornberger

Direkt zu
Suchportlet
Events
Übersicht Events