2-4 Anforderungsverwaltung Flashcards
Nennen Sie die 3 Arten der Spezifikationsprachen.
informal,
semi-formal
formal
Geben Sie Beispiele für informale Spezifikationsprachen an.
typischerweise natürliche Sprachen (Deutsch, Englisch, …)
Geben Sie Beispiele für semi-formale Spezifikationsprachen an.
ER-Diagramm, funktionale Tabelle, Ablaufdiagramm.
Geben Sie Beispiele für formale Spezifikationsprachen an.
endlicher Zustandsautomat, Petri-Netz, OCL
Was unterscheidet formale und informale Spezifikationssprachen im Wesentlichen?
Informal:
Fehlen einer eindeutigen, wohldefinierten Semantik.
Formal:
durchgehend eindeutige, wohldefinierte Semantik.
Nennen und umschreiben Sie Probleme bei der Darstellung der Wahrnehmung.
Tilgung (Unzulässige Informationsreduktion)
Generalisierung (Unzulässige Verallgemeinerung)
Verzerrung (Verfälschung bei der Darstellung der wahrgenommenen Realität)
Nennen Sie Vor- und Nachteile natürlicher Sprachen.
Vorteile:
+ leicht zu schreiben und zu lesen
+ ausdrucksmächtig
Nachteile:
– unübersichtlich
– fehlerträchtig
– schwierig zu prüfen
Formale Spezifikationsmodelle erlauben …? (3 Eigenschaften)
- die Anforderungen eindeutig zu repräsentieren
- ihre Widerspruchsfreiheit formal zu analysieren
- die Gültigkeit zusätzlicher System-Eigenschaften zu beweisen oder durch Gegenbeispiele zu widerlegen
Nennen Sie Vor- und Nachteile formaler Spezifikationssprachen.
Vorteile
+ Immer eindeutig (da Semantik formal definiert)
+ Widerspruchsfreiheit formal prüfbar
+ Erfüllung wichtiger Eigenschaften beweisbar
+ Formale Verifikation von Programmen möglich
+ Analysen z.T. durch Werkzeuge automatisierbar
Nachteile
- Schwer zu erlernen und zu verwenden
- Erstellung sehr aufwendig
- oben angegebene Nachweise z.T. nicht einfach durchzuführen
Geben Sie die generelle Syntax an für einen Methodenzugriff in der OCL.
context Typename::operationName(param1 : Type1, …): ReturnType
Was bedeutet das Schlüsselwort ‘inv’ in der OCL?
Invariante. Muss wahr sein, damit der Zustand des Objektes wohldefiniert ist.
Was bedeutet das Schlüsselwort ‘self’ in der OCL?
Das Schlüsselwort self wird verwendet, um explizit auf den momentanen Kontext zu verweisen.
Wie werden in der OCL Vor- und Nachbedingungen angegeben?
Vorbedingungen, eingeleitet durch ‘pre’, müssen zum Zeitpunkt des Operationsaufrufs wahr sein.
Nachbedingungen, eingeleitet durch ‘post’, müssen unmittelbar nach der Ausführung der Operation wahr sein.
Was bedeutet das Schlüsselwort ‘result’ in der OCL?
Das Schlüsselwort ‘result’ bezeichnet den Rückgabewert der Operation, falls vorhanden.
Was bedeutet ‘@pre’ in der OCL?
Werden in der Nachbedingung Werte benötigt, die zum Zeitpunkt der Vorbedingung gelten, so werden sie mit dem Suffix ‘@pre’ versehen.