Towards Automated Detection and Handling of Inconsistencies in Requirements Engineering
In: Technical Report
Essen: University of Essen, Department of Mathematics and Computer Science / Specification of Software Systems (1997)
Buchaufsatz / Kapitel / Fach: Wirtschaftswissenschaften
Especially for large projects intending to develop distributed and dynamically evolving software systems the requirements engineering process involves various authorities with different needs and even conflicting views. Thus, detection and handling of inconsistencies is the requirements engineers everyday business. Traditionally, consistency and completeness of the requirements documents is regarded as a virtue, the final state which is worth all the requirements engineerÕs efforts. Inconsistency is seen as a bug, the state which is to avoid at all costs. Our approach takes a broader view: within software development changing of requirements is a continuous process which is not completed until the software systems lifetime has ended. We regard inconsistencies as positive information which finally serve to push development forward. However, requirements engineers, software engineering environments, and also the applications themselves have to be adapted such that inconsistencies are tolerated and are automatically taken into account in a useful way. In this paper we explore how inconsistency management can be automated based on general strategies for detecting and handling inconsistent information. We present the ViewPoints framework for structured integration of various kinds of requirement documents and processes and sketch how automated detection and handling of inconsistencies can be realized using graph grammars. Finally, we show the applicability of our approach by providing an example from the discipline of Computer-Supported Cooperative Work (CSCW).