UML-basierte Beschre... Research Projects Traceability im Rahm...

Student thesis

Development of a Methodology Supporting the Formulation of Unambiguous and Verifiable Requirement Specifications

(Original Title:Erarbeitung einer Methodik zur Erstellung möglichst eindeutiger und überprüfbarer Anforderungsspezifikationen in natürlicher Sprache)



Requirements Engineering is the first step in the software development process and often regarded as the most important step at all. As natural language is very flexible and domain independent, its usage in the formulation of the requirements plays a central role.
Advantages of natural language requirements are partly compensated by the introduction of redundancy, contradictions and ambiguities; additionally texts often lack a clear structure.
The aim of this work is the development of an approach which helps to make the natural language more suitable for its use in requirements specifications. Hence a method and a tool are presented here, which help to increase quality of requirements in natural language. It is not sufficient to concentrate only on requirements specifications. A complete model of Requirements Engineering is necessary instead. Thus

  1. the most important element is a notation, which is quite similar to natural language and helps to avoid contradictions and ambiguities.
  2. a process model is necessary, which controls the sequence of analysis and notation.
  3. a data model is required to specify the structure for all objects, which are important in the Requirements Engineering process.
There are already publications about suitable notations and process models, but less approaches for a data model, which fits to the criteria mentioned above. In addition to that, authors focus on the three aspects quite separately. The central idea of this work is the integration of these three aspects into one combined method, which improves the quality in natural language documents and allows the economical verification of the specification quality. To achieve this
  1. a controlled natural language is developed, which is similar to the language 'Attempto Controlled English' and avoids ambiguities.
  2. a process model is suggested, which is based on the Volere Process Model.
  3. a data model is created, which contains the objects used in this process.
To show the benefit of this method, it was evaluated in an industrial project.

Tutor: Dipl.-Math. Jens Palluch

In Cooperation with: infoteam Software GmbH