Software-Engineering
(objektorientiert)
Bombei
Informatik Sek II
Software Life Cycle - objektorientierte Entwicklung
[
zurück
]
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 Programmmodule
Komposition
Gesamtsystem zusammenfügen
Testumgebung entwerfen und implementieren
Testen und dokumentieren
Endprodukt:
lauffähiges Gesamtsystem