Vorwort

1. April 2001

Im letzten Jahrzehnt des letzten Jahrhunderts schaffte die objektorientierte (OO) Technologie den Übergang von einer Laborkuriosität der 60er zum am häufigsten eingesetzten Softwareentwicklungsparadigma. Es war eine lange, schwierige Reise, die fast in der Dunkelheit endete. Hauptsächlich deswegen, weil die OO- Technologie eine Änderung der Denkweise von den Systemdesignern, -entwicklern und anderen, in den Softwareentwicklungsprozess involvierten Personen erforderte.

Erst die Einführung von OO-Hybrid-Sprachen wie C++, klassisches Ada und Object Pascal in den Achtzigern löste diese Entwicklung aus und bot die Möglichkeit mit der OO-Technologie zu experimentieren. Diese Sprachen kombinierten die OO-Programmierung mit der Unterstützung für traditioniellen prozeduralen Programmierung. Das Fehlen der Unterstützung der prozeduralen Programmierung innerhalb der reinen OO-Sprachen verhinderte für viele Jahre die Anwendung der OO-Technologie. Die Reise begann mit der Einführung von Objekten in Simula in den 1960ern und ist nun abgeschlossen. Die OO-Technologie war nun für die Entwicklung verfügbar... gut, die OO-Programmierung war das Mindeste.

Die Simulation ist die grundlegene Prämisse, die der OO-Technologie zugrunde liegt. Ein OO-System wird als Simulation der realen Welt mit Hilfe von Softwarebausteinen entworfen und entwickelt. Diese Prämisse ist so leistungsfähig wie auch einfach. Durch diese Art Softwaresysteme zu designen und zu bauen, können die gleichen Sprachen und Ideen in der Analyse, dem Design und in der Implementierung des OO-Systems verwendet werden. Dies erlaubt es, ein System zu entwerfen und zu testen (oder korrekter: erlaubt es das System zu simulieren), ohne das System zuvor bauen zu müssen. Diese Eigenschaft, gekoppelt mit der Fähigkeit Systeme auf einer sehr hohen Ebene zu designen, versetzt erfahrene OO-Praktiker in die Lage, sehr viel komplexere Systeme als vorher zu designen und erfolgreich zu implementieren.

Die Verfügbarkeit verschiedener OO-Methoden und die Aufnahme der Unified Modelling Language (UML) als Standardsprache für die Kommunikation von OO-Konzepten vertiefte den Vorteil der OO-Technologie. Die Popularität der objektbasierten Sprache Visual Basic und die parallele Entwicklung und das schnelle Aufkommen der vollständig objektorientierten Sprache Java war der endgültige Katalysator, der die abschliessenden Schritte für die rasante Übernahme der OO-Technologie in die Hauptentwicklungsrichtung vorantrieb.

ArgoUML ist als Tool und Umgebung für die Analyse und das Desgin objektorientierter Softwaresysteme gedacht. In diesem Sinne ist es vielen kommerziellen CASE-Tools ähnlich, die als Tools für die Modellierung von Softwaresystemen verkauft werden. ArgoUML weist aber eine Anzahl sehr wichtiger Unterschiede zu vielen dieser Tools auf:

Durch die Entwicklung des ArgoUML Entwicklungstools und Umgebung, vereinigte Jason Robbins und der Rest seines Forscherteams bei UCL die Vorteile von UML als bevorzugte OO-Modellierungssprache und Java als eine der produktivsten OO Entwicklungsplattformen, um ein solides Werkzeug für das OO-Design zu produzieren und darüber hinaus als Testumgebung für die Evolution der Entwicklung und Forschung von OO-CASE-Tools.

Kunle Odutola