Search Next: Klassen und Methoden definieren
Up: Objektorientierte Programmierung
Previous: Prinzipien der OOP
  Contents
  Index
Man kann bei der objektorientieren Analyse und Lösung von Problemen
vier Phasen unterscheiden:
- 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.
- 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.
- Nun werden die Botschaften festgelegt, die zwischen den Akteuren
ausgetauscht werden sollen. Auf einem gewissen Niveau werden hier Fachbegriffe
des Problemfeldes vorkommen.
- 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
|
|
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.
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