Class-Responsibility-Collaboration-Karten
aus Wikipedia, der freien Enzyklopädie
Die CRC-Karte (Class-Responsibility-Collaboration-Karte) ist ein Hilfsmittel für das objektorientierte Design. Das Konzept wurde Ende der 80er Jahre von Ward Cunningham erfunden.
Das Grundprinzip besteht darin, für jede Klasse eine Karteikarte zu erstellen und auf dieser deren Eigenschaften zu notieren. Für CRC-Karten gibt es keine allgemein gültige Notation. Man orientiert sich aber im Allgemeinen an den ersten, von Ward Cunningham gezeichneten Karten. Diese bestehen aus drei Bereichen:
- oben steht der Name der Klasse.
- auf der linken Seite schreibt man die Verantwortlichkeiten der Klasse nieder.
- auf der rechten Seite stehen die Klassen, mit denen die beschriebene Klasse zusammenarbeitet.
Es gibt eine Vielzahl von Erweiterungen des ursprünglichen Konzepts, die zusätzliche Bereiche hinzufügen und teilweise auch die Rückseite der Karten mitverwenden.
Der Vorteil der CRC-Karten liegt in der einfachen Handhabung. Man kann problemlos Informationen hinzufügen oder streichen. Auf Grund des einfachen Ansatzes ist man auch unabhängig von verwendeten Programmiersprachen und -werkzeugen. Der begrenzte Platz zwingt die Entwickler zusätzlich dazu, sich auf die wesentlichen Aufgaben einer Klasse zu konzentrieren.
Relationen zwischen den Klassen kann man auf unterschiedlichen Wegen veranschaulichen. Entweder schreibt man die Namen der behandelten Klassen auf die Karte, oder man macht z.B. die Karten an einer Wand fest und zeichnet Striche zwischen die Karten.
Ein Beispiel für eine Registerkarte:
Vorderseite
Auf der Kartenvorderseite notiert man den Namen der Klasse und den der Superklasse (falls vorhanden). Außerdem werden das Verantwortungsgebiet und die Relation zu anderen Klassen kurz beschrieben.
Rückseite
Auf der Rückseite beschreibt man die Klasse etwas detaillierter anhand eines Verzeichnisses der Operationen und der Attribute.
[Bearbeiten] Fazit
Auf Registerkarten sollte nur das Wesentliche einer Klasse notiert werden. Zunächst sollte nur z.B. der Klassenname aufgeführt werden. Erst in der Analysephase, wenn mehrere Informationen über die Klasse vorhanden sind, sollte die Karte erweitert werden. Falls kein Bedarf mehr da ist, können Informationen auch gestrichen oder sogar eine komplette Karte entfernt werden.
[Bearbeiten] Weblinks
- Kent Beck, Ward Cunningham: A Laboratory For Teaching Object-Oriented Thinking.
- Ward Cunningham: A CRC Description of HotDraw.
- Die ersten, von ihrem Erfinder gezeichneten CRC-Karten.
- Ulli Gellesch: Einführung in die Arbeit mit CRC-Cards.