Teil II: OOP und JAVA (Vorlesung 9)

Größe: px
Ab Seite anzeigen:

Download "Teil II: OOP und JAVA (Vorlesung 9)"

Transkript

1 Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12)

2 Teil 4 - UML Klassendiagramme Zustandsdiagramme Sequenzdiagramme 2

3 Sichtweisen auf das System In UML können verschiedene Sichtweisen auf ein System anschaulich modelliert werden. Für den Anwender (bzw. Kunde) existiert das Anwendungsfalldiagramm. Das Klassendiagramm repräsentiert ein Model für den Code eines Systems und ist somit sehr hilfreich für den Programmierer. Aber es ist sehr technisch und deshalb nicht für alle Anwender geeignet. 3 Grundlagen der Programmierung II

4 Klassendiagramm Im folgenden Abschnitt werden die wichtigsten Elemente für die grundlegende Strukturmodellierung in UML vorgestellt. Insbesondere wird dabei auf die Begriffe Klasse (Class) und Beziehung (Relationship) eingegangen. 4 Grundlagen der Programmierung II

5 Klassen Klassen sind die wichtigsten Bestandteile eines Objektorientierten Systems. Eine Klasse ist die Beschreibung einer Menge von Objekten, die deren Attribute, Operationen, Beziehungen und semantischen Aspekte miteinander gemeinsam haben. 5 Grundlagen der Programmierung II

6 Klassen Grafisch wird eine Klasse als Rechteck dargestellt. Der Name einer Klasse muss dabei eindeutig sein. Klassenname Beispiele: Person Kunde Auto 6 Grundlagen der Programmierung II

7 Attribute Eine Klasse hat beliebig viele Attribute. Ein Attribut ist eine benannte Eigenschaft einer Klasse mit einem konkreten Wertebereich. Entsprechend wird jedem Attribut ein Typ und eventuell ein Anfangswert zugeordnet. Klassenname attribut1 : typ attribut2 : typ = wert 7 Grundlagen der Programmierung II

8 Operationen Eine Klasse hat beliebig viele Operationen ( Methoden). Eine Operation ist die Implementierung eines Dienstes, der von jedem Objekt der Klasse zur Verhaltensbeeinflussung aufgerufen werden kann. Eine Operation kann (max.) einen Rückgabewert und beliebig viele Parameter haben. Signatur Klassenname operation1() operation2(t : typ1) operation3(x : typ2) : typ3 8 Grundlagen der Programmierung II

9 Klassen mit Attributen und Operationen Beispiele: Person Kunde Auto name : String alter : int laufen() kundennr : int name : String adresse : String umsatz : float = 0 kmh : int beschleunigen() bremsen() telefonieren() umziehen() : String 9 Grundlagen der Programmierung II

10 Beziehungen Beim Erstellen von Abstraktionen sieht man, dass nur sehr wenige Klassen isoliert stehen. Die meisten Klassen arbeiten auf vielfältige Weise mit anderen Klassen zusammen. Bei der Modellierung von Systemen muss man daher nicht nur die einzelnen Klassen identifizieren aus denen es besteht, sondern auch modellieren, wie diese Elemente (Klassen) zusammenhängen. Zwei wichtige Arten von Beziehungen in der Objektorientierten Modellierung sind: Generalisierung und Assoziation. 10 Grundlagen der Programmierung II

11 Generalisierungen Eine Generalisierung ist eine Beziehung zwischen einer allgemeineren (Oberklasse) und einem spezialisierteren Element (Unterklasse) : Eine Unterklasse erbt alle Attribute und Operationen der Oberklasse, kann aber noch zusätzliche Attribute und Operationen haben. Ein Klasse ohne Oberklassen heißt Basisklasse. Bei einer Klasse mit mehreren Oberklassen spricht man von der Mehrfachvererbung. 11 Grundlagen der Programmierung II

12 Generalisierungen Grafisch wird die Generalisierung in UML als durchgezogener Pfeil mit einer großen offenen Spitze auf die Oberklasse dargestellt. Basisklasse Generalisierung Klasse1 attribut1: typ Oberklasse und Unterklasse Klasse2 attribut2: typ Klasse3 Klasse4 Unterklasse Klasse5 Klasse6 12 Grundlagen der Programmierung II

13 Generalisierungen Beispiele: Auto kmh: int Person name : String PKW Student matrikelnr : int Professor lehrstuhl : String 13 Grundlagen der Programmierung II

