An intelligent assistant for requirements validation

The process of determining user requirements for software systems is often plagued with uncertainty, ambiguity, and inconsistency. Rapid prototyping offers an iterative approach to requirements engineering that can be used to alleviate some of the problems with communication and understanding. Since the systems development process is characterized by changing requirements and assumptions, involving multiple stakeholders with often differing viewpoints, it is beneficial to capture the justifications for the decisions in the development process in a structured manner. Thisdesign rationale captured during requirements engineering can be used in conjunction with the rapid prototyping process to support various stakeholders involved in systems development. CAPS (the Computer Aided Prototyping System) has been built to help software engineers rapidly construct prototypes of proposed software systems. REMAP (Representation and MAintenance of Process knowledge) provides a conceptual model and mechanisms to represent and reason with (design) rationale knowledge. In this paper, we describe how in the context of evolving requirements, the CAPS system augmented with REMAP helps firm up software requirements through iterative negotiations via examination of executable prototypes and reasoning with design rationale knowledge.

[1]  Harlan Black,et al.  Proceedings Workshop on Requirements Engineering and Rapid Prototyping Held in Eatontown, New Jersey on 14-16 November 1989 , 1990 .

[2]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[3]  K. C. Burgess Yakemovic,et al.  Report on a development project use of an issue-based information system , 1990, CSCW '90.

[4]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.

[5]  Luqi Software evolution through rapid prototyping , 1989, Computer.

[6]  Tung Xuan Bui,et al.  Co-oP: A Group Decision Support System for Cooperative Multiple Criteria Group Decision Making , 1987 .

[7]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[8]  Murat M. Tanik,et al.  Rapid Prototyping in Software Development , 1989 .

[9]  Luqi,et al.  A computer-aided prototyping system , 1988, IEEE Software.

[10]  Victor Weinberg,et al.  Structured Analysis , 1978 .

[11]  Luqi,et al.  Automation support for concurrent software engineering , 1994, SEKE.

[12]  Richard H. Thayer,et al.  System and Software Requirements Engineering , 1994 .

[13]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[14]  Joseph A. Goguen,et al.  Requirements engineering as the reconciliation of social and technical issues , 1994 .

[15]  Murat M. Tanik,et al.  Guest Editors' Introduction: Rapid Prototyping in Software Development , 1989, Computer.

[16]  Valdis Berzins,et al.  CAPS as a requirements engineering tool , 1991, TRI-Ada '91.

[17]  Barry W. Boehm,et al.  Prototyping Versus Specifying: A Multiproject Experiment , 1984, IEEE Transactions on Software Engineering.

[18]  Bernard H. Boar,et al.  Application prototyping: a requirements definition strategy for the 80s , 1984 .

[19]  Stephen J. Andriole,et al.  Principles of Command and Control , 1987 .

[20]  Roland T. Mittermeir,et al.  Alternatives to Overcome the Communications Problem of Formal Requirements Analysis. , 1982 .

[21]  David G. Lowe Co-Operative Structuring of Information: The Representation of Reasoning and Debate , 1985, Int. J. Man Mach. Stud..

[22]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[23]  Kishore Sengupta,et al.  Managing Cognitive and Mixed-motive Conflicts in Concurrent Engineering , 1994 .

[24]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

[25]  M. D. Lubars,et al.  Representing design dependencies in an issue-based style , 1991, IEEE Software.