Managing Natural Language Requirements in Large-Scale Software Development

University dissertation from Department of Communication Systems

Abstract: An increasing number of market- and technology-driven software development companies face the challenge of managing several thousands of requirements written in natural language. The large number of requirements causes bottlenecks in the requirements management process and calls for increased efficiency in requirements engineering. This thesis presents results from empirical investigations of using linguistic engineering techniques to alleviate three requirements management activities in large-scale software development: identification of duplicate requirements, linkage of related requirements, and consolidation of different sets of requirements. The activities rely on one common activity: finding requirements that are semantically similar, i.e., refer to the same underlying functionality. Three case studies are presented, in which three different companies, comprising three different requirements management challenges, are investigated. Simulation is used to explore process bottlenecks and two different sets of industrial requirements are used for evaluating suggested solutions. A controlled experiment is also presented, evaluating a new open source support tool for semiautomatic identification of similar requirements. The results show that, for the investigated activities, lexical similarity between requirements may be a sufficient approximation of their semantic similarity. It is also shown that automatic calculation of this similarity may support the activities and give valuable timesavings. The results from the presented research point in one direction: that simple, robust, and costefficient linguistic engineering techniques can give effective support to requirements management activities.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.