Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
10 Kapitel 2<br />
Anforderungen und SpeziÞkationen 9<br />
Without a well-written requirements specification, developers do not know what to build,<br />
customers do not know what to expect, and there is no way to validate that the system as<br />
built satisfies the requirements [Hsia et al. 93:75].<br />
Die SAS ist nicht bloss eine Zusammenstellung aller Anforderungen an das Softwareprodukt,<br />
sondern auch ein Kommunikationsmedium, das den Softwareentwicklern<br />
die Intentionen der Anwendungsspezialisten zugŠnglich machen sollte. Neben der Beschreibung<br />
des beobachtbaren Verhaltens des zukŸnftigen Softwareproduktes bildet<br />
die SAS den Ausgangspunkt fŸr die Validierung der Anforderungen durch die Anwendungsspezialisten.<br />
Zudem ist es mšglich, aus einer gut geschriebenen SAS TestfŠlle<br />
zu extrahieren oder, falls die SAS in einer formalen Sprache geschrieben ist, die<br />
davon abgeleiteten Systembeschreibungen automatisch zu verifizieren. Im Idealfall<br />
liegt einer formalen SAS ein operationales Modell zugrunde, so dass die Spezifikation<br />
ausgefŸhrt werden kann. Das hat den grossen Vorteil, dass das generierte Verhalten<br />
vom Anwendungsspezialisten in einer sehr frŸhen Phase im Software-Entwicklungsprozess<br />
ŸberprŸft werden kann [vgl. Fuchs 92:323 ff., Gravell & Henderson 96:104 ff.].<br />
Im Gegensatz zu Prototypen beschreiben ausfŸhrbare Spezifikationen die gesamte<br />
FunktionalitŠt des geplanten Softwareproduktes und machen eine klare Trennung<br />
zwischen problem- und implementationsorientierten Aspekten [Fromherz 93:18].<br />
WŠhrend der Anforderungsspezifikation wird ein Dokument erstellt, das das externe<br />
(beobachtbare) Systemverhalten und dessen EinschrŠnkungen prŠzis spezifiziert. Bei<br />
dieser AktivitŠt fokussieren wir auf gesicherte Anforderungen, die diejenigen Bedingungen<br />
oder FŠhigkeiten beschreiben und normieren, die das Softwareprodukt erfŸllen<br />
muss und denen alle Beteiligten zustimmen kšnnen. Wenn natŸrliche Sprache als<br />
Spezifikationssprache verwendet wird, ist es vorteilhaft, die gesicherten Anforderungen<br />
als deklarative SŠtze oder als konditionale SŠtze niederzuschreiben, um sie so<br />
von den modalen Anforderungen zu unterscheiden [vgl. Jackson 95:127]. Anforderungen,<br />
die wahre oder bedingte Sachverhalte beschreiben und im Prinzip durch Beobachtung<br />
oder Experiment falsifiziert werden kšnnen, bezeichnen wir als faktische<br />
Anforderungen.<br />
Die dritte Definition wollen wir nicht weiter untersuchen, da modale Anforderungen<br />
durchaus dokumentiert sein kšnnen und faktische Anforderungen notwendigerweise<br />
dokumentiert sein mŸssen, da sie in die Software-Anforderungsspezifikation eingehen.<br />
Welches sind die QualitŠtsattribute, denen eine gut geschriebene SAS zu genŸgen hat?<br />
Meistens werden die folgenden sechs inhaltlichen Attribute unterschieden [Davis<br />
Gegenstand der nachfolgenden Diskussion bilden ausschliesslich faktische Anforderungen,<br />
die durch Validierung falsifizierbar sind. Wir untersuchen zuerst, welchen<br />
QualitŠtsattributen eine Anforderungsspezifikation idealerweise zu genŸgen hat, und<br />
stellen vor diesem Hintergrund anschliessend die Frage, wo natŸrliche und formale<br />
Spezifikationssprachen ihre StŠrken und SchwŠchen haben.<br />
90:184 ff., Davis et al. 93:141 ff., Davis 94:1050 ff., IEEE Std 830 93:5 ff.]:<br />
¥ korrekt<br />
¥ eindeutig<br />
¥ vollstŠndig<br />
¥ verifizierbar<br />
¥ konsistent<br />
¥ verstŠndlich<br />
korrekt,<br />
wenn jede aufgefŸhrte Anforderung einen funktionalen<br />
Eine SAS ist dann<br />
Aspekt beschreibt, der vom zukŸnftigen Softwareprodukt erfŸllt wird. Es gibt weder<br />
Werkzeuge noch Verfahrensweisen, die Korrektheit zusichern kšnnten. Die Korrekt-<br />
heit einer Anforderung hŠngt vollstŠndig von der intendierten Anwendung ab. Beispielsweise<br />
ist die Anforderung<br />
2.2 Spezifikationen<br />
Sobald ein relativ umfassendes ProblemverstŠndnis erreicht ist und die BedŸrfnisse<br />
der Anwendungsspezialisten geklŠrt sind, mŸssen die faktischen Anforderungen<br />
wŠhrend der Anforderungsspezifikation in einem Dokument durch eine geeignete<br />
Spezifikationssprache beschrieben werden. UnabhŠngig vom verfolgten Software-<br />
Entwicklungsparadigma bildet die Software-Anforderungsspezifikation (SAS) den<br />
Ausgangspunkt fŸr alle spŠteren Phasen im Software-Entwicklungsprozess [vgl.<br />
Fromherz 93:9 ff.]. Die SAS ist ein konzeptionelles Modell des zu entwickelnden Softwareproduktes.<br />
Der Zweck der SAS besteht darin, die notwendige Information vollstŠndig<br />
und widerspruchsfrei zur VerfŸgung zu stellen, um den nachfolgenden Systementwurf<br />
und die Systemimplementation mšglichst erfolgreich durchfŸhren zu<br />
kšnnen. Dabei spielt die QualitŠt der SAS eine entscheidende Rolle fŸr die kosten-<br />
The user searches for the name of the borrower who currently has the copy.<br />
(9)<br />
gŸnstige Entwicklung eines zuverlŠssigen Softwareproduktes.