Unified Modelling Language

Größe: px
Ab Seite anzeigen:

Download "Unified Modelling Language"

Transkript

1 Unified Modelling Language eine Einführung von Hannes Fischer Fischer Software Elfenstr Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Modelling Language Unified Modelling Language Unified Modelling Language Die UML ist eine Sprache und Notation zur Beschreibung objektorientierter Modelle von Softwaresystemen

2 Unified Modelling Language Unified Modelling Language? Spezifikation? Konstruktion? Visualisierung? Dokumantation Um die verschiedenen Sachverhalte zu beschreiben, werden spezialisierte Diagramm- Typen verwendet. Diagrammtypen Verhaltensdiagramme??? Verhaltensdiagramme? Implementierungsdiagramme? Aktivitätsdiagramm? Kollaborationsdiagramm? Sequenzdiagramm? Zustandsdiagramm

3 Implementierungsdiagramme UML Diagramme? Komponentendiagramm? Verteilungsdiagramm Ein Anwendungsfall beschreibt eine Menge von Aktivitäten eines Systems aus der Sicht seiner Akteure, die für die Akteure ein zu einem Wahrnehmbaren Ereignis führen. Ein Anwendungsfall wird stets durch einen Akteur initiiert.

4 Im werden Ein Anwendungsfall ist eine komplette, unteilbare Beschreibung.? Geschäftsprozesse? Geschäftsvorfälle beschrieben.? Akteure? Vorbedingungen? Nachbedingungen? Invarianten? Nicht-funktionale Anforderungen? Ablaufbeschreibung? Ablaufbeschreibung? Ausnahmen und Fehlersituationen? Variationen? Regeln? Services? Ansprechpartner

5 ? Anmerkungen und offene Fragen? Dialogbeispiele und Referenzen? Diagramme Akteure: Am Anwendungsfall beteiligte Akteure. Ein Akteur handelt gemäß seiner Rolle. Dies entspricht den im notierten Beziehungen zwischen einem Anwendungsfall und den Akteuren. Vorbedingungen: Der Zustand des Systems, bevor der Anwendungsfall eintritt. Nachbedingung: Der Zustand des System, nachdem der Anwendungsfall erfolgreich durchlaufen wurde.

6 Invarianten: Bedingungen, die im Rahmen eines Anwendungsfalles stets erfüllt sein müssen. Nicht-funktionale Anforderungen: Zusicherungen, die für Design und Realisierung wichtig sind. Nicht-funktionale Anforderungen:? Plattformvoraussetzungen? Umgebungsvoraussetzungen? qualitative Aussagen? Antwortzeitanforderungen? Häufigkeitsschätzungen? Prioritäten Ablaufbeschreibung: Beschreibung des Anwendungsfalles. Gegebenenfalls gegliedert in numerierte Einzelpunkte. Dies ist eigentliche Kern des Anwendungsfalles.

7 Ausnahmen und Fehlerbeschreibungen: Beschreibung der fachlichen Ausnahmeund Fehlersituationen, die im Rahmen des Anwendungsfalles auftreten können. Variationen: Abweichungen und Ausnahmen zum Normalablauf und die Beschreibung der alternativen Abläufe für die Fälle. Regeln: Regeln, die im Rahmen des Ablaufes von Bedeutung sind. Häufig sind Aktivitätsdiagramme eine geeignetere Alternative zur Beschreibung solcher Zusammenhänge. Services: Liste von Operationen und/oder Objekten, die im Rahmen des Ablaufes benötigt werden. Diese Angaben werden in der Überleitung ins Klassendesign verwendet.

8 Ansprechpartner und Sitzungen: Eine Liste der Personen, mit denen der Anwendungsfall erarbeitet wurde sowie die weiteren betroffenen Personen. Dazu werden jeweils die entsprechenden Termine notiert. Anmerkungen und offene Fragen: Platz für zur Dokumentation von wichtigen Entwurfsentscheidungen oder konkurrierenden Entwürfen. Dokumente und Referenzen? Beispiel-Dialoge? Bildschirmkopien? Dialogprototypen? Druck- und Formularbeispiele? Anleitungen? Handbücher... Diagramme Sequenz- und Kollaborationsdiagramme, die aus dem Anwendungsfall resultieren und das hierfür notwendige interne Systemverhalten darstellen

