Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Frank Simon, BTU Cottbus: Einführung in UML

Ähnliche Präsentationen


Präsentation zum Thema: "Frank Simon, BTU Cottbus: Einführung in UML"—  Präsentation transkript:

1 Frank Simon, BTU Cottbus: Einführung in UML
UML-Historie (1/2) Vereinheitlichung und Erweiterung bestehender OO-Modellierungstechniken: Grady Booch (OOD, “Wolkenklassen”) James Rumbaugh (OMT) Ivar Jacobsen (Use-Cases) Januar 1997: Version 1.0 (von OMG als Standard gewählt); heute: Version 1.3 in Vorbereitung Exakte Spezifikation unter: Frank Simon, BTU Cottbus: Einführung in UML

2 Frank Simon, BTU Cottbus: Einführung in UML
UML-Historie (2/2) Frank Simon, BTU Cottbus: Einführung in UML

3 Frank Simon, BTU Cottbus: Einführung in UML
Ziel von UML: Objektorientierte Modellierung aller Systeme in allen Entwicklungsstufen. Umfangreiche Dokumentation. Detaillierte Spezifikation der Semantik. Verfügbarkeit, Akzeptanz, Erweiterbarkeit Frank Simon, BTU Cottbus: Einführung in UML

4 Frank Simon, BTU Cottbus: Einführung in UML
Views (Ansichten) Structural view Behavioral view Implementation view Environment view User view Frank Simon, BTU Cottbus: Einführung in UML

5 Frank Simon, BTU Cottbus: Einführung in UML
User-View (1/5) Implementation view Behavioral view User view Structural view Wie sieht der Anwender das System? Beschreibt das Problem und die Lösung aus der Sicht derjenigen Menschen, dessen Probleme durch die Lösung angesprochen werden. Summe aller Beschreibungen bildet die externe Sicht des Systems. UML-Notationen: Use-Cases Environment view Frank Simon, BTU Cottbus: Einführung in UML

6 User-View (2/5): Use Case Diagramme
Structural view Behavioral view Implementation view Environment view User view Einsatz Analysephase Kommunikation mit Auftraggeber / Benutzer Erfassung von Anwendungsfällen (Use Cases) Elemente Akteure System Use Cases Kommentare Beziehungen <<Acteur>> Name Name Name Name Frank Simon, BTU Cottbus: Einführung in UML

7 User-View (3/5): Use Case Diagramme
Structural view Behavioral view Implementation view Environment view User view Beziehungen (Fts): <<uses>>: Ein Anwendungsfall D benutzt (uses) einen Anwendungsfall B, wenn er dessen Verhalten beinhaltet. Die <<uses>>-Beziehung faktorisiert gemeinsames Verhalten aus Anwendungsfällen heraus, um es in verschiedenen anderen Fällen benutzen zu können. <<extends>>: Ein Anwendungsfall D erweitert (extends) einen Anwendungsfall B, wenn er an einem Erweiterungspunkt zusätzliches spezialisiertes Verhalten einfügt. Name <<uses>> Name <<extends>> Frank Simon, BTU Cottbus: Einführung in UML

8 User-View (4/5): Use Case Diagramme Beispiel 1:
Structural view Behavioral view Implementation view Environment view User view User-View (4/5): Use Case Diagramme Beispiel 1: Frank Simon, BTU Cottbus: Einführung in UML

9 User-View (5/5): Use Case Diagramme Beispiel 2:
Frank Simon, BTU Cottbus: Einführung in UML

10 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Structural View (1/11) Modelliert statische Struktur der Problemwelt und der Lösung (logische Sicht). Ignoriert weitestgehend Verhalten des Systems. Anwendbar auf verschiedenen Abstraktionsniveaus Durchgängig benutzbar von Analyse bis zur Wartung UML-Notationen: Klassendiagramme (Statische Struktur des Systems) Objektdiagramme (Statische Struktur des Systems zu einem bestimmten Zeitpunkt während der Ausführung. Beschreiben konkrete Instanziierung eines Klassendiagramms.) Frank Simon, BTU Cottbus: Einführung in UML

11 Structural View (2/11): Klassendiagramme
Behavioral view Implementation view Environment view User view Structural View (2/11): Klassendiagramme Elemente Klassen: Beschreibung von einer Menge von Objekten mit gleichen strukturellen Eigenschaften und gleichem Verhalten. Sichtbarkeit: + public, # protected, - private Besonderheiten: Klassenvariablen und -methoden, abstrakte Klassen/Methoden (Stereotyp) Name Attribute [:type [=initval]] oder Name Operation (arglist): retype Frank Simon, BTU Cottbus: Einführung in UML

12 Structural View (3/11): Klassendiagramme
Behavioral view Implementation view Environment view User view Structural View (3/11): Klassendiagramme Elemente (Fts) Interfaces: Definieren eine Menge von extern verfügbaren Operationen, die anderen Klassen angeboten werden. Templates: Beschreiben eine Familie von Klassen, die eine gemeinsame Form haben. Spezielle Klassen legen freie Parameter der Template-Klasse fest. Entwurfsmuster: Standardentwürfe für Teilprobleme Name Name Parameter-List Name <<bind>> (Value-List) Name Rolle Klasse1 Entwurfs- muster Klasse2 Rolle Frank Simon, BTU Cottbus: Einführung in UML

13 Structural View (4/11): Klassendiagramme
Behavioral view Implementation view Environment view User view Structural View (4/11): Klassendiagramme Beziehungen: Assoziationen (binär) Beschreiben Verbindungen zwischen Klassen. Zahlen oder * an den Enden der Assoziationen geben an, wieviele Objekte der Klasse man an diesem Ende finden kann, wenn man von einem Objekt auf der anderen Seite ausgeht. Keine Angabe= 1 „Name“ sollte durch ein  die Leserichtung vorgeben. Gerichtete Assoziationen (Pfeilspitze) kennzeichnen lediglich Referenzen in Pfeilrichtung. Assoziationen (n-är) Raute, die mit den beteiligten Klassen verbunden ist. * | n..m * | n..m Name Klasse1 Klasse2 Rolle1 Rolle2 Name Klasse1 Klasse3 Klasse2 Frank Simon, BTU Cottbus: Einführung in UML

14 Structural View (5/11): Klassendiagramme
Behavioral view Implementation view Environment view User view Structural View (5/11): Klassendiagramme Beziehungen (Fts) Assoziation (Fts) Qualifizierte Assoziation Zugriffsschlüssel auf beteiligte Klasse. Aggregation Ganzes-Teil-Beziehung Kardinalitäten wie bei Assoziation Standard 1:n Komposition Strengere Form der Aggregation, Teil vom Ganzen existenzabhängig. Kardinalitäten wie bei Aggregation Klasse1 Klasse2 Name Klasse1 Klasse2 Klasse1 Klasse2 Frank Simon, BTU Cottbus: Einführung in UML

15 Structural View (6/11): Klassendiagramme
Behavioral view Implementation view Environment view User view Structural View (6/11): Klassendiagramme Klasse1 Beziehungen (Fts) Vererbung Generalisierung/ Spezialisierung Klasse2 Klasse3 Frank Simon, BTU Cottbus: Einführung in UML

16 Structural View (7/11): 1. Beispiel
Kardinalitäten? Frank Simon, BTU Cottbus: Einführung in UML

17 Structural View (8/11): 2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML

18 Structural View (9/11): Objektdiagramme
Behavioral view Implementation view Environment view User view Structural View (9/11): Objektdiagramme Variante des Klassendiagramms Zeigt alle in Beziehung stehenden Instanzen „Snapshot“ eines (Teil-) Systems Können verwendet werden, um spezielle Objektkonfigurationen zu untersuchen. Notation: InstanzName:Klassenname Nur einfache Links zwischen Klassen Keine Methoden Frank Simon, BTU Cottbus: Einführung in UML

19 Structural View (10/11): Objektdiagramme 1. Beispiel
Behavioral view Implementation view Environment view User view Structural View (10/11): Objektdiagramme 1. Beispiel t=x Frank Simon, BTU Cottbus: Einführung in UML

20 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Structural View (11/11): Objektdiagramme 2. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

21 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral View (1/15) Modelliert dynamische Aspekte des Systems, sein Verhalten Ignoriert weitestgehend Struktur des Systems. Anwendbar auf verschiedenen Abstraktionsniveaus Durchgängig benutzbar von Analyse bis zur Wartung UML-Notationen: Sequenz-Diagramme: Stellt den Fluß von Nachrichten zwischen Objekten im Zeitablauf dar. Kooperations-Diagramme: Andere Form der Sequenzdiagramme mit Fokus auf der Verantwortlichkeit und Kooperation der beteiligten Objekte. Statechart-Diagramme: Geben an, bei welchen Ereignissen Objekte einer Klasse ihren Zustand ändern und welche Reaktionen sie dabei zeigen. Aktivitäts-Diagramme: Andere Form der Statechart-Diagramme, wobei meistens in Zuständen eine Aktivität ausgeführt wird und die meisten Zustandsübergänge durch das Ende einer Aktivität ausgelöst wird. Frank Simon, BTU Cottbus: Einführung in UML

22 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral View (2/15): Sequenzdiagramme Elemente Objektinstanz mit Lebenslinie Aktivierung eines Objektes Nachricht / Antwort Rekursion Löschen eines Objektes Name Name() Name Frank Simon, BTU Cottbus: Einführung in UML

23 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral View (3/15): Sequenzdiagramme 1. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

24 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral View (4/15): Sequenz- diagramme 2. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

25 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral View (5/15): Kooperationsdiagramme Elemente Objektinstanz Nachricht Erstellung /Löschen Reihenfolge Objekt::Klasse Name New() Destroy() Reihenfolge-Nr.(geschachtelt) Name Frank Simon, BTU Cottbus: Einführung in UML

26 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral View (6/15): Kooperationsdiagramme 1. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

27 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral View (7/15): Kooperationsdiagramme 2. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

28 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral view (8/15): Statechart-Diagramme (erweiterte Zustandsautomaten) Elemente Zustand (Ausprägung von Eigenschaften eines Objektes, die über eine gewisse Zeitspanne konstant ist) Anfangszustand Endzustand Zustandsüberführung Zustandshierarchie Name Aktivitäten (entry, do, exit) Ereignis [Bedingung]/ Aktion E/A Frank Simon, BTU Cottbus: Einführung in UML

29 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral view (9/15): Statechart-Diagramme Elemente (Fts.) Nebenläufige Zustände Synchronisation Frank Simon, BTU Cottbus: Einführung in UML

30 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Behavioral view (10/15): Statechart-Diagramme 1. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

31 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral view (11/15): Statechart-Diagramme 2. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

32 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral view (12/15): Aktivitäts-Diagramme Structural view Behavioral view Implementation view Environment view User view Elemente Aktivität Aktivitätswechsel Entscheidung Synchronisation / Splitting Name [Bedingung] [Bedingung1] [Bedingung2] Frank Simon, BTU Cottbus: Einführung in UML

33 Frank Simon, BTU Cottbus: Einführung in UML
Behavioror view (13/15): Aktivitäts-Diagramme Structural view Behavioral view Implementation view Environment view User view Elemente (Fts.) Startaktivität Endaktivität Mitführen von relevanten Objekten und deren Zustand Objekt::Klasse [Zustand] Frank Simon, BTU Cottbus: Einführung in UML

34 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral view (14/15): Aktivitäts- Diagramme 1. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

35 Frank Simon, BTU Cottbus: Einführung in UML
Behavioral view (15/15): Aktivitäts-Diagramme 2. Beispiel Frank Simon, BTU Cottbus: Einführung in UML

36 Implementation view (1/3)
Structural view Behavioral view Implementation view Environment view User view Implementation view (1/3) Beschreibt Struktur der Realisierung (Komponenten, Beziehungen und Abhängigkeiten) Ignoriert weitestgehend Struktur des Anwendungssystems. Anwendbar auf der Ebene der Implementierung. UML-Notationen: Komponenten-Diagramm Frank Simon, BTU Cottbus: Einführung in UML

37 Implementation view (2/3): Komponenten-Diagramm
Structural view Behavioral view Implementation view Environment view User view Implementation view (2/3): Komponenten-Diagramm Elemente: Komponente (Quellcodes, Libraries, Programme...) Aufruf, Abhängigkeit Name:Typ Frank Simon, BTU Cottbus: Einführung in UML

38 Implementation view (3/3): Komponenten-Diagramm, 1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML

39 Frank Simon, BTU Cottbus: Einführung in UML
Structural view Behavioral view Implementation view Environment view User view Environment view (1/3) Modelliert strukturelle Aspekte aus der Umgebung des Problembereichs und den Zusammenhang zur erstellten Software. Betrachtet wird dabei ein laufendes System. Stellt Zusammenhang zwischen Implementierung und der Zielumgebung her. Anwendbar auf der Ebene der Implementierung. UML-Notationen: Deployment-Diagramm Frank Simon, BTU Cottbus: Einführung in UML

40 Environment view (2/3): Deployment-Diagramm
Structural view Behavioral view Implementation view Environment view User view Environment view (2/3): Deployment-Diagramm Elemente Komponenten (Computer, Geräte...) Kommunikation zwischen Komponenten Enthaltensein von Implementierung Name:Typ Name:Typ Name: Typ Name: Typ Frank Simon, BTU Cottbus: Einführung in UML

41 Environment view (3/3): Deployment-Diagramm, 1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML

42 Frank Simon, BTU Cottbus: Einführung in UML
Zusammenfassung Structural view Behavioral view Implementation view Environment view User view Komponenten- Diagramm Sequenz-, Kooperations-, Statechart-, Aktivitäts- Diagramm Klassen-, Objekt- Diagramm Deployment- Diagramm Frank Simon, BTU Cottbus: Einführung in UML

43 Frank Simon, BTU Cottbus: Einführung in UML
Referenzen Sinan Si Alhir: „UML in a nutshell - a desktop quick reference“, O‘Reilly & Associates, USA 1998 Klaus Zerbe: „Bauplan für Objekte - eine Einführung in objektorientierte Verfahren mit der Unified Modelling Language“, in c‘t 21/1999, Seite , Heise-Verlag, Hannover 1999 Günter Wahl: „UML kompakt“, in OBJEKTspektrum 2/98, Seite 22-33, SIGS Conferences, Bergisch Gladbach 1998 Alek Opitz: „Unified Modeling Language (UML)“, Ausarbeitung für das Proseminar „Java“ im Sommersemester 1998 Frank Simon, BTU Cottbus: Einführung in UML


Herunterladen ppt "Frank Simon, BTU Cottbus: Einführung in UML"

Ähnliche Präsentationen


Google-Anzeigen