Scenario-based prototyping for requirements identification

The three major facets of software requirements engineering are: (1) requirements identification, (2) requirements analysis, and (3) requirements communication. Much research addresses the latter two aspects, but few practical approaches exist for addressing the first one. Hence, system requirements remains the most critical and problemprone area of system development. There is thus an urgent need for a methodology which helps a user identify requirements and realize potential impacts, in a timely manner.The objectives of this research are: (1) develop a methodology (and accompanying tools) to aid users in identifying requirements before building a system, and (2) evaluate the effectiveness of the methodology (and tools) in actual use.The novel approach of this research is an attempt to capture the conceptual system as visualized by the user, by use of operational examples ("scenarios"). By means of simulation and man-machine interface techniques, the scenarios may serve as a "quick and dirty" prototype of the intended system, providing the means for requirements analysis and validation, and for communicating the real intent of the requirements. It is anticipated that the methodology can be extended to fully support the concept of step-wise refinement and continuing system validation.

[1]  Bill Curtis,et al.  Factors Affecting Programmer Performance in a Debugging Task. , 1979 .

[2]  William M. Taggart,et al.  A Survey of Information Requirements Analysis Techniques , 1977, CSUR.

[3]  Scott N. Woodfield An Experiment on Unit Increase in Problem Complexity , 1979, IEEE Transactions on Software Engineering.

[4]  Mack W. Alford A Requirements Engineering Methodology for Real-Time Processing Requirements , 1977, IEEE Transactions on Software Engineering.

[5]  Mack W. Alford,et al.  Software Requirements Engineering Methodology (SREM) at the age of two , 1978, COMPSAC.

[6]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[7]  Hassan Gomaa,et al.  Prototyping as a tool in the specification of user requirements , 1981, ICSE '81.

[8]  T. R. G. Green Conditional program statements and their comprehensibility to professional programmers , 1977 .

[9]  Ruven E. Brooks,et al.  Studying programmer behavior experimentally: the problems of proper methodology , 1980, CACM.

[10]  Ben Shneiderman,et al.  Experimental investigations of the utility of detailed flowcharts in programming , 1977, CACM.

[11]  M. J. Hunt,et al.  DIALOG: A scheme for the quick and effective production of interactive applications software , 1981, Softw. Pract. Exp..

[12]  R. R. Willis DAS: An Automated System to Support Design Analysis , 1978, 15th Design Automation Conference.

[13]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[14]  Frederick E. Petry,et al.  A Framework for Discipline in Programming , 1980, IEEE Transactions on Software Engineering.

[15]  Sharon A. Stephens,et al.  Requirements expression and verification aid , 1978, ICSE '78.

[16]  Pamela Zave,et al.  Executable requirements for embedded systems , 1981, ICSE '81.

[17]  Charles R. Vick,et al.  The Software Development System , 1976, IEEE Transactions on Software Engineering.

[18]  Victor R. Basili,et al.  A Controlled Experiment Quantitatively Comparing Software Development Approaches , 1981, IEEE Transactions on Software Engineering.

[19]  P. C. Belford,et al.  Specifications a key to effective software development , 1976, ICSE '76.

[20]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[21]  Glenford J. Myers,et al.  Softwear Reliability , 1976 .

[22]  Glenford J. Myers,et al.  Software Reliability: Principles and Practices , 1976 .