9 Akteure Beispiel: Af1 Kundendaten erfassen Ablauf: Kundentyp wählen Postanschrift eingeben speichern Anmerkungen Postanschrift: Gemeint ist die Adresse des Firmensitzes, nicht ein Postfach oder eine Sammeladresse... Definition Ein Akteur ist eine außerhalb des Systems beschriebene Klasse, die an der in einem Anwendungsfall beschriebenen Interaktion an dem System beteiligt ist. Akteure nehmen in der Interaktion gewöhnlich eine definierte Rolle ein. Ein Akteur ist eine stereotype Klasse. Akteure Akteure Notation Die Akteure können in verschiedener Weise dargestellt werden, als textuelles, grafisches oder gemischtes Stereotyp. Visueller Stereotyp Textueller Stereotyp Bezeichnung << actor>> Bezeichnung

10 Akteure Akteure <<interface>> oder <<boundary>> Dialog und andere Interaktionsschnittstellen <<control>> Controller steuern die Interaktionen zwischen den verschiedenen Objekten. Bezeichner Bezeichner Akteure <<entity>> Beispiel: Passive Objekte, die innerhalb von Anwendungsfällen benötigt werden. Sie existieren gewöhnlich unabhängig vom Anwendungsfall. Akteur 1 Diagrammname Anwendungsfall 1 Anwendungsfall 2 Akteur 1 Anwendungsfall 3 Bezeichnung

11 Generalisierungen Mit der Generalisierung können»unter«- Anwendungsfälle von den»ober«- Anwendungsfällen Verhalten und Bedeutung erben, analog zur Generalisierungsbeziehung zwischen Klassen. <<include>> <<include>> Diese Beziehung stellt eine Verbindung zu einem»mitverwendeten«anwendungsfall dar. UML Diagramme <<extend>> <<extend>> Diese Beziehung stellt eine Verbindung zu einem»erweiterten«anwendungsfall dar. (Basistypen)

12 Definition: Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser Definition. Folgende Klassentypen lassen sich in der UML darstellen und beschreiben:? Metaklasse? Parametrisierbare Klasse? Abstrakte Klasse? Hilfsklasse Klasse Attribut 1 Attribut 2 Operation 1 Operation 2 Notation ohne Operationen: Klasse Attribut 1 Attribut 2

13 Notation ohne Attribute: Klasse <<Stereotyp>> Paket::Klasse [Eigenschaftswerte] Operation 1 Operation 2 Attribut:Typ=Initialwert{Zusicherung} Operation(Parameter) {Zusicherung} Beispiel: Kreis Radius {radius>0} mittelpunkt:point = (10,10) Anzeigen( ) Entfernen( ) setposition(pos:point) setradius(neuerradius) Beispiel in C++: class Kreis { int radius; point mittelpunkt; }; kreis( ); ~kreis( ); void anzeigen( void ); void entfernen( void ); void setposition( point pos ); void setradius( int neuerradius );

14 Metaklasse: In Sprachen wie Smalltalk oder CLOS sind Klassen auch nur instantiierte Objekte und werden aus Metaklassen erzeugt. Hierfür wird das Stereotyp <<metaclass>> verwendet. Metaklasse: <<metaclass>> Klasse Metaklasse: Parametrisierbare Klasse: <<metaclass>> Klasse <<instance of >> Klasse Eine parametrisierbar Klasse ist eine mit generischen formalen Parametern versehen Schablone, mit der gewöhnlich, nicht parametrisierbare Klassen erzeugt werden. In C++ werden aus diesen Klassen templates erzeugt.

15 Parametrisierbare Klasse: Klasse parameter:typ <<bind>> <Parameter> Klasse<Parameter> Die von einer parametrisierbaren Klasse abgeleiteten Klassen werden mit dem Parameter in den spitzen ( < und > ) Klammern oder durch die Relation mit dem Stereotyp <<bind>> bezeichnet. Abstrakte Klasse: Von einer abstrakten Klasse werden niemals Objektexemplare erzeugt. Sie ist bewußt unvollständig und bildet somit die Basis für weitere Unterklassen, die Exemplare haben können. Sie wird mit dem Stereotyp <<abstrakt>> oder durch eine kursive Schreibweise bezeichnet. Klasse {abstrakt} Attribute Operationen( ) Klasse {abstrakt} Klasse Attribute Operationen( ) Klasse

16 Hilfsmittelklasse Hilfsmittelklassen sind Sammlungen von globalen Variablen und Funktionen, die zu einer Klasse zusammengefaßt und dort als Klassenattribute und -operationen definiert sind. Dieser Klassentyp wird mit dem Stereotyp <<utility>> gekennzeichnet. <<utility>> Klasse Utility1( ) Utility2( ) Utility3( ) Objekte: Ein Objekt ist eine im laufenden System konkret vorhandene Einheit. Jedes Objekt ist eine Instanz einer Klasse. Objekte Ein Objekt enthält durch die Attribute repräsentierte Informationen, deren Struktur in der Klasse definiert ist.

17 Objekte Ein Objekt kann die in der Klasse definierten Nachrichten empfangen, das heißt es besitzt für jede definierte Nachricht entsprechende Operationen. Objekte Das durch die Nachrichten definierte Verhalten gilt für alle Objekte einer Klasse gleichermaßen, ebenso die Struktur ihrer Attribute. Die Werte der Attribute sind jedoch individuell für jedes Objekt. Klasse <<instance of>> Objekt:Klasse Attributname = wert Ein Multiobjekt kann in Kollaborationsdiagrammen verwendet werden, um anzuzeigen, daß eine Nachricht gleich an eine Menge von Objekten der selben Klasse gesendet wird.

18 Multiobjekt Multiobjekt Multiobjekt? Operation? Methode? Nachricht Operationen: Operationen sind Dienstleistungen, die von einem Objekt angefordert werden können, sie werden beschrieben durch ihre Signatur.? Operationsname? Parameter? Rückgabetyp Methoden: Eine Methode implementiert eine Operation. Sie ist eine Sequenz von Anweisungen.

19 Nachricht: Eine Nachricht überbringt einem Objekt die Information darüber, welche Aktivität von ihm erwartet wird und fordert es so zur Ausführung einer Operation auf. Name( Argument : Typ = Standardwert,... ) : Rückgabewert {Eigenschaftwerte} {Zusicherungen} Beispiel: setposition( x: Integer = 1, y : Integer = 2 ): Boolean {abstrakt} { ( x > 0 ) und ( y > 0 ) } KlassenOperation( ) +PublicOperation( ) #ProtectedOperation( ) -privateoperation( ) AbstrakteOperation( )

20 KlassenOperation( ) Klassenoperationen werden durch Unterstreichung gekennzeichnet. Dazu gehören Konstruktoren und Destruktoren. +PublicOperation( ): Zeigen die Sichtbarkeit mit einem vorangestellten»+«zeichen an. In C++ bedeutet public für alle sichtbar. #ProtectedOperation( ): Zeigen die Sichtbarkeit mit einem vorangestellten»#«zeichen an. In C++ bedeutet protected für die Klasse selbst und als friend deklarierte Klassen sichtbar. -PrivateOperation( ): Zeigen die Sichtbarkeit mit einem vorangestellten»-«zeichen an. In C++ bedeutet private nur für die Klasse selbst sichtbar.

21 Schnittstelle: Schnittstellenklassen beschreiben einen ausgewählten Teil des extern sichtbare Verhaltens von Modellelementen. Schnittstellenklassen sind abstrakte Klassen, die ausschließlich abstrakte Operationen definieren. Sie werden mit dem Stereotyp <<interface>> gekennzeichnet. String <<interface>> Sortierbar <<implement>> IsEqual(Object):Boolean IsEqual(String):Boolean isgreater(object):booolean isgreater(string):booelan String String IsEqual(String):Boolean isgreater(string):booelan Sortierbar StringListe Sortierbar IsEqual(String):Boolean isgreater(string):booelan

22 Zusicherung: Eine Zusicherung ist ein Ausdruck, der die möglichen Inhalte, Zustände oder die Semantik eines Modellelements einschränkt und der stets erfüllt sein muß. Zusicherung:? Abhängigkeit? Konsistenz? Werte? Ordnung? Formeln? Enumerationen { Zusicherung } Beispiel Kreis:Radius { radius > 0 } Kreis:Ursprung { ( x > 0 ) && ( y > 0 ) } Eigenschaftswert: Eigenschaftswerte sind benutzerdefinierte, sprach- und werkzeugspezifische Schlüsselwort Paare, die die Semantik einzelner Modellelemente um spezielle charakteristische Eigenschaften erweitern.

23 { Schlüsselwort = Ausprägung } { Schlüsselwort } Beispiel: { transient = true } { transient } Stereotyp: Stereotype sind projekt-, unternehmens- oder methodenspezifische Erweiterungen vorhandener Modellelemente. Entsprechend der mit der Erweiterung definierten Semantik, wird das Modellierungselement, auf das es angewandt wird, direkt semantisch beeinflußt. Stereotypen: Dekorative Stereotypen Deskriptive Stereotypen Restriktive Stereotypen Redefinierende Stereotypen Dekorative Stereotypen: Hiermit lassen sich Werkzeuge und Diagramme etwas farbenfroher und bildreicher gestalten. Als Beispiel kann der Akteur in den en gelten.

24 Deskriptive Stereotypen: Damit sind solche gemeint, die in erster Linie Verwendungszusammenhänge beschreiben oder eine Art standardisierte Kommentierung darstellen, beispielsweise um Klassen einer speziellen Architekturschicht zuzuordnen. Restriktive Stereotypen: Mit dieser Art sind formale Einschränkungen auf bestehende Modellierungselemente gemeint.sie definieren Restriktionen auf das Vorhanden- oder Nicht-Vorhandensein bestimmter Eigenschaften. Sie erweitern somit das Metamodell. Redefinierende Stereotypen: Hiermit sind Metamodell-Modifikationen gemeint, mit denen das Grundkonzept der Ursprungssprache (hier UML) verletzt werden können und daher vermieden werden sollten. Die Stereotyp-Bezeichnung wird von spitzen Klammern ( < und > ) eingeschlossen. << Stereotyp >>

25 Notiz: <<Stereotyp>> Klasse Notizen sind Kommentare zu einem Diagramm oder einem beliebigen Element in einem Diagramm ohne semantische Wirkung. Text Paket: Pakete sind Ansammlungen von Modellelementen beliebigen Typs, mit denen das Gesamtmodell in kleinere überschaubarere Einheiten gegliedert wird.

26 Paket: Ein Paket definiert einen Namensraum, in dem alle Elemente eindeutig sind. Pakete können Pakete enthalten. Das oberste Paket beinhaltet das System. Paket: Paketname::Klassenname UML Diagramme Paketname Paketname (Beziehungselemente )

27 Vererbung: Vererbung ist ein Programmiersprachen- Konzept, das heißt ein Umsetzungsmechanismus für die Relation zwischen Ober- und Unterklasse, wodurch Attribute und Operationen der Oberklasse auch den Unterklassen zugänglich werden. Abstraktion: Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Semantik eins Modells. Abstraktion: Abstraktion: Unterklasse Diskriminator 1 Diskriminator 3 Oberklasse Diskriminator 2 Unterklasse Unterklasse Diskriminator 1 Diskriminator 3 Diskriminator 2 Oberklasse Unterklasse Unterklasse Unterklasse Unterklasse Unterklasse Unterklasse Unterklasse

28 Mehrfachvererbung: Fahrzeug Name Hersteller Bei der Mehrfachvererbung kann eine Klasse mehr als eine Oberklasse besitzen. Statt von einer Klassenhierarchiekann hier von einer Klassenheterarchiegesprochen werden. Wasser Tiefgang Verdrängung {Overlapping} Segelboot Segelfläche AnzahlSegel Windgetrieben MinimaleWindstärke maximalewindstärke Overlapping: Die durch Mehrfachvererbung von einem gemeinsamen Ahnen über mehrere Zweige erhaltenen Eigenschaften werden wieder zusammengeführt. Overlapping: Name Hersteller Tiefgang Verdrängung Segelfläche AnzahlSegel

29 Disjoint: Disjoint: Anstatt der Zusammenführung der gemeinsamen Eigenschaften, werden diese über den getrennten Vererbungsweg zugeordnet. Wasser:Name Wind:Name Wasser:Hersteller Wind:Hersteller Tiefgang Verdrängung Segelfläche AnzahlSegel Assoziation: Eine Assoziation beschreibt als Relation zwischen Klassen die gemeinsame Semantik und Struktur einer Menge von Objektverbindungen. Kardinalität: Die Anzahl der Element. Multiplizität: Bereich erlaubter Kardinalitäten.

30 Kardinalität: Klasse A <<stereotypen>> Beziehungsname {Zusicherung}{Eigenschaftswerte} 1 * Klasse B Rekursive Assoziation: Rekursive Assoziationen sind Assoziationen an denen nur eine Klasse beteiligt ist. Attributierte Assoziation: Klasse Manager 1 Sachbearbeiter * Führt > < Berichtet Ein Modellelement, das sowohl über die Eigenschaften einer Klasse als auch über die einer Assoziation verfügt. Es kann gesehen werden als Assoziation mit zusätzlichen Klasseneigenschaften oder als Klasse mit zusätzlichen Assoziationseigenschaften.

31 Qualifizierte Assoziation: Klasse A Assoziation Klasse B Eine qualifizierte Assoziation ist eine Assoziation, bei der die referenzierte Menge der Objekte durch qualifizierende Attribute in Partitionen unterteilt wird, wobei vom Ausgangsobjekt aus betrachtet jede Partition nur einmal vorkommen kann. Klasse A Attribut A Attribut B Klasse A Attribut A Attribut B Attribut B Klasse B Attribut A Attribut C Klasse B Attribut A Attribut C Abgeleitete Assoziation: Eine abgeleitete Assoziation ist eine Assoziation, deren konkrete Objektbeziehungen jederzeit aus den Werten anderer Objektbeziehungen und ihrer Objekte abgeleitet oder berechnet werden können.

32 Mehrgliedrige Assoziation: Eine mehrgliedrige Assoziation ist eine (gewöhnliche, binäre) Assoziation, an der mehr als zwei Assoziationsrollen beteiligt sind. Klasse A Klasse C Klasse B Gerichtete Assoziation: Eine gerichtete Assoziation ist ein Assoziation, bei der von der einen beteiligten Assoziationsrolle zur anderen direkt navigiert werden kann, nicht aber umgekehrt. Klasse A Klasse B

33 Aggregation Eine Aggregation ist ein Assoziation, deren beteiligte Klassen eine Ganzes-Teil-Hierarchie darstellen. Ganzes Teil Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der Teil vom Ganzen existenzabhängig sind. Ganzes Teil

34 Impressum Impressum Dieser Vortrag kann im Internet unter herunter geladen werden. Er liegt als Star-Office und als Microsoft-Office Dokument vor. Bitte beachten Sie die Copyrights. Der Autor ist unter folgender Adresse erreichbar: Hannes Fischer Fischer Software Elfenstr Stuttgart Tel.: Fax.: Ende

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Objektorientierung. Objekte

Objektorientierung. Objekte Eine Einführung G. Futschek Objekte Objekte Fragen: Wie unterscheiden sich Objekte? Wie sind Objekte einander ähnlich? Was können Objekte? Wie stehen Objekte zueinander in Beziehung? Objekte Im täglichen

Mehr

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim Matthias Niete niete@oio.de Dirk M. Sohn sohn@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Objektorientierte Analyse (OOA) Strukturmodellierung

Objektorientierte Analyse (OOA) Strukturmodellierung Strukturmodellierung Seite 1 Strukturmodellierung Seite 2 Anwendung im Projekt Strukturmodellierung Voraussetzung: Use Case Diagramm liefert die funktionelle Gliederung mit Angabe der Ein- und Ausgaben

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 07.05.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung zu Kapitel 3: Von (E)ER nach UML Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den Videos wissen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2 HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Modellierungstipps für die Anwendungsfallmodellierung

Modellierungstipps für die Anwendungsfallmodellierung Modellierungstipps für die Anwendungsfallmodellierung Identifiziere nur relativ grobe Abläufe als Anwendungsfälle! Anwendungsfälle werden nicht in weitere Anwendungsfälle zerlegt, höchstens unter Verwendung

Mehr

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Kurzeinführung in UML

Kurzeinführung in UML Kurzeinführung in UML Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von Softwaresystemen. Der Grundgedanke bei UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete

Mehr

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

Mehr

Einführung. Einführung

Einführung. Einführung Einführung Einführung Im Oktober 1994 haben sich Grady Booch und Jim Rumbaugh bei der Rational Software Corporation zusammengeschlossen, um ihre erfolgreichen Methoden zu einem einheitlichen Industriestandard

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Unified Modeling Language (UML 1.4)

Unified Modeling Language (UML 1.4) Anwendungsfalldiagramm Akteur 1 «include» Abstrakter Anwendf. Mitverwend. Anwendf. «extend» (extension point) [Bedingung] Essentieller Anwendf. Erweiterung o. Variante «actor» Akteur 2 Akteur 4 Akteur

Mehr

Vgl. Oestereich Kap 2.1 Seiten

Vgl. Oestereich Kap 2.1 Seiten Vgl. Oestereich Kap 2.1 Seiten 21-49. 1 Ein Use Case ist eine zeitlich ununterbrochene Interaktion (ein Arbeitsschritt). Use Case Namen bestehen aus einem Subjekt und einem Verb wie zum Beispiel Daten

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Glossar. Objektorientierte Grundbegriffe Begriffe der UML (Unified Modeling Language) UML-Notationsübersicht. Fassung vom 26.

Glossar. Objektorientierte Grundbegriffe Begriffe der UML (Unified Modeling Language) UML-Notationsübersicht. Fassung vom 26. Glossar Objektorientierte Grundbegriffe Begriffe der UML (Unified Modeling Language) UML-Notationsübersicht Fassung vom 26. November 1998 1998 by Bernd Oestereich, Verlag R. Oldenbourg Dieses Glossar darf

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

Einführung in die OOP mit Java

Einführung in die OOP mit Java Einführung in die OOP mit Java Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/HTI 2011 by MOU2/TI Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Beziehungen zwischen Klassen, Packages, UML Einführung

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

Mehr

UML Eine kurze Einführung

UML Eine kurze Einführung UML Eine kurze Einführung Programmiermethodik Eva Zangerle Universität Innsbruck Modell und Diagramm Ein Modell stellt Abstraktion eines Realitätsausschnitts dar. Um Informationen verständlicher darzustellen

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen 7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface

Mehr

UML Eine kurze Einführung

UML Eine kurze Einführung UML Eine kurze Einführung Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

UML 2.1 Referenz. Version: Orientation in Objects GmbH. Weinheimer Str Mannheim.

UML 2.1 Referenz. Version: Orientation in Objects GmbH. Weinheimer Str Mannheim. UML 2.1 Referenz Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 2.1.2 www.oio.de info@oio.de Allgemeine Notationselemente Common Notation Elements Notiz {Zusicherung} Abhängigkeit

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Vererbung C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition: Block (Systembaustein) Eine Block beschreibt den Aufbau, die Eigenschaften und das Verhalten einer Komponente (eines Systems)

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

Überblick. Überblick zum weiteren Inhalt

Überblick. Überblick zum weiteren Inhalt Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage Martin Fowler, Kendall Scott UML konzentriert Eine strukturierte Einführung in die Standard-Objektmodellierungssprache 2., aktualisierte Auflage Deutsche Übersetzung von Arnulf Mester, Michael Sczittnick

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

Mehr

Spezifikation, Klassen, Schnittstellen in Java. 2.4 Datenabstraktion, Objektorientierung, Java

Spezifikation, Klassen, Schnittstellen in Java. 2.4 Datenabstraktion, Objektorientierung, Java Spezifikation, Klassen, Schnittstellen in Java 2.4 Datenabstraktion, Objektorientierung, Java 2.4.1 Grundlegende Begriffe der Objektorientierung (s. auch Alp2) Klassen sind wie Module eine Einheit der

Mehr

Ersetzbarkeit und Verhalten

Ersetzbarkeit und Verhalten Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Einführung in die Programmiersprache Java II

Einführung in die Programmiersprache Java II Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung

Mehr

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert IT kompakt UML 2 kompakt mit Checklisten Bearbeitet von Heide Balzert 1. Auflage 2010. Taschenbuch. viii, 92 S. Paperback ISBN 978 3 8274 2506 5 Format (B x L): 12,7 x 19 cm Gewicht: 113 g Weitere Fachgebiete

Mehr

Inhalte der Veranstaltung

Inhalte der Veranstaltung Inhalte der Veranstaltung 5. Anwendungssysteme 5-4 6. Entwurf von Anwendungssystemen 6.1 Datenmodellierung 6-1 6.2 Geschäftsprozessmodellierung 6-32 6.3 Entwurf von Datenbanken 6-79 6.4 Nutzung von Datenbanken

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung 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

Mehr

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme 6. Weitere Strukturdiagramme Objektdiagramm Komponentendiagramm Paketdiagramm 1 6.1 Objekte Ausprägungsspezifikation von Klassen und Assoziationen 2 Definition Das Objektdiagramm zeigt eine bestimmte Sicht

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Comelio GmbH - Goethestr Berlin. Course Catalog

Comelio GmbH - Goethestr Berlin. Course Catalog Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. UML... 4 i. Design und Analyse... 4 ii. Notation und Konzepte...6 iii. OCUP Zertifizierung (Advanced)...8

Mehr

Objektorientierte Modellierung

Objektorientierte Modellierung Objektorientierte Modellierung KLASSENDIAGRAMM Klasse = Typebene zum Beschreiben mehrerer Objekte der selben Struktur Objekt = konkrete Ausprägung einer Klasse Instanz = Objekt Klassendiagramm = beschreibt

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete 2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen

Mehr