23
Entwurfs- und Implementationsdiagram me Zentralabitur NRW

Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Embed Size (px)

Citation preview

Page 1: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Entwurfs- und Implementationsdiagramme

Zentralabitur NRW

Page 2: 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

Page 3: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Einsatzzweck der Diagrammtypen

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

Page 4: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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

Page 5: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 6: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Klassenerstellung mit UMLEDiTOR

Page 7: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 8: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 9: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Klassendiagramm

9

Entwurfsdiagramm Implementationsdiagramm(Java)

Page 10: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 11: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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

Page 12: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

12

Bsp. Assoziation 1..1

Implementationsdiagramm

Entwurfsdiagramm

oder

oder

Page 13: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 14: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Beispiel Assoziation

14

Entwurfsdiagramm

Page 15: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Bsp. Assoziation Datenansammlung

Verändert nach Löbbert, Marl 2011/12 15

Ein Objekt der Klasse ToDoListe kann Objekte der Klasse Aufgabe verwalten.

Entwurfsdiagramm

Page 16: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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"); }}

Page 17: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 18: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Bsp. Assoziation

18

Implementationsdiagramm

Im Implementationsdiagramm steht die Entscheidung fürdie Datenstruktur (hier List).

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

Page 19: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Bsp. Assoziation

Im Implementationsdiagramm steht die Entscheidung fürdie Datenstruktur (hier List).

19

Implementationsdiagramm

Page 20: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Bsp. Assoziation Array

20

Sonderfall:Implementierung einer Datenansammlung über ein Feld(Array)

Entwurfsdiagramm:

Implementationsdiagramm so:

aber nicht so:

Page 21: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 22: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

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.

Page 23: Entwurfs- und Implementationsdiagramme Zentralabitur NRW

Implementationsdiagramm

Löbbert, Marl 2011/12 23