12.12.2012 Aufrufe

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.1. SOFTWAREDESIGN 17<br />

Felder einer CRC-Karte<br />

Klassenname Der Name des Klassenkandidaten<br />

Superklasse Eine mögliche Klasse, von der der Kandidat abgeleitet werden kann<br />

Subklasse Mögliche Klassen, die von dem Kandidaten abgeleitet werden können<br />

Aufgaben Die Funktionalität, die der Kandidat zur Verfügung stellen soll<br />

Partner Andere Klassen, mit denen der Kandidat zusammenarbeitet<br />

Sonstiges Für weitere Anmerkungen<br />

Tabelle 3.2: Die Felder und deren Zweck bei einer CRC-Karte. Eine Blankovorlage zeigt Abbildung<br />

Anhang B.1, ein Beispiel einer ausgefüllten Karte findet sich in Abbildung Anhang B.2<br />

ten geeinigt, werden die Begriffsgruppen an die teilnehmenden Personen verteilt, die dann für<br />

jeden Kandidaten eine CRC-Karte erstellen müssen.<br />

Eine CRC-Karte besitzt im wesentlichen die Felder aus Tabelle 3.2. Natürlich muß nicht<br />

jedes Feld ausgefüllt sein, außerdem ist das Aussehen der Karten jeder Gruppe von Entwicklern<br />

freigestellt. Das H1-OO-Projektteam hat sich dabei auf eine Vorlage wie in Abbildung B.1<br />

geeinigt.<br />

Sind die CRC-Karten erstellt, werden sie von ihren Autoren vorgestellt und in der Gruppe<br />

diskutiert. An dieser Stelle des Entwicklungsprozesses soll herausgefunden werden, ob der Satz<br />

an Klassenkandidaten ausreicht und ob deren Zusammenspiel sinnvoll ist. Zu diesem Zweck<br />

werden bestimmte Situationen mit den Karten durchgespielt.<br />

Ein einfaches Beispiel: es soll ein Massenplot erstellt werden.<br />

• Von wo kommt die Masse? → Teilchen<br />

• Von wo kommt das Teilchen? → Teilchenliste<br />

• Wer erstellt diese Teilchenliste? → Teilchen-Selektor<br />

• Welche Eingaben benötigt der Selektor? → Liste aller Teilchen und eine Selektion<br />

• Woher kommt die Liste aller Teilchen? → Event<br />

• Woher kommt die Selektion? → Vom Benutzer definierte Kriterien<br />

An dieser Stelle ist es noch vollkommen uninteressant, wie z.B. die Masse in einem Teilchen<br />

steckt. Es könnte direkt ein Datenelement mit der Masse haben, aber genausogut könnte es einen<br />

Vierervektor besitzen, aus dem man die Masse noch berechnen muß. Dies sind jedoch nur Details<br />

der Implementierung, die zu diesem Zeitpunkt noch nicht wichtig sind.<br />

Am Ende der Kette stehen dann CRC-Karten, die einerseits das Interface der Klassen beschreiben,<br />

die es zu implementieren gilt, andererseits in ihrer Gesamtheit ein Gerüst für eine<br />

Klassenhierarchie darstellen. Außerdem geben die CRC-Karten vielfach auch schon Hinweise<br />

auf die künftigen Dateninhalte der geplanten Klassen. Ein Beispiel für eine ausgefüllte Karte<br />

zeigt Abbildung Anhang B.2, es handelt sich dabei um einen Vorschlag für eine Klasse zur Verwaltung<br />

von verschiedenen Bezugssystemen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!