../../icons/Logo.png

Verlauf der Softwareentwicklung

Nachfolgend werden Entwicklungsmodelle hinsichtlich des Verlaufs über den Lebenszyklus des Softwareprodukts betrachtet. Phasenmodelle beschreiben Aktivitäten über den Lebenszyklus.

Der Begriff Phasen der Softwareentwicklung wird mehrdeutig verwendet:

  • Synonym mit dem hier verwendeten Begriff Aktivität.
  • Ein Zeitabschnitt im Lebenszyklus eines Softwareprodukts.

Bei linearen Modellen der Softwareentwicklung fallen beide Begriffe zusammen. Spätestens seit dem Aufkommen von inkrementellen und evolutionären Modellen ist diese Identität nicht mehr haltbar.

Hier wird eine Phase als ein Zeitabschnitt im Lebenszyklus eines Softwareprodukts verstanden.

  • Phasen beschreiben den dynamischen Aspekt der Softwareentwicklung.
  • Aktivitäten der Modelle beschreiben den statischen Aspekt.

In jeder Phase werden eine Menge von Aktivitäten durchgeführt. Vielfach wird die Phase nach der überwiegend durchgeführten Aktivität benannt. Der statische Aspekt beschreibt, in welcher Folge welche Aktivitäten durchgeführt werden können bzw. dürfen.

Ein Phasenmodell teilt den Verlauf der Erstellung eines Softwareprodukts in mehrere Phasen. Die Dauer und die Ergebnisse, die während einer Phase erarbeitet werden, lassen sich planen. Die Ziele einer Phase werden Meilensteine genannt. Derartige Prozesse werden auch als "Milestone Driven Process" bezeichnet.

Beispiel: Der Rational Unified Process

Der Rational Unified Process [13] (RUP) modelliert beispielsweise ein Phasenmodell. Er beschreibt aber nicht nur Phasen, sondern auch Aktivitäten. Er kennt vier Phasen:

Inception
Formulierung einer Vision
Elaboration
Erarbeitung konkreter Ziele
Construction
Erstellung des Produkts
Transition
Übergabe und Pflege des Produkts

Die Aktivitäten sind:

Business Modelling
Formulierung von Geschäftszielen
Requirements
Bestimmung der geforderten Funktionalität des Produkts
Analysis and Design
Entwurf der Komponenten und deren Anforderungen
Implementation
Erstellung der Komponenten
Test
Integration und Test der Komponenten
Deployment
Test, Auslieferung und Installation des Produkts
Phasen_im_RUP.png

Bild 16: Aktivitäten in den Phasen des RUP

In Bild 16 ist dargestellt, wie sich Aktivitäten über die Phasen in einem (Beispiel-)Softwareprojekt verteilen.

Im RUP versteht man unter Iteration

  • eine Wiederholung des gesamten Entwicklungsprozesses, um eine Version mit erweiterten Fähigkeiten auszuliefern. Es handelt sich also um inkrementelle Entwicklung im eigentlichen Sinne.
  • eine Wiederholung des gesamten Entwicklungsprozesses einschließlich der Überarbeitung der Geschäftsziele und Anforderungen. Es handelt sich also um evolutionäre Entwicklung im eigentlichen Sinne.

Der RUP beschreibt den Lebenslauf eines Softwareprodukts im Großen. Es wird nicht auf die Entwicklung von Subsystemen oder Komponenten eingegangen.

Referenzen