Prozessmodelle

Prozessmodelle sind in der Softwareentwicklung weit verbreitete Vorgehensmodelle. Sie legen fest, in welcher Reihenfolge und in welcher Art und Weise Aktivitäten in der Softwareentwicklung durchgeführt werden. Sie beschreiben also eine planvolle und systematische Vorgehensweise zur Entwicklung eines Anwendungssystems, welche den Prozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen unterteilt. Diese Vorgehensweise "Phase-für-Phase" führt in aller Regel zur Verbesserung der Qualität des gesamten Systems und erlaubt eine Rekonstruktion des Entwicklungsprozesses und der zu Grunde liegenden Entscheidungen.

Am weitesten verbreitet sind die folgenden drei Modelle, die wir ausführlicher vorstellen möchten:

Das Wasserfallmodell

Das Wasserfallmodell legt fest, dass Software in sukzessiven Stufen entwickelt wird. Es wird Wasserfallmodell genannt, weil die Ergebnisse einer Stufe wie bei einem Wasserfall in die nächste Stufe einfließen. Ergebnis einer Stufe ist ein fertig gestelltes Dokument (d.h. das Wasserfallmodell ist ein dokumentengetriebenes Modell). Als Dokument ist hier allerdings nicht zwingend eine schriftliche Abhandlung gemeint, ein Dokument kann in diesem Zusammenhang auch Quellcode oder Diagramme u.ä. bedeuten.

Diagramm 3

Neben der strikten Abfolge der Stufen (in obiger Abbildung als Rechtecke dargestellt) sind auch kontrollierte Iterationen zwischen den Stufen möglich. Dies sind Rücksprünge von späteren Stufen zu vorangegangenen, z.B. wenn Fehler in einem früheren Stufenergebnis entdeckt worden sind und nun korrigiert werden müssen.

Das Wasserfallmodell besitzt folgende Eigenschaften:

Das V-Modell

Das V-Modell ist ein Vorgehensmodell zum Planen und Durchführen von Projekten. Es definiert die in einem Projekt zu erstellenden Ergebnisse und beschreibt die konkreten Vorgehensweisen, mit denen diese Ergebnisse erarbeitet werden. Des Weiteren legt das V-Modell die Verantwortlichkeiten jedes Projektbeteiligten fest. Es regelt also, "Wer" "Wann" "Was" in einem Projekt zu tun hat.

Diagramm 4

Die Grundelemente des Modells sind also Aktivitäten (Vorgehensweisen — in obiger Abbildung als Rechtecke dargestellt) und Produkte (Ergebnisse — in obiger Abbildung als Ovale dargestellt), die während der Produktentwicklung durchgeführt bzw. erarbeitet werden. Ziel einer Aktivität kann es sein,

Die Projektbeteiligten werden verschiedenen Rollen zugeordnet. Zu diesen gehören:

Das V-Modell ist eine Erweiterung des Wasserfallmodells. Wie in obiger Abbildung zu sehen ist, integriert es die Qualitätssicherung in das Wasserfallmodell, d.h. die Verifikation und die Validation sind Bestandteil des Modells.

Extreme Programming

Extreme Programming (XP) ist eine moderne Vorgehensweise in der Softwaretechnik, die im wesentlichen auf den Werten Kommunikation, Einfachheit, Feedback und Mut basiert. Diese Vorgehensweise ermöglicht es, langlebige Software zu erstellen und während der Entwicklung auf vage und sich rasch ändernde Anforderungen zu reagieren. XP funktioniert, indem eine Reihe von einfachen Regeln und Praktiken eingehalten werden. Hierzu gehören:

Entstanden ist die Vorgehensweise aus der Erfahrung, dass der Kunde die wirklichen Anforderungen zum Projektbeginn meist noch nicht vollständig kennt. Er fordert Features, die er nicht braucht, und vergisst solche, die benötigt werden. Durch die erwähnten Regeln und Praktiken wird die Qualität und Flexibilität der Software soweit gesteigert, dass der Zusammenhang zwischen dem Zeitpunkt, zu dem eine Anforderung gestellt wird, und den damit entstehenden Kosten weitgehend linear ist.

Diagramm 5

Das Produkt wird iterativ und evolutionär in kleinen Schritten entwickelt und fortlaufend getestet. Anforderungen werden für jedes Release neu aufgenommen, das Design wird von Release zu Release über Refactoring verbessert. Jedes Release ist ein jeweils lauffähiges, nutzbares (Teil-) Produkt, das vom Kunden abgenommen wird.