Entwurfs- und Implementationsdiagramme

Slides:



Advertisements
Ähnliche Präsentationen
Abstrakte Klassen Basisklassen sollten in der Regel sehr allgemein sein. Oft ist es nicht notwendig, dass Objekte dieser generellen Basisklassen angelegt.
Advertisements

Objektorientierte Programmierung
Konzepte objektorientierter Systeme
Definition von Klassen in Java
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Objektorientierter Entwurf
Objektorientierter Entwurf (OOD) Übersicht
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Software-Technik: (fortgeschrittene) Klassendiagramme
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
C++ Vererbung und Polymorphie
DVG Einführung in Java1 Einführung in JAVA.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
UML-Klassendiagramm: Assoziationen (1)
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
10. Vorlesung: Dynamische Konzepte
Objektorientiertes Programmieren
Klassendefinitionen in Java
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientierte Programmierung
EPROG Tutorium #5 Philipp Effenberger
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Sichtbarkeit einschränken
Abstrakte Klassen und das Interface-Konzept
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Venusspiegel und Marsschild
1. Die rekursive Datenstruktur Liste 1
Felder in der Informatik
 Präsentation transkript:

Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Übersicht Einsatzzweck der Diagramme Erläuterung der Grundeigenschaften Beispiel für einen Modellierungsprozess Entwurfsphase und Implementierungsphase Modellierung von Klassen Assoziationen Vererbung Zusammenfassung Übungen Plenum

Einsatzzweck der Diagrammtypen Verändert nach Löbbert, Marl 2011/12

Entwurfsdiagramm Bei einem Entwurf werden die in der Auftragssituation vorkommenden Objekte identifiziert und ihren Klassen zugeordnet. Das Entwurfsdiagramm enthält Klassen und ihre Beziehungen mit Multiplizitäten. Als Beziehungen können Vererbung und gerichtete Assoziationen gekennzeichnet werden. Gegebenenfalls werden wesentliche Attribute und / oder Methoden angegeben. Löbbert, Marl 2011/12

Klasse Klassen werden durch Rechtecke dargestellt. Diese tragen entweder nur den Namen der Klasse tragen oder enthalten zusätzlich Attribute und / oder Methoden. Attribute und Methoden können zusätzliche Angaben zu Parametern und Sichtbarkeit (public (+), private (-)) besitzen. Attribute und Parameter werden in der Reihenfolge <Bezeichner> : <Typ> notiert (UML-Notation). Hinweise Im Zentralabitur werden protected (#)und Sichtbarkeit im Package (ohne Schlüsselwort bei der Deklaration) nicht benutzt. Der Zugriff auf die Attribute muss durch Hole- und Setze-Methoden (Getter/Setter) geregelt werden. Verändert nach Löbbert, Marl 2011/12

Klassenerstellung mit UMLEDiTOR

Abstrakte Klassen Bei abstrakten Klassen, also Klassen, von denen kein Objekt erzeugt werden kann, wird unter den Klassennamen im Diagramm {abstract} geschrieben. Abstrakte Methoden, also Methoden, für die keine Implementierungen angegeben werden und die nicht aufgerufen werden können, werden in Kursivschrift dargestellt. Bei einer handschriftlichen Darstellung werden sie mit einer Wellenlinie unterschlängelt. Löbbert, Marl 2011/12

Datentypen in Entwurfsdiagrammen Die Darstellung ist programmiersprachenunabhängig ohne Angabe eines konkreten Datentyps, es werden lediglich Zahl, Text, Wahrheitswert und Datenansammlung<·> unterschieden. Bei der Datenansammlung steht in Klammer der Datentyp oder die Klassenbezeichnung der Elemente, die dort verwaltet werden. Beispiel: Datenansammlung<Klausur> Datenansammlungen sind beispielsweise Listen oder Bäume Anfragen werden durch den Datentyp des Rückgabewertes gekennzeichnet. Hier muss noch ein Beispiel eingefügt werden Verändert nach Löbbert, Marl 2011/12

Klassendiagramm Implementationsdiagramm (Java) Entwurfsdiagramm

Assoziation Eine gerichtete Assoziation von einer Klasse A zu einer Klasse B modelliert, dass Objekte der Klasse B in einer Beziehung zu Objekten der Klasse A stehen bzw. stehen können. Bei einer Assoziation kann man angeben, wie viele Objekte der Klasse B in einer solchen Beziehung zu einem Objekt der Klasse A stehen bzw. stehen können. Die Zahl nennt man Multiplizität. Löbbert, Marl 2011/12

Multiplizität Mögliche Multiplizitäten: 1 genau ein assoziiertes Objekt 0..1 kein oder ein assoziiertes Objekt 0..* beliebig viele assoziierte Objekte 1..* mindestens ein, beliebig viele assoziierte Objekte Löbbert, Marl 2011/12

Bsp. Assoziation 1..1 Entwurfsdiagramm oder Implementationsdiagramm 12

Aufgabe Eine ToDo-Liste soll mit dem Rechner verwaltet werden. Die Aufgaben haben eine unterschiedliche Priorität: niedrig, mittel, hoch Aufgaben mit höherer Priorität sollen bevorzugt abgearbeitet werden. Aufgaben mit gleicher Priorität werden in der Reihenfolge des Eintrags bearbeitet werden. Löbbert, Marl 2011/12

Beispiel Assoziation Entwurfsdiagramm

Bsp. Assoziation Datenansammlung Entwurfsdiagramm Ein Objekt der Klasse ToDoListe kann Objekte der Klasse Aufgabe verwalten. Verändert nach Löbbert, Marl 2011/12

Assoziation bei lokalen Objekten Lokale Objekt werden im Klassendiagramm nicht erfasst. import javax.swing.JOptionPane; public class BeispielLokaleObjekte { public void lokalesObject(){ JOptionPane jOptionPane = new JOptionPane("Ich bin lokal"); } anders dagegen so: import javax.swing.JOptionPane; public class BeispielGlobaleObjekte { private JOptionPane jOptionPane; public void globalesObject(){ jOptionPane = new JOptionPane("Ich bin global"); }

Implementationsdiagramm Ein Implementationsdiagramm ergibt sich durch Präzisierung eines Entwurfsdiagramms und orientiert sich stärker an der verwendeten Programmiersprache. Für die im Entwurfsdiagramm angegebenen Datenansammlungen werden konkrete Datenstrukturen gewählt, deren Inhaltstypen in Form von Kommentardiagrammen angegeben werden. Die Attribute werden mit den in der Programmiersprache (hier Java) verfügbaren Datentypen versehen und die Methoden mit Parametern incl. ihrer Datentypen. Bei den in dieser Schrift dokumentierten Klassen (List, BinaryTree, ..) wird auf die Angabe der Attribute und der Methoden verzichtet. Löbbert, Marl 2011/12

Bsp. Assoziation Implementationsdiagramm Im Implementationsdiagramm steht die Entscheidung für die Datenstruktur (hier List). 18 Verändert nach Löbbert, Marl 2011/12

Bsp. Assoziation Implementationsdiagramm Im Implementationsdiagramm steht die Entscheidung für die Datenstruktur (hier List). 19

Bsp. Assoziation Array Sonderfall: Implementierung einer Datenansammlung über ein Feld(Array) Entwurfsdiagramm: Implementationsdiagramm so: aber nicht so: 20

Aufgabenerweiterung Beispiel: ToDo-Liste Aufgaben, die erledigt werden sollen, sollen nicht mehr gelöscht werden, sondern in einer zweiten Liste gesammelt werden. Bei den Aufgaben soll das Datum, an dem die Aufgabe erledigt wurde, mit verwaltet werden. Löbbert, Marl 2011/12

Vererbung Die Vererbung beschreibt die Beziehung zwischen einer allgemeineren Klasse (Oberklasse) und einer spezialisierten Klasse (Unterklasse). Die Unterklasse stellt alle öffentlichen Attribute und alle nicht überschriebenen öffentlichen Methoden der Oberklasse zur Verfügung. In der Unterklasse können Attribute und Methoden ergänzt oder auch überschrieben werden. Verändert nach Löbbert, Marl 2011/12

Implementationsdiagramm Löbbert, Marl 2011/12