Download Entwicklung eingebetteter Software mit UML

Transcript
Produkte
// Class: LightController
// Description:
// Ein LightController-Objekt dient einerseits als aktiver Melder,
// andererseits als Steurungseinheit fuer die Lichtanlage im Flur. Als Melder
// gibt er Zustandsaenderungen der Lichtanlage (das Licht wurde durch den
// Benutzer manuell ein-/ausgeschaltet) an das LightControlUnit-Objekt weiter.
// Als Steuerungseinheit verfuegt die Klasse ueber Methoden zum Ein- bzw.
// Ausschalten der Lichtanlage.
class LightController : public ScheduledFct
{
// stp class members
public:
// Operation: lightControl
// Description:
// Die Methode lightControl() ruft in Abhaengigkeit von ihrem Parameter
// LichtStatus die Methoden SwitchOn() bzw. SwitchOff() eines Objekts
// der Klasse Light auf, um die Lichtanlage des Flurabschnitts entsprechend
// anzusteuern.
void lightControl(zLightStatusType LightStatus);
// Operation: callBack
// Description:
// Diese Methode wird von der Klasse ScheduledFct geerbt.
// Sie dient der Abwicklung der zeitabhaengigen Ablaeufe.
void callBack(void);
...
private:
// Attribute: zLCState
// Description:
// Die Enumeration definiert die gueltigen Zustaende
// eines Objekts der Klasse LightController
enum {cStatusLichtAus, cStatusLichtAn} zLCState;
zLightStatusType zLightStatus;
Ausschnitt aus der Headerdatei der Klasse
“LightController”
ABBILDUNG 81.
Das nächste Beispiel zeigt einen Ausschnitt aus der Implementierungsdatei der
Klasse “LightController”. Die Realisierung der Methode “lightControl” wird
beschrieben. Der Header der Methode konnte generiert werden. Der Methodenrumpf musste manuell eingefügt werden.
Entwicklung eingebetteter Software mit UML
157