Einführung. Einführung

Größe: px
Ab Seite anzeigen:

Download "Einführung. Einführung"

Transkript

1 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 weiterzuentwickeln. Es entstand zunächst der Vorgänger der Unified Modeling Language (UML), der unter dem Namen Unified Method 0.8 publiziert wurde. Seit Herbst 1995 wirkte auch Ivar Jacobson an der Entwicklung der UML mit. Im Oktober 1996 wurde die Version 0.91 der UML veröffentlicht. Im September 1997 wurde die Version 1.1 der UML publiziert, in die zusätzlich die Ideen verschiedener UML- Partner eingeflossen sind. Die UML 1.1 wurde von der Object Management Group (OMG) im November 1997 als Standard verabschiedet. Die Weiterentwicklung der UML wurde vollständig an die OMG übertragen. Im Juli 1998 wurde von der OMG die UML 1.2 intern freigegeben. Alle Änderungen waren redaktionell und hatten keine Auswirkungen auf den technischen Inhalt. Im Juni 1999 publizierte die OMG die UML 1.3. Wichtige Verbesserungen waren die Beseitigung von Inkonsistenzen zwischen verschiedenen Dokumenten. Außerdem wurden Definitionen und Erklärungen präziser beschrieben. Auch inhaltlich wurden geringfügige Änderungen vorgenommen. Im Mai 2002 erschien die UML 1.4, die kleinere Verbesserungen und einige Erweiterungen enthielt. Auch die UML 1.5, die im März 2003 veröffentlicht wurde, enthielt kleinere Korrekturen. Eine umfangreiche Überarbeitung führte zur UML 2.0, die gegenüber der Version 1.x wesentliche Erweiterungen und Änderungen enthält. Das betrifft beispielsweise die Aktivitäts- und Sequenzdiagramme. Außerdem wurde das Metamodell, d. h. das UML-Modell zur Spezifikation der UML, vollständig überarbeitet. Die ersten Dokumente wurden von der OMG im August 2003 veröffentlicht. Im Oktober 2004 wurde eine korrigierte Version dieses Dokuments fertiggestellt und im 1. Quartal 2005 öffentlich publiziert. In den weiteren Jahren folgten weitere Versionen mit Änderungen und Ergänzungen. Im Februar 2009 wurde die UML 2.2 publiziert. Sie ist bei Drucklegung dieses Buchs die offizielle UML-Version der OMG und wird in diesem Buch verwendet. 1

2 UML-Notationselemente UML-Notationselemente Objekt In der objektorientierten Softwareentwicklung besitzt ein Objekt (object) einen bestimmten Zustand und reagiert mit einem definierten Verhalten auf seine Umgebung. Außerdem besitzt jedes Objekt eine Identität, die es von allen anderen Objekten unterscheidet. Ein Objekt kann ein oder mehrere andere Objekte kennen. Man spricht von Objektbeziehungen (links) zwischen Objekten. Der Zustand (state) eines Objekts umfasst die Attribute bzw. deren aktuelle Werte und die jeweiligen Objektbeziehungen zu anderen Objekten. Attribute sind inhärente, unveränderliche Merkmale des Objekts, während die Attributwerte Änderungen unterliegen können. Das Verhalten (behavior) eines Objekts wird durch eine Menge von Operationen beschrieben. Eine Änderung oder eine Abfrage des Zustandes ist nur mittels der Operationen möglich. Das Objekt wird in der UML als Rechteck dargestellt, das in zwei Felder aufgeteilt werden kann. Im oberen Feld wird das Objekt wie folgt bezeichnet: :Klasse bei einem anonymen Objekt wird nur der Klassenname angegeben. objekt:klasse wenn das Objekt über einen Namen angesprochen werden soll. objekt wenn der Objektname ausreicht, um das Objekt zu identifizieren und der Name der Klasse aus dem Kontext ersichtlich ist. Die Bezeichnung eines Objekts wird immer unterstrichen. Objektnamen beginnen in der UML mit einem Kleinbuchstaben, Klassennamen mit einem Großbuchstaben. Anonyme Objekte werden verwendet, wenn es sich um irgendein Objekt der Klasse handelt. Objektnamen dienen dazu, ein bestimmtes Objekt der Klasse für den Systemanalytiker zu benennen. 2

3 Objekt Im unteren Feld werden optional die im jeweiligen Kontext relevanten Attribute des Objekts eingetragen. Die UML ermöglicht folgende Alternativen: attribut : Typ = Wert attribut = Wert empfehlenswert, da anhand des Werts oft erkannt werden kann, um welche Art von Typ es sich handelt. attribut sinnvoll, wenn der Wert des Attributs nicht von Interesse ist. Objekte und ihre Ob - jektbeziehungen untereinander werden im Objektdiagramm (object diagram) spezifiziert. Es beschreibt Objekte, Attributwerte und Objektbeziehungen zwischen Objekten zu einem bestimmten Zeitpunkt. Objektdiagramme sind sozusagen Momentaufnahmen bzw. Schnappschüsse des Systems. Meistens werden anonyme Objekte verwendet. Konkrete Objekte sind nur in Ausnahmefällen interessant. Zustand (Daten) und Verhalten (Operationen) eines Objekts bilden eine Einheit. Die Daten eines Objekts können nur mittels Operationen gelesen und geändert werden (Geheimnisprinzip). Die Objektidentität (object identity) ist die Eigenschaft, die ein Objekt von allen anderen Objekten unterscheidet. Sie bedeutet, dass alle Objekte aufgrund ihrer Existenz unterscheidbar sind, auch wenn sie zufällig identische Attributwerte besitzen. Die Identität eines Objekts kann sich nicht ändern. Keine zwei Objekte können dieselbe Identität besitzen. Besitzen zwei Objekte mit unterschiedlichen Identitäten dieselben Attributwerte, so spricht man von der Gleichheit der Objekte. Der Objektname identifiziert ein Objekt im Objektdiagramm. Im Gegensatz zur Objektidentität muss er nur im betrachteten Kontext, d. h. innerhalb eines Diagramms, eindeutig sein. Besitzen Objekte in verschiedenen Diagrammen denselben Namen, so kann es sich um unterschiedliche Objekte handeln. Alle gleichartigen Objekte, d. h. Objekte mit denselben Operationen und gleichen Attributen aber im Allgemeinen unterschiedlichen Attributwerten! gehören zu der gleichen Klasse. Jedes Objekt ist Exemplar einer Klasse. 3

4 UML-Notationselemente Stereotyp Bei der Definition vieler UML-Elemente wird das Konzept der Stereotypen (stereotype) verwendet. Es ermöglicht, existierende Modellelemente mit einer geänderten Semantik zu versehen. Beispielsweise gibt der Stereotyp «enumeration» an, dass zwar das Klassensymbol verwendet wird, es sich aber nicht um eine»normale«klasse handelt, sondern das Klassensymbol zur Spezifikation eines Aufzählungstyps verwendet wird (Abbildung unter Attributtyp). Die UML bietet eine Reihe von vordefinierten Stereotypen, die auch Schlüsselworte (keywords) genannt werden. Der UML-Modellierer kann selbst weitere Stereotypen definieren. Klasse Eine Klasse (class) definiert für eine Kollektion von Objekten deren Struktur (Attribute), Verhalten (Operationen) und Beziehungen (Assoziationen und Generalisierungsstrukturen). Sie besitzt einen Mechanismus, um neue Objekte zu erzeugen (object factory). Das Verhalten (behavior) einer Klasse wird durch die Nachrichten beschrieben, auf die diese Klasse bzw. deren Objekte reagieren können. Eine Nachricht (message) aktiviert eine Operation gleichen Namens. Die Klassensymbole werden zusammen mit weiteren Symbolen, z. B. Assoziation und Generalisierung, in das Klassendiagramm eingetragen. Bei großen Systemen ist es im Allgemeinen sinnvoll oder notwendig, mehrere Klassendiagramme zu erstellen. Der Klassenname ist ein Substantiv im Singular. Er beschreibt also ein einzelnes Objekt der Klasse. Beispiele: Mitarbeiter, PKW, Kunde. 4

