Agile Modellierung mit
UML
Loading

1.3 Überblick

Abbildung 1.2 erlaubt einen guten Überblick über den Matrix-artigen Aufbau weiter Teile beider Bände. Während dieser Band sich verstärkt um methodische Fragestellungen kümmert wird die UML/P im Band 1 erklärt.


Abbildung 1.2: Übersicht über den Inhalt beider Bände

Kapitel 2 skizziert eine agile UML-basierte Vorgehensweise. Sie nutzt die UML/P als primäre Entwicklungssprache, um ausführbare Modelle zu erstellen, daraus Code zu generieren, Testfälle zu entwerfen und Architekturanpassungen (Refactorings) zu planen.

Kapitel 3 gibt eine kurze und kompakte Zusammenfassung von Band 1, [Rum11]. Dabei wird vor allem das dort eingeführte Sprachprofil der UML/P sehr kompakt und daher unvollständig vorgestellt.

Die Kapitel 4 und 5 diskutieren prinzipielle und technische Problemstellungen zur Codegenerierung. Dies beinhaltet die Architektur und die Steuerung eines Codegenerators genauso wie die Frage, welche Teile der UML/P für Test- beziehungsweise für Produktionscode geeignet sind. Darauf aufbauend wird ein Mechanismus zur Beschreibung von Codegenerierung eingeführt. Ergänzend dazu wird anhand ausgewählter Teile der verschiedenen UML/P-Notationen gezeigt, wie daraus Test- und Produktionscode generiert werden kann. Dabei werden sowohl Alternativen diskutiert als auch die Kombination von Transformationen demonstriert.

Die Kapitel 6 und 7 erörtern die aus der Literatur bekannten Begriffsbildungen für Testverfahren und die beim Testen zu beachtenden Besonderheiten, die aufgrund der Nutzung der UML/P als Test- und Implementierungssprache entstehen. Es wird beschrieben, wie eine Architektur für die automatisierte Testausführung aussieht und wie UML/P-Diagramme eingesetzt werden, um Testfälle zu definieren.

Kapitel 8 zeigt anhand von Testmustern die Verwendbarkeit der UML/P-Diagramme zur Definition von Testfällen. Diese Testmuster enthalten Erfahrungswissen zur Definition von testbaren Programmen insbesondere für funktionale Tests von verteilten und nebenläufigen Softwaresystemen.

Die Kapitel 9 und 10 diskutieren Techniken zur Transformation von Modellen und Code und stellen damit Refactoring als semantikerhaltende Transformation auf eine fundierte Basis. Für Refactoring wird ein expliziter und praktisch verwendbarer Beobachtungsbegriff eingeführt und es wird diskutiert, wie vorhandene Refactoring-Techniken auf die UML/P übertragen werden können. Schließlich wird eine additive Vorgehensweise vorgeschlagen, die größere Refactorings unter Verwendung von OCL-Invarianten unterstützt.


Bernhard Rumpe. Agile Modellierung mit UML. Springer 2012