Pflichtenheft von byteme - PI - Praktische Informatik
Pflichtenheft von byteme - PI - Praktische Informatik
Pflichtenheft von byteme - PI - Praktische Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
56 KA<strong>PI</strong>TEL 6. ENTWICKLUNGSPROZESS<br />
hinsichtlich des aktuellen Lösungsansatzes strategisch vorausdenkt und versucht, Auswirkungen<br />
der aktuellen Implementierung auf das Gesamtsystem abzuschätzen. Die<br />
Rollen können dabei jederzeit getauscht werden.<br />
Die Gruppe ist in drei Kleingruppen gegliedert, die sich zwar nicht, wie in XP<br />
vorgesehen, regelmäßig neu bilden, da dies aus organisatorischen Gründen (Zeit- und<br />
Wohnsituation) nicht praktikabel ist. Jedoch wird eine Umgruppierung zu einem späteren<br />
Zeitpunkt des Projekts nicht ausgeschlossen.<br />
Model<br />
Visualisierung<br />
Controller<br />
Mario Vekic, Sinisa Djukanovic<br />
Kai Stroh, Sebastian Eifert<br />
Matthias Orgler, Carole Urvoy<br />
Grundlegend zu all diesen Punkten gehört auch die enge Zusammenarbeit zwischen<br />
Auftraggeber und -nehmer, um den Fortschritt des Projektes in die richtige Richtung<br />
garantieren zu können. Es wäre wünschenswert, während der Programmierphase kontinuierlich<br />
Rückmeldungen vom Auftraggeber zu erhalten und für die jeweils nächste<br />
Iteration zu berücksichtigen.<br />
6.2.2.2 Refactoring<br />
Software, die benutzt wird, muss laufend den sich ändernden Anforderungen angepasst<br />
werden, d.h. sie muss gewartet werden. Leider führt Software-Wartung in der Regel<br />
zur Degeneration der Struktur der Software. Das macht weitere Änderungen immer<br />
schwieriger, bis schließlich nur noch eine Neuimplementierung sinnvoll ist.<br />
Eine Möglichkeit, dieser „natürlichen“ Degeneration der Software-Struktur entgegenzuwirken,<br />
ist die kontinuierliche Software-Restrukturierung oder „Refactoring“,<br />
die dafür sorgt, dass die Software jederzeit verständlich und änderbar bleibt.<br />
Das Refactoring umfasst also konstruktive Maßnahmen, die dazu dienen, eine vorhandene<br />
Software oder Teile da<strong>von</strong> verständlicher und leichter änderbar zu machen,<br />
ohne dabei das beobachtbare Verhalten zu verändern.<br />
Durch die Wahl <strong>von</strong> Eclipse als Entwicklungsumgebung fällt die Anwendung solcher<br />
Maßnahmen relativ leicht, da dort bereits weitreichende Unterstützungsfunktionen<br />
zur Durchführung verschiedener Refactoring-Prozesse vorhanden sind.<br />
6.3 Iterationsplan<br />
Wie im Abschnitt zur Prozessstruktur (s. 6.2) bereits erwähnt, werden wir das Projekt<br />
nicht „in einem Rutsch“ implementieren, sondern mehrere, kleinere Iterationen durchführen.<br />
Dies hat mehrere Vorteile. Zunächst einmal sind die Teilaufgaben, die in jeder<br />
Iteration zu lösen sind, weniger komplex und damit besser überschaubar als die Gesamtaufgabe.<br />
Weiterhin besteht bei einem iterativen Vorgehen die Möglichkeit, frühzeitig<br />
(d.h. spätestens nach dem ersten Release) Feedback vom Auftraggeber zu erhalten<br />
und damit eventuelle Unklarheiten aufzuklären. Schließlich versucht man, durch mehrere<br />
Meilensteine das Projektrisiko zu senken. Dies ist darin begründet, dass die riskantesten<br />
und schwierigsten Aufgaben möglichst früh im Projekt implementiert werden,<br />
d.h. wenn noch viel Zeit für möglicherweise nötige Umstrukturierungen bleibt, während<br />
in späteren Iterationen nur noch vergleichsweise einfache und damit sicherer zu<br />
bewältigende Aufgaben übrig bleiben. Der aktuelle Iterationsplan wird stets in unserem<br />
Wiki festgehalten.