Upload
magdalene-geisinger
View
400
Download
23
Embed Size (px)
Citation preview
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
4
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
Verändert nach Löbbert, Marl 2011/12 5
• 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).
HinweiseIm 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.
Klassenerstellung mit UMLEDiTOR
Abstrakte Klassen
Löbbert, Marl 2011/12
7
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.
Datentypen in Entwurfsdiagrammen
Verändert nach Löbbert, Marl 2011/12 8
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.
Klassendiagramm
9
Entwurfsdiagramm Implementationsdiagramm(Java)
Assoziation
Löbbert, Marl 2011/12
10
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.
Multiplizität
Löbbert, Marl 2011/12
11
Mögliche Multiplizitäten:1 genau ein assoziiertes Objekt0..1 kein oder ein assoziiertes Objekt0..* beliebig viele assoziierte Objekte1..* mindestens ein, beliebig viele assoziierte Objekte
12
Bsp. Assoziation 1..1
Implementationsdiagramm
Entwurfsdiagramm
oder
oder
Aufgabe
Löbbert, Marl 2011/12
13
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.
Beispiel Assoziation
14
Entwurfsdiagramm
Bsp. Assoziation Datenansammlung
Verändert nach Löbbert, Marl 2011/12 15
Ein Objekt der Klasse ToDoListe kann Objekte der Klasse Aufgabe verwalten.
Entwurfsdiagramm
Assoziation bei lokalen Objekten
import javax.swing.JOptionPane;public class BeispielLokaleObjekte { public void lokalesObject(){ JOptionPane jOptionPane = new JOptionPane("Ich bin lokal"); }}
Lokale Objekt werden im Klassendiagramm nicht erfasst.
anders dagegen so:
import javax.swing.JOptionPane;public class BeispielGlobaleObjekte { private JOptionPane jOptionPane; public void globalesObject(){ jOptionPane = new JOptionPane("Ich bin global"); }}
Implementationsdiagramm
Löbbert, Marl 2011/12
17
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.
Bsp. Assoziation
18
Implementationsdiagramm
Im Implementationsdiagramm steht die Entscheidung fürdie Datenstruktur (hier List).
Verändert nach Löbbert, Marl 2011/12
Bsp. Assoziation
Im Implementationsdiagramm steht die Entscheidung fürdie Datenstruktur (hier List).
19
Implementationsdiagramm
Bsp. Assoziation Array
20
Sonderfall:Implementierung einer Datenansammlung über ein Feld(Array)
Entwurfsdiagramm:
Implementationsdiagramm so:
aber nicht so:
Aufgabenerweiterung
Löbbert, Marl 2011/12 21
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.
Vererbung
Verändert nach Löbbert, Marl 2011/12 22
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.
Implementationsdiagramm
Löbbert, Marl 2011/12 23