Artikel
Phasenmodell des Software-Lebenszyklus


Rubrik:
Entwicklung, Grundlagen

Typ:
Zusammenfassung

Stand:
abgeschlossen

Stichworte:
Phasenmodell, Software Entwicklung, Qualität, Entwurf, Design



Modell zur Qualitätssicherung und Effizientsteigerung bei der Softwareentwicklung. Essentiell ist dabei, dass jede Phase hinreichend dokumentiert wird.

Prozesse

Hauptprozesse Nebenprozesse
  • Analyse
  • Entwurf
  • Implementierung
  • Programmtest
  • Planen
  • Dokumentieren
  • Kontrollieren
  • Verwalten von Daten

Einzelne Phasen werden zyklisch wiederholt. Es besteht ein Rückkopplung zu vorhergehenden Phasen. Das Modell kann als eine Spezifikation des Modells der 'Phasen des Entscheidungsprozesses' gesehen werden ('Betriebswitschaftslehre der Unternehmung'):

Phasen des Entscheidungsprozesses

 

1.) Analysieren und Definieren (was ist zu realisieren, äußere Anforderungen)

Ermittlung der Anforderungen an das Programm.

  • Wozu dient das Programm ?
  • Welche Daten sind vorgegeben ?
  • Welche Daten sollen eingegeben werden ? (*)
  • Welche Daten sollen ausgegeben werden ? (*)
  • Wie werden die Ausgabedaten ermittelt ? (*)

(*) Definition Computer: "Jedes Gerät zur Daten Eingabe, Verarbeitung und Ausgabe."

Erstellung eines Pflichtenheftes (Produktdefinition):

  • Funktionsumfang
  • Benutzeroberfläche
  • Systemumgebung
  • Hardwarevoraussetzungen
  • verwendete Entwicklungswerkzeuge
  • Umfang der Dokumentation
  • Übergabetermin

 

2.) Entwerfen (wie wird realisiert, innere Anforderung)

Ziel : Software-Spezifikation
Ermittlung der programmspezifischen Details für die nachfolgende Implementierungsphase. Wichtiger und i.d.R. umfangreicher als die eigentliche Implementierung.

-> "Je besser der programmspezifische Entwurf, desto qualitativ hochwertiger wird das Gesamtprodukt."

Zerlegung der Software in Module

Grobentwurf: Entwurf der Hauptmodule

  • Funktionen zur Datenbearbeitung
  • Funktionen zur Dateneingabe
  • Funktionen zur Datenausgabe
  • Funktionen zur Fehlerbehandlung

Beachten: Wiederverwendbare Module schreiben

Feinentwurf:

  • Aufteilen der Hauptmodule

Beachten: Redundanz vermeiden, 'überschaubare Module'

 

3.) Implementierung (Codierung, Kompilierung, Fehlerbeseitigung)

Umsetzung des Entwurf in Programmcode. Kompilierung und Test auf Modulebene.

 

4.) Testen (Qualitätskontrolle, Fehlerbeseitigung)

Testen des Gesamtprodukts:

  • Sind alle geforderten Funktionen implementiert (Pflichtenheft) ?
  • Programmtest anhand von Testdaten.
  • Programmtest bei Fehleingaben (Behandlung von Exceptions)
  • Systemtest (funktioniert das Programm auf einem 'sauberen' Testsystem?)
  • Abnahmetest durch den Auftragsgeber

Verläuft der Test nicht erfolgreich so wird zurück zur Implementierungsphase gesprungen.Der Kreislauf muss solange ausgeführt werden bis der Test erfolgreich ist. Weil bei komplexerer Software Fehlerlosigkeit nie vollständig erreicht werden kann, muß diese Phase innerhalb eines Effizientsrahmens bleiben.

Phasen des Entscheidungsprozesses

 

5.) Einsatz und Wartung (Auslieferung, Support)
  • Erstellen einer Setup (-> Installation testen)
  • Erstellen einer Gesamtdokumentation anhand der Einzeldokumentationen
  • Auslieferung
  • Wartung (ggf. Fehlerbeseitigung)

 

 

Allgemeine Hinweise zur Programmentwicklung.

Qualitative Anforderungen:

  • Benutzerfreundlichkeit
  • Zuverlässigkeit
  • Fehlerlosigkeit (auch bei Fehleingaben) -> Realistischer: Fehlerminimierung.
  • Dokumentation
  • Universelle Einsetzbarkeit
  • Einfache Anpassbarkeit bzw. Erweiterbarkeit.



Referenz: "Grundlagen der Programmierung"




Impressum
 


Copyright 2002,2003 M. Schmitz