Streit um OO-Methoden ist Geschichte

Komponenten und Architekturen bestimmen die Forschung

26.05.2000
Mit James Rumbaugh, OO-Experte und Chief Scientist bei Rational Software, sprach CW-Redakteur Sascha Alexander.

CW: Haben Sie den Eindruck, dass Unternehmen in ihren OO-Projekten Entwicklungsprozesse wie den Rational Unfied Process (RUP) verwenden?

Rumbaugh: Auch heute noch gehören Firmen, die einen Entwicklungsprozess und entsprechende Tools einsetzen, zur Minderheit. Aber ihre Zahl wächst, da die Anforderungen immer komplexer werden. Es ist kein Geheimnis, dass viele Projekte gescheitert sind.

CW: Warum klappen so viele OO-Projekte nicht?

Rumbaugh: Es misslingen nicht nur OO-Projekte, sondern es ist grundsätzlich kompliziert, große Anwendungen zu entwickeln und zu planen. Doch heute kennen sich die Leute besser aus.

CW: Kann denn der RUP alle Probleme lösen?

Rumbaugh: Ich würde nicht sagen, dass er alle Probleme löst, aber er macht vieles einfacher im Projekt.

CW: Wo ist der Anwender gefordert?

Rumbaugh: Der Prozess ist nicht automatisch da. Er verspricht vielmehr einen Weg, die kreativen Kräfte der Anwender auf ein Ziel hin zu kanalisieren. Er ermöglicht ihnen, Best Practices zu nutzen und ingenieursmäßig vorzugehen.

CW: Ist der RUP vollständig?

Rumbaugh: Nichts ist vollkommen. Das Beste ist immer, auf die Probleme der Anwender zu hören. Zu den wichtigen Themen, mit denen wir uns noch mehr beschäftigen müssen, zählt es beispielsweise, Wege zu finden, wie sich Projekte aufteilen lassen. Auch müssen wir mehr darüber sagen, wie sich Wiederverwendbarkeit modellieren lässt. Bisher hängt es zudem noch zu sehr von der persönlichen Erfahrung ab, wie sich gute Architekturen erstellen lassen. Wir müssen deshalb Wege finden, Architekturen allgemein verfügbar zu machen. Derzeit stehen wir mit unseren Überlegungen aber noch am Anfang.

CW: Ergeben sich mit Web- oder komponentenbasierten Anwendungen neue Herausforderungen an den RUP?

Rumbaugh: Durch den Einsatz von Komponenten können immer größere und noch komplexere Anwendungen gebaut werden. Sie tragen in sich zugleich die Möglichkeit, die UML und Tools für spezielle Einsatzgebiete anzupassen (zum Beispiel Patterns) und einen höheren Prozentsatz an Code zu generieren, als dies mit einem Allzweckwerkzeug wie "Rational Rose" derzeit möglich ist.

CW: In diesem Zusammenhang sprachen Sie kürzlich von "Executable Architectures". Dahinter steht der Versuch, essenzielle Strukturen einer Architektur zu kapseln und als wiederverwendbare Templates zu vermarkten. Wie weit sind die Arbeiten gereift?

Rumbaugh: Ich selbst bin nicht an den Arbeiten beteiligt. Ich kann mir aber vorstellen, dass es zunächst eine kleine Zahl hochwertiger und wiederverwendbarer Templates geben wird. Einige von ihnen werden sicher auch Komponenten unterstützen, so dass sich aus ihnen heraus Anwendungscode generieren lässt.

CW: Glauben Sie, dass in Zukunft mehr komponentenbasiert als objektorientiert entwickelt wird?

Rumbaugh: Komponenten basieren auf denselben Prinzipien wie Objekte. Es sind lediglich große Objekte auf einer höheren Abstraktionsebene. Es gibt kein Entweder-Oder. Anwender müssen heute auch auf höheren Ebenen progammieren und nicht nur auf der Ebene von Klassen, wie dies noch früher beispielsweise bei der Arbeit mit Smalltalk der Fall war.

CW: Was ist aus der Methodendiskussion über Objektorientierung geworden, die über Jahre die Fachwelt beschäftigt hat? Sehen Sie nach Ihrer Einigung mit Ivar Jacobson und Grady Booch noch einen Sinn in der Debatte?

Rumbaugh: Objektorientierung ist heute zu einem ganz normalen Bestandteil der Softwareentwicklung geworden. In gewisser Weise ist es so, dass, wenn etwas erst einmal allgemein akzeptiert worden ist und die Kontroversen aufhören, es keine große Beachtung mehr erhält. Die Diskussion verlagert sich deshalb heute in Richtung Komponenten.

CW: Kommen Sie denn noch gelegentlich mit den damaligen OO-Gurus zusammen?

Rumbaugh: Die OO-Gemeinde trifft sich immer noch auf Konferenzen wie der OOPSLA. Die Themen sind jedoch mittlerweile sehr speziell, da viele grundsätzliche Probleme gelöst worden sind. Deshalb gibt es keine großen Kontroversen mehr. Objektorientierung wird heute genutzt, die Leute verstehen sie und akzeptieren ihre Grundlagen.