Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
42 Kapitel 2<br />
Anforderungen und SpeziÞkationen 41<br />
dungsspezialisten entscheiden kšnnen, ob die intendierten Sachverhalte in der formalen<br />
Sprache korrekt beschrieben sind. Das †berprŸfen der Korrekheit erfordert eine<br />
gute Lesbarkeit und VerstŠndlichkeit der SAS fŸr alle Beteiligten. Um diesem Anspruch<br />
gerecht zu werden, erzeugt der RA fŸr die Validierung der SAS eine Zusammenfassung<br />
in voller natŸrlicher Sprache, so dass die Anwendungsspezialisten die<br />
QualitŠt der SAS durch manuelle Techniken ŸberprŸfen kšnnen. Es gibt jedoch keine<br />
Garantie dafŸr, dass die natŸrlich-sprachliche Zusammenfassung nicht wiederum<br />
mehrdeutig ist und der Intention der Anwendungsspezialisten und Softwareent-<br />
wickler entspricht.<br />
[Lee & Sluizer 87] verfolgen in ihrer Arbeit einen sachverhaltsorientierten Modellierungsansatz,<br />
in dem die Namen der einzelnen Objekte und Relationen fŸr die formale<br />
Sprache direkt aus dem Anwendungsbereich Ÿbernommen werden. Die entstehende<br />
SXL Spezifikation ist fŸr den Softwareentwickler gut lesbar und verstŠndlich.<br />
Dagegen dŸrfte die formale Sprache fŸr die Anwendungsspezialisten zu anspruchsvoll<br />
sein, wenn sie die SAS validieren mŸssen, da sich bestimmte Relationen auf<br />
Operationen abstŸtzen, die Kenntnisse der zugrundeliegenden Maschinerie verlangen.<br />
Die SXL Spezifikation ist ausfŸhrbar, so dass das Systemverhalten im Prinzip<br />
durchgespielt werden kann. Der Nachteil bei der Sprache SXL ist, dass die Zwischenergebnisse<br />
der symbolischen AusfŸhrung formal-sprachlich sind, was die †berprŸfbarkeit<br />
der Korrektheit, VollstŠndigkeit und Konsistenz der SAS durch die Anwendungsspezialisten<br />
erschwert.<br />
[Lee & Sluizer 87] und [Wing 87] interpretieren den verbalen Ausdruck last checked out<br />
aus der 5. Transaktion unterschiedlich. (Nebenbei: [Rich et al. 87] sprechen dieses Problem<br />
nicht an). [Lee & Sluizer 87] unterscheiden bei ihrer Interpretation den Ausdruck<br />
currently checked out aus der 4. Transaktion vom Ausdruck last checked out. Die 5.<br />
Transaktion der SXL Spezifikation gibt entweder den gegenwŠrtigen Ausleiher zurŸck,<br />
wenn eine Buchkopie ausgeliehen ist, oder den letzten Ausleiher, wenn die Buchkopie<br />
nicht ausgeliehen ist. Bei dieser Interpretation ist die Menge der gegenwŠrtig<br />
ausgeliehenen Buchkopien eine Teilmenge der zuletzt ausgeliehenen Buchkopien. Im<br />
Gegensatz dazu ist fŸr [Wing 87] der Ausdruck currently checked out gleichbedeutend<br />
mit dem Ausdruck last checked out, obwohl die beiden temporalen Adverbien currently<br />
und last in der Problembeschreibung eine Ungleichheit anzuzeigen scheinen. Diese<br />
zweite Interpretation hat zur Konsequenz, dass die 5. Transaktion in der Larch Spezifikation<br />
den gegenwŠrtigen Ausleiher einer Buchkopie als Resultat zurŸckgibt. Ausser<br />
diesen beiden Interpretationen ist noch eine dritte Interpretation denkbar. Dabei wird<br />
davon ausgegangen, dass die beiden SŠtze Ÿber zwei disjunkte Mengen von Buchkopien<br />
Aussagen machen. Bei dieser Interpretation gibt die 5. Transaktion den letzten<br />
Ausleiher nur dann als Resultat zurŸck, wenn die Buchkopie (gegenwŠrtig) nicht<br />
ausgeliehen ist [vgl. Rueher 87:131].<br />
Wir ŸberprŸfen nun zum einen, wie solche unterschiedlichen Interpretationen fŸr den<br />
Anwendungsspezialisten in den drei Beispielspezifikationen sichtbar werden, und<br />
zum anderen, wie gut die Spezifikationen im allgemeinen den QualitŠtsattributen<br />
(korrekt, eindeutig, vollstŠndig, verifizierbar, konsistent und verstŠndlich) genŸgen.<br />
Leider erlauben es die veršffentlichten Darstellungen nicht, fŸr jedes einzelne qualitative<br />
Attribut eine abschliessende Beurteilung zu machen.<br />
[Wing 87] spezifiziert das Bibliotheksproblem mit einer formalen Spezifikationssprache,<br />
die es erlaubt, modulare und wiederverwendbare SASen zu schreiben. Die<br />
formale PrŠzision von Spezifikationssprachen wie Larch ermšglichen erst die<br />
automatische KonsistenzprŸfung und die Programmverifikation durch BeweisfŸhrung.<br />
[Wing 87] zeigt, dass die mathematische PrŠzision einer formalen Spezifikationssprache<br />
dem Softwareentwickler hilft, Fehler, Mehrdeutigkeiten und FŠlle von †berspezifikation<br />
in der Problembeschreibung zu entdecken. Das Entdecken von MŠngeln<br />
und die korrekte Behebung dieser MŠngel sind jedoch zwei unterschiedliche Dinge.<br />
Die Behebung der MŠngel verlangt Feedback von den Anwendungsspezialisten. Larch<br />
Spezifikationen sind komplexe mathematische Objekte, die nur von Softwareentwicklern<br />
mit entsprechender Ausbildung geschrieben und verstanden werden kšnnen.<br />
[Wing 87] verwendet zwar fŸr die Visualisierung des Bibliotheksmodells eine Statechart,<br />
die sie - nebenbei bemerkt - wiederum in natŸrlicher Sprache erklŠrt. Leider ist<br />
die Beziehung zwischen der Statechart und der Larch Spezifikation nur informell, so<br />
[Rich et al. 87] betonen in ihrer Arbeit, dass sie mit dem Requirements Apprentice (RA)<br />
ein Werkzeug anbieten, das die konzeptionelle LŸcke zwischen einer informellen Problembeschreibung<br />
und einer formalen SAS schliessen soll. Dieser Anspruch wird aber<br />
nur zum Teil erfŸllt, da die Anwendungsspezialisten vom eigentlichen Spezifikationsprozess<br />
weitgehend ausgeschlossen sind. WŠhrend des Spezifikationsprozesses greift<br />
der RA auf grosse Mengen von Weltwissen zurŸck, das in einer ClichŽ-Bibliothek<br />
verfŸgbar ist. Unklar ist, von wem dieses formalisierte Wissen stammt und inwieweit<br />
dieses Wissen den Anwendungsbereich Ÿberhaupt adŠquat widerspiegelt. Der RA<br />
ŸberprŸft die Konsistenz und die VollstŠndigkeit der entstehenden SAS aufgrund<br />
seines Hintergrundwissens und verlangt bei Bedarf Entscheidungshilfen vom Analytiker.<br />
Es ist schwierig, die Korrektheit der SAS zu ŸberprŸfen, da allein die Anwen-