17.11.2014 Aufrufe

Pflichtenheft von byteme - PI - Praktische Informatik

Pflichtenheft von byteme - PI - Praktische Informatik

Pflichtenheft von byteme - PI - Praktische Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!