Domain knowledge reuse during requirements engineering [chapter]

Michael D. Gibson, Kevin Conheeney
1995 Lecture Notes in Computer Science  
The accurate capture, understanding and representation of requirements is a critical step in the construction of effective and usable information systems. Tiffs activity is highly cognitive and is people and knowledge intensive; its success or failure is significantly influenced by the skills and especially the previous experience of the development staff involved. Many of the processes of requirements engineering are not well defined and remain difficult and problematic, significantly the
more » ... al investigation, elicitation and checking of requirements are poorly supported by current development tools and development methods. This paper describes research within the field of requirements engineering which draws upon AI/KBS research to adopt a knowledge based approach for requirements eaptttre, modelling and validation and encourage the reuse of knowledge about typical information system applications and domains during such activities. 28z;: associated with a method, to more sophisticated tools, integrating graphical input with a central development database, performing varying degrees of automated consistency and completeness checking. Recent work in this area has introduced "intelligent" tools which automate development activities or offer guidance to users about performing development tasks, or the heuristics of a particular development method. The extent to which current development methods and tools are actually addressing the special challenges of the requirements engineering stage of development remains uncertain. Compared to other development stages, the requirements stage is especially difficult; many of the activities are cognitive and the information available to the developer is often unstructured, imprecise, incomplete, or may reflect fluctuating or conflicting user views of system requirements. A knowledge gap exists between user and developer: the developer lacks detailed application knowledge whilst the user lacks an understanding of the computer system development process and terminology. The existence of a knowledge gap can and does lead to communication difficulties between user and developer during the investigation of requirements and importantly during the validation of captured requirements. In an empirical study of how analysts work [12], significant amounts of informal fact gathering and elicitation activity took place unsupported by any sort of method, in a further study [11] over half of the problems cited by analysts were associated with user communication; validation activities were considered to be especially problematic. Another survey [21] observed that users found it difficult to understand and validate requirements and that the use of existing structured notations had little impact in this area. Recent work in the area continues to provide evidence that many development methods and tools do not adequately serve the requirement specification phase of development and reviews of current research indicate that there are man), unfulfilled opportunities for further requirements engineering research [5] .
doi:10.1007/3-540-59498-1_253 fatcat:z5cutwzdwfd27lwh3ndkuo2i2i