Anhang G. Die CRC-Karten Methode

Inhaltsverzeichnis

G.1. Die Karte
G.2. Die Gruppe
G.3. Die Sitzung
G.4. Der Prozess

Eine CRC-Karte ist vordergründig eine Indexkarte, die verwendet wird, um Klassen, deren Verantwortlichkeiten und die Interaktionen zwischen Ihnen darzustellen. Der Begriff CRC-Karte wird auch benutzt, um sich auf eine Methode für die objektorientierte Modellierung auf der Basis ihrer Verwendung zu beziehen.

Kent Beck und Ward Cunningham führten die CRC-Karten in ihres Papiers "Ein Labor für die Lehre im Objektorientierten Denken" ein, die auf der OOPSLA-Konferenz (Objektorientierten Programmierung, Systeme, Sprachen (Languages) & Anwendungen) 1989 vorgestellt wurde. Ein Tutorial zum Thema finden Sie unter http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/. Der CRC-Karten-Methode wurde ursprünglich als ein pädagogisches Instrument entworfen, aber es hat sich genauso als gutes Modellierungswerkzeug erwiesen.

Die drei Teile der CRC Abkürzung wurden von den Autoren des Papiers genutzt, um die wesentlichen Aspekte der objektorientierten Modellierung darzustellen. Der Begriff bezieht sich auf den Vertrag, den die in der Diskussion befindliche Klasse dem Rest der Welt (Interface-und Vertrag sind ähnliche Konzepte) bietet. Verantwortlichkeiten modellieren die Dinge, die eine Klasse tun kann. Dienstleistungen, Methoden oder Operationen ergeben sich aus diesen. Der Begriff Kollaboratoren bezieht sich Klassen, deren Dienste die in der Diskussion stehende Klasse nutzen wird. Kent Beck versuchte erfolglos den Begriff Helfer anstelle von Kollaboratoren zu verwenden, um Klassen darzustellen, die die in der Diskussion stehende Klasse unterstützt. Es ist allgemeine Ansicht, dass der Begriff gewählt wurde, weil CRC die Initialen von Ward Cunningham's Sohn sind.

Warum CRC-Karten verwenden?

G.1. Die Karte

Das genaue Format der Karte kann an die Präferenzen der Gruppe angepasst werden, aber die minimal erforderlichen Informationen ist der Name der Klasse, die Unterklassen und Oberklassen, seine Verantwortlichkeiten und die Kollaboratoren für jede dieser Verantwortlichkeiten. Die Rückseite der Karte kann für eine Beschreibung der Klasse verwendet werden. Während der Design-Phase können die Attribute der Klasse auf der Rückseite wiedergegeben werden. Eine Möglichkeit die Karte zu interpretieren ist, dass die Vorderseite die öffentlichen Informationen, und die Rückseite die gekapselten, Implementierungsdetails enthält. Wenn eine eine Klasse definiert wird, wird eine Karte für diese Klasse mit dem entsprechenden Namen erstellt. Wenn eine Klasse einer Person zugeordnet ist, legt die Person (oder die Gruppe) einen grundlegenden Satz von Verantwortlichkeiten für die Klasse fest. Dieser grundlegende Satz von Verantwortlichkeiten sollte alles umfassen, was (wenn überhaupt) sofort klar ist.