Zum Inhalt springen

Software Life Cycle

Software Life Cycle - objektorientierte Entwicklung

Problemanalyse

Auftraggeber:

  • Beschreibung des Ist-Zustandes
  • Zielvorstellungen: Funktionsumfang, Bedienung, Benutzer
  • Rahmenbedingungen: vorhandene Hardware, Software

Auftragnehmer und -geber:

  • Prüfung der Angaben auf Vollständigkeit bzw. Schlüssigkeit

Auftragnehmer:

  • Skizzierung der Bedienoberfläche
  • Rapid-Prototyping zur Bedienoberfläche

Endprodukt:

  • Anforderungsdefinition

Objektorientierte Analyse (OOA)

Fragestellungen, z.B. aus Anf.-Def. und Bedienoberfläche zu beantworten:

  • Welche Objekte werden behandelt?
  • Welche Methoden (Funktionen) werden erwartet?
  • Welche Methoden lassen sich Objekten zuordnen?

Endprodukt:

  • Klassen-(Objekt-) Übersicht (OOA) und Methodenliste

Objektorientiertes Design (OOD), bzw. Modellierung

  • Welche Objekte können zu Klassen verallgemeinert oder zusammengefasst werden?
  • Welche verborgenen Klassen sind notwendig, bzw. sinnvoll?
  • Welche Beziehungen gibt es zwischen den Klassen?
  • Wie interagieren die Klassen?
  • Welche Eigenschaften und Methoden gehören zu den jeweiligen Klassen?

Endprodukte:

  • Klassenhierarchie (OOD)
  • (Modul-) Spezifikation: genaue Beschreibung des Außenverhaltens der Klassen und Methoden
  • Testdaten: Festlegung von Fehlerverhalten und Grenzwerten sowie Testdaten

Implementierung

  • Klasseneigenschaften spezifizieren
  • Algorithmen der Methoden erstellen
  • Klassen entsprechend den Spezifikationen unabhängig programmieren
  • Testumgebungen entwerfen und entsprechend den Spezifikationen programmieren
  • Testen und dokumentieren

Endprodukt:

  • Getestete Programmmodul

Komposition

  • Gesamtsystem zusammenfügen
  • Testumgebung entwerfen und implementieren
  • Testen und dokumentieren

Endprodukt:

  • lauffähiges Gesamtsystem

Redaktionell verantwortlich: