12.07.2015 Aufrufe

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

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.

Personage : IntegerfirstName : StringlastName : StringisEmployed : Boolean0..*employee0..*employerCompanyname : Stringincome(Date) : IntegerJobsalary : IntegerAbbildung 31: Beispiel für KlassendiagrammEin Beispiel für eine Invariante in OCL ist der folgende Ausdruck:context Person inv:self.age >= 18Invarianten gelten immer für alle Instanzen eine Typs, dem sie zugeordnet sind. In obigem Beispiel istdie eigentliche Invariante in der zweiten Zeile zu finden, während die erste Zeile mit dem Schlüsselwortcontext <strong>und</strong> dem nachfolgenden Person den Typ bezeichnet, dem die Invariante zugeordnetist, wobei diese durch inv als solche gekennzeichnet ist. Das Schlüsselwort self steht stellvertretendfür eine Instanz des oben angegeben Typs. Die Semantik des Ausdrucks ist die, daß das Attributage für alle Instanzen vom Typ Person einen Wert von größer oder gleich 18 haben muß. Wenn derKontext des Ausdrucks klar erkennbar ist, kann das self weggelassen werden.Eine alternative Darstellung der Invariante ist:context p : Person inv:p.age >= 18Hier wird ein Name stellvertretend für eine Instanz von Person - p - angegeben <strong>und</strong> kann im folgendenAusdruck statt self verwendet werden.Vor- <strong>und</strong> Nachbedingungen für Operationen werden folgendermaßen dargestellt:context Person::income(d : Date) : Integerpre: d >= 1.4.1996post: result > 1500Die erste Zeile enthält wieder den Kontext, d.h. die bezogene Klasse Person <strong>und</strong> ihre Operationincome mit dem Parameter d vom Typ Date <strong>und</strong> einem Rückgabewert vom Typ Integer. Die Vorbedingungist hinter dem Schlüsselwort pre angegeben <strong>und</strong> besagt, daß vor der Ausführung derOperation sichergestellt sein muß, daß der Parameter d größer dem angegebenen Wert ist. NachAusführung der Operation muß die hinter post notierte Nachbedingung gelten, daß das Ergebnis derOperation größer 1500 ist. Das Ergebnis einer Operation kann immer mit dem reservierten Wortresult abgefragt werden.- 30 -

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!