Requirement Engineering in the Year 00: A Research Perspective

by Axel van Lamsweerde, Professor of Computer Science, University of Louvain, Belgium.

Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. The processes involved in RE include elicitation, modeling, specification, analysis, negotiation, documentation, and evolution.

Getting high-quality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of utmost importance in software engineering research and practice.

The talk will first present a brief history of the main concepts and techniques developed so far to support the RE task. We will then review a number of current research directions in RE-specific areas such as goal-oriented requirements elaboration, scenario-based elicitation, conflict management, and the handling of abnormal agent behaviors. We will then argue that RE is still at its infancy by providing a research agenda based on weaknesses of current techniques, notably, their limited scope, their difficulty of use, their lack of guidance in the RE process, and their poor connection to architectural design.