Frank Simon, BTU Cottbus: Einführung in UML

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Objektorientierter Entwurf
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Objektorientierte Konzepte
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Modellierung komplexer Realität mit Objekten
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
UML Unified Modelling Language Dipl. -Inform
Software-Engineering II
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
10. Vorlesung: Dynamische Konzepte
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Unified Modeling Language Repetition / Einführung zu UML
Entwurfs- und Implementationsdiagramme
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Generalisierung/Spezialisierung Subtypisierung/Vererbung
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
Zustandsübergangsdiagramme (1)
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Objektorientierte Modellierung mit UML
Die Unified Modeling Language UML
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Klassen und Klassenstruktur
Unified Modeling Language UML
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Sichtbarkeit einschränken
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Objektorientierte (OO) Programmierung
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Tutorium Software-Engineering SS14 Florian Manghofer.
UML – Unified Modeling Language
 Präsentation transkript:

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: http://www.rational.com Frank Simon, BTU Cottbus: Einführung in UML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 338-354, 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