A methodology for the selection of requirements engineering techniques

The complexity of software projects as well as the multidisciplinary nature of requirements engineering (RE) requires developers to carefully select RE techniques and practices during software development. Nevertheless, the selection of RE techniques is usually based on personal preference or existing company practice rather than on characteristics of the project at hand. Furthermore, there is a lack of guidance on which techniques are suitable for a certain project context. So far, only a limited amount of research has been done regarding the selection of RE techniques based on the attributes of the project under development. The few approaches that currently exist for the selection of RE techniques provide only little guidance for the actual selection process. We believe that the evaluation of RE techniques in the context of an application domain and a specific project is of great importance. This paper describes a Methodology for Requirements Engineering Techniques Selection (MRETS) as an approach that helps requirements engineers select suitable RE techniques for the project at hand. The MRETS has three aspects: Firstly, it aids requirements engineers in establishing a link between the attributes of the project and the attributes of RE techniques. Secondly, based on the evaluation schema proposed in our research, MRETS provides an opportunity to analyze RE techniques in detail using clustering. Thirdly, the objective function used in our approach provides an effective decision support mechanism for the selection of RE techniques. This paper makes contributions to RE techniques analysis, the application of RE techniques in practice, RE research, and software engineering in general. The application of the proposed methodology to an industrial project provides preliminary information on the effectiveness of MRETS for the selection of RE techniques.

[1]  Robert L. Glass,et al.  Matching methodology to problem domain , 2004, CACM.

[2]  Neil A. M. Maiden,et al.  ACRE: selecting methods for requirements acquisition , 1996, Softw. Eng. J..

[3]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

[4]  Gordon B. Davis,et al.  Strategies for Information Requirements Determination , 1982, IBM Syst. J..

[5]  Jan Stage,et al.  Method Engineering. Principles of Method Construction and Tool Support , 1996 .

[6]  Ian O. Angell,et al.  'Though this be madness, yet there is method in't' , 1993, J. Strateg. Inf. Syst..

[7]  A. Sutcliffe,et al.  A technique combination approach to requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[8]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[9]  Miroslav Sveda,et al.  Proceedings, 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems : ECBS 2004, 24-27 May, 2004, Brno, Czech Republic , 2004 .

[10]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[11]  Kalle Lyytinen,et al.  Special issue on meta-modelling and methodology engineering , 1999 .

[12]  Li Jiang,et al.  A framework for the requirements engineering process development , 2005 .

[13]  Stephen L. Chiu,et al.  Fuzzy Model Identification Based on Cluster Estimation , 1994, J. Intell. Fuzzy Syst..

[14]  James A. Senn,et al.  Challenges and strategies for research in systems development , 1992 .

[15]  James D. Arthur,et al.  An Objectives-Driven Process for Selecting Methods to Support Requirements Engineering Activities , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[16]  Alan M. Davis,et al.  Requirements elicitation and elicitation technique selection: model for two knowledge-intensive software development processes , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[17]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[18]  J. E. Barnes,et al.  A Recipe for Success , 2006 .

[19]  L. Jiang,et al.  Clustering requirements engineering techniques , 2006 .

[20]  Robert L. Glass,et al.  Contemporary Application-Domain Taxonomies , 1995, IEEE Softw..

[21]  R. Mesiar,et al.  Aggregation operators: new trends and applications , 2002 .

[22]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[23]  James C. Bezdek,et al.  Pattern Recognition with Fuzzy Objective Function Algorithms , 1981, Advanced Applications in Pattern Recognition.

[24]  Khaled El Emam,et al.  Validating the ISO/IEC 15504 Measure of Software Requirements Analysis Process Capability , 2000, IEEE Trans. Software Eng..

[25]  Behrouz Homayoun Far,et al.  A methodology for requirements engineering process development , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[26]  Nicholas Rescher,et al.  On the Epistemology of the Inexact Sciences , 1959 .

[27]  Theerasak Thanasankit,et al.  Towards Understanding Managing Requirements Engineering - A Case Study of a Thai Software House , 1999 .

[28]  Venkataraman Ramesh,et al.  Improving information requirements determination: a cognitive perspective , 2002, Inf. Manag..

[29]  Uolevi Nikula,et al.  Requirements Elicitation Using a Combination of Prototypes and Scenarios , 2001, WER.

[30]  Bhavani Thuraisingham,et al.  Processes and Techniques for Web Data Mining , 2003 .

[31]  Kuldeep Kumar,et al.  Methodology Engineering R : a proposal for situation-specific methodology construction , 1992 .

[32]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .

[33]  Robert L. Glass,et al.  The software-research crisis , 1994, IEEE Software.

[34]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[35]  M.J. Bickerton,et al.  The classification of requirements engineering methods , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[36]  Galal H Galal,et al.  Requirements engineering: A good practice , 2000 .

[37]  Brian Fitzgerald,et al.  An Investigation of the Use of Systems Development Methodologies in Practice , 1996, ECIS.

[38]  Galal H. Galal-Edeen,et al.  Requirements engineering: A good practice , 2000, Eur. J. Inf. Syst..

[39]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[40]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[41]  W. Peizhuang Pattern Recognition with Fuzzy Objective Function Algorithms (James C. Bezdek) , 1983 .

[42]  Sjaak Brinkkemper,et al.  Method engineering: engineering of information systems development methods and tools , 1996, Inf. Softw. Technol..

[43]  Linda A. Macaulay Requirements engineering , 1996, Applied Computing.

[44]  Linda A. Macaulay Requirements for requirements engineering techniques , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[45]  Ian K. Bray,et al.  An Introduction to Requirements Engineering , 2002 .

[46]  Simon Pfeiffer,et al.  Requirements engineering for dynamic markets , 2003 .

[47]  Alan M. Davis,et al.  Elicitation technique selection: how do experts do it? , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[48]  S. Lauesen Software Requirements Styles and Techniques , 2001 .

[49]  Behrouz Homayoun Far,et al.  Evaluating the requirements engineering process using major concerns , 2004, IASTED Conf. on Software Engineering.

[50]  Peter Axel Nielsen Reflections on Development Methods for Information Systems: A Set of Distinctions Between Models , 1989 .

[51]  Motoshi Saeki,et al.  Software Specification & Design Methods and Method Engineering , 1994 .

[52]  Roel Wieringa,et al.  Requirements Engineering: Frameworks for Understanding , 1996 .