Softwaretechnik-Praktikum Sommersemester 2014

Themen, Betreuer, Tutoren

Thema Gruppen Betreuer Tutor Architekturkonzept
Continuous Integration of Chess Data swp14-cci (Optionsvariante) Dr. Ngonga Herr F. Teichmann RDF, Semantic Web, LIMES-Framework
Graphical SPARQL Builder swp14-gsb (Optionsvariante) Herr Nareike Herr Knochenhauer RDF, Semantic Web
Helios-Viz Link Discovery swp14-helios (Optionsvariante) Dr. Ngonga Herr N. Teichmann RDF, Semantic Web, LIMES
Konfiguration von Dienstleistungen im Energiesektor swp14-kde (Optionsvariante) Herr Sonnenberg
Herr Becker
Herr Ritter Java, Webanwendung
Linked Spending swp14-ls (Optionsvariante) Herr Höffner Herr Rößling RDF, Semantic Web, Linked Data Technologien, LIMES
Aufbau eines Systems zur Unterstützung des Prüfungsmanagements im Studiengang Veterinärmedizin swp14-pruef (Optionsvariante) Prof. Gräbe Herr N. Teichmann Web Anwendung, PHP, Zend
Semantic Forms swp14-sf (Optionsvariante) Herr Nareike
Prof. Gräbe
Herr Knochenhauer RDF, Javascript, Angular-JS
Störfall-Management swp14-sfm (Optionsvariante) Herr Hruschchak Herr Frey Prozessvisualisierung, MaintLA, MS Visio
Service Modeller zur Konfiguration von Dienstleistungen swp14-smd (Optionsvariante) Herr Sonnenberg
Herr Becker
Herr Ritter Prozessmodellierung, C#, .NET/Silverlight
xodx Gruppenkonzept swp14-xodx (Optionsvariante) Dr. Riechert
Herr Arndt
Herr Rößling RDF, Semantic Web, Erfurt Framework

Ablauf des Praktikums

Gruppenergebnisse in der Übersicht

GruppeThemaStärkeProjektleiter/inBlatt 1Blatt 2Blatt 3MST 1Blatt 4MST 2Blatt 5Impl.-
Phase
Gesamt-
bewertung
swp14-cci CCI 8 Daniel Alexander 10 8 8 8 5 9 8 7.5 1
swp14-gsb GSB 6 Lukas Eipert 8 9 10 9 7 9 9 9.5 1
swp14-helios Helios 6 Clemens Langner 10 9 9 8 8 9 8 8 2
swp14-kde KDE 4 Martin Böhm 9 10 9 9 8 9 9 9.5 2.5
swp14-ls LS 7 Thomas Günther 7 6 8 9 8 8 7 6 4
swp14-pruef Pruef 7 Daniel Heinze 9 9 10 9 5 7 9 7.5 2
swp14-sf SF 3 Simon Johanning 9 4 7 separater Fahrplan .
swp14-sfm SFM 3 Vincent May Maerkl 8 7 10 9 6 separater Fahrplan 2
swp14-smd SMD 7 Sonja Winkle 9 8 9 8 8 9 10 8.5 1.5
swp14-xodx Xodx 7 Lukas Werner 7 10 8 10 10 10 10 10 1

Ergebnisse der Gruppen im einzelnen

Gruppe swp14-cci

Ziel dieser Aufgabe war es, die Konzeption eines Rahmenwerkes für die Extraktion von PGN Schach-Daten aus dem Web und deren Veröffentlichung als RDF zu erstellen und diese zu implementieren. Im Rahmen des Vorprojekts wurde ein Benchmarking-Framework für Triple Stores implementiert sowie ein Benchmark für Schachdaten. Die Ergebnisse dieses Benchmarks bestimmten maßgeblich die Topologie der umgesetzten Architektur. Endergebnis des Praktikums war eine Library von Services zum Crawlen von Spielen, Spielermetadaten sowie Eventmetadaten. Die vorgesehene Datenfusion konnte nicht umgesetzt werden und wird im Rahmen des nächsten Praktikums zu Schachdaten eine zentrale Aufgabe sein.

Material:

Gruppe swp14-gsb

Als Praktikumsauftrag sollte ein Webtool (Graphical SPARQL Builder, kurz GSB) entwickelt werden, welches es erlaubt, SPARQL-Anfragen mittels einer intuitiven GUI zu erstellen. Durch initiale Queries sollte die Software Informationen von einem SPARQL-Endpunkt beziehen und so bereits beim Editieren bspw. zu einer Klassen eine sinnvolle Auswahl an Prädikaten liefern. Die Zielgruppe für einen solchen Editor sind Personen, die zwar mit domänenspezifischen Datenbanken arbeiten, aber nur grundlegende Kenntnisse von RDF besitzen, aber wenig oder keine Kenntnisse von SPARQL haben.

Das Team war von Anfang an sehr gut organisiert. Eine Schwierigkeit des Praktikums war, zunächst ein klares Modell zu erarbeiten und eine sinnvolle Auswahl an SPARQL-Features zu treffen, da SPARQL in voller Mächtigkeit wahrscheinlich nicht gut als intuitive GUI-Anwendung umgesetzt werden kann. Auch hier konnte die Gruppe punkten und hat auch gruppenintern aktiv verschiedene Varianten diskutiert.

Das entstandene Produkt ist sehr gut und hat die Erwartung voll erfüllt. Es wurde auch Augenmerk darauf gelegt, dass der GSB genügend modular gestaltet wurde, um Anpassung an andere Kontexte zu ermöglichen und somit eine Weiterverwendung möglich ist.

Material:

Gruppe swp14-helios

Ziel dieser Praktikumsaufgabe war es, die Konzeption eines Planungsalgorithmus für das Link Discovery Framework LIMES zu entwerfen und diese zu implementieren. Erarbeitet wurde eine auf Sampling und genetischen Algorithmen basierende Lösung, welche die Laufzeit der Verarbeitung von Link Discovery Spezifikationen um die Hälfte reduzieren konnte. Diese konzeptionell eher schwierige Aufgabe wurde zufriedenstellend gelöst. Das erarbeite Konzept entspricht dem Stand der Technik im Lernen von Link Spezifikationen. Die Hauptschwäche dieses Ansatzes ist, dass es nicht deterministisch ist.

Material:

Gruppe swp14-kde

Als Praktikumsauftrag war auf der Basis bereits bestehender Mock-Ups ein Tool zur anbieterübergreifenden Konfiguration komplexer Dienstleistungen zu erstellen. Dabei sollte das über eine Web-Oberfläche bereitgestellte Werkzeug in der Lage sein, Portfolios und deren Mappings einzulesen sowie die resultierenden Angebote vergleichbar für einen Kunden darzustellen.

Der Verlauf des Praktikums gestaltete sich in der Anfangsphase etwas schwierig, da mehrere Mitglieder des Teams nach und nach ausschieden, wodurch eine strukturierte Teamkonstellation zeitweise nicht wirklich gegeben war. Nach einer Eingewöhnungsphase und mit veränderter, agiler Vorgehensweise konnte dann trotz alledem das Projekt zum Erfolg geführt werden.

Mit dem Resultat ist das Betreuerteam soweit zufrieden und es entspricht den im Projektvertrag gestellten Anforderungen.

Material:

Gruppe swp14-ls

Als Praktikumsauftrag war das LinkedSpending-Konvertierungstool zu erweitern, das auf openspending.org verfügbare weltweite offene Finanzdaten von Regierungen nach RDF konvertiert. Dabei sollte der existierende Prototyp durch Erweiterung, Modularisierung, Kommentierung, Dokumentation, Hinzufügen von Tests und Optimierung des Codes besser wartbar, robuster, schneller sowie durch ein REST-Interface von außen und gleichzeitig feingranularer ansteuerbar gemacht werden. Zum Verständnis der Aufgabe war Vorwissen zum Semantic Web nötig, das zu diesem Zeitpunkt im Studium noch nicht gelehrt wird. Dazu wurde mit der Gruppe ein separates Treffen vereinbart, um in die konzeptionellen Grundlagen semantischer Technologien einzuführen.

Die existierende Codebasis und Infrastruktur inklusive Versionierung und Testframework wurde sehr gut genutzt und die Anforderungen wurden zu einem wesentlichen Teil erfüllt. Letztendlich fehlte eine im Projektvertrag mit 25% des Gesamtaufwands veranschlagte Komponente vollständig und auch weitere wichtige Dokumente wurden nicht erstellt. Das Team war mit dem Thema fachlich hart gefordert, allerdings wurden bei Verständnisschwierigkeiten und Problemen Kontaktangebote nicht ausreichend angenommen, Präsentationen nicht ausreichend vorbereitet und Abgabetermine überschritten.

Material:

Gruppe swp14-pruef

Das Praktikumsthema ergab sich aus praktischen Erfordernissen der Veterinärmedizin der Uni Leipzig nach einer Werkzeugunterstützung der bisher manuell und damit sehr zeitaufwendig ausgewerteten Excel-Prüfungsbögen von MC-Klausuren. Die Klausuren sind themenzentriert, die einzelnen Fragen sind aber verschiedenen Prüfungsgebieten zuzuordnen, so dass sich die Fachnoten (als Fokus bezeichnet) erst aus der Auswertung mehrerer Prüfungsbögen ergeben.

Das Team hat diese Anforderung gut aufgenommen und in einer Weblösung prototypisch umgesetzt, wobei mit dem Zend-2-Framework eine technisch anspruchsvolle Architektur zum Einsatz kam. Als Ergänzung wurden Handbücher für die verschiedenen Anwendergruppen erstellt. Die Ergebnisse wurden in Meilensteinen und zum Abschlusstreffen auch Mitarbeitern der Veterinärmedizin vorgestellt und fanden dort großes Interesse, so dass eine Fortführung der Arbeiten bis zum produktiven Einsatz wünschenswert ist.

Durch den Einsatz des ZF2-Frameworks ist eine gute MVC-Architekturlösung ebenso vorgegeben wie die Nachnutzung von Standardbausteinen, die mit dem Framework mitgeliefert werden. Der Code ist von hoher Qualität, allein die Dokumentation hätte genauer sein können. Es wurde zwar mit doxygen ein leistungsfähiges Dokumentationssystem eingesetzt, das Inline-Dokumentationen auswerten kann, allein die dafür erforderliche Code-Dokumentation blieb bis zum Ende spartanisch.

Material:

Gruppe swp14-sf

Formulare spielen in Webanwendungen zur Datenaufnahme eine zentrale Rolle, wobei ein klar definierter Workflow mit den Phasen Initialisierung, Ausfüllen, Validieren und Abspeichern zu durchlaufen ist. Es bietet sich also an, generative Techniken zur Formularerstellung einzusetzen und dazu Formular-Formulare zu entwickeln. Dazu sind die Ebenen des Konzept-Editors (für Formularspezifikationen aus gegebenen Ontologien), des Muster-Editors (für funktionale und Layout-Beschreibungen aus einer gegebenen Formularspezifikationen) sowie des Instanz-Editors (zum Erzeugen und Einbinden eines aus einem Formularmuster gewonnenen Formulars in die jeweilige Applikation) zu unterscheiden. Ein solches Konzept war durch das Praktikumsteam zu entwickeln und auf der Basis des Angular-Javascript-Frameworks umzusetzen.

Die Gruppe kam über Vorarbeiten nicht hinaus, die Formulierung des Vorprojekts bewegte sich in allgemeinen Überlegungen, bereits in der konzeptionellen Phase wurden Termine nicht eingehalten. Der erste Meilenstein wurde wiederholt, aber auch während der vorlesungsfreien Zeit gelang es nicht, hier zu konkreteren Ansätzen zu kommen. Anfang April stiegen bis auf zwei alle Teilnehmer aus dem Praktikum aus.

Die Arbeit wurde als Praktikum in der Basisvariante von den zwei verbliebenen sowie einem weiteren Teilnehmer fortgeführt, wobei auch die genaue thematische Ausrichtung und der Betreuer wechselten. Im Ergebnis wurde eine OAuth-Login-Komponente für Xodx erstellt, die Datenbasis für das SymbolicData CASN erweitert sowie ein erster Prototyp eines Formular-Muster-Editors entwickelt.

Material:

Gruppe swp14-sfm

Die Gruppe konstituierte sich als "Restegruppe", in der sich Studierende einschrieben, die sich sehr spät für die Teilnahme an der Optionsvariante entschieden hatten. Zwei der ursprünglich sechs Teilnehmer beteiligten sich von Anfang an nicht an der Arbeit, so dass die Gruppe bereits in der Konstituierungsphase auf vier Teilnehmer zusammenschrumpfte. Ein weiterer Teilnehmer ging über die Semesterpause "verloren", so dass für die Kernarbeit nur noch ein dreiköpfiges Team verfügbar war, das im April in einer strukturellen Krise zunächst entscheiden musste, ob das Praktikum fortgesetzt wird.

Im Rahmen des Projektthemas sollte ausgehend von einer vorgegebenen Eskalationsbeschreibungssprache (Maint LA) ein Störfall-Managementsystem mit einer Modellierungs- und einer Beschreibungsebene im Rahmen des Frameworks MS Visio als Proof of Concept konzipiert und implementiert werden. Dieses Thema erforderte zunächst eine gründliche theoretische Einarbeitung in das Grammatik-Konzept der Beschreibungssprache, was im Zuge des Vorprojekts geschehen ist.

Die explorative Spezifik der Thematik sowie die personelle Situation führten in Abstimmung mit den Beteiligten zur Entscheidung, das Team nach einem gesonderten Fahrplan bis Ende Juni 2014 am Thema arbeiten zu lassen.

Dieser Fahrplan, mit einigen weiteren Modifikationen, die sich durch unerwartete technische Schwierigkeiten ergaben, war die Grundlage für den erfolgreichen Abschluss des Projekts Anfang Juli. Die vorgelegte Lösung zeigt die prinzipielle Durchführbarkeit des Ansatzes, folgt aber keinem einheitlichen Architekturkonzept und auch die Codequalität lässt zu wünschen übrig. Dies ist zum Teil auch damit zu erklären, dass die Gruppe ihre Kräfte auf die Überwindung technischer Probleme durch entsprechende Workarounds konzentrieren musste und konzentriert hat.

Trotz der geringen Größe der Gruppe ergaben sich immer wieder Schwierigkeiten in der Organisation der Zusammenarbeit, sodass ein permanentes aktives Eingreifen des Tutors in die administrativen Prozesse vonnöten war, um das Projekt nicht weiter zu gefährden.

Material:

Gruppe swp14-smd

Als Praktikumsauftrag war eine Erweiterung des Tools Service Modeller umzusetzen, mit dem Referenz- und Anbietermodelle für Dienstleistungen im Bereich erneuerbarer Energien entwickelt werden können. Die zu erstellende Erweiterung dient dem Mapping, also der Zuordnung von Dienstleistungen auf Anbieterseite zu denen im Standardportfolio, und musste, wie auch der Service Modeller selbst, in Silverlight/.Net implementiert werden.

Das Team fand schnell zu einer strukturierten und effizienten Arbeitsweise, welche auch, bedingt durch Schwierigkeiten in der Einarbeitung in den bestehenden Code, dringend notwendig war.

Mit dem Ergebnis des Praktikums sind wir sehr zufrieden, es entspricht dem im Projektvertrag vereinbarten Umfang und kann so auch in dem avisierten Forschungsprojekt direkt weiter verwendet werden.

Material:

Gruppe swp14-xodx

Die Gruppe hatte die Aufgabe, zu einem bestehenden System mehrere Features hinzuzufügen. Das Hauptaugenmerk lag dabei auf dem Erstellen und Entfernen von Gruppen auf der vorhandenen Social-Network Platform xodx.

Am Anfang gab es einige kleine Schwierigkeiten und Missverständnisse bzgl. der Aufgabenstellung, welche allerdings recht zügig von der Gruppe gelöst wurden und sich schon nach sehr kurzer Zeit eine starke Gruppendynamik abzeichnete. Die Gruppe hatte selbst Wert darauf gelegt, dass jedes Mitglied das Projekt sowie dessen Umsetzung vollends versteht. Besonders wichtig war dabei das genaue Verständnis von RDF basierten semantischen Datenbanken, Turtle, PubSubHubbub usw.

Trotz relativ geringem Feedback von außen und leicht erschwerter Umstände (Forschungsaufenthalt des Auftragsgebers im Ausland) hat die Gruppe sehr dynamisch gearbeitet und stets die geforderten Aufgaben nahezu perfekt gelöst. Die Selbstorganisation der Gruppe war lobenswert gut. Jedes Mitglied profilierte sich als Experte und Ansprechpartner für sein Aufgabengebiet, welches sich insbesondere in den Meilensteintreffen zeigte.

Das Ergebnis des Praktikums war sehr gut und entsprach voll und ganz der Aufgabenstellung.

Material: