Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung von Prof. Dr.-Ing. Faustmann (ebenfalls FHW Berlin) übernommen worden. Für die Bereitstellung dieses Vorlesungsmaterials möchte ich mich an dieser Stelle noch einmal recht herzlich bedanken. 31.05.2011 OO A/D/P Prof. Dr. Andreas Schmietendorf 1
Übersicht zur Vorlesung Übersicht zu den Diagrammen der UML Übersicht - Rational Unified Process (RUP) Werkzeuge zur Modellierung mit UML Erweiterungen im Kontext der UML Version 2.0 31.05.2011 Prof. Dr. Andreas Schmietendorf 2
Übersicht zu den Diagrammen der UML (eine Auswahl die typisch für den Bereich der Wirtschaftsinformatik ist) 31.05.2011 OO A/D/P Prof. Dr. Andreas Schmietendorf 3
UML-Diagrammtypen 31.05.2011 Prof. Dr. Andreas Schmietendorf 4
UML Anwendungsfalldiagramm Zeigt Beziehungen zwischen Akteuren und Anwendungsfällen auf Akteure (verschiedene Stereotypisierung) - Person im Sinne einer konkreten Rolle innerhalb einer Anwendung - Technische Systeme und deren Rolle - Externes System mit der Auslösung eines zeitlichen Ereignisses Anwendungsfälle - Menge von Aktivitäten eines Systems aus Nutzersicht - Komplette unteilbare Beschreibung - Zu jedem Anwendungsfall existiert eine textuelle Beschreibung Akteure, Vor- und Nachbedingungen, Invarianten, NFA, Ablaufbeschreibung Ausnahmen, Fehler, Regeln, Services, Ansprechpartner, Änderungshistorie Anwendungsfallbeziehungen (<<include>>, <<extend>>, Vererbung) 31.05.2011 Prof. Dr. Andreas Schmietendorf 5
UML Anwendungsfalldiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 6
UML Klassendiagramm Klassen definieren Struktur und Verhalten von Objekten - Objekte werden auf der Basis von Klassen erzeugt - Struktur Attribute und Operationen (Methoden) - Verhalten beschrieben durch verarbeitbare Nachrichten Attribute Name, [Typ, Initialwert, Zusicherung, ] Operationen Name, [Parameter, Parametertyp, ] Abstrakte Klassen abstrakter Oberbegriff - Abstrakte Klasse: Fahrzeug (keine sinnvolle Instanz) - Konkrete Klasse: PKW, Bahn, LKW, Beziehungen - Vererbung (Generalisierung und Spezialisierung) - Assoziationen (Beziehung, Aggregation, Komposition) Objekt Exemplar einer Klasse 31.05.2011 Prof. Dr. Andreas Schmietendorf 7
UML Klassendiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 8
UML Zustandsdiagramm Zustandsdiagramm (state diagram) - Zustände eine Objektes - Stimuli für Zustandsübergänge - Ereignisse Beschreibt einen endlichen Automaten - Endliche, nicht leere Menge von Zuständen - Endliche, nicht leere Menge von Ereignisse - Zustandsübergänge - Ein Anfangszustand - Menge von Endzuständen 31.05.2011 Prof. Dr. Andreas Schmietendorf 9
UML Zustandsdiagramm - 31.05.2011 Prof. Dr. Andreas Schmietendorf 10
UML Aktivitätsdiagramm Aktivitätsdiagramm (activity diagram) Spezielle Form der Zustandsdiagramme Beschreiben der Ablaufmöglichkeiten eines Systems - Aktivität (einzelner Schritt im Verarbeitungsablauf) - Transition (folgen dem Abschluss einer internen Aktion) Zuordnung zu Klassen, Objekten oder Anwendungsfall Beschreibung nebenläufiger Aktivitäten Strukturierung durch hierarchische Schachtelung Verwendung von Verantwortlichkeitsbereichen (swimlanes) 31.05.2011 Prof. Dr. Andreas Schmietendorf 11
UML Aktivitätsdiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 12
UML Kollaborationdiagramm Zeigt Interaktionen zwischen ausgewählten Objektinstanzen - Unterstellt einen begrenzten Anwendungskontext - Beziehungen zwischen Objekten und Topographie Darstellbare Eigenschaften - Zeitliche Abfolge von Nachrichten - Namen der versendeten Nachrichten und erhaltenen Antworten - Ggf. vorhandene Argumente der nachrichten - Darstellung von Iterationen und Nachrichten-Schleifen Zeitlicher Verlauf durch Nummerierung der Nachrichten Darstellung von Entwurfs- und Realisierungssachverhalten 31.05.2011 Prof. Dr. Andreas Schmietendorf 13
UML Kollaborationdiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 14
UML Sequenzdiagramm Zeigt Interaktionen zwischen Objektinstanzen - Interaktionsdiagramm - Message Sequence Chart (ITU -MSC) Vergleichbarkeit Sequenzdiagramm Kollaborationdiagramm - Kollaborationdiagramm Zusammenarbeit der Objekte - Sequenzdiagramm zeitlicher Verlauf des Nachrichtenaustausch - Können ineinander überführt werden (automatisch) Verwendung zur detaillierten Analyse von Systemzusammenhängen Keine präzise und vollständige Definition von Systemverhalten 31.05.2011 Prof. Dr. Andreas Schmietendorf 15
UML Sequenzdiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 16
UML Komponenten- und Verteilungsdiagramm Komponentendiagramm - Kapselt komplexes Verhalten - Instanzen können gebildet werden - Komponenten soll Wiederverwendung unterstützen - Bestehen intern zumeist aus mehreren Klassen - Bietet definierte Schnittstelle an Verteilungsdiagramm - Knoten (typ. Aktive Rechnerkomponenten) - Häufig ergänzt durch Icons herkömmlicher Zeichenprogramme 31.05.2011 Prof. Dr. Andreas Schmietendorf 17
UML Komponentendiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 18
UML Verteilungsdiagramm 31.05.2011 Prof. Dr. Andreas Schmietendorf 19
Rational Unified Process 31.05.2011 OO A/D/P Prof. Dr. Andreas Schmietendorf 20
Entwicklung - Prozessmodelle Bekannte Prozessmodelle - Wasserfallmodell - Spiralmodell - V-Modell - Rational Unified Process (kurz RUP) Mittels Aktivitätsdiagrammen beschriebene Workflows im RUP - Geschäftsprozessmodellierung - Klassische Phasen der SW-Entwicklung (OOA/D/P/T) - Verteilung Überführung in den Wirkbetrieb - Projekt-, Change- und Konfigurationmanagement - Einführung einer Werkzeugumgebung 31.05.2011 Prof. Dr. Andreas Schmietendorf 21
Übersicht zum RUP Quelle: Versteegen, G.: Projektmanagement mit dem RUP, Springer-Verlag, 2004 31.05.2011 Prof. Dr. Andreas Schmietendorf 22
Aufgabe 9-1 Überlegen Sie für welche Aspekte ihres Projekte die hier einführend aufgezeigten Diagrammarten verwendet werden können, identifizieren Sie ggf. nicht abgedeckte Aspekte. Erstellen Sie ausgehend von den im RUP aufgezeigten Aspekten des Projektmanagement einen groben Projektplan ihres eigenen Projektes. Berücksichtigen Sie dabei eine iterative Vorgehensweise. 31.05.2011 Prof. Dr. Andreas Schmietendorf 23
Werkzeuge zur Modellierung mit UML 31.05.2011 OO A/D/P Prof. Dr. Andreas Schmietendorf 24
Übersicht zu Werkzeugen Status: Mai 06 31.05.2011 Prof. Dr. Andreas Schmietendorf 25
ArgoUML 31.05.2011 Prof. Dr. Andreas Schmietendorf 26
UML Together 31.05.2011 Prof. Dr. Andreas Schmietendorf 27
MagicDraw 31.05.2011 Prof. Dr. Andreas Schmietendorf 28
Microsoft Visio 31.05.2011 Prof. Dr. Andreas Schmietendorf 29
ARIS UML Designer 31.05.2011 Prof. Dr. Andreas Schmietendorf 30
BlueJ interaktive Lernplattform Quelle: http://www.bluej.org/about/what.html 31.05.2011 Prof. Dr. Andreas Schmietendorf 31
UML in der Version 2.0 31.05.2011 OO A/D/P Prof. Dr. Andreas Schmietendorf 32
UML-Diagrammtypen V 2.0 Quelle: Oestereich, B.: Objektorientierte Software- Entwicklung UML 2.0, Oldenbourg-Verlag, 2004 31.05.2011 Prof. Dr. Andreas Schmietendorf 33
UML Version 2.0 Klassendiagramm (engl. class diagram) Objektdiagramm (engl. object diagram) Komponentendiagramm (engl. component diagram) Kompositionsstrukturdiagramm (engl. composite structure diagram) Verteilungsdiagramm (engl. deployment diagram) Paketdiagramm (package diagram) 31.05.2011 Prof. Dr. Andreas Schmietendorf 34
UML Version 2.0 Anwendungsfalldiagramm (UML2) (use case diagram) Zustandsdiagramm (statechart) Aktivitätsdiagramm (activity) Sequenzdiagramm und Sequenzdiagramm (UML2) (sequence diagram) Interaktionsübersichtsdiagramm (engl. interaction overview diagram) Kommunikationsdiagramm (communication diagram) Zeitverlaufsdiagramm (timing) 31.05.2011 Prof. Dr. Andreas Schmietendorf 35
Aufgabe 9-2 Machen Sie sich mit einem Werkzeug zur UML-Modellierung vertraut (ArgoUML und OMONDO sind auf den Rechnern vorinstalliert). Berücksichtigen Sie ggf. den im Internet bereitgestellten Exkurs zur Modellierung mittels OMONDO. Analysieren Sie die Möglichkeiten zur Modellierung - Bereitgestellte Diagramme & unterstützte UML Version - Integration in die Softwareentwicklungsumgebung Machen Sie sich mit den unter http://www.omg.org/uml bereitgestellten Informationen der OMG vertraut 31.05.2011 Prof. Dr. Andreas Schmietendorf 36
UML Referenzen G.Booch, J.Rumbaugh, I.Jacobson: Das UML-Benutzerhandbuch, Addison-Wesley Bernd Oesterreich, Objektorientierte Softwareentwicklung, Oldenbourg Bernd Oesterreich, UML-Kurzreferenz, Oldenbourg Object Management Group (www.omg.org/uml) UML-Vorgehensmodelle - www.rational.com/rup - www.oose.de/oep Wikipedia: http://de.wikipedia.org/wiki/unified_modeling_language 31.05.2011 Prof. Dr. Andreas Schmietendorf 37