Auf Grund der sich häufenden Nachfragen bezüglich einiger Details zu Aufgabenblatt 4, hier ein kleiner Nachtrag mit Hinweisen:
Der Pfeil zwischen BoardElement und Gap, Field und Intersection ist eine Vererbung (wird in SDMLib mit .withSuperClass(superClass)
modelliert):
Das Spielfeld Spielfeld kann hier heruntergeladen werden:
Die Klasse Intersection ist für die bessere Programmierbarkeit hinzugekommen.
UMLLab erstellt in der Basisversion keine Setter für 0..n Kanten und stellt auch keine ref. Integrität her. Bewertet wird das Klassendiagramm, nicht der generierte Code. Es ist daher nicht nötig, von Hand Methoden in dem generierten Code zu erstellen.
Um das Diagramm bei Aufgabe 2 mit SDMLib zu erstellen (2.7), muss der Workspace wie folgt aussehen:
PMWS1314_<Martikelnummer>
– src
– bin
SDMLib
– SDMLib.net
Solltet ihr damit Probleme haben, meldet euch bei uns oder überspringt Schritt 7 (Aufgabe 2).
SDMLib wird auf GitHub entwickelt und es ändert sich somit häufig etwas am Code. Um euch eine funktionierende Version zur Verfügung zu stellen, die, solltet ihr mit der GitHub Version Probleme haben, für die Hausaufgaben verwendet werden kann, hier ein Link auf eine funktionierende Version:
https://github.com/digitalhoax/SDMLib
Ergänzung:
Hier ein funktionierendes Beispiel für die Erstellung von Klassen und Methoden.
ClassModel model = new ClassModel("de.uni.pmws1314");
Clazz quoridor = model.createClazz("QuoridorGame");
quoridor.withMethods(new Method().withSignature("initTwoPlayerGame(String, String)"));