B. Spezifikation des Entwurfs (OOD)
Bevor man sich an die Programmierumgebung
setzt und drauflos hackt, muß noch festgelegt werden, von welchem Datentyp
die Attribute sind und was die Methoden/Prozeduren genau tun sollen (aber
nicht wie!, was erst bei der Implementation kommt).
TTaschenlampe
Batterie, Lampe und Schalter sind natürlich ebenso eigenständige Objekte
wie die Taschenlame, die in gleicher Weise in einer Klasse beschrieben
werden können. Das wird die Endversion sein.
Für einen schnell zu realisierenden Prototyp reicht es, wenn für die drei
Attribute gelten kann: Sie sind vorhanden und funktionieren (true) oder
auch nicht (false), was der Type boolean aussagt.
Als Methoden Spezifizieren wir
Create
Auftrag : Erzeugen und initialisieren
vorher : -
nachher: Lampe, Batterie sind true, Schalter false
Einschalten
Auftrag : Schalter auf true
vorher : -
nachher: done
Ausschalten
Auftrag : Schalter auf false
vorher : -
nachher: done
Leuchtet
Anfrage: ob die Taschenlampe 'brennt'
vorher :
nachher: leuchtet, wenn Lampe Licht gibt, Batterie OK und Schalter
auf EIN
TLampenGUI
Um die Attribute brauchen wir uns nicht groß zu kümmern. Sie werden vom
System automatisch geschrieben, wenn Sie die entsprechenden Komponenten
auf das Entwurfsformular ziehen.
Als Methoden spezifizieren wir
FormCreate (...)
Auftrag : Taschenlampe erzeugen
vorher : -
nachher: done
SchalterUpDownClick(...)
Auftrag : Taschenlampe.Einschalten bzw. Taschenlampe.Ausschalten
und den
jeweiligen Zustand darstellen
vorher : -
nachher: done
Darstellen (TLa: TTaschenlampe);
Auftrag : Lichtzustand auf dem Bildschirm anzeigen
vorher : -
nachher: wenn Taschenlampe leuchtet,
dann LampenShape-Farbe auf Gelb,
sonst schwarz
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Hinweis:
Mit einer präzisen Spezifikation der Methoden ist schon die halbe
Programmierung
gemacht, weil hier festgelegt wird, WAS zu programmieren ist und was
dabei heraus-
kommen soll.
|
|