Inhaltsverzeichnis
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?
Sie sind portabel. Es sind keine Rechner erforderlich, so dass sie überall verwendet werden können. Auch ausserhalb des Büros.
Sie ermöglichen es den Teilnehmern aus erster Hand zu erfahren, wie das System funktioniert. Kein Computer-Tool kann die Interaktion ersetzen, die durch das physische abholen der Karten und das Spielen der Objektrolle geschieht.
Sie sind nützliche Werkzeuge, um Personen im objektorientierten Paradigma zu unterrichten.
Sie kann als eine Methode sich selbst oder als Front-End zu einem formellen Verfahren, wie Booch, Wirfs-Brock, Jacobson, usw. verwendet werden. Obwohl CRC-Karten für den Unterricht erstellt wurden, haben sie sich für vieles mehr nützlich erwiesen.
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.