1.18k likes | 1.65k Views
UML . Inhalt. 1. UML Einführung 1.1. Grundlage der oo Modellierung 1.2. Entwicklung der UML 1.3. Ziele der UML 1.4. Diagrammtypen der UML 1.5. Beschreibungselemente der UML 2. UML Diagramme 2.1. Use-Case-Diagramme (Anwendungsfalldiagramme) 2.2. Verhaltensdiagramme
E N D
UML IT-Engineering und -Management PURTZEL
Inhalt 1. UML Einführung 1.1. Grundlage der oo Modellierung 1.2. Entwicklung der UML 1.3. Ziele der UML 1.4. Diagrammtypen der UML 1.5. Beschreibungselemente der UML 2. UML Diagramme 2.1. Use-Case-Diagramme (Anwendungsfalldiagramme) 2.2. Verhaltensdiagramme 2.2.1. Sequenzdiagramm 2.2.2. Kollaborationsdiagramm 2.2.3. Aktivitätsdiagramm 2.2.4 Zustandsdiagramm (statechart diagram) 2.3. Strukturdiagramm 2.3.1. Klassendiagramm 2.4. Architekturdiagramme 2.4.1. Komponentendiagramm 2.4.2. Verteilungsdiagramm IT-Engineering und -Management PURTZEL
1.1. Grundlage der oo Modellierung Objekttechnologie stellt Mittel zur Verfügung, um Systeme (Realität bzw. Software) derart zu beschreiben, daß sie als Menge kooperierender Objekte organisiert werden können Metamodell der Objekttechnologie Beschreibung der Konzepte (Basiselemente und Zusammenhänge) Modellierungssprache • Darstellung der Elemente • basierend auf dem Metamodell IT-Engineering und -Management PURTZEL
Motivation der oo Modellierung • Für Entwicklung (komplexer) Softwaresysteme ist Modellierung unabdingbar • Modellierung = Abstraktion der Realität mit Konzentration auf die wesentlichen Aspekte • Modellierung hilft • die gewünschte Struktur und das Verhalten eines Systems zu beschreiben und zu diskutieren • das System besser zu verstehen, indem man sich zu einem Zeitpunkt nur auf einen Ausschnitt bzw. einem einzelnen Aspekt konzentriert • frühzeitig Probleme des Modells zu erkennen und zu beheben IT-Engineering und -Management PURTZEL
Wünschenswert für die Modellierung von Softwaresystemen ist • das System zu visualisieren, wie es ist oder wie es ein sollte • sowohl die Struktur als auch das Verhalten des Systems spezifizieren zu können • eine Vorlage aufzubauen, aus der leicht ein System zu konstruieren ist • Möglichkeit zu haben, Entscheidungen zu dokumentieren Zur Realisierung o.a. Aspekte der Modellierung stellt UML (Unified Modeling Language = Vereinheitlichte Modellierungssprache) eine einheitliche und umfassende Notation zur Verfügung IT-Engineering und -Management PURTZEL
Visualisieren und Kommunizieren • Zeige die Zusammenhänge • Verwende standardisierte Darstellungen • Visualisiere das Endprodukt für den Nutzer und kläre mit dem Nutzer die Anforderungen • Bespreche mit dem Programmierer die Details IT-Engineering und -Management PURTZEL
Komplexität beherrschen • Verwende für jedes System ein separates Modell • Zeige in einer Darstellung einen Aspekt des Modells • Strukturiere das Modell •Verwende Vorlagen und Komponenten wieder IT-Engineering und -Management PURTZEL
1.2. Entwicklung der UML Die UML ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme. Ihre Autoren sind: Grady Booch: Object oriented design and applications James Rumbaugh: Object Modeling Technique Ivar Jacobson: Use Cases IT-Engineering und -Management PURTZEL
Entwicklung der UML • 1994 Booch und Rumbaugh beschließen, ihre Ansätze (OOAD und OMT) zu vereinigen mit dem Ziel, einen Industriestandard zu schaffen. • 1995 Unified Method, Version 0.8. Im wesentlichen Vereinigungsmenge von OMT und OOAD. Grundnotation von OMT, mit Details und Methodenelementen von OOAD. Jacobson stößt dazu und bringt OOSE ein. Das Prinzip des Vereinigens stößt an seine Grenzen. Radikale Vereinfachung (aber auch semantische Verarmung); alle Spezialkonstrukte werden mit Hilfe der neu eingeführten Stereotypen modelliert. Vorläufiger Verzicht auf Einheitsmethode, nur noch Einheitssprache. IT-Engineering und -Management PURTZEL
1996 Unified Modeling Language (UML), Version 0.9. Einbezug namhafter Informatikunternehmen (Digital, Microsoft, Oracle, Hewlett-Packard, …); Verfeinerung von Notation, Konzepten und Sprachdefinition. Gleichzeitig wächst der Sprachumfang. • 1997 UML Versionen 1.0 und 1.1 erscheinen. • Einreichung von UML bei der OMG (Object Management Group) als Kandidat für einen geplanten Standard für objektorientierte Modellierungssprachen. • Sept. 1997 Die OMG erklärt UML Version 1.1 zum Standard. IT-Engineering und -Management PURTZEL
1998 UML Version 1.2 erscheint. Enthält Detailänderungen und Fehlerkorrekturen. Eine Flut von UML-Büchern bricht über die Informatikwelt herein. 1999 UML Version 1.3. Im November 2000 wurde von der OMG RTF die UML 1.4 als Betaversion auf der OMG-Website publiziert. Sie enthält kleinere Überarbeitungen gegenüber der UML 1.3. IT-Engineering und -Management PURTZEL
Historische Entwicklung objektorientierter Methoden und der UML Inhalt IT-Engineering und -Management PURTZEL
1.3. Ziele der UML Bereitstellung einer universellen Beschreibungssprache für alle Arten objektorientierter Softwaresysteme und damit eine Standardisierung Ausdrucksstarke Modellierungssprache zur Entwicklung und zum Austausch von Modellen Erweiterungs- und Spezialisierungsmöglichkeiten Unabhängigkeit der Spezifikation von Programmiersprache und Entwicklungsprozeß Formale Basis für das Verständnis des Softwaresystems Entwicklung des Werkzeugmarktes Unterstützung von High-Level Konzepten IT-Engineering und -Management PURTZEL
Die Möglichkeiten • Die UML bietet auf der einen Seite eine Reihe unterschiedlichster Werkzeuge für die reine Visualisierung und Dokumentation. • Auf der anderen Seite bilden vor allem Klassendiagramme den Rahmen für die Spezifikation und Erstellung von objektorientierten Anwendungssystemen. • Die angebotenen Werkzeuge dienen der Abbildung der statischen Struktur und des dynamischen Verhaltens des Anwendungssystems. IT-Engineering und -Management PURTZEL
Grundkonzepte und Elemente der UML • UML besteht aus einer Sammlung vorwiegend grafischer Sprachen zur Erstellung von Anforderungs- und Entwurfsmodellen aus verschiedenen Perspektiven • Eine UML-Spezifikation besteht aus einer Sammlung sich ergänzender und teilweise überlappender Modelle • Im Zentrum steht ein Klassenmodell, das den strukturellen Aufbau eines Systems spezifiziert • Das Klassenmodell beschreibt • bei Anforderungsmodellen die Gegenstände der Realität, mit denen das System umgehen muss Inhalt IT-Engineering und -Management PURTZEL
bei Entwurfs- und Implementierungsmodellen die Klassen der Lösung Bei der Modellierung von Anforderungen kommt als zentrales Element das Anwendungsfallmodell hinzu, das die Benutzer-System-Interaktion aus Benutzersicht modelliert Nach Bedarf beschreiben weitere Modelle zusätzliche Systemsichten, insbesondere dynamisches Verhalten, Funktionalität und Zusammenarbeit IT-Engineering und -Management PURTZEL
UML unterstützt sieben verschiedene Sichten • Die statische Sicht: Klassen und Objekte, strukturelle Beziehungen • Die Benutzersicht: Anwendungsfälle • Die Verhaltenssicht: Zustandsautomaten • Die Aktivitätssicht: Ablauf von Aktivitäten • Die Interaktionssicht: Interaktion ausgewählter Objekte • Die Physische Sicht: Physische Systemstruktur • Die Gliederungssicht: Portionierung der Modelle in Pakete und Subsysteme IT-Engineering und -Management PURTZEL
1.4. Diagrammtypen der UML Die UML unterscheidet zwischen statischen und dynamischen Modellen eines Systems. Zum Beispiel: Klassendiagramme, Verhaltensdiagramme Klassendiagramm Sequenzdiagramm Zu den statischen Modellen gehören das Klassen-, Komponenten-, und Ver- teilungsdiagramm und zu den dynamischen Modellen gehören das Sequenz- Kollaborations-, Aktivitäts- und Zustandsdiagramm. IT-Engineering und -Management PURTZEL
Diagrammtypen der UML use-case-diagram (Anwendungsfalldiagramm) statische Typen: class diagram component diagram deployment diagram (Klassendiagramm) (Komponentendiagramm) (Verteilungsdiagramm) IT-Engineering und -Management PURTZEL
Diagrammtypen der UML dynamische Typen: sequence digram (Sequenzdiagramm) collaboration digram (Kollaborationsdiag.) activity diagram (Aktivitätsdiagramm) statechart diagram(Zustandsdiagramm) IT-Engineering und -Management PURTZEL
Anwendungsfalldiagramm Das Anwendungsfalldiagramm dient als Einstiegsebene für das Modell aus Anwendersicht. Es ist ein zweckmäßiges Hilfsmittel zum erfassen der Nutzerforderungen und Ermitteln der Systemgrenzen. Es beschreibt das System in der Interaktion mit dem Nutzer. Beispiele Anwendungsfall- diagramme (Use-Case-Diagramme) IT-Engineering und -Management PURTZEL
Klassendiagramm Das Klassendiagramm dient zum Modellieren der statischen Struktur von Klassen und deren Beziehungen. Inhalt: • Klassen mit Attributen und Methoden, • Beziehung zwischen den Klassen Das Klassendiagramm steht im Zentrum der objektorientierten Modellierung. Es ist die Basis für die Quelltexterzeugung. Während der Projektbearbeitung wird das Klassendiagramm schrittweise vervollständigt. (Konzept, Spezifikation, Implementierung) IT-Engineering und -Management PURTZEL
Beispiel Klassendiagramm „Kunde – Auftrag“ Inhalt IT-Engineering und -Management PURTZEL
Aktivitätsdiagramm Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines activity diagram (Aktivitätsdiagramm) dargestellt werden. Das Zeitverhalten und die Statusübergänge zwischen den Objekten sind besonders übersichtlich durch die Darstellung der Objekte als swimlanes (Schwimmbahnen). IT-Engineering und -Management PURTZEL
Beispiel Aktivitäts- diagramm „Kunde – Bankautomat“ IT-Engineering und -Management PURTZEL
Zustandsdiagramm (statechart diagram) Das dynamische Verhalten innerhalb einer Klasse kann in der Form eines state diagram (Zustandsdiagramm) erfasst werden. Das Zeitverhalten und die Statusübergänge zwischen einzelnen Methoden der Klassen können dargestellt werden. IT-Engineering und -Management PURTZEL
Beispiel Zustandsdiagramm (statechart diagram) „PIN“ Inhalt IT-Engineering und -Management PURTZEL
Sequenzdiagramm Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines sequence diagram (Sequenzdiagramm) dargestellt werden. Squenzdiagramm zeigt den Nachrichtenaustausch zwischen verschiedenen Objekten unter Betonung der zeitlichen Abfolge Die Nachrichtenbeziehungen (Aufrufen von Methoden) zwischen den Objekten und deren Lebenszeit sind besonders übersichtlich durch die Darstellung der Klasseninstanzen (Objekte) als lifelines (Lebenslinien) und der Darstellung von Aufrufparametern gegeben. IT-Engineering und -Management PURTZEL
Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Sequenzdiagramm ist besonders in der fortgeschrittenen Spezifikation mit einem hohen Detailierungsgrad zweckmäßig. Beispiel Sequenz- diagramm „Patiententest“ • beteiligte Objekte werden horizontal angeordnet • jedes Objekt hat eine Lebenslinie (Lifeline), die vertikal aufgetragen wird • Nachrichten (Messages) = Pfeile zwischen den Lebens- linien der beteiligten Objekte IT-Engineering und -Management PURTZEL
Beispiel Sequenzdiagramm „Hotelreservierung“ IT-Engineering und -Management PURTZEL
1.5. Beschreibungselemente der UML Grundelemente • Basiselemente der Objekttechnologie Diagramme • Darstellung ausgewählter Aspekte • Zusammenfassung von Grundelementen Gesamtmodell • Grundelemente sind Bestandteile des Gesamtmodells • Diagramme definieren Sichten auf das Gesamtmodell IT-Engineering und -Management PURTZEL
Sichten, Diagramme und UML-Konstrukte IT-Engineering und -Management PURTZEL
2.1 Use-Case Diagramme (Anwendungsfalldiagramme) Softwareentwicklungsprozess • In der OO Modellierung hat sich für die Anforderungs- Analyse die Benutzung von Anwendungsfällen durchgesetzt • Zentraler Aspekt: • Modellierung der Funktionalität eines Systems oder Subsystems im Kontext der Interaktion zu außenstehenden Benutzern und Systemen IT-Engineering und -Management PURTZEL
Use-Case-Diagramm (Anwendungsfalldiagramm) Anwendungsfälle des Systems • Welche Aufgaben erfüllt das System? Beteiligte am System • Welche Personen bzw. andere Systeme sind zu berücksichtigen? • Welche Beteiligte haben Einfluß auf Anwendungsfälle? • Welche Beteiligten werden von Anwendungsfällen beeinflußt? IT-Engineering und -Management PURTZEL
Use-Case-Diagramm (Anwendungsfalldiagramm) Schnittstelle Anwender - System • klar • verständlich • übersichtlich • überschaubare Anzahl von Elementen Spezifikation mit Auftraggeber/Fachabteilung IT-Engineering und -Management PURTZEL
Graphische Darstellung Use-Case-Diagramm IT-Engineering und -Management PURTZEL
Use Case (Anwendungsfall) • Möglichkeit der Nutzung des Systems (Anwendungsfall) • Repräsentation eines Arbeitsgangs • „Systemverhalten aus der Sicht und in der Sprache der Anwender“ Regeln: • Beschreibung einer Tätigkeit • Beschreibung des „Was“, nicht des „Wie“ IT-Engineering und -Management PURTZEL
Detailspezifikation eines Use-Cases (Anwendungsfalls) • UML lässt beliebige Beschreibungs- formen zu. Gebräuchlich sind Beschreibungen mit • Fließtext • einer Folge von Schritten in natürlicher Sprache (die heute gebräuchlichste Beschreibungsart) UseCase Auftragsposten bearbeiten Folgendes kann editiert werden:- Artikelauswahl- Artikel-Vormerkungen- Lieferant- Liefertermin- Komissionsstatus- Rabatte (Gesamt/pro Artikel)- Infotexte- Staffelinformationen (read-only)- Preisfindung (read-only)- Infotext- Kondi (beinhaltet EKV, VK, Nettospanne, Rohertrag eines Artikels) (read-only) Detailierung eines Use-Cases kann mit Aktivitätsdiagramm oder Zustands- diagramm erfolgen. IT-Engineering und -Management PURTZEL
Akteur Einheit, die im Zusammenhang mit einem Anwendungsfall eine Rolle spielt • Mensch • Maschine • System Regeln: • Verwendung eines Substantivs • Informationsgeber oder -empfänger IT-Engineering und -Management PURTZEL
Beziehungen zwischen Elementen der Use-Case (Anwendungsfall)-Sicht Es gibt Beziehungen zwischen • Akteur – Akteur • Akteur – Anwendungsfall • Anwendungsfall - Anwendungsfall IT-Engineering und -Management PURTZEL
Beziehung Use-Case (Anwendungsfall) – Akteur Assoziation Beteiligung eines Akteurs an einem Use-Case Kommunikation – Informationsaustausch IT-Engineering und -Management PURTZEL
Beziehungen der Use-Cases (Anwendungsfälle) Generalisierung Spezialisierung eines Anwendungsfalls „A spezialisiert Verhalten von B“ Beispiel IT-Engineering und -Management PURTZEL
Beziehungen der Use-Cases(Anwendungsfälle) Extend Erweiterung eines Anwendungsfalls „A erweitert B“ Verwendung von Erweiterungspunkten Beispiel IT-Engineering und -Management PURTZEL
Beziehungen der Use-Cases (Anwendungsfälle) Include Einbindung eines Anwendungsfalls „A enthält Verhalten von B“ Beispiel IT-Engineering und -Management PURTZEL
Beziehung Akteur – Akteur Generalisierung Spezialisierung (entsprechend Klassen) Auch der speziellere Akteur kann die Rolle des allgemeineren einnehmen. Beispiel IT-Engineering und -Management PURTZEL
Beispiel Use-Case-Diagramm „Weinkeller“ IT-Engineering und -Management PURTZEL
Beispiel Use-Case Diagramm „Auftragsaufnahme“ IT-Engineering und -Management PURTZEL
Use-Case (Anwendungsfall)-Sicht Zusammenfassung • Darstellungsmöglichkeiten relativ einfach • Wichtig: • Identifizierung und genaue Ausformulierung der Anwendungsfälle, die das System ausmachen • Grundlage für die weitere Modellierung IT-Engineering und -Management PURTZEL
2.2.1. Sequenzdiagramm Darstellung eines Szenarios • beteiligte Objekte mit Lebenslinie • Austausch von Nachrichten zwischen Objekten • Aktivierung von Methoden • Darstellung von Zusammenhängen des Nachrichtenaustauschs • zeitliche Reihenfolge der Kommunikation • Spezifikation von Zeiten (Restriktionen) • Fokus: sequentielle Abläufe IT-Engineering und -Management PURTZEL
Graphische Darstellung Sequenzdiagramm • beteiligte Objekte werden horizontal angeordnet • jedes Objekt hat eine Lebenslinie (Lifeline), die vertikal aufgetragen wird • Nachrichten (Messages) = Pfeile zwischen den Lebens- linien der beteiligten Objekte IT-Engineering und -Management PURTZEL