====== Vom Objektdiagramm zum Implementationsdiagramm ====== ===== Das Entwurfsdiagramm ===== Am Ende der Aufgabe des vorigen Abschnitts sollte ein Diagramm stehen, das dem folgenden ähnelt. Abweichungen sind natürlich möglich, das Modell einer realen Situation ist nicht eindeutig((Besonders wenn es sich um ein Spiel handelt, dessen Regeln man anpassen kann wenn man mag...)) - so könnte man z.B. den Münzen die Fähigkeit verleihen, zu überprüfen, ob sie sich im Tor befinden anstelle dies dem Tor-Objekt zu übertragen. {{ :faecher:informatik:oberstufe:modellierung:entw2impl:realesituation_modell.drawio.png |}} Man hat jetzt eine recht gute Vorstellung gewonnen, wie die Klassen aussehen müssen, welche den "Bauplan" für unsere Objekte festlegen. ---- {{:aufgabe.png?nolink |}} === (A1) === Erstelle für jeden Objekttyp des Objektdiagramms ein [[..:uml:start#entwurfsdiagramme|Entwurfsdiagramm]] für die zugehörige Klasse. ---- {{:aufgabe.png?nolink |}} === (A2) === Stelle die Entwurfsdiagramme der Klassen mit ihren Beziehungen und den dazugehörigen Multiplizitäten dar, du kannst das folgende Diagramm als Ausgangsbasis nehmen und vervollständigen.((Hier findest du eine [[ faecher:informatik:oberstufe:modellierung:uml:start|Übersicht zur Darstellung]])) {{ :faecher:informatik:oberstufe:modellierung:entw2impl:entw_mit_assoc_unv.drawio.png |}} ===== Das Implementationsdiagramm ===== Bei der Erstellung des Implementationsdiagramms wird die verwendete Programmiersprache berücksichtigt: Typen und Rückgabetypen sollten angegeben werden, Getter und Setter-Methoden, Konstruktoren und ihre Parameter. Man nimmt sich also jede Klasse des Entwurfs vor und bearbeitet die folgenden Punkte: * Datentypen und Sichtbarkeit für Attribute festlegen * Konstruktor definieren - sind Parameter zum Erzeugen eines neuen Objekts nötig? * Welche get-Methoden benötigt man? Parameter? Rückgabetyp? * Welche set-Methoden benötigt man? Parameter? Rückgabetyp? * Methodenköpfe für die spezifischen Methoden für die Funktionalität der Objekte festlegen * Parameter mit Typ? * Rückgabewert der Methode? **Beispiel:** {{ :faecher:informatik:oberstufe:modellierung:entw2impl:ent2imp.drawio.png |}} ---- {{:aufgabe.png?nolink |}} === (A3) === Überführe dein Entwurfsdiagramm in ein Implementationsdiagramm. Behalte die Assoziationen und Multiplizitäten bei.