is-Logo

Software Engineering
 Strukturierung von Softwaresystemen

S. Spolwig

[Home | Software Engineering]

 

Zum Entwurf größerer Softwaresysteme (Programmierung im Großen) haben sich im Wesentlichen zwei Methoden herausgebildet: die traditionelle funktionale, prozedurale Abstraktion und die Datenabstraktion, die die Basis der objektorientierten Analyse (OOA) bildet.
 

1. Funktionale Abstraktion und Strukturierung eines Softwaresystems

Das System ist nach den benötigten (Anwender)Funktionen und nach der Organisation des Kontrollflusses d. h. nach dem Ablauf der Aufrufe der Operationen gegliedert.

Strukt1

Quelle: Neumann: Objektorientiert Entwicklung von Software-Systemen, 1995

Merkmale der funktionalen Abstraktion

  • Datenraum und Programm werden getrennt gesehen
     

  • Daten und Algorithmen (Prozeduren) werden getrennt behandelt,
    deshalb müssen Daten ständig durchgereicht und teilweise global deklariert werden, damit ein gemeinsamer Zugriff durch Prozeduren auf verschiedenen Ebenen möglich wird. Das hat negative Auswirkungen auf die Sicherheit.
     

  • Die Strukturierung folgt im Prinzip der strukturierten Programmierung und schrittweisen Verfeinerung

Beispiel: Artikelverwaltung

Modulhierarchie aus der funktionalen Abstraktion und strukturierten Analyse
 

2. Datenabstraktion und objektorientierte Analyse eines Softwaresystems

Das Softwaresystem ist strukturiert nach den beteiligten Objekten des Anwendungsproblems und ihrer Beziehungen zu einander.

Beispiel: Artikelverwaltung

Modulhierarchie aus der Datenabstraktion (OOA Klassenmodell)

Merkmale der Datenabstraktion

  • Daten und Prozeduren (Algorithmen) werden als Einheit gekapselt.
     

  • Jedes Objekt hat ein "Gedächtnis" und kennt den Zustand seiner Daten.
     

  • Die beteiligten Objekt tauschen untereinander Botschaften aus. Es gibt kein streng sequentielles hierarchisches Aufrufen von Funktionen.



 ©  05. Oktober 2008   Siegfried Spolwig

page_top