All posts by Albert Zündorf

Software Engineering II, WS1314

Es wird im Hausaufgabenabgabesystem gegen Ende des Semesters noch eine Hausaufgabe 5 geben, welche die finale Version der einzelnen Lösungen (HA 5 – HA n) darstellen soll und zu einem entsprechend höheren Prozentsatz in die Bewertung eingeht.

Das Aufgabenblatt zu den anstehenden Features ist hier zu finden:
-soon to come-

Screencast Übung 7:
Screen cast SE2WS1314_UE7.html
Nochmal als MP4 zum Download: Screen cast SE2WS1314_UE7.mp4

Bei Fragen: george@uni-kassel.de

Software Engineering II, WS1314

Als Ausgangspunkt für die aktuelle Hausaufgabe (http://seblog.cs.uni-kassel.de/2013/11/25/se-ii-ws1314-hausaufgabe-4-screencast-uebung-5/) darf dieses Editor-Projekt:
SE2WS1213_HA3_ScenarioDiagramEditor_ML.zip

zusammen mit dem Klassenmodell-Projekt aus Hausaufgabe 3 verwendet werden:
SE2WS1213_HA3_ScenarioDiagramModel_ML.zip

Screencast Übung 6:
Screen cast SE2WS1314_UE6.html
Nochmal als MP4 zum Download: Screen cast SE2WS1314_UE6.mp4

Bei Fragen: george@uni-kassel.de

Programming Methodologies, WS1314

Auf Grund der sich häufenden Nachfragen bezüglich einiger Details zu Aufgabenblatt 5, hier ein kleiner Nachtrag mit Hinweisen.

Initialisierung:

In der Beispielimplementierung der init Methode ist ein kleiner Fehler. Dort wird an Spieler 2 keine neue Wand verteilt. Dort wird die Methode withoutWall() in Zeile 172 aufgerufen.

Richtigerweise müsste die Zeile so heißen: playerTwo.withWall(new Wall().withQuoridorGame(this));

 

Storyboarding:

Es treten häufig Pfad-Probleme beim Generieren der Storyboards auf, da ein externes Tool (Graphviz) zur Erstellung der Grafiken verwendet wird. Falls ihr die Probleme nicht selbst gelöst bekommt, könnt ihr auf das Generieren von Grafiken verzichten, indem ihr dem Storyboard keine Objekte übergebt, sondern lediglich Text. Dafür haben wir die toString()-Methode im QuoridorGame angepasst, sie gibt das Spielfeld aus. Beispiel:

storyboard.add("Startsituation testMethod 1:");

storyboard.add(game.toString());

boolean returnValueOfMethodCall = game.methodCall();

storyboard.add("Calling methodCall() returns: " + returnValueOfMethodCall + " End situation:");

storyboard.add(game.toString());

storyboard.dumpHTML();

Damit im generierten HTML eine saubere Übersicht entsteht, haben wir die HTML-Generierung in SDMLib angepasst. Dafür könnt ihr euch die aktuelle Version von GitHub laden (https://github.com/digitalhoax/SDMLib).

Software Engineering II, WS1314

Die Abgabefrist wurde um eine Woche auf den 08.12.2013 verlegt:
SEIIWS1314_HA4.pdf

Die Hausaufgabe muss von jedem Teilnehmer einzeln bearbeitet und abgegeben werden. Die Abgabe muss bis spätestens Sonntag 01.12.2013 um 23:59 Uhr im SE Hausaufgabenabgabesystem (https://se.cs.uni-kassel.de/hms) erfolgen.
Die Abgabe ist nur als einzelne *.zip Datei erlaubt. Daher müssen alle für eine Abgabe relevanten Daten (Klassenmodell-Projekt und Editor-Projekt) zu einem solchen Archiv kombiniert werden.

Als Ausgangspunkt darf dieses Editor-Projekt:
-soon to come-

zusammen mit dem Klassenmodell-Projekt aus Hausaufgabe 3 verwendet werden:
-soon to come-

Screencast Übung 5:
Screen cast SE2WS1314_UE5.html
Nochmal als MP4 zum Download: Screen cast SE2WS1314_UE5.mp4

Bei Fragen: george@uni-kassel.de

Programming Methodologies, WS1314

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):

Vererbung

Das Spielfeld Spielfeld kann hier heruntergeladen werden:

Spielfeld

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