Umfragen bestätigen, daß viele Firmen zumindest angeben, sich jetzt schon mit Objekttechnologie zu befassen. Beim Nachfragen kommen allderings oft Zweifel auf. Das akurate Erfassen, wie viele Firmen tatsächlich Objekttechnologie einsetzen, ist fast unmöglich.
VASER ist ein auf dem Visual Age/Smalltalk-System aufbauendes, kommerziell verfügbares Framework, das im Unterschied zu rein bibliotheksgestützten objektorientierten Frameworks auch stark auf einer eigenen Werkzeugumgebung (Editoren und Generatoren) basiert. VASER definiert eine 3-Schichtenarchitektur, bestehend aus Anwendungsschicht (Präsentationselemente und einfache Dialogelemente), Unternehmensschicht (Unternehmensmodell, Geschäftsobjekte) und Systemschicht (Datenbankankopplung). Zur Entkopplung der Schichten benutzt VASER das Part/Wrapper-Konzept von Visual Age. Aus dem Unternehmensmodell läßt sich eine Standard-Benutzerschnittstelle zur Anzeige bzw. Bearbeitung von Objektattributen und ein Datenbankschema generieren. Darüberhinaus definiert VASER Transaktionen zur Erhaltung der Konsistenz zwischen den drei Schichten. Zur Realisierung persistenter Objekte dient ein eigenes Objekt-Repository.
GEBOS (Genossenschaftliches Büro- und Organisationssystem), zur Zeit aus 1800 C++ Klassen bestehend, stellt Frameworks für die Entwicklung von Beraterarbeitsplätzen im Bankenbereich zur Verfügung, die bei Genossenschaftsbanken bereits erfolgreich im Einsatz sind. GEBOS basiert auf der Entwurfsmetapher Werkzeug-Aspekt-Material. Bei den Werkzeugen sind Funktionalität und Interaktion getrennt. Es existieren zwei Klassenhierarchien, eine für fachliche Werte (z.B. Kontonummer, Zinssatz) und eine für die entsprechenden Interaktionstypen (Kleinsteditoren für diese Werte). Ein Entwurfsmuster zur flexiblen, späten Erzeugung verringert die Kopplung zwischen den entsprechenden Klassen aus beiden Hierarchien. Jeder variable Aspekt, Konzept genannt, wird auf der konzeptionellen Schicht durch eine abstrakte Klasse definiert, die Basisschicht enthält als Unterklasse mindestens eine Standardimplementierung, und die Projektschicht enthält projektspezifische Subklassen.
Im Rahmen des Projekts DaRT wurde von sd&m und der Deutschen Bahn AG ein modernes, CORBA-basiertes Verwaltungs- und Auskunftssystem für die Fahrzeugdaten der Bahn-Geschäftsbereiche Fernverkehr, Nahverkehr und Traktion entwickelt. Als Problem stellte sich dabei die effiziente Übermittlung des Datenanteils komplexer Objekte in Netzwerken mit geringer Bandbreite heraus. Als Lösung wurde eine neue Mustersprache "Smart Proxy Decomposition" entwickelt, die basierend auf den Grundmustern "Proxy" und "Strategy" sowie einer geeigneten Strukturierung der IDL-Spezifikation, eine Übertragung und Veränderung von Instanzdaten erlaubt, ohne dafür nicht-standardisierte CORBA-Erweiterungen zu erfordern. Die konsequente Anwendung von Generatoren reduziert den Entwicklungsaufwand hierbei erheblich.
In diesem Vortrag wird der in Koblenz entwickelte EER/GRAL-Ansatz (Extended Entity-Relationship/GRAph specificiation Language) zur Formalisierung von objektorientierten Methoden verwendet. Durch die Beschreibung mittels ER-Diagrammen und GRAL-Prädikaten ergibt sich eine präzise und integrative Darstellung. Dabei beschränkt sich die Formalisierung zur Zeit auf die abstrakte Syntax der in einer Methode verwendeten Modellierungssprachen inklusive zugehöriger Konsistenzbedingungen.
Formalisierungen fuer die Booch-Methode und OMT-Methode wurden bereits erarbeitet. Dabei wurde besonderes Gewicht auf die Vollständigkeit der Beschreibung hinsichtlich der verwendeten Konzepte und Konsistenzbedingungen gelegt. Die Mittel, Prinzipien und die Vorgehensweise zur Erstellung einer solchen Formalisierung werden an einem anschaulichen Beispiel aus der Booch-Methode verdeutlicht.
Objektorientierte Analyse- und Designmethoden erlauben die Modellierung eines Systems auf verschiedenen Abstraktionsebenen und unter verschiedenen Sichten. Während für einzelne Beschreibungstechniken (wie z.B. ER-Modelle, Automaten) teilweise relativ präzise, formal definierte, Semantiken existieren, fehlt bislang eine integrierte Semantik für die Beschreibungstechniken einer Methode. Diese ist notwendig für semantikerhaltende Transformationen zwischen Dokumenten, für umfangreiche Konsistenzüberprüfungen, sowie für die Erstellung fortgeschrittener Werkzeugunterstützung für die Generierung und Analyse.
Wir stellen einen Ansatz zur formalen Definition einer solchen integrierten Semantik vor. Dieser baut auf einem mathematischen Systemmodell auf, welches zentrale Konzepte informationsverarbeitender Systeme wie Komponente, Nachricht, Komposition etc. formal faßt. Zu diesem mathematischen Systemmodell können alle Beschreibungstechniken einer Software Engineering-Methode in Beziehung gesetzt werden. Wir berichten über Erfahrungen, die wir bei einer derartigen Formalisierung eines Ausschnitts der Unified Modelling Language (UML) gewonnen werden.
In einer effektiven SQS werden Prozesse und Produkte einer analytischen Beurteilung unterzogen. Während Prozesse in den letzten Jahren vielfach untersucht und verschiedene Ansätze zu ihrer Verbesserung entwickelt wurden (z.B. ISO 9000, CMM), ist dies bei Produkten nicht in dieser Ausführlichkeit geschehen. Basili merkte dazu an, daß Produktqualität offenbar schwerer zu erreichen sei als Prozeßqualität. Ein Problem ist sicher der komplexe Zusammenhang zwischen Prozessen und ihren Produkten, der eine Betrachtung der Produkte hinsichtlich ihrer Qualität erschwert.
Durch die Einführung atomarer Prozesse in der Modellierung wird eine Abstraktionsebene geschaffen, die es ermöglicht, bei einer definierten Entwicklungsmethodik (z.B. OMT, UML) beliebige konkrete Prozessmodelle in Rahmen der Entwicklung einzusetzen. Das aus der Methodik abgeleitete Produktmodell kann dabei unabhängig vom konkreten Prozessmodell im Rahmen der Qualitätssicherung verwendet werden.
Die durch statische Programmanalyse ermittelten Informationen können auch für die Softwarewartung verwendet werden. Allerdings ist die herkömmliche Programmanalyse nicht direkt auf Smalltalk anwendbar, da die Datenflußanalyse und die Kontrollflußanalyse voneinander abhängig sind. Außerdem erschwert die dynamische Typisierung in Smalltalk eine derartige statische Codeanalyse. In dem Vortrag wurde eine Methode zur statischen Programmanalyse vorgestellt. Der Kern dieser Methode ist eine constraintbasierte Typinferenz. Die Bestandteile der Typinferenz, ein Typsystem, Typconstraints und ein Inferenzalgorithmus wurden erklärt. Anhand eines Prototyps wurde gezeigt, wie die gewonnenen Informationen die Wartungsaufgaben unterstützen können.
letzte Änderung: 28.11.97