07.10.2013 Aufrufe

Kontrolliertes Englisch für Anforderungsspezifikationen

Kontrolliertes Englisch für Anforderungsspezifikationen

Kontrolliertes Englisch für Anforderungsspezifikationen

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.

6 Kapitel 2<br />

Anforderungen und SpeziÞkationen 5<br />

lungen darŸber, welche FunktionalitŠt das zukŸnftige Softwareprodukt zur VerfŸgung<br />

stellen soll und unter welchen Bedingungen es eingesetzt werden soll. Systematisch<br />

genutzt, kšnnen aber die divergenten Sichtweisen der Benutzer und Anwendungsspezialisten<br />

dazu dienen, Anforderungen zu erheben, zu ŸberprŸfen, zu ergŠnzen<br />

und allfŠllige Konflikte explizit zu machen [Pohl 93:282 ff.]. Zu diesem Zweck sind<br />

verschiedene Interview- und Fragetechniken entwickelt worden, um die Anforderungen<br />

an ein Softwareprodukt ausfindig zu machen. Eine weitere beliebte Technik<br />

der Informationsgewinnung sind Szenarien, die Verhaltensaspekte des zu entwickelnden<br />

Produktes vorab veranschaulichen kšnnen [Schach 96:198 ff.]. Diese unterschiedlichen<br />

Arten der Konzeptexploration sind notwendig und zeigen, dass keiner der<br />

Benutzer und Anwendungsspezialisten in dieser frŸhen Phase der Softwareentwicklung<br />

mit einer kompletten Liste aller Anforderungen aufwarten kann. Anforderungen<br />

wachsen kontinuierlich, wŠhrend das Problem analysiert wird und ein Problembewusstsein<br />

bei den Beteiligten entsteht.<br />

Die Entwicklung eines Softwareproduktes beginnt gewšhnlich mit Requirements Engineering.<br />

Diese Phase umfasst zwei AktivitŠten: zum einen die Anforderungsanalyse<br />

und zum anderen die Anforderungsspezifikation. WŠhrend der Anforderungsanalyse<br />

wird ein zu lšsendes Problem gedanklich und sprachlich durchdrungen, so dass ein<br />

Problembewusstsein entstehen kann, aufgrund dessen die Beteiligten die Anforderungen<br />

an ein zu entwickelndes Softwaresystem erkennen und zueinander in Beziehung<br />

setzen kšnnen. Sobald ein hinreichendes VerstŠndnis der Anforderungen erreicht<br />

ist und die Beteiligten davon Ÿberzeugt sind, die relevanten Sachverhalte aus<br />

dem Anwendungsgebiet zu erkennen, ist es Zeit fŸr die Anforderungsspezifikation.<br />

WŠhrend der Anforderungsspezifikation wird das funktionale Verhalten des geplanten<br />

Softwareproduktes in einem Dokument - der sogenannten Software-Anforderungsspezifikation<br />

- vollstŠndig spezifiziert. Die funktionalen Anforderungen beschreiben,<br />

was das Produkt aus der Sicht des Anwendungsspezialisten tun soll, ohne<br />

darauf einzugehen, wie diese Leistungen zu erbringen sind [vgl. Davis 90:17, Partsch<br />

91:34]. Von den funktionalen Anforderungen sind die nichtfunktionalen Anforderungen<br />

zu unterscheiden. Nichtfunktionale Anforderungen machen quantifizierbare<br />

und nichtquantifizierbare Aussagen darŸber, wie das geplante Softwareprodukt die<br />

gestellten funktionalen Anforderungen erfŸllen soll und schrŠnken die Anzahl der<br />

mšglichen Implementationen ein [vgl. Partsch 91:35, Stokes 91:16/3]. Oft wird empfohlen,<br />

nichtfunktionale Anforderungen wie Schnittstellenattribute, AusfŸhrungsverhalten,<br />

ZuverlŠssigkeit und Produktestandards in der Software-Anforderungsspezifikation<br />

textuell unabhŠngig zu spezifizieren [Sommerville 96:69].<br />

2. Anforderungen und Spezifikationen<br />

Die Praxis zeigt, dass Anwendungsspezialisten ihre Anforderungen fast immer in<br />

fachspezifischen Begriffen von unterschiedlichem Abstraktionsgrad ausdrŸcken und<br />

dazu auf bekannte Konventionen zurŸckgreifen. Vorzugsweise werden zur Darstellung<br />

des sachlichen Wissens informelle Notationen verwendet, die einen mšglichst<br />

freien Detaillierungsgrad zulassen. Beispielsweise stellen die folgenden natŸrlichsprachlichen<br />

Anforderungen einen Sachverhalt in einer Bibliothek mit zunehmender<br />

Genauigkeit dar, und zwar ausgehend von einer abstrakten Beschreibung in (1) hin zu<br />

einer detaillierteren Beschreibung in (4):<br />

The borrower returns a book.<br />

(1)<br />

The ordinary borrower returns a book.<br />

(2)<br />

The ordinary borrower returns a copy of a book.<br />

(3)<br />

The ordinary borrower returns a copy of a book which he currently has.<br />

(4)<br />

2.1 Anforderungen<br />

WŠhrend der Anforderungsanalyse untersuchen die Beteiligten das Anwendungsgebiet,<br />

um alle PhŠnomene und Beziehungen zu identifizieren, die im Problemkontext<br />

eine massgebende Rolle spielen. Der Problemkontext ist der Ort, fŸr den eine Softwarelšsung<br />

gesucht wird. Ein Problem ist nicht durch die Art der zu bauenden Maschine<br />

charakterisiert, sondern einerseits durch die Struktur und Eigenschaften des<br />

Anwendungsgebiets und andererseits durch die Anforderungen der Systembenutzer<br />

und Anwendungsspezialisten in diesem Anwendungsgebiet [Jackson 95:10 ff.].<br />

Normalerweise verwenden die Anwendungsspezialisten zur Beschreibung der Sachverhalte<br />

sprachliche AusdrŸcke, mit denen sie vertraut sind, die aber oft implizites<br />

Wissen aus einem Anwendungsgebiet kondensieren und deshalb fŸr den Softwareentwickler<br />

nicht unmittelbar verstŠndlich sind. Neben der natŸrlichen Sprache als<br />

primŠrem Kommunikationsmittel werden unterstŸtzend oft Diagramme, Tabellen,<br />

Videos und andere formalere Zeichensysteme benutzt, um Anforderungen zu klŠren.<br />

Die Schwierigkeit dabei ist, die entstehenden Informationen so zu ordnen, dass die<br />

Anforderungen sind schwierig zu entdecken, da sie aus unterschiedlichen, heterogenen<br />

Quellen stammen kšnnen, die nicht allen Beteiligten zugŠnglich sind. Die Benutzer<br />

und Anwendungsspezialisten haben normalerweise verschiedenartige Vorstel-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!