|
|
Der rollenmodellbasierte Entwurf von Frameworks, wie ihn die
vorliegende Dissertation beschreibt, macht das Entwerfen, Verstehen,
und Verwenden objektorientierter Frameworks einfacher, als es
mit herkömmlichen klassenbasierten Entwurfsmethoden möglich
ist.
Objektorientierte Frameworks dienen dazu, die Produktivität
der Anwendungsentwicklung zu erhöhen und die Zeit zu reduzieren,
bis eine Anwendung fertiggestellt und ausgeliefert werden kann.
Man hofft, dies durch Entwurfs- und Codewiederverwendung zu erreichen.
Viele Projekte zeigen, dass diese Ziele erreicht werden können.
Allerdings zeigen gescheiterte Projekte ebenfalls, dass diese
Ziele nicht immer einfach zu erreichen sind. Die vorliegende Dissertation
behandelt drei zentrale Probleme des Entwurfs und der Verwendung
von objektorientierten Frameworks: die Komplexität von Klassen,
die Komplexität des Objektzusammenspiels ("object collaboration")
und die fehlende Klarheit in den Anforderungen, die ein Framework
an Klienten stellt, die es benutzen wollen.
Der Entwurf von Frameworks mittels Rollenmodellierung, wie
ihn diese Dissertation entwickelt, ist eine evolutionäre
Weiterentwicklung des klassenbasierten Entwurfs. Der Ansatz erweitert
den traditionellen klassenbasierten Entwurf mit Konzepten der
Rollenmodellierung. Beim vorgestellten Ansatz spielen Objekte
Rollen, welche durch Rollentypen beschrieben werden. Normalerweise
spielt ein Objekt mehrere Rollen, so dass die Klasse eines Objektes
mehrere Rollentypen komponiert. Weiterhin dient das Zusammenspiel
von Objekten üblicherweise mehreren unterschiedlichen Aufgaben,
die als Objektzusammenspiel mit einer Aufgabe ("object collaboration
task") bezeichnet werden. Solch ein Objektzusammenspiel mit
einer Aufgabe wird durch ein Rollenmodell beschrieben. Ein Klassenmodell
ist dann die Komposition aller relevanten Rollenmodelle; es beschreibt
wie Exemplare der Klassen des Klassenmodells zusammenspielen.
Die Beschreibung von Klassen als Kompositionen von Rollentypen
und von Klassenmodellen als Kompositionen von Rollenmodellen reduziert
die Komplexität von Klassen und die Komplexität des
Zusammenspiels von Objekten.
In einem weiteren Schritt führt die vorgestellte Methode
Frameworks als eigenständige Entwurfs- und Implementierungsartefakte
ein, welche sich wohldefiniert gegen ihre Umgebung abgrenzen.
Dabei verwendet ein Framework sogenannte freie Rollentypen, um
festzulegen, wie Klientenobjekte Rollen zu spielen haben, um das
Framework korrekt zu nutzen. Der Einsatz von freien Rollentypen
ist von zentraler Bedeutung, um die Anforderungen zu definieren,
die ein Framework an seine Umgebung richtet: Klientenobjekte dürfen
Framework-Objekte nur dann benutzen, wenn sie Rollen gemäss
freier Rollentypen spielen. Die vorliegende Dissertation zeigt
auf, wie diese Konzepte zum Entwurf, zur Verwendung, und zur Schichtenbildung
von Frameworks verwendet werden.
Der Entwurf von Frameworks mittels Rollenmodellierung stellt
eine signifikante Verbesserung der heute üblichen Praxis
dar (in Bezug auf die oben genannten Probleme). Die Dissertation
belegt diese These mithilfe von drei Fallstudien, welche illustrieren,
wie die geschilderte Methode in der Praxis eingesetzt wird. Jede
Fallstudie vergleicht einen herkömmlichen klassenbasierten
Framework-Entwurf mit einem Entwurf auf Basis von Rollenmodellierung.
Jede Fallstudie wählt dabei eine etwas andere Perspektive
und ist durch einen anderen Hintergrund motiviert. Die erste Fallstudie
beschreibt das Geo Object Framework, einmal als herkömmlichen
klassenbasierten Entwurf und einmal als rollenmodellbasierten
Entwurf. Die zweite Fallstudie beschreibt die Revision des Entwurfs
des KMU Desktop Tools Framework unter Verwendung von Rollenmodellierung.
Die Fallstudie vergleicht den ursprünglichen klassenbasierten
Entwurf mit dem neuen rollenmodellbasierten Entwurf. Die dritte
Fallstudie zeigt, wie Rollenmodellierung die Dokumentation eines
existierenden Frameworks, des JHotDraw Frameworks für grafische
Editoren, verbessern hilft. Alle drei Fallstudien berichten zudem
über die Erfahrungen, die bei ihrer Ausführung gemacht
wurden.
Für ihre Gesamtvalidierung wird die Dissertations-These
in neun Einzelthesen aufgebrochen, die jeweils aus einer Problem-
und einer Aktivitätsdimension bestehen. Die betrachteten
Probleme sind die Komplexität von Klassen, die Komplexität
des Objektzusammenspiels, und die fehlende Klarheit in den Anforderungen,
die ein Framework an seine Klienten stellt. Die betrachteten Aktivitäten
sind das Entwerfen und Revidieren des Entwurfs eines Frameworks,
das Verstehen eines Frameworks und das Verwenden eines Frameworks.
Jedes der resultierenden Problem/Aktivitäts-Paare wird einzeln
betrachtet. Für jedes Paar wird begründet, warum Rollenmodellierung
einen relevanten Fortschritt darstellt. Die Validierung der Dissertations-These
insgesamt folgt aus der Validierung dieser neun Einzelthesen.
Der rollenmodellbasierte Entwurf von objektorientierten Frameworks
kombiniert die Stärken der Rollenmodellierung mit den Stärken
des herkömmlichen klassenbasierten Entwurfs und überkommt
dabei viele seiner Schwächen. Der vorgestellte Modellierungsansatz
ist damit eine evolutionäre Weiterentwicklung heutiger Methoden,
welche existierende Investitionen wahrt. Weiterhin ist der rollenmodellbasierte
Entwurf von Frameworks der erste umfängliche Modellierungsansatz,
der Frameworks als eigenständige Entwurfsartefakte behandelt
und Entwurfskonzepte bereitstellt, welche die spezifischen Eigenschaften
von Frameworks ausdrücken helfen.
|
|
|