An environment for cooperative construction of natural-language requirement bases

To match the growing complexity of modern software systems, one needs to perform a fast, efficient, and complete requirement analysis. The purpose of this analysis is to produce a set of requirements acknowledged by all the participants in the definition process. To make cooperation possible and productive, one needs adequate environments supporting the participants, capable of timely identification of conflicting, vague, or imprecise requirements, end able to offer different "views" on the requirement base to each participant. To this end, we present the architecture of such an environment that we are building, together with the findings from some experiments on the use of a prototype. The prototype accepts simple natural-language requirements (in Italian) and produces graphical representations of certain classes of information. Natural-language requirements an interpreted using a domain dictionary and a set of fuzzy-logic rules; each rule is composed of a pattern (matching a natural-language construction) and a generic action (in our experiments, actions build a data flow diagram and an entity-relationship representation of the requirements.