Modellierung mit
UML
Loading

1.1 Ziele der beiden Bücher

Mission Statement: Es ist ein Kernziel, für das genannte Portfolio einige grundlegende Techniken zur modellbasierten Entwicklung zur Verfügung zu stellen. Dabei wird in diesem Buch eine Variante der UML vorgestellt, die speziell zur effizienten Entwicklung qualitativ hochwertiger Software und Software-basierter Systeme geeignet ist.

UML-Standard: Der UML-Standard muss sehr viele Anforderungen aus unterschiedlichen Gegebenheiten heraus erfüllen und ist daher notwendigerweise überladen. Viele Elemente des Standards sind für unsere Zwecke nicht oder nicht in der gegebenen Form sinnvoll, während andere Sprachkonzepte fehlen. Deshalb wird in diesem Buch ein angepasstes und mit UML/P bezeichnetes Sprachprofil der UML vorgestellt. UML/P wird dadurch für die vorgeschlagenen Entwicklungstechniken im Entwurf, in der Implementierung und in der Wartung optimiert und so in agilen Entwicklungsmethoden besser einsetzbar.

Dieses Buch konzentriert sich vor allem auf die Einführung des Sprachprofils. In einem zweiten Buch „Agile Modellierung mit UML“ werden darüber hinausgehend vor allem modellbasierte Vorgehenstechniken Generierung, Testfalldefinition und Evolution beschrieben.

Die UML/P ist als Ergebnis mehrerer Grundlagen- und Anwendungsprojekte entstanden. So wurde zum Beispiel die in Anhang D beschriebene Anwendung soweit möglich unter Verwendung der hier beschriebenen Prinzipien entwickelt. Das beschriebene Auktionssystem ist auch deshalb ideal zur Demonstration der in den beiden Büchern entwickelten Techniken, weil Veränderungen des Geschäftsmodells oder der Unternehmensumgebung in dieser Anwendungsdomäne besonders häufig sind. Flexible und dennoch qualitativ hochwertige Softwareentwicklung ist für diesen Bereich essentiell.

Objektorientierung und Java: Für neue Geschäftsanwendungen wird heute primär Objekttechnologie eingesetzt. Die Existenz vielseitiger Klassenbibliotheken und Frameworks, die vorhandenen Werkzeuge und nicht zuletzt der weitgehend gelungene Sprachentwurf begründen den Erfolg der Programmiersprache Java. Das in diesem Buch beschriebene UML-Sprachprofil UML/P und die darauf aufbauenden Entwicklungstechniken werden daher auf Java aufgebaut.

Brücke zwischen UML und agilen Methoden: Gleichzeitig bilden die beiden Bücher zwischen den noch nicht so gut integrierten Ansätzen der agilen Methoden und der Modellierungssprache UML eine elegante Brücke. Agile Methoden wie zum Beispiel Extreme Programming besitzen eine Reihe von interessanten Techniken und Prinzipien, die das Portfolio der Softwaretechnik für bestimmte Projekttypen bereichern. Merkmale dieser Techniken sind der weitgehende Verzicht auf Dokumentation, die Konzentration auf Flexibilität, Optimierung der Time-To-Market und Minimierung der notwendigen personellen Ressourcen bei gleichzeitiger Sicherung der geforderten Qualität. Damit sind agile Methoden für die Ziele dieses Buchs als Grundlage gut geeignet.

Agile Vorgehensweise auf Basis der UML/P: Die UML wird als Notation für eine Reihe von Aktivitäten, wie Geschäftsfallmodellierung, Soll- und Ist-Analyse sowie Grob- und Fein-Entwurf in verschiedenen Granularitätsstufen eingesetzt. Die Artefakte der UML stellen damit einen wesentlichen Grundstein für die Planung und Kontrolle von Meilenstein-getriebenen Softwareentwicklungsprojekten dar. Deshalb wird die UML vor allem in plan-getriebenen Projekten mit relativ hoher Dokumentationsleistung und der daraus resultierenden Schwerfälligkeit eingesetzt. Nun ist die UML aber kompakter, semantisch reichhaltiger und besser geeignet, komplexe Sachverhalte darzustellen, als eine Programmiersprache. Sie bietet dadurch für die Modellierung von Testfällen sowie für die transformationelle Evolution von Softwaresystemen wesentliche Vorteile. Auf Basis einer Diskussion agiler Methoden und der darin enthaltenen Konzepte wird in Buch 2 daher eine agile Methode skizziert, die das UML/P-Sprachprofil als Grundlage für viele Aktivitäten nutzt, ohne die Schwerfälligkeit typischer UML-basierter Methoden zu importieren.


Bernhard Rumpe. Agile Modellierung mit UML. Springer 2012