|
CRC-Karten-Analyse im Unterricht
Kurzbeschreibung
Das objektorientierte Modell einer Anwendungsdomäne hängt stark von den
Anforderungen (des Auftraggebers) ab: Je nach gewünschter Funktionalität fällt
das Modell unterschiedlich aus.
Die anwendungsfallgetriebene CRC-Karten-Analyse klärt die Anforderungen mit
Hilfe der Definition von Anwendungsfällen und erstellt darauf aufbauend ein
Analysemodell der Anwendungsdomäne.
Problem
Nahezu alle Abläufe in einem realen System (der Anwendungsdomäne) sind durch
Aktionen und Interaktionen geprägt, die oft unbemerkt und ohne scheinbare
Initiierung erfolgen. In der Analysephase muss ausgewählt werden: Welche
Aktionen und Interaktionen sollen erfasst werden, welchem Objekt sind sie
zuzuordnen (Beispiel: Der Torwart fängt den Ball oder: Der Ball wird gefangen
vom Torwart). Unwesentliches wird weggelassen, woraus die Frage resultiert: "Was
gehört zum Modell, was nicht?"
Kontext
Analysephase von Softwareentwicklungsprojekten (im life³-Phasenmodell: Phase
2/Schritt A und in Phase 3)
Schwierigkeiten
Die Systemgrenze muss gefunden werden: Was gehört zum Modell, was ist
überflüssig und wird weggelassen.
Diese Frage kann nur geklärt werden, wenn der Zweck bzw. der Einsatz der
späteren Software klar ist. Anfängerinnen und Anfänger neigen dazu, ihnen
nahe liegende Elemente direkt ins Modell abzubilden. Schwierigkeiten entstehen
dann, wenn unterschiedliche Meinungen bezüglich des Offensichtlichen/Nahe
liegenden
geäußert werden oder wenn wesentliche Aspekte in der Analysephase übersehen
werden.
Lösung
CRC-Analyse kann sehr gut wie eine Brainstorming-Sitzung in Gruppen von etwa
vier Schülerinnen und Schülern durchgeführt werden.
Ausgangspunkt ist das Identifizieren/Finden von Objekten, die auf Karteikarten,
den sog. CRC-Karten, notiert werden: Oben wird der Klassenname notiert, in zwei
Spalten darunter die Verantwortlichkeiten und Beteiligte.
Zum Verfeinern des Modells zieht man Anwendungsfälle hinzu: das sind von
einem Benutzer (Akteur) 'angestoßene' bzw. 'angefragte' Verantwortlichkeiten,
die ihm meist ein Ergebnis zurückmelden.
Die Anwendungsfälle werden gesondert auf einer Liste notiert. Sie bekommen einen
Namen und eine kurze Erläuterung. Mit Hilfe des
Objektspiels
können die einzelnen Anwendungsfälle getestet werden.
Anschließend werden die Gruppenergebnisse in der Gesamtgruppe zu einem Modell
zusammengeführt und nochmals getestet, zumindest jedoch sollten sie besprochen
werden, um Alternativen aufzuzeigen sowie um Vor- und Nachteile einzelner
Varianten anzusprechen.
Ergebnis
Zusammen mit den Anwendungsfällen zeigt das CRC-Modell die wesentlichen
Elemente des noch zu designenden Fachklassenmodells und seine Zielsetzung auf
(Was soll der spätere Benutzer machen können?). Die CRC-Karten können
anschließend in ein solches Fachklassenmodell überführt werden.
Die Anwendungsfälle sind im Übrigen noch von Bedeutung, sie können später immer
wieder zum Testen des weiterentwickelten Modells herangezogen werden. Außerdem
unterstützen sie die Anbindung einer grafischen Oberfläche sowie damit verbunden
die Integration der Ereignisorientierung, da sie Start- und Endpunkte von
Benutzerinteraktionen festhalten.
Diskussion/Konsequenzen
Schon früh erfahren die Schüler, dass es nicht nur eine
Lösung gibt. Hier liegt zunächst - allerdings nur scheinbar - eine Schwäche
dieser Methode, da sie zu langwierigen, oft als lästig empfundenen Diskussionen
führen kann. Doch mit wachsender Fachkompetenz der Schülerinnen und Schüler
ergeben sich hier Möglichkeiten, alternative Lösungswege zu entwickeln, und die
Güte von Lösungen anhand ihrer Konsequenzen abzuschätzen.
Anwendungsfälle werden schnell als lästiges Übel empfunden, sie können in der
Gesamtgruppe jedoch als Maßstab genutzt werden, um die einzelnen Lösungen zu
vergleichen: Sind die Anwendungsfälle vollständig? Sind sie vollständig vom
Modell unterstützt? Hat das Modell zusätzliche, evtl. überflüssige
Eigenschaften?
Es kann vorkommen, dass die Gruppen lieber direkt ein UML-Klassendiagramm
erstellen wollen und die Analyse überspringen, insbesondere wenn die
Anwendungsdomäne bekannt ist. Hierbei sollte auf die Bedeutung einer
sorgfältigen Analyse aufmerksam gemacht werden und Konsequenzen erörtert werden.
|