Softwaretechnik-Praktikum Sommersemester 2011

Themen, Betreuer, Tutoren

Thema Gruppen Betreuer Tutor Architekturkonzept
OLAT-11 swp11-1
swp11-2
Prof. Gräbe Herr Vinz OLAT, Spring
Koop-11 swp11-3
swp11-4
Prof. Gräbe Herr Katzer Dezentrales soziales Netz, keine Architekturvorgaben
Keynode-11 swp11-5 Herr Heino
Herr Frischmuth
. Javascript, Node-Framework
RDF2WordPress swp11-6 Herr Riechert
Herr Augustin (Historische Fakultät)
Herr Tiepmar PHP, OntoWiki Framework
Invitation-11 swp11-7 Herr Riechert Herr Schöne PHP und JavaScript, OntoWiki Framework

Ablauf des Praktikums

Gruppenergebnisse in der Übersicht

Gruppe Thema Stärke Projektleiter/in Blatt 1 Blatt 2 Review 1 Blatt 4 Blatt 5 Review 2 Blatt 7 Impl.-
Phase
Gesamt-
bewertung*
swp11-1 OLAT-11 7 Martin Walther 9 5 4 5 7 7 7 6 2
swp11-2 OLAT-11 6 Matthias Haeßner 10 4 5 6 8 8 7 5 2.5
swp11-3 Koop-11 7 Fabian Todt 9 10 9 8 9 10 7 4 2
swp11-4 Koop-11 7/4 Franz Teichmann
Simon Chill
9 7 6 10 7 5 5 2 4
swp11-5 Keynode-11 7 Florian Golemo 8 7 9 9 10 8 3 6 2
swp11-6 RDF2WP-11 7 Johannes Frey 9 8 9 9 10 9 10 7 1
swp11-7 Invitation-11 6 Sten Seifert 9 10 9 9 9 8 10 8 1

* 1=sehr gut, 2=gut, 3=befriedigend, 4=ausreichend, 5=Projekt gescheitert.

Diese Bewertung der Projekte trägt rein informativen Charakter. Das erfolgreich absolvierte Praktikum wird mit einem unbewerteten Schein bestätigt.

In die Bewertung der Projekte geht neben der Umsetzung der softwaretechnischen Methodik und der Qualität der Ausarbeitungen zu den einzelnen Arbeitsblättern auch die Qualität und Stimmigkeit der technischen Gesamtlösung in der Einheit von Konzeption und Umsetzung ein, die – wie bei "richtigen" Software-Projekten – erst in der Endabnahme voll zum Tragen kommt. Es gibt deshalb keinen einfachen Zusammenhang zwischen dem Durchschnitt der Bewertungen der Aufgabenblätter und der Bewertung des Projekts als Ganzes.

Ergebnisse der Gruppen im einzelnen

Gruppe swp11-1

Die Aktualisierung des PA-Moduls auf die Version OLAT 7.2 wurde umgesetzt. Es war zunächst schwierig, die Vorgehensweise laut Balzert auf ein Projekt im Upgrade-Zweig des Software-Lebenszyklus anzupassen. Der Schwerpunkt lag auf der Einarbeitung in die erforderlichen Details des Design von OLAT, des PA-Moduls sowie von Details des mit der OLAT 7.2 konsequent zum Einsatz gebrachten Spring-Frameworks. Die Überlappung mit dem OLAT-Quelltext konnte gegenüber der Vorlage weiter reduziert werden.

Am Schluss fehlte die Zeit, die Entwurfsentscheidungen, insbesondere über die erforderlichen Modifikationen des OLAT-Quelltexts in einer angemessenen Dokumentation für nachfolgende Anpassungen festzuhalten sowie sich auch noch in das OLAT-Testframework einzuarbeiten.

Material:

Gruppe swp11-2

Die Aktualisierung des PA-Moduls auf die Version OLAT 7.2 wurde umgesetzt. Es war zunächst schwierig, die Vorgehensweise laut Balzert auf ein Projekt im Upgrade-Zweig des Software-Lebenszyklus anzupassen. Der Schwerpunkt lag auf der Einarbeitung in die erforderlichen Details des Design von OLAT, des PA-Moduls sowie von Details des mit der OLAT 7.2 konsequent zum Einsatz gebrachten Spring-Frameworks. Die Überlappung mit dem OLAT-Quelltext konnte gegenüber der Vorlage weiter reduziert werden.

Am Schluss fehlte die Zeit für ein ausreichendes Bug fixing sowie die Erstellung der Begleitdokumentation.

Material:

Gruppe swp11-3

Der Projektauftrag enthielt ein exploratives Thema - Vorprojekt zu einem technologischen Umstieg beim Auftraggeber - mit ungewissem Ausgang, wie sie gern von Firmen an streng abgegrenzte interne oder externe Entwicklerteams mit hohem kreativem Potenzial vergeben werden. In der Recherchephase entschied die Gruppe, dass die in der Aufgabenstellung genannte Plattform Diaspora als Projektbasis ungeeignet ist. Stattdessen setzte die Gruppe zunächst auf BuddyCloud als Basisprojekt, dem eine föderierte Infrastruktur auf XMPP-Basis zu Grunde liegt. Das bedeutete nicht nur den Wechsel der Basis, sondern auch der Programmiersprache und des Frameworks von Ruby on Rails (Diaspora) zu Javascript und Node.js (BuddyCloud).

Im Weiteren erwies sich der Wechsel zu einem XMPP-basierten System als gute Entscheidung, allerdings leistete BuddyCloud letztlich nicht das, was die Entwickler versprachen, so dass schließlich die eigenen Services auf der Basis direkter XMPP-Protokolle erstellt wurden.

Damit war der Umfang der Arbeiten gegenüber den Vorgaben (Erweiterung eines geeigneten Projekts) deutlich gestiegen. Technisch konzentrierte sich die Gruppe auf die Implementierung der Basisdienste, während die Rückbindung an den Projektauftrag sehr spät sowie übergreifende Modellvorstellungen gar nicht in Angriff genommen wurden. Das implementierte Interface blieb rudimentär und lässt den auf der Ebene der Basisdienste getriebenen Aufwand nur erahnen.

Material:

Gruppe swp11-4

Thema und grundlegendes Herangehen sind bereits für Gruppe 3 beschrieben. Gruppe 4 fand trotz sehr umfangreicher Recherchearbeiten nicht zu einem strukturierten Entwicklungsansatz, wie er unter software-technischen Gesichtspunkten für ein größeres Projekt erforderlich ist, und geriet damit unter großen Zeitdruck. Die in der Aufgabenstellung vorgegebene Plattform wurde ebenfalls als nicht geeignet eingeschätzt, allerdings blieb es bei Überlegungen, wie die Aufgabenstellung anders angegangen werden könnte, ohne dass rechtzeitig eine klare Entscheidung über eine leistungsfähige Referenzplattform getroffen wurde. So konnte auch kein Modell entwickelt werden, auf dessen Basis sich die Implementierung arbeitsteilig organisieren lässt. Das Projekt blieb bis zum Beginn der Implementierungsphase im Brainstorming stecken.

Zu diesem Zeitpunkt warfen drei der Projektteilnehmer das Handtuch. Die verbleibenden vier Studenten haben das Projekt mit einigem zeitlichem Aufschub auf der Basis von crabgrass und damit – abweichend von der Aufgabenstellung – einer klassischen Client-Server-Lösung zu Ende gebracht.

Material:

Gruppe swp11-5

In diesem Projekt wurde eine Erweiterung des Slidy-Tools (Präsentationen mit HTML+JavaScript) um eine Präsentier-Konsole inkl. Notiz- und Timerfunktion umgesetzt. Hauptbestandteil dieser Erweiterung ist die Möglichkeit die aktuell dargestellte Folie zentral zu steuern. Dabei kann lediglich der Vortragende die Folien bedienen und alle (über das Netzwerk) verbundenen Clients sehen immer die aktuelle Folie (Push).

Das Projekt wurde insgesamt erfolgreich abgeschlossen. Es wurde eine funktionstüchtige Version geliefert, die alle vom Kunden geforderten Funktionen enthält. Insbesondere die Push-Funktionalität funktioniert auf aktuellen Browsern sehr gut, was bereits im Produktiveinsatz getestet wurde. Lediglich die Darstellung in der Präsentier-Konsole ist etwas fehleranfällig und es können zur Zeit nicht mehrere verschiedene Foliensätze verwendet werden. Des Weiteren werden die Notizen separat von den Folien gespeichert, was von der Gruppe als Funktion verkauft, jedoch vom Kunden bemängelt wurde.

Die Implementierung ist insgesamt zufriedenstellend, jedoch wurden die abzurechnenden Dokumente zum Teil etwas vernachlässigt und die (eigentlich geforderte) testgetriebene Entwicklung nur rudimentär umgesetzt.

Material:

Gruppe swp11-6

Material:

Gruppe swp11-7

Material: