Teil II: OOP und JAVA (Vorlesung 9)
|
|
- Insa Brandt
- vor 7 Jahren
- Abrufe
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 Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 1
MehrUML -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
MehrSoftware 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
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
MehrObjektorientierte 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
MehrOOA-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
MehrUnified 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
MehrUnified 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
MehrJason 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,
Mehr8. 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:
MehrEinfü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
MehrUnified 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
MehrRü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
MehrTabellarische 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,
MehrEinfü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.
MehrObjektorientierte 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
MehrUML (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...
MehrAufgabe 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
MehrEinfü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.
MehrUML. 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,
MehrUML 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
MehrSo#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
MehrKlassendiagramm. 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
MehrTeil 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
MehrAlgorithmen 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
MehrAlgorithmen 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
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrGeoinformation 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
MehrUML - 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
MehrEine 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,
MehrVorlesung 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)
MehrSystemanalyse. - 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
MehrTEIL 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
MehrVorlesung 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
MehrMuster 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
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrChristoph 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
MehrDas 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
MehrModellierungstipps 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
MehrUML-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?
MehrVon 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
MehrSoftware 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
Mehr4. Ü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
MehrJava 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
MehrKurzeinfü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
MehrSEQUENZDIAGRAMM. 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
MehrUniversitä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
MehrObjektorientiertes 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
MehrTechniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
MehrObjektorientierte 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
MehrJava 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
MehrProgrammiersprache 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
MehrAnwendungsfalldiagramm 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
MehrANWENDUNGSFALLDIAGRAMM:
EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen
MehrInstanz 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.
MehrBeziehungen 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)
MehrObjektorientierte 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
MehrGlossar 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
MehrVU 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
MehrPRÜ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:
MehrObjektorientiertes 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
MehrLö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
Mehr2. 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
MehrWintersemester 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
MehrObjektorientierte 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
MehrBlö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)
MehrSWE4 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
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrBlö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
MehrUML 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
MehrAbbildungsverweise 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
MehrVorlesung 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
MehrUML. 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
MehrOrientierte 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?
MehrProgrammieren 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 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
MehrDatenbankentwurf. 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
MehrVORDIPLOMSPRÜ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:
MehrEinfü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
Mehr7. 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:
MehrSequenzdiagramme. 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
MehrNeben 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
MehrSoftwaretechnik 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
MehrAssoziation 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
MehrEinfü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
MehrEinfü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
MehrSoftware 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
MehrAbschnitt 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
MehrTeil 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
Mehr3. 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
MehrObjektorientierte 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
MehrChristoph 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
MehrPRÜ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:
Mehr09.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)
MehrVorlesung 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)
MehrProgrammieren 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
MehrLö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
MehrObjektorientierte 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
MehrDatenbankanwendungen 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
MehrState 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