Kleine Sektflaschen Hochzeit
Abb. 4-3: UML-Klassendiagramm: Assoziation (Beispiel b) Die in Teilaufgabe a) und b) genannten Anforderungen sollen beide möglich sein. Abb. 4-4: UML-Klassendiagramm: Assoziation (Beispiel c) Frage 4-1: Initialisierung von Attributen Welche Änderung müsste am Programm JavaRobot vorgenommen werden, damit ein Roboter auch das Szenario kennt, in dem er eingesetzt wird? Lösung Abb. 4-5: UML-Klassendiagramm: Assoziation zwischen den Klassen Szenario und Roboter Soll ein Roboter das Szenario, in dem er eingesetzt wird, kennen, benötigt er ein entsprechendes Attribut. Aus der bisher einseitigen wird eine zweiseitige Beziehung. Nachdem ein Szenario -Objekt einen neuen Roboter erzeugt hat, muss es ihm nun mitteilen, "ich – this – bin das Szenario, in dem du eingesetzt bist". Uml klassendiagramm beispiel lösung o. Dazu muss die Klasse Roboter eine entsprechende öffentliche Methode – setSzenario( pSzenario: Szenario) – bereitstellen. Als Argument übergibt das Szenario -Objekt den Wert this. Dieser Platzhalter verweist immer auf das Objekt, das die entsprechende Anweisung gibt, in diesem Fall das Szenario -Objekt.
Bei einseitig gerichteten Assoziationen ist die Multiplizität nur auf der Seite der Assoziation relevant, zu der navigiert werden kann. Abb. 4-7: UML-Klassendiagramm: Multiplizität bei einseitig gerichteten Assoziationen Weitere Beispiele für Multiplizitäten Multiplizität Bedeutung 1 genau einer 0.. 1 keiner oder einer 1.. 5 einer bis fünf * keiner, einer oder mehrere 0.. * keiner, einer oder mehrere 1.. * mindestens einer Die Multiplizität einer Assoziation gibt an, mit wie vielen Objekten der gegenüberliegenden Klasse ein Objekt in Beziehung stehen kann. Ist die Anzahl konstant, wird die entsprechende Zahl bei der gegenüberliegenden Klasse, oberhalb der Verbindungslinie notiert. Uml klassendiagramm beispiel losing game. Variiert die Anzahl wird die untere und die obere Grenze angegeben. Merke: Multiplizität Fragen 4-3: Multiplizitäten Die Anforderungen für eine Software zur Auftragsverwaltung sehen vor, dass ein Kunde keinen, einen oder mehrere Aufträge erteilen kann. Umgekehrt kann ein Auftrag immer nur von genau einem Kunden erteilt werden.
Aufgabe 2 Gegeben sei folgendes Klassendiagramm: 09oopuml/ Setzen Sie dieses Klassendiagramm programmiertechnisch (mit einem Editor wie Notepad++ oder in einer Entwicklungsumgebung ihrer Wahl, z. B. Use-Case-Diagramm: Aufbau & Beispiel des UML Anwendungsfalldiagramms - IONOS. eclipse, Netbeans oder Greenfoot). Aufgabe 3 Erstellen Sie ein Klassendiagramm zu folgendem Java-Code: Java-Code public class Kunde { private int alter; private String name; private double kontostand = 0; public Kunde () {} public int getAlter () { return alter;} public void setAlter ( int alter) { this. alter = alter;} public String getName () { return name;} public void setName ( String name) { this. name = name;} public double getKontostand () { return kontostand;} public void setKontostand ( double kontostand) { this. kontostand = kontostand;} Aufgabe 4: Erstellen Sie ein Klassendiagramm zu folgendem Java-Code: Java-Code public class Hund { private String rasse; private String fellfarbe; public int anzahlBefehle; // Befehle, die der Hund kennt public Hund ( String rasse, String fellfarbe) { this.
Aufzählungen Darstellungen von benutzerdefinierten Datentypen. Eine Aufzählung enthält Gruppen von Identifikatoren, die Werte der Aufzählung repräsentieren. Objekte: Instanzen einer oder mehrerer Klassen. 4.2 Multiplizität. Objekte können zu einem Klassendiagramm hinzugefügt werden, um konkrete oder prototypische Instanzen darzustellen. Artefakte: Modellelemente, die für konkrete Entitäten in einem Software-System stehen, so zum Beispiel Dokumente, Datenbanken, ausführbare Dateien, Software-Komponenten und so weiter. Interaktionen Als "Interaktionen" werden die verschiedenen Beziehungen und Verbindungen bezeichnet, die innerhalb von Klassen- und Objektdiagrammen bestehen. Zu den gängigsten Interaktionen gehören: Vererbung: Prozess, bei dem eine Unterklasse die Eigenschaften einer Oberklasse übernimmt, wird auch als Generalisierung bezeichnet. Dargestellt durch eine gerade Verbindungslinie mit geschlossener Pfeilspitze, die auf die Oberklasse zeigt. In diesem Beispiel würde das Objekt "Auto" (Car) alle Attribute (Geschwindigkeit, Mitfahrerzahl, Treibstoff) und Methoden (Los(), Stop(), Richtungswechsel()) der Parent-Klasse "Fahrzeug" (Vehicle) annehmen.