=Paper= {{Paper |id=None |storemode=property |title=Muster der Softwaretechnik-Lehre |pdfUrl=https://ceur-ws.org/Vol-956/S4_Paper1.pdf |volume=Vol-956 |dblpUrl=https://dblp.org/rec/conf/seuh/DallmeierGHHJSZ13 }} ==Muster der Softwaretechnik-Lehre== https://ceur-ws.org/Vol-956/S4_Paper1.pdf
    Muster der Softwaretechnik-Lehre
       Valentin Dallmeier · Florian Gross · Clemens Hammacher · Matthias Höschele ·
                       Konrad Jamrozik · Kevin Streit · Andreas Zeller
                   Lehrstuhl für Softwaretechnik, Universität des Saarlandes
    {dallmeier, fgross, hammacher, hoeschele, jamrozik, streit, zeller}@cs.uni-saarland.de


1    Wissen der Softwaretechnik-                             (standortunabhängiger) Form als auch illustriert
     Lehre organisieren                                       an konkreten Beispielen. Die Anwendung sollte
                                                              zeigen, wie das Muster das Problem löst.
Das Organisieren von Softwaretechnik-Projekten ist
für neue Dozenten stets eine Herausforderung: Man         Zusammenspiel mit anderen Mustern.
muss Kunden finden, Projekte definieren, Tutoren              Voraussetzungen in Form von anderen Mus-
schulen, Anforderungen definieren, Terminpläne ma-            tern sowie Konflikte mit anderen Mustern sollten
chen, Regeln aufstellen. . . und zum Schluss das Pro-         ebenfalls dokumentiert werden.
jektergebnis bewerten. Eine ungenügende Planung           Folgen. Was sind die Folgen dieses Musters? Hier
und Umsetzung kann schnell das gesamte Projekt ge-            sind insbesondere unerwartete und negative Folgen
fährden. Daher empfiehlt es sich, für die häufigsten          gemeint, die dem Leser bewusst sein sollten.
Fragen und Probleme Lösungen explizit aufzuschrei-        Tipps und Tricks. In diesem Abschnitt können Hil-
ben. Dies können zunächst immer wiederkehrende                festellungen zur Umsetzung des Musters, sowie
Dinge sein, wie die Frage, wann welche Vorlesungsin-          gemachte Erfahrungen dokumentiert werden.
halte benötigt werden, oder wie die Begutachtung von
                                                          Bekannte Einsätze. Dieser Abschnitt verweist auf
Praktikums-Dokumenten organisiert werden muss. An-
                                                              die Veranstaltungen, in denen das Muster um-
dere Fragen mögen zunächst banal erscheinen, ma-
                                                              gesetzt wurde. Die Wiki-Einträge zu den Veran-
chen aber schnell deutlich, warum es sich empfiehlt,
                                                              staltungen wiederum beschreiben die dort einge-
Wissen explizit zu dokumentieren:
                                                              setzten Muster, sowie ggf. Kontaktpersonen und
•   Ich möchte eine Grillfeier für 160 Teilnehmer orga-      Webseiten mit weiterführenden Informationen.
    nisieren. Wieviele Getränke und Speisen muss ich      Abbildung 1 zeigt eins der derzeit gut 50 Muster.
    pro Person ansetzen? Woher bekomme ich Grills,
    Würstchen, Besteck, Salate?                           2   Ein Wiki für Erfolgsrezepte
•   Ich möchte eine „Messe“ organisieren, auf dem         Auf www.sewiki.de haben wir unser internes (loka-
    meine Praktikums-Teilnehmer ihre Projekte vor-        les) Wissen in Form von Mustern zu organisieren. Wir
    stellen können. Was brauche ich, und woher be-        möchten damit unser Wissen der Gemeinschaft bereit-
    komme ich es? Wann muss ich wen verständigen?         stellen, es aber auch jedem Interessierten ermöglichen,
  Um das Wissen über Softwaretechnik-Lehre zu ver-        sie mit eigenen Erfahrungen weiter zu verfeinern, oder
walten, haben wir ein Wiki eingerichtet, um das Wis-      eigene Muster hinzuzufügen. Noch spiegeln diese Sei-
sen über Softwaretechnik-Lehre zu organisieren und        ten unsere eigenen „Kochrezepte“ wieder, die zudem
zu dokumentieren – und zwar in einer Form, die so-        stark lokal geprägt sind. Unsere Vision ist aber, dass
wohl lokales als auch standortübergreifendes Wissen       wir weitere solche Muster sammeln und weiter aus-
dokumentieren kann. Die Artikel nutzen das Format         bauen können – und so das Wissen über erfolgreiche
der Muster – analog zu Entwurfsmustern als Lösungs-       Lösungen der Softwaretechnik-Lehre lebendig halten
schablonen für immer wiederkehrende Probleme:             können. In diesem Sinne rufen wir alle auf, die sich
                                                          mit der Lehre der Softwaretechnik beschäftigen, ihre
Name. Jedes Muster hat einen Namen, damit es unter        eigenen Erfolgsrezepte beizusteuern unter
  diesem Namen einfach referenziert und nachge-
                                                                        http://www.sewiki.de/
  schlagen werden kann.
Ziel. Jedes Muster löst ein bestimmtes Problem, das       Danksagung. Die Idee, ein Wiki zu nutzen, um Kon-
    hier allgemein charakterisiert werden kann.           zepte der Softwaretechnik-Lehre auszutauschen, ent-
Motivation. Das Problem sollte relevant sein – also       stand 2008 in Diskussionen mit Kurt Schneider (Han-
   häufig oder in verschiedenen Ausprägungen im-          nover), dem wir zu tiefem Dank verpflichtet sind. Die
   mer und immer wieder auftreten.                        Muster der Saarbrücker Veranstaltungen gehen auf
Anwendung. Dies ist eine Beschreibung, wie das            jahrelange Feinarbeit mit zahlreichen Tutoren zurück,
   Muster umgesetzt wird – sowohl in abstrakter           für deren Anregungen wir ebenfalls sehr dankbar sind.




A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                                    101
Muster: Spiel als Aufgabenstellung

Ziel
Ziel ist es zum einen, die Zeit zu minimieren, die benötigt wird um sich domänenspezifisches Wissen bezüglich der
Aufgabe anzueignen. Zum anderen jedoch, und viel wichtiger, zeigen sich die Studierenden bei Verwendung eines Spiels als
Implementierungsziel besonders motiviert. Der Sinn der Aufgabenstellung wird kaum kritisiert.

Motivation
Insbesondere in einem →Vollzeit-Praktikum, das innerhalb recht kurzer Zeit stattfindet, ist es wichtig, dass nicht zu viel Zeit
aufgewendet werden muss, um die Aufgabenstellung und die sich daraus ergebenden Konsequenzen zu verstehen. [. . . ] Mit
der Verwendung von Spielen, insbesondere von Brettspielen, als Implementierungsziel wurde die Erfahrung gemacht, dass
die Studierenden innerhalb von einem bis maximal zwei Tagen die Aufgabe klar verstanden haben.
Ein weiterer Vorteil von Spielen ist die gesteigerte Motivation und Lernbereitschaft der Studierenden. Die initiale Hürde,
die genommen werden muss, um sich qualifiziert mit der Aufgabenstellung auseinanderzusetzen und darüber diskutieren
zu können, ist relativ niedrig. Unterschiede in der Vorbildung der Studierenden kommen wenig zum tragen. Selten werden
einzelne Gruppen-Mitglieder abgehängt und außen vorgelassen.
Zu guter Letzt sind massenweise geeignete und interessante Spiele, samt deren Anleitungen, verfügbar. Auf diesen Fundus
zurückzugreifen spart das komplette Konzipieren einer Aufgabenstellung und erlaubt es dem Veranstalter, sich auf die
Umsetzung zu konzentrieren.

Anwendung
Die Umsetzung besteht im Wesentlichen aus folgenden Schritten:
1. Auswahl eines geeigneten Spiels.
      (a)      Die Regeln des Spiels müssen einfach zu verstehen, also nicht zu komplex sein.
      (b)      Das Spiel sollte Multiplayer-fähig sein. Somit können die Teilnehmer in einem finalen →Turnier gegeneinander
               antreten.
      (c)      Kann das Spiel als →Client/Server Architektur umgesetzt werden, kann der Veranstalter einen zentralen
               Spielserver stellen, der von allen Teilnehmern während der Veranstaltungsdauer genutzt werden kann, um
               gegeneinander anzutreten und zu testen.
      (d)      Es sollte relativ einfach möglich sein, für das gewählte Spiel eine einfache künstliche Intelligenz zu schreiben.
      (e)      Es sollte möglich sein ein vernünftiges (graphisches) User-Interface zu implementieren, das die Teilnehmer
               nutzen können, um ihre Implementierung zu testen und zu debuggen.
      (f)      Ist das Spiel geeignet um von Menschen gespielt zu werden, kann der Mensch gegen seine eigene KI antreten,
               was zusätzlich motiviert. [. . . ]
      (g)      Die Spielregeln sollten genug Raum für eine kreative Umsetzung geben. Auch die Implementierung einer
               Strategie in der KI sollte genug Möglichkeiten der Differenzierung zwischen den Teilnehmern bieten.
      (h)      Die Implementierung des Spiels sollte einige algorithmische Möglichkeiten bieten.
      (i)      Soll die Aufgabenstellung modifiziert werden (→Modifikation der Aufgabenstellung), sollten die Regeln des
               Spiels dies erlauben.
2.    Es sollten keine Implementierungen des Spiels frei verfügbar sein, die die Studierenden einfach kopieren können.
3.    Ist die Spielidee rechtlich geschützt, sollten die Rechteinhaber kontaktiert werden, um die Bedingungen der Benutzung
      zu klären. [. . . ]
4.    Erstellen der Aufgabenstellung Ist eine spätere →Modifikation der Aufgabenstellung vorgesehen, so kann diese Erweiterte
      Aufgabenstellung bereits mit erdacht werden.
5.    Implementieren der vom Veranstalter vorgegebenen Teile [. . . ]
6.    Testbarkeit prüfen [. . . ]
7.    Anfertigen einer Referenz-Implementierung der von den Studierenden zu implementierenden Teile
8.    Infrastruktur aufsetzen
Für die einzelnen Schritte sollte ausreichend Zeit eingeplant werden. Zum Vergleich: Im →Software-Praktikum an der Uni-
versität des Saarlandes beginnt der erste Schritt (Auswahl eines geeigneten Spiels) etwa fünf Monate vor Praktikumsbeginn.

Zusammenspiel mit anderen Mustern
Ein Spiel als Aufgabenstellung eignet sich sehr gut für ein abschließendes →Turnier.

Folgen
...

                   Abbildung 1: Muster „Spiel als Aufgabenstellung“ (aus www.sewiki.de, gekürzt)


      102                                                                     A. Spillner, H. Lichter (Hrsg.): SEUH 13