next up previous contents index
Search Next: Klassen und Methoden definieren Up: Objektorientierte Programmierung Previous: Prinzipien der OOP   Contents   Index

Die Strategie der OOP

Man kann bei der objektorientieren Analyse und Lösung von Problemen vier Phasen unterscheiden:

  1. Am Anfang steht eine ausführliche Beschäftigung mit der Problemstellung. Man wird Beispiele durchspielen, normale Situationen ebenso wie Grenzfälle, um sicherzustellen, dass man das Problem wirklich verstanden hat.

  2. Als Nächstes werden die Objekte identifiziert, die sich in dem Problem verstecken. Man kann auf ihre Spur kommen, indem man versucht, die kleinen Probleme zu isolieren, deren Zusammenstellung das große Problem ausmacht.

  3. Nun werden die Botschaften festgelegt, die zwischen den Akteuren ausgetauscht werden sollen. Auf einem gewissen Niveau werden hier Fachbegriffe des Problemfeldes vorkommen.

  4. Schließlich werden die notwendigen Implementationen vorgenommen, wobei man stets darauf bedacht sein sollte, die zu Grunde liegende Sprache so viel wie möglich selbst erledigen zu lassen.

Die besten Ergebnisse erzielt man, wenn die Schritte nicht nur einmal abgearbeitet werden, sondern das Feedback aus späteren Phasen für eine weitere Iteration durch den Prozess verwendet wird. Mit zunehmender Übung verwischen sich auch die Grenzen zwischen diesen Phasen.

Eine sehr hilfreiche Technik für die Identifikation der Objekte und Botschaften sind die von Beck und Cunningham entwickelten CRC-Karten (Classname, Responsibility, Collaborators), deren Handhabung ebenfalls in [Liu96] ausführlich beschrieben ist.

Figure 15.1: Aufbau einer CRC-Karte
\includegraphics[width=.8\linewidth]{images/crc.eps}

CRC-Karten enthalten neben dem Namen der Klasse eine Auflistung der Fähigkeiten, über die ein Objekt verfügen sollte, sowie die Klassen, mit denen die aktuelle Klasse eng zusammenarbeitet. Sie werden auf (preiswerten) Karteikarten angelegt und stellen eine sehr effektive Möglichkeit dar, die Interaktion der verschiedenen Objekte anzugeben.


next up previous contents index
Search Next: Klassen und Methoden definieren Up: Objektorientierte Programmierung Previous: Prinzipien der OOP   Contents   Index
(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20