Folien



(letzte Synchronisation der PDF-Präsentation: 02.03.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Unterschied zwischen OOA und OOD

Die Begriffe OOA (objektorientierte Analyse) und OOD (objektorientiertes Design) sind nicht immer trennscharf zu verwenden. Als grundsätzlicher Konsens gilt:

  • OOA - WAS soll das Programm tun?
  • OOD - WIE soll das Programm es tun?

In der OOA werden also grundsätzliche Strukturen identifiziert und nach Möglichkeit schon in Klassen-/Objektstrukturen (vor-)strukturiert. Dabei werden Fragen der technischen Implementierung VÖLLIG vernachlässigt. Als Ergebnis der OOA stehen bspw. Use-Case-Diagramme, Aktivitätsdiagramme oder (sehr grob gehaltene) Klassendiagramme.

Beim OOD werden die Ergebnisse der vorigen Schritte konkretisiert: Wie werden einzelne Prozesse und Interaktionen realisiert? Wie wird die Datenhaltung realisiert, wie spielen die einzelnen Schichten (z.B. MVC) zusammen? Hier kommen auch Aspekte der zu verwendenden Programmiersprache ins Spiel (ist Überladung, Mehrfachvererbung möglich?). Als Ergebnis steht ein möglichst konkretes Klassendiagramm.

Nicht zufällig sprechen Lehrplankommissionen statt von OOA/OOD gern auch vom "objektorientierten Entwurf". Für den Schulunterricht dürfte das Beharren auf einer strengen Trennung zwischen OOA und OOD nicht sinnvoll sein. Zentral ist die Erkenntnis, dass in der objektorientierten Entwicklung ein schrittweiser, zunehmend auf die programmiertechnische Implementierung ausgerichteter Abstraktionsprozess erforderlich ist.