27.2 Die Modellierung des Tauglichkeitstesters und ihre Formulierung in UML 
 
Verbale Beschreibung Eine mögliche verbale Beschreibung des Tauglichkeitstesters und seiner Funktionalität könnte so ausschauen:
 
 

Reaktionstest:
Beim Umschalten einer Ampel wird die Reaktionszeit mit eine Stoppuhr gemessen.

Einschätzungstest:
Ein Quadrat mit zufälliger Größe, welches ein Tor symbolisiert, wird kurz gezeigt. Anschließend erscheint ein kleiner Ballon, der sich vergrößert. Die Testperson reagiert möglichst genau dann, wenn sie glaubt, dass der sich vergrößernde Ballon gerade noch durch das Tor passt. Die Bewertung ergibt sich aus der Größenabweichung.

Konzentrationstest:
Es wird zufällig eine der Ziffern 0..9 angezeigt. Anschließend muss die entsprechende Taste gedrückt werden. Die Reaktionszeit wird gemessen. Auf Falscheingaben wird nicht reagiert.

Das Aufsuchen von Substantiven in einem Text ist eine Möglichkeit nach Kandidaten von Fachklassen zu suchen. Mögliche Kandidaten sind: Ampel, Stoppuhr (schon implementiert), Quadrat, Ballon, Reaktionstest, Einschätzungstest und Konzentrationstest. Andere Substantive scheiden eher aus: etwa die Größe eines Quadrates, da es sich hier eher um eine Eigenschaft eines Quadrates handelt als um eine eigenständige Klasse, oder Reaktionzeit, weil das etwas ist, was u.U. eine Stoppuhr liefert. Das Analysieren des Problems - einen Tauglichkeitstester zu programmieren - nennt man häufig auch die Objekt Orientierte Analyse oder kurz OOA.
 
Sammlung möglicher Klassen
OOA = Objekt Orientierte Analyse

In die Sammlung möglicher Klassen haben wir noch den Kreis aufgenommen. Das macht u. U. Sinn, wenn wir einen Ballon als eine Spezialisierung eines Kreises sehen wollen, eines Kreises, der sich dadurch auszeichnet, dass er wachsen kann. Oder wenn wir uns vorstellen, dass man eine Ampel aus Quadraten und Kreisen 'basteln' kann.
 

Beziehungen schaffen Eine Strukturierung schaffen wir im nächsten Schritt, wenn wir die Beziehungen 'unserer Klassen' formulieren. Das Festlegen der Klassen und das Modellieren des Projektes, das sich in dem Festlegen der Beziehungen manifestiert ist ein kreativer Prozess und ist nicht eindeutig. Die hier angebotene Lösung ist also eine unter vielen und möglicherweise nicht einmal die beste.  Eine mögliche Struktur könnte in UML so aussehen:
Strukturierung der Klassen OOM
  Bei den ersten Schritten der OOM (Objekt orientierten Modellierung) legen wir noch keine Attribute oder Methoden fest. Auch ist in diesem Zustand der Modellierung noch nicht festgelegt, ob man nicht noch weitere Klassen hinzufügen möchte, Es ist noch nicht klar, welche Klassen man voneinander erben lassen möchte. Das wird schon nicht mehr ganz sprachenunabhängig sein und deshalb schon zum Objektorientierten Design oder kurz OOD gehören.

Die Beziehungspfeilen, es handelt sich hier genauer um sog. Aggregationspfeile sind uns schon im Kapitel 24.6 begegnet und sind dort auch erklärt.
 

Die Klassen samt ihrer Beziehungen untereinander und ihre Hierarchie sollten sich auch in einer Struktur der Quelltexte widerspiegeln. Wir wollen deshalb ein kleines Kapitel über Pakete in Java einfügen.
 

zu 27.3 Pakete - Beispiel StoppUhr
zur Startseite www.pohlig.de  (C) MPohlig 2004