14 Assoziationen Eine Assoziation ist eine strukturelle Beziehung, die spezifiziert, dass Objekte eines Elements (Klasse) mit Objekten eines anderen Elements zusammen hängen: Man verwendet Assoziationen, um strukturelle Beziehungen darzustellen. Es sind binäre, n-äre und auch reflexive (auf sich selbst beziehende) Assoziationen möglich. 14 Grundlagen der Programmierung II

15 Assoziationen Grafisch wird eine Assoziation durch eine durchgezogene Linie zwischen den beteiligten Klassen repräsentiert. Klasse1 Klasse5 Klasse1 Klasse2 binäre Assoziation reflexive Assoziation Klasse3 Klasse4 n-äre Assoziation (n=3) 15 Grundlagen der Programmierung II

16 Assoziationen Eine Assoziation kann mit den folgenden (optionalen) Details versehen werden: Name (mit oder ohne Richtung) Rolle Multiplizität (Kardinalität) Aggregation Komposition 16 Grundlagen der Programmierung II

17 Assoziationen - Name Durch eine Assoziation mit Namen lässt sich die Natur einer Beziehung besser beschreiben. Um die Bedeutung zu spezifizieren, kann optional eine Namensrichtung angegeben werden. Beispiel: Name Namensrichtung Person arbeitet für Unternehmen 17 Grundlagen der Programmierung II

18 Assoziationen - Rolle Die an einer Assoziation beteiligten Klassen haben bestimme Rollen, die man explizit benennen kann, um deren Bedeutung genauer zu spezifizieren. Beispiel: Rollenname Rollenname Person Arbeitnehmer arbeitet für Arbeitgeber Unternehmen 18 Grundlagen der Programmierung II

19 Assoziationen - Multiplizität Mit der Multiplizität oder Kardinalität kann man zeigen, wie viele Objekte einer Klasse mit einem Objekt einer anderen Klasse in Beziehung stehen. Hierbei ist die Angabe einer einzelnen Zahl n oder eines Wertebereiches n..m (bzw. n..* ) möglich, wobei der * für eine beliebige Anzahl steht. In der grafischen Darstellung wird die Multiplizität direkt neben der zugehörigen Klasse notiert. 19 Grundlagen der Programmierung II

20 Assoziationen - Multiplizität Beispiel: Eine Person kann bei keiner oder mehreren Firmen beschäftigt sein. In einem Großunternehmen arbeiten mindestens 1000 Personen. Person * 0..n Großunternehmen Multiplizität Multiplizität 20 Grundlagen der Programmierung II

21 Assoziationen - Multiplizität Ein weiteres Beispiel: Ein Lehrer gibt beliebig viele Kurse, jeder Kurs wird aber nur von genau einem Lehrer geleitet. Ein Schüler besucht 5 bis 10 Kurse und jeder Kurs besteht aus 15 bis 30 Teilnehmern. Lehrer 1 leitet 0..* Kurs besucht Schüler Grundlagen der Programmierung II

22 Assoziationen - Aggregation Bei einer einfachen Assoziation sind die beteiligten Klassen gleichberechtigt. Manchmal möchte man aber eine hierarchische Beziehung zwischen einem Ganzen und seinen Teilen modellieren. Die Aggregation ist eine Sonderform der Assoziation. Sie realisiert eine hat-ein-beziehung und bedeutet, dass ein Objekt des Ganzen (mehrere) Objekte als Teile besitzt. 22 Grundlagen der Programmierung II

23 Assoziationen - Aggregation Grafisch wird eine Aggregation dargestellt, indem man die durchgezogene Linie der Assoziation an dem des Ganzen zugewandten Ende, mit einer Raute versieht. Klasse1 Ganzes Aggregation Klasse2 Teil 23 Grundlagen der Programmierung II

24 Assoziationen - Aggregation Beispiele: Rad PKW 1 1 Motor Rad und Motor können alleine existieren Buch titel verlag 1 2..n Kapitel titel kapnr 1 1..n Abschnitt abschnittnr seitenzahl Ebenso Kaptitel und Abschnitt 24 Grundlagen der Programmierung II

25 Assoziationen - Komposition Die Komposition ist eine starke Form der Aggregation. Auch hier sprechen wir vom Ganzen und seinen Teilen. Im Unterschied zur Aggregation gilt zusätzlich: Jedes Teilobjekt kann nur Komponente eines einzigen Objekts der Aggregatklasse sein (Kardinalität =1). Wird das Ganze kopiert, so werden auch seine Teile kopiert. Wird das Ganze gelöscht, so werden auch seine Teile gelöscht. 25 Grundlagen der Programmierung II

26 Assoziationen - Komposition Eine Komposition wird grafisch dargestellt, indem man die durchgezogene Linie der Assoziation an dem des Ganzen zugewandten Ende, mit einer schwarz gefüllten Raute versieht. Klasse1 Ganzes 1 Komposition Klasse2 Teil 26 Grundlagen der Programmierung II

27 Assoziationen - Komposition Beispiel: Verzeichnis 1 * Datei Die Datei kann nicht ohne das Verzeichnis existieren 27 Grundlagen der Programmierung II

28 Überblick Beziehungen Grafisch werden die verschiedenen Beziehungen durch verschiedene Linienarten dargestellt: Generalisierung durchgezogener Pfeil mit offener Spitze Assoziation durchgezogene Linie Aggregation durchgezogene Linie mit Raute Komposition durchgezogene Linie mit gefüllter Raute 28 Grundlagen der Programmierung II

29 Beispiel Pfandmaschine Im Folgenden sollen am Beispiel eines Automaten zur Rückgabe von Pfandflaschen (Pfandmaschine), die bisher behandelten Diagrammtypen (Use Case, Class) von UML nochmals erklärt und weitere Diagrammtypen (State, Sequence) veranschaulicht werden. 29 Grundlagen der Programmierung II

30 Beispiel Pfandmaschine Grundlegende Funktionsweise: Leergut Kunde Geld oder Bon Pfandmaschine 30 Grundlagen der Programmierung II

31 Anwendungsfalldiagramm Beispiel Pfandmaschine: Akteur Beziehungen Akteur Pfandmaschine Kunde Anwendungsfall Technikerin 31 Grundlagen der Programmierung II

32 Klassendiagramm Beispiel Pfandmaschine: Pfandmaschine geld: int zahle(betrag: int) Vererbung Kardinalität Flaschen-Pfandmaschine anzflaschen: int nimm_flasche() 0...* 0,1 nimmt auf Assoziation mit Name Flasche groesse: float 32 Grundlagen der Programmierung II

33 Zustandsdiagramm Ein Zustandsdiagramm ist die graphische Darstellung eines Zustandsautomaten. Ein Zustandsautomat besteht aus Zuständen und Zustandsübergängen (Transitionen). Durch ein bestimmtes Ereignis wechselt das Objekt den Zustand. Oft wird der Zustandsautomat genutzt, um für eine bestimmte Klasse den Lebenszyklus ihrer Objekte zu beschreiben. Die Klasse vererbt ihren Automaten an ihre Unterklassen. 33 Grundlagen der Programmierung II

34 Zustandsdiagramm - Darstellung Grafisch wird ein Zustand durch ein abgerundetes Viereck, das den Namen enthält, dargestellt. Der Name sollte kein Verb sein. Die Transition wird durch einen Pfeil dargestellt, der zwei Zustände verbindet. Der Anfangszustand (initial state) wird durch einen kleinen schwarzen Kreis dargestellt. Der optionale Endzustand wird durch ein Bullauge (schwarzer Kreis in kleinem Kreis) dargestellt. 34 Grundlagen der Programmierung II

35 Zustandsdiagramm Initial state Final state Zustand1 Ereignis1 Zustand2 Zustand Transition 35 Grundlagen der Programmierung II

36 Zustandsdiagramm Beispiel Pfandmaschine: (START) (ZUSTAND) bereit Fehler aufgetreten (EREIGNIS) Flasche am Sensor Flasche abgearbeitet Fehler behoben Flasche aufnehmend Fehler aufgetreten (ÜBERGANG) (ENDE) Fehler nicht behebbar Fehler bearbeitend 36 Grundlagen der Programmierung II

37 Sequenzdiagramm Ein Sequenzdiagramm zeigt die Interaktionen zwischen Objekten in ihrer zeitlichen Reihenfolge. Grafisch ist ein Sequenzdiagramm eine Art Tabelle, welche die Objekte in horizontaler Richtung darstellt und die eingesetzten Nachrichten entlang der Vertikalen zeigt. 37 Grundlagen der Programmierung II

38 Sequenzdiagramm Objekte ZEIT Nachrichten 38 Grundlagen der Programmierung II

39 Sequenzdiagramm Die Objektlebenslinie stellt die Existenz eines Objekts während eines Zeitraums dar. Grafisch wird sie durch eine senkrechte gestrichelte Linie repräsentiert. Der Kontrollfokus zeigt den Zeitraum, in dem ein Objekt eine Aktion ausführt. Grafisch wird er durch ein langes schmales Rechteck auf der Lebenslinie gekennzeichnet. 39 Grundlagen der Programmierung II

40 Sequenzdiagramm Es gibt verschiedene Arten von Nachrichten: Bei der synchronen Nachricht wartet der Sender, bis die durch seinen Aufruf ausgelöste Teilaktion beendet ist. Die Rückgabenachricht zeigt an, dass die synchrone Nachricht ihre Operation beendet hat. Bei der asynchronen Nachricht wartet der Sender nicht auf eine Antwort. 40 Grundlagen der Programmierung II

41 Sequenzdiagramm Grafisch werden die verschiedenen Arten von Nachrichten wie folgt notiert: Synchrone Nachricht durchgezogener Pfeil mit geschlossener Spitze Rückgabenachricht gestrichelter Pfeil mit offener Spitze Asynchrone Nachricht durchgezogener Pfeil mit offener Spitze 41 Grundlagen der Programmierung II

42 Sequenzdiagramm Objekte Objekt2 Objekt1 Lebenslinien ZEIT Methode1() Kontrollfokus ACKNOWLEDGEMENT Kontrollfokus Nachrichten 42 Grundlagen der Programmierung II

43 Sequenzdiagramm Beispiel Pfandmaschine: Pfandmaschine Objekte Flaschenmechanik ZEIT aufnehmen(flasche) Flasche_aufgenommen Kontrollfokus Kontrollfokus Nachrichten Lebenslinien 43 Grundlagen der Programmierung II

44 Anwendungsfalldiagramm Hinzunahme der Bezahlung und Verfeinerung der Reservierung: Tourist Reservierung Zimmer buchen «include» bezahlen «include» Zimmer grundreinigen «include» Minibar auffüllen Receptionist Zimmer vermieten extension point: prüfe Zimmerzustand «include» Belegplan prüfen «extends» Putzkolone beauftragen «Vorbedingung» {Zimmer ungereinigt} Zimmer reinigen Putzkolonne Problem bei dieser Modellierung? 44 Grundlagen der Programmierung II

45 Fragen zur Modellierung Beispiel Reservierung: Problem: Receptionist kann die Putzkolonne nur während der Zimmer-Vermietung beauftragen. D.h. wenn es keine Gäste gibt bleiben die Zimmer für immer schmutzig. Beachten Sie: Wir haben jetzt einen Use Case Zimmer buchen für den Tourist und einen Use Case Zimmer vermieten für den Receptionist. 45 Grundlagen der Programmierung II

46 Sequenzdiagramm Beispiel: Zimmer-Reservierung Tourist Receptionist Hotelzimmer Zimmer_buchen Belegplan_ prüfen ZEIT Rechung_stellen (Preis) Geld Zimmer frei Schlüssel 46 Grundlagen der Programmierung II

PRG2. Teil II: OOP und JAVA Teil III: Datenbanken. Modul: Programmierung B-PRG Grundlagen der Programmierung II

PRG2. Teil II: OOP und JAVA Teil III: Datenbanken. Modul: Programmierung B-PRG Grundlagen der Programmierung II PRG2 Teil II: OOP und JAVA Teil III: Datenbanken Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 1

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

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

Ü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

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

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

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

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

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

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

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

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Tabellarische Kurzreferenz der UML-Elemente

Tabellarische Kurzreferenz der UML-Elemente Tabellarische Kurzreferenz der UML-Elemente Version 2.0 Vanessa Petrausch 1 Klassendiagramm Die folgenden Tabellen fassen die einzelnen Elemente abstrahiert zusammen. In Spalte 1 steht der Name des Elements,

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Objektorientierung Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

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

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

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

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

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

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

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

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

Teil 2: OOP und JAVA (Vorlesung 11)

Teil 2: OOP und JAVA (Vorlesung 11) Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil

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

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

Klassendiagramm. (class diagram)

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

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

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

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

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

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

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

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

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung Muster in der Software Technik Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung Grundlagen für die weitere Vorlesung: Aktivitäten und Prozesse der Software Entwicklung Objektorientierte

Mehr

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

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

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

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

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

4. Übung zu Software Engineering

4. Übung zu Software Engineering 4. Übung zu Software Engineering WS 2007/2008 Aufgabe 8 Erstellen Sie für den aus Aufgabe 1 bekannten Function-Point-Kalkulator ein Pflichtenheft. Bitte begrenzen Sie dessen Umfang auf maximal 2 DIN A4

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

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

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

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

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

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

Anwendungsfalldiagramm UseCaseDiagramm

Anwendungsfalldiagramm UseCaseDiagramm Anwendungsfalldiagramm UseCaseDiagramm Notation und Beispiele Prof. DI Dr. Erich Gams htl wels.e.gams@eduhi.at UML Seminar HTL-Wels 2010 Anwendungsfall und SE Prozess Ein Anwendungsfalldiagramm ist ein

Mehr

ANWENDUNGSFALLDIAGRAMM:

ANWENDUNGSFALLDIAGRAMM: EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen

Mehr

Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben?

Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben? A u f g abe 1 : a ) Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein Beispiel fur eine Klasse mit mindestens je 3 Attributen und je 3 Operationen. Finden Sie zu dieser Klasse mindestens 3 Instanzen.

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten 1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

Glossar für das Fach Informatik

Glossar für das Fach Informatik für das Fach In der Wissenschaft werden die Fachbegriffe nicht immer einheitlich verwendet. Zudem gibt es Unterschiede in den Darstellungsformen von Diagrammen. Das folgende soll diesem Umstand abhelfen

Mehr

VU Objektorientierte Modellierung Übung 1

VU Objektorientierte Modellierung Übung 1 VU Objektorientierte Modellierung Übung Übungsgruppen: 3..2008-7..2008 Aufgabe : Strukturmodellierung mittels Klassendiagramm Theoriefragen Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem

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

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Beispiel-Anforderungen: Simple International (SIB) Interaktion mit der SIB: Ablauf von Interaktionen: UML Beispiel für OOD: Vorgehen Ergebnis Beispiel-Anforderungen: Simple International

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

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

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

Objektorientierte Analyse (OOA) Übersicht

Objektorientierte Analyse (OOA) Übersicht Übersicht UML ist die Notation für ein objektorientiertes Vorgehensmodell, sowohl für die Analyse als auch für das Design. Analyse (WAS?) Use Cases Aktivitätsdiagramme (für die Use Cases) Klassendiagramme

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

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Blöcke Strukturelemente. Dr. Beatrice Amrhein

Blöcke Strukturelemente. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition Ein Block Definitionsdiagramm (oder Blockdiagramm) o zeigt die statische Struktur des Systems, o beschreibt, welche Systembausteine

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

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch Abbildungsverweise PlantUML Code Version 1.0 Vanessa Petrausch Inhaltsverzeichnis INHALTSVERZEICHNIS 1 AUFBAU DES DOKUMENTS 5 2 KLASSENDIAGRAMM 7 3 ANWENDUNGSFALLDIAGRAMM 9 4 AKTIVITÄTSDIAGRAMM 11 5 ZUSTANDSDIAGRAMM

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. UML: Sequenzdiagramm 1 Motivation Es

Mehr

UML. Tutorium 1 2. März 2009

UML. Tutorium 1 2. März 2009 UML Tutorium 1 2. März 2009 System Modell Sicht (View) Modellierung Modelle eines Systems können sich überschneiden. Sichten auch. UML Diagrammart Diagrammtypen Strukturdiagramm Klassendiagramm Objektdiagramm

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates

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

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508 Kapitel 3 Datenbankentwurf 76 / 508 Phasen des Datenbankentwurfs Phasen des Datenbankentwurfs Anforderungsanalyse Spezifikation Konzeptueller Entwurf Konzeptuelles Schema Logischer Entwurf Logisches Schema

Mehr

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE Einführung in die Informatik III Name: Matrikelnummer:

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

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

Sequenzdiagramme. Lebenslinie. Kathrin Gaißer, Jörg Depner Didaktik der Informatik

Sequenzdiagramme. Lebenslinie. Kathrin Gaißer, Jörg Depner Didaktik der Informatik Sequenzdiagramme Sequenzdiagramme werden verwendet um Interaktionen zwischen Objekten zu modellieren. Sie stellen konkrete Abläufe dar, konzentrieren sich jedoch dabei auf den Nachrichtenaustausch zwischen

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

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon

Mehr

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Prof. Dr. Christian Böhm in Zusammenarbeit mit Michael Eckert und Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfows WS 07/08 2 Ziele Verstehen der Begriffe Assoziation 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 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

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

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

Teil VIII. Objektorientierte Programmierung

Teil VIII. Objektorientierte Programmierung Teil VIII Objektorientierte Programmierung IN8008, Wintersemester 2010/2011 128 Was ist ein Objekt? Ein Auto Eine Katze Ein Stuhl... Ein Molekül Ein Stern Eine Galaxie... Alles, das ein reales Objekt repräsentiert

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

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

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

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

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

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

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

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

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt 2. Datenbankentwurf Motivation Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt Fehler sind umso teurer zu beheben, je weiter die Entwicklung bzw. der Einsatz

Mehr

State diagrams (Zustandsautomaten)

State diagrams (Zustandsautomaten) State diagrams (Zustandsautomaten) Allgemeines Zustandsautomaten geben Antworten auf die Frage Wie verhält sich das System in einem bestimmten Zustand bei gewissen Ereignissen?. Sie spezifizieren somit

Mehr