5 Parametrisierte Klasse Der Klassenname muss innerhalb eines Pakets, besser jedoch innerhalb des gesamten Systems, eindeutig sein. Bei Bedarf wird er in der UML wie folgt erweitert: Paket::Klasse. Classifier Das Konzept des Classifiers ist neu in der UML 2. Man kann sich das Konzept des Classifiers ganz grob als Verallgemeinerung des Klassenkonzepts vorstellen. Da viele Elemente der UML ähnliche Eigenschaften wie die Klasse besitzen, werden diese Eigenschaften im Classifier zusammengefasst und von dort an die jeweiligen Elemente vererbt. Die Abbildung zeigt einen Ausschnitt aus dem Metamodell der UML 2. Der Classifier wird in UML-Modellen nicht direkt verwendet, sondern nur zur Spezifikation des Metamodells und Definition der UML-Konzepte benötigt. Parametrisierte Klasse Eine parametrisierte Klasse (parameterized class, template) ist eine Beschreibung einer Klasse mit einem oder mehreren formalen Parametern. Sie definiert daher eine Familie von Klassen. Jeder Parameter besteht aus dem Namen und dem Typ. Der Typ entfällt, wenn der Parametername bereits einen Typ darstellt. Die Parameterliste darf nicht leer sein. Mehrere Parameter in der Liste werden durch Kommata 5

6 UML-Notationselemente getrennt. Eine parametrisierte Klasse kann Attribute enthalten, die abhängig von den Parametern definiert sind. Damit eine parametrisierte Klasse benutzt werden kann, müssen deren formale Parameter an aktuelle Parameter gebunden werden. Die parametrisierte Klasse wird auch als generische Klasse bezeichnet. Das Binden bzw. die Bindung einer konkreten Klasse an eine parametrisierte Klasse geschieht mithilfe des Generalisierungspfeils und einer gestrichelten Linie, die mit dem Stereotypen «bind» beschriftet ist. Die Zuordnung der aktuellen an die formalen Parameter erfolgt in der Form: formalerparameter->aktuellerparameter, wobei es sich bei dem aktuellen Parameter um einen Typ oder einen Wert handeln kann. Die parametrisierte Klasse Queue besitzt die üblichen Operationen insert() und delete(). Der Parameter T beschreibt einen Typ. Daher sind für diesen Parameter keine weiteren Angaben notwendig. Der Parameter n vom Typ int gibt die maximale Größe der Queue an und besitzt den voreingestellten Wert 5. Welche und wie viele Elemente die Queue verwalten soll, wird (noch) nicht bestimmt. Daher wird das Attribut queue mithilfe des Typs T und der Multiplizität [0..n] definiert. Diese parametrisierte Klasse bildet die Vorlage für die»normalen«klassen. Bei der Klasse Adressbuch wird der Parameter T mit Person und der Parameter n mit dem Wert 100 ersetzt. Im Adressbuch können also maximal 100 Personen gespeichert werden. Bei der Klasse FloatQueue wird nur der Parameter T durch den Parameter float ersetzt. Da für den Parameter n keine Angabe erfolgt, wird der voreingestellte Wert übernommen. In einem Objekt dieser Klasse können also maximal 5 Zahlen vom Typ float gespeichert werden. 6

7 Attribut Schnittstelle Eine Schnittstelle (interface) beschreibt eine oder mehrere Signaturen von Operationen. Diese abstrakten Operationen müssen nicht mit {abstract} gekennzeichnet werden, weil eine Schnittstelle keine anderen Operationen enthalten darf und eine Unterscheidung daher nicht notwendig ist. Für die Notation der Schnittstelle wird das Klassensymbol verwendet, das mit dem Schlüsselwort «interface» gekennzeichnet ist. Von Schnittstellen können im Gegensatz zur Klasse keine Objekte erzeugt werden, sondern Schnittstellen sind sozusagen»leere Hüllen«, die von Klassen realisiert werden müssen. Die Realisierung einer Schnittstelle durch eine Klasse (bzw. durch einen Classifier) bedeutet, dass alle in der Schnittstelle aufgeführten Operationen realisiert werden müssen. Eine Schnittstelle kann auch durch mehrere Classifier realisiert werden. Umgekehrt kann ein Classifier beliebig viele Schnittstellen realisieren. Schnittstellen werden modelliert, um von anderen Klassen benutzt zu werden. Die benutzende Klasse muss nicht wissen, wie die Schnittstelle realisiert ist, sondern ihr reicht das extern wahrnehmbare Verhalten. Attribut Attribute (attributes) beschreiben die Daten, die von den Objekten einer Klasse angenommen werden können. Jedes Attribut ist von einem bestimmten Typ. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte. 7

8 UML-Notationselemente Der Attributname muss im Kontext der Klasse eindeutig sein. Außerhalb des Klassenkontextes verwendet man die Bezeichnung Klasse. attribut. Attributnamen beginnen mit einem kleinen Anfangsbuchstaben und dürfen beliebige Zeichen enthalten. Besteht der Attributname aus mehreren Wörtern, so empfiehlt die UML-Spezifikation, dass jedes neue Wort mit Ausnahme des Ersten mit einem Großbuchstaben begonnen wird. Man spricht hier von der Kamelhöcker-Notation. Ein Klassenattribut (class scope attribute) liegt vor, wenn nur ein Attributwert für alle Objekte einer Klasse existiert. Klassenattribute existieren auch dann, wenn es zu einer Klasse noch keine Objekte gibt. Um die Klassenattribute von den (Objekt-)Attributen zu unterscheiden, werden sie in der UML unterstrichen (z. B. klassenattribut). Der Wert eines abgeleiteten Attributs (derived attribute) kann jederzeit aus anderen Attributwerten berechnet werden. Abgeleitete Attribute werden mit dem Präfix»/«gekennzeichnet. Ein abgeleitetes Attribut darf nicht geändert werden. Attribute werden durch Angabe von Typ, Multiplizität, Anfangswert und Eigenschaftswerten spezifiziert. Attributtypen (siehe unten) können Datentypen oder selbst wieder Klassen sein. Für ein Attribut kann die Multiplizität (multiplicity) definiert werden. Diese Angabe erfolgt in eckigen Klammern. Sind bei der Multiplizität die untere und obere Angabe identisch, dann reicht ein einziger Wert, d. h. [5..5] = [5]. Ist die untere Grenze gleich null und die obere Grenze unspezifiziert, dann gilt [0..*] = [*]. Die Multiplizität [1] = [1..1] bedeutet, dass das Attribut genau einen Wert besitzt. Das heißt, dass dieser Wert beim Erzeugen eines Objekts der Klasse eingetragen werden muss. Falls keine Multiplizität angegeben wird, gilt [1] als Voreinstellung. Soll ausgedrückt werden, dass es sich um ein optionales Attribut handelt, das irgendwann einmal einen Wert erhalten kann, so muss die Multiplizität [0..1] angegeben werden. Ist die Obergrenze der Multiplizität größer als 1, dann handelt es sich um ein Attribut, das aus mehreren Werten bestehen kann. Der Anfangswert (default) legt fest, welchen Wert ein neu erzeugtes Objekt für dieses Attribut annimmt. Dieser Wert kann später geändert werden. 8

9 Attribut Eigenschaftswerte (property strings) spezifizieren, ob die Attribute bestimmte Eigenschaften oder Merkmale besitzen. Sie werden in geschweiften Klammern angegeben und mehrere Eigenschaftswerte werden durch Komma getrennt. Für Attribute bietet die UML standardmäßig folgende Eigenschaftswerte: readonly: Attributwert darf nicht mehr geändert werden. z. B. kontonr {readonly} subsets: Attribut besteht aus einer Menge von Werten. Die zulässigen Attributwerte bilden eine Teilmenge eines anderen Attributs. z. B. gerade Ziffern {subsets ziffern} mit den Werten 2, 4, 6, 8 und ungerade Ziffern {subsets ziffern} mit den Werten 1, 3, 5, 7, 9 und nullziffer {subsets ziffern} mit dem Wert 0. union: Attribut besteht aus einer Menge von Werten. Es ergibt sich aus der Vereinigung aller mit subsets definierten Teilmengen. z. B. ziffern {union} ordered: Wenn ein Attribut aus mehreren Werten besteht, dann wird dadurch festgelegt, dass sie geordnet sind. Besteht das Attribut nur aus einem Element, dann hat dieser Eigenschaftswert keine Wirkung. z. B. vorname[1..3] {ordered} mit den Attributwerten: Daniela, Maria, Elke. unique: Besteht das Attribut aus einer Menge von Werten, dann dürfen keine Duplikate vorkommen. z. B. lottozahlen[6] {unique} mit den Attributwerten: 7, 11, 14, 22, 31, 35. nonunique: Besteht das Attribut aus einer Menge von Werten, dann sind Duplikate erlaubt. z. B. noten[1..5] {nonunique} mit den Attributwerten: 1.0, , 2.0, 2.3. redefines: Attribut überschreibt eine geerbte Attributdefinition. In der Abbildung erbt die Klasse Mitarbeiter das Attribut nr und redefiniert es mit dem Namen personalnr. Für Attribute können Einschränkungen (constraints) in umgangs - sprachlicher oder in maschinenlesbarer Form definiert werden. Eine Einschränkung ist eine Invariante bzw. eine Zusicherung, die immer wahr sein muss. Einschränkungen werden als Text in 9

10 UML-Notationselemente geschweiften Klammern angegeben. Sie können durch die Modellierer beliebig spezifiziert werden und sich auf ein oder mehrere Attribute beziehen. Für jedes Attribut wird im Entwurf die Sichtbarkeit (visibility) angegeben. Die UML unterscheidet folgende Arten: public: sichtbar für alle Klassen, protected: sichtbar für alle Unterklassen und innerhalb der Klasse, private: sichtbar nur innerhalb der Klasse, package: sichtbar innerhalb des Paktes. Attributtyp Der Typ von Attributen kann in der UML modelliert werden durch: Datentypen, primitive Datentypen als Sonderfall der Datentypen, Aufzählungstypen als Sonderfall der Datentypen, Klassen. 10

11

1.4 Attribute die objektorientierten Datenfelder

1.4 Attribute die objektorientierten Datenfelder 1.4 Attribute 21 1.4 Attribute die objektorientierten Datenfelder Die Attribute beschreiben die Daten, die von den Objekten einer Klasse angenommen werden können. Jedes Attribut ist von einem bestimmten

Mehr

Grundbegriffe der Objektorientierung

Grundbegriffe der Objektorientierung Grundbegriffe der Objektorientierung Objekt Merkmale Zustand Verhalten Lebenszyklus Beziehungen zwischen Objekten Kategorisierung von Objekten Grundbegriffe der Objektorientierung Objekt Merkmale Zustand

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

Klassendiagramm. (class diagram)

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

Mehr

Einführung in die Unified Modeling Language (UML)

Einführung in die Unified Modeling Language (UML) Einführung in die Unified Modeling Language (UML) Hausarbeit zum Proseminar Datenbanken Wintersemester 2002/03 Seminarleitung: Dr. Christoph Draxler Verfasserin: Michaela Geierhos Centrum für Informations-

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

Software Engineering. 6. Klassendiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 6. Klassendiagramme. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 6. Klassendiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 6. Klassendiagramme 2 Klassendiagramme Wichtigster Diagrammtyp in UML Statische objekt-orientierte

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

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

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

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

J.2 Objektorientiertes Modellieren mit UML

J.2 Objektorientiertes Modellieren mit UML Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

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

Objektorientierte Analyse (OOA) Logischer Aufbau (statische Sicht)

Objektorientierte Analyse (OOA) Logischer Aufbau (statische Sicht) Inhalte Klassen(-Diagramm) Objekte Assoziation Multiplizität Aggregation Vererbung Logischer Aufbau (statische Sicht) OOA-Muster Model-View-Controller Konzept (MVC) - noch in Arbeit Seite 1 Klassen Eine

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

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

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

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

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:

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

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

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

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Kapitel KLASSENDIAGRAMME

Kapitel KLASSENDIAGRAMME Kapitel KLASSENDIAGRAMME 5.1 Klassendiagramm Objekt Darstellung im Objektdiagramm Objektidentität Kapselung und Geheimnisprinzip 5.2 Klasse Abstrakte Klasse, Klassenname Wurzelklasse 5.3 Assoziation Abgeleitete

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

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

UML-Notationselemente

UML-Notationselemente Objekt UML-Notationselemente Objekt In der objektorientierten Softwareentwick- Objekt: Klasse Objekt Attribut1 = Wert1 lung besitzt ein Objekt (object) einen be- Attribut2 = Wert2 :Klasse stimmten Zustand

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II SS 2011 3 Objektorientierter Entwurf mit UML und Java Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 25.-29. April 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/index.html Datenbankentwurf Der Entwurf

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,

Mehr

Software-Entwicklung: Konzepte der Objektorientierung

Software-Entwicklung: Konzepte der Objektorientierung Software-Entwicklung: Konzepte der Objektorientierung 1 Übersicht Objektorientierte Softwareentwicklung Klasse und Objekt Attribut und Operation Schnittstelle Taxonomie und Vererbung Weitere Begriffe 2

Mehr

Objekt-Orientierte Programmierung

Objekt-Orientierte Programmierung Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Objektmodellierung 2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Erklären

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

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,

Mehr

Technische Dokumentation

Technische Dokumentation Technische Dokumentation der Ontologie Wärmedämmung des Projekts EcoNavi Erstellt für: Bremer Umweltberatung Hamburg, Juli 2005-1 - Inhaltsverzeichnis Einleitung... 2 Aufbau einer Ontologie... 3 Ontologieeditor

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Modellarbeit I: Entwurfsgerechte Klassenmodellierung

Modellarbeit I: Entwurfsgerechte Klassenmodellierung Modellarbeit I: Entwurfsgerechte Klassenmodellierung Vom Analysemodell zum Entwurfsmodell Nach der Etablierung der Techologien: Überarbeitung des Fachlichen Modells zu einem geeigneten Entwurfsmodell Navigationen

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 XMI & Java von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 1. XMI XML Metadata Interchange - Ziele und Historie - Metamodellarchitektur der OMG und MOF - XMI Dokumente und XMI DTD Ziele und Historie

Mehr

Erstellung von Bibliotheken in CoDeSys V3

Erstellung von Bibliotheken in CoDeSys V3 Dokument Version 2.0 3S - Smart Software Solutions GmbH Seite 1 von 10 INHALT 1 EINFÜHRUNG 3 2 BIBLIOTHEKSKONZEPT IM DETAIL 4 2.1 Kategorien von Bibliotheken 4 2.1.1 System 4 2.1.2 Internal 4 2.1.3 Application

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

BiPRO-Datenmodell. Fachliche Datenmodelle Grundlagen Datenmodellierung Objektdiagramme. Markus Leusch Normungsteam BiPRO e.v.

BiPRO-Datenmodell. Fachliche Datenmodelle Grundlagen Datenmodellierung Objektdiagramme. Markus Leusch Normungsteam BiPRO e.v. BiPRO-Datenmodell Fachliche Datenmodelle Grundlagen Datenmodellierung Objektdiagramme Markus Leusch Normungsteam BiPRO e.v. Fachliche Datenmodelle Aufbau Gliederung in Teilmodelle Hierarchisch nach Themen

Mehr

Darstellung von Assoziationen

Darstellung von Assoziationen Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

Mehr

Objektorientierte Systemanalyse

Objektorientierte Systemanalyse Stammdaten verwalten Lieferaufträge bearbeiten Kundenaufträge bearbeiten Auftrag AuftragsPosition KundenAuftrag LieferAuftrag Artikel Kunde Lieferant :KundenAuftrag :AuftragsPosition :Artikel Objektorientierte

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:

Mehr

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation. UML Was ist UML UML (=Unified Modeling Language) ist eine weit verbreitete, standardisierte Notationsschrift, die das grafische Darstellen von Software-Systemen ermöglicht und dadurch eine grosse Unterstützung

Mehr

1.1 Einführung 11. Grundbegriffe der objektorientierten Softwareentwicklung

1.1 Einführung 11. Grundbegriffe der objektorientierten Softwareentwicklung 1.1 Einführung 11 1 Grundbegriffe der objektorientierten Softwareentwicklung 12 1 Grundbegriffe der objektorientierten Softwareentwicklung 1 Grundbegriffe der objektorientierten Softwareentwicklung 1.1

Mehr

Grundlagen der Softwaretechnik

Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Übersicht der UML Diagramme

Übersicht der UML Diagramme Dieser Fachbeitrag ist ein Service der InfraSoft Profis für Ihre professionelle Softwareentwicklung. Übersicht der UML Diagramme Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

Mehr

Automatisierung industrieller. Workflows. Teil B: Die Spache UML

Automatisierung industrieller. Workflows. Teil B: Die Spache UML Automatisierung industrieller Teil B: Die Spache UML Joachim Fischer WS 2014/15 B.4-1 Original formuliert als Fragensammlung Bewertung / Rückschlüsse / Modellverbesserung reales bzw. gedachtes Phänomen

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Objektorientierte Softwareentwicklung mit UML

Objektorientierte Softwareentwicklung mit UML Objektorientierte Softwareentwicklung mit UML Peter Forbrig ISBN 3-446-40572-0 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40572-0 sowie im Buchhandel 12 1 Grundbegriffe

Mehr