Prof. Dr. Franz Schweiggert und Dr. Johannes Mayer Abt. Angewandte
Informationsverarbeitung 8. Juni 2006
Ralph Guderlei Blatt 8
Software Engineering Praxis (SS 2006)
Damit Sie tatsächlich mal etwas ''Softwareengineering-Luft'' schnuppern können, findet nun ein Projekt statt.
Da können Sie dann mal etwas realistischer die Softwareentwicklung im Team kennen lernen. Finden Sie sich also
bis nächste Woche zu Teams von etwa 8 Leuten zusammen (im Normalfall ,,schließen`` sich zwei Tutorien zusammen) und suchen Sie sich je Team einen Tutor und einen
Tutoriumstermin. Am besten nehmen Sie einen schon bestehenden Tutoriumstermin bei Ihrem Tutor. Außerdem
sollen Sie sich im Team bis nächste Woche entscheiden, was für ein Projekt Sie machen. Ein mögliches Projekt
muss dabei folgenden Voraussetzungen genügen:
- Die zu entwickelnde Software soll eine servlet-basierte Web-Anwendung sein.
- Dabei sollen Sie eine MySQL-Datenbank (mit mehreren Tabellen!) via JDBC verwenden.
- Außerdem soll das Programm eine Reihe von verschiedenen Formularen/Seiten bieten.
- Jedes Team-Mitglied sollte etwa eine Klasse selbst entwickeln.
- Ihre Web-Anwendung soll Sitzungen wirklich benötigen und verwenden, was einfach mit dem Sitzungsobjekt zu erledigen ist.
- Die Dokumentation des Projekts soll mit dem Vorlesungs-Wiki erstellt werden.
Wenn das Projekt die obigen Anforderungen erfüllt und es nicht zu trivial ist, dann wird Ihr Tutor schon zustimmen.
Andernfalls müssen Sie sich etwas neues ausdenken oder Sie bekommen ein Projekt von Ihrem Tutor zugewiesen.
Damit Ihnen die Organisation Ihres Projektes leichter fällt, bekommen Sie folgenden groben Plan, den Sie einhalten
müssen. Sie können jedoch auch schneller sein. ;-) Dann bleibt Ihnen mehr Zeit, um sich auf die Klausur(en)
vorzubereiten. Diesen Plan sollen Sie selbst verfeinern, wobei die Grobstruktur erhalten bleiben soll. Besprechen
Sie Ihren Plan mit Ihrem Tutor.
Finden Sie sich zu einem Team von etwa 10 Personen zusammen und arrangieren Sie sich mit einem Tutor.
Hierzu kann es ganz praktisch sein, zwei (oder mehr) bestehende Tutorien zu kombinieren.
Der Tutor richtet Ihnen eine Seite im Vorlesungs-Wiki ein, die zur Dokumentation des Projektes genutzt werden muss.
Erstellen Sie ein kleines Pflichtenheft, das eine detaillierte, klare Beschreibung Ihres Projektes (also Problem, Ziel und
Funktionalität Ihres Programms) enthält. Modellieren Sie die Lösung des Problems mit Hilfe von ER- und UML-Diagrammen.
Spezifizieren Sie die Schnittstellen (d.h. exportierte Methoden) Ihrer Klassen.
Das ganze Pflichtenheft soll im Vorlesungswiki erstellt werden.
Verteilen Sie die Aufgaben auf die
einzelnen Teammitglieder (jeder muss für einen eigenen Teil verantwortlich sein). Entwerfen Sie auch einen
eigenen detaillierten Projektplan, der genau festlegt, wer wann was fertig stellen wird. Besprechen Sie Pflichtenheft,
Modellierung, Aufgabenverteilung und Plan mit Ihrem Tutor.
Entwickeln Sie Prototypen Ihrer Klassen. Jedes Gruppenmitglied sollte seine Teile unter Verwendung der
Klassen der Anderen testen können. Diese müssen noch nicht die volle
Funktionalität besitzen, aber die Aufrufe müssen bereits möglich sein.
Vervollständigen Sie die Implementierung des Prototypen. Kombinieren Sie die einzelnen Klassen und beseitigen
Sie evtl. noch vorhandene Probleme. Dokumentieren Sie alle Klassen mit Javadoc. Testen Sie das komplette Programm
(etwa mit JUnit) und überprüfen Sie die Erfüllung aller Anforderungen (aus dem Pflichtenheft).
Am 28.07.2006 findet die Präsentation aller Projekte in Vorlesung und Übungen statt. Jede Gruppe hat ca. 10 bis 15 Minuten Zeit,
Ihr Projekt vorzustellen. Außerdem findet noch eine Abnahme durch den Tutor (in den Tutorien in dieser Woche) statt, der überprüft, ob das Programm funktioniert
und den Anforderungen entspricht. Des Weiteren überprüft der Tutor auch, ob jedes Teammitglied sich zumindest mit seinem Teil
auskennt. ;-)
Viel Erfolg!
Ralph Guderlei
2006-06-08