Volltext-Downloads (blau) und Frontdoor-Views (grau)

Sprachliche Kontrolle von Anforderungsdokumenten

  • In der Softwareentwicklung beschreiben Anforderungen, wie sich ein System oder eine Komponente in bestimmten Situationen verhalten soll. Anforderungen stellen also Vorgaben an die Software dar, die entwickelt werden soll. Die natürliche Sprache ist noch immer das vorherrschende Mittel, um Anforderungen zu formulieren. Aus dem Anforderungstext werden Testfälle abgeleitet, mit welchen überprüft wird, ob die in den Anforderungen beschriebenen Funktionen korrekt umgesetzt wurden. Da die Aufwendungen für die Testaktivitäten einen groÿen Teil der Entwicklungszeit und Entwicklungskosten einnehmen, besteht Bedarf an der sprachlichen Kontrolle von Anforderungstexten. Ist eine Anforderung so formuliert, dass sie beispielsweise aufgrund fehlender Information zu Interpretationsspielraum führt, kann dies dazu führen, dass ein falscher Testfall abgeleitet wird oder eine Funktion falsch entwickelt wird. Ein Ziel dieser Arbeit ist, zu untersuchen, welche Kriterien eine Anforderung aus sprachwissenschaftlicher Sicht erfüllen muss, um als testbar zu gelten bzw. welche sprachlichen Phänomene dazu führen, dass eine Anforderung nicht testbar ist. Hierfür werden Leitlinien aus der technischen Dokumentation sowie Literatur aus dem Bereich des Requirements Engineering analysiert. Die identifizierten Phänomene werden in einem Qualitätsmodell für testbare Anforderungen zusammengetragen, nach linguistischen Kriterien sortiert und nach Kritikalität bewertet. Für ausgewählte Phänomene aus dem Qualitätsmodell wird untersucht, inwiefern sich automatisierte Prüfmethoden entwickeln lassen, die kritische Instanzen der Phänomene zuverlässig identifizieren, also diejenigen, die Interpretationsspielraum verursachen können. Für die Analyse der Phänomene werden computerlinguistische Analysemethoden eingesetzt und Regeln entwickelt, die auf (morpho-)syntaktische Annotationen zugreifen. Sprachliche Phänomene, die einen Einfluss auf die Testbarkeit einer Anforderung haben, lassen sich durch die verwendeten computerlinguistischen Analysemethoden automatisiert identifizieren. Für bestimmte Phänomene können zudem Regeln entworfen werden, welche zuverlässig zwischen den kritischen und unkritischen Instanzen eines Phänomens unterscheiden. Die formbasierte Computerlinguistik stöÿt allerdings an ihre Grenzen, wenn diese Unterscheidung auf Welt- und Expertenwissen beruht. Die entwickelten Analysemethoden heben sich von existierenden Werkzeugen zur Überprüfung von Texten dadurch ab, dass nicht nur reine Wortlistenabgleiche durchgeführt werden, sondern auch der Satzkontext, in welchem die Phänomene auftreten, in die Analyse miteinbezogen wird. Dieser Ansatz kann die Anzahl der Fehlwarnungen an den Benutzer erheblich reduzieren, sodass der Aufwand bei der Durchsicht der potentiell kritischen Instanzen gesenkt werden kann.
  • In software development, requirements describe how a system or a component is supposed to act in specific situations. Therefore, requirements provide guidelines for the software which is to be developed. Natural language is still the predominant technique used to formulate requirements. Test cases are derived from these requirements to check for correct implementation of the functions described in the requirements. Since the expenses for the test activities make up a huge part of the development time and its costs, there is need for linguistic control of requirements specifications. If a requirement is formulated in a misleading way causing various possibilities of interpretation due to missing information, it can lead to a wrong test case or in developing an incorrect function. One objective of this dissertation is to investigate which criteria must be met by a requirement from a linguistical point of view for the requirement to be considered testable; respectively which linguistic phenomena lead to untestable requirements. For this purpose, guidelines from the field of technical documentation as well as literature concerning requirements engineering are analyzed. The identified phenomena are gathered in a quality model for testable requirements, arranged from a linguistical point of view and evaluated according to criticality. For selected phenomena which are integrated in the quality model it is investigated to what extent automated checks which identify the critical instances reliably can be developed; that means those that leave room for interpretation. Computational linguistics analysis methods and rules which access morphosyntactic annotations are applied. The developed computational linguistics analysis method makes it possible to automatically identify phenomena which have an influence on the testability of a requirement. Furthermore, for specific phenomena rules can be designed which difierentiate between critical and uncritical instances. If this decision relies on world and expert knowledge, though, form-based computational linguistics reaches its limit. The developed analysis methods stand out from existing tools for revising texts insofar as not only pure word lists comparisons are executed, but also the context in which the phenomena occur is included in the analysis. This approach can significantly reduce the number of false warnings to the user reducing the effort involved in viewing the potentially critical instances.

Download full text files

Export metadata

Additional Services

Share in Twitter    Search Google Scholar    frontdoor_oas
Metadaten
Author:Jennifer Krisch
URN:https://nbn-resolving.org/urn:nbn:de:gbv:hil2-opus4-7379
DOI:https://doi.org/10.18442/737
Publisher:Universitätsverlag Hildesheim
Place of publication:Hildesheim
Document Type:Doctoral Thesis
Language:German
Year of Completion:2017
Granting Institution:Stiftung Universität Hildesheim
Date of final exam:2017/05/18
Release Date:2017/11/21
Page Number:237 S.
PPN:Link zum Katalog
DDC classes:400 Sprache / 410 Linguistik
000 Allgemeines, Informatik, Informationswissenschaft / 000 Allgemeines, Wissenschaft / 005 Computerprogrammierung, Programme, Daten
Licence (German):License LogoCreative Commons - Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0