Abstract
Requirements engineering (RE) is a critical phase in the software engineering process and plays a vital role in ensuring the overall quality of a software product. Recent research has shown that industry increasingly recognizes the importance of good RE practices and the use of appropriate RE techniques. However, due to the large number of RE techniques, requirements engineers find it challenging to select suitable techniques for a particular project. Unfortunately, technique selection based on personal experience has limitations with regards to the scope, effectiveness and suitability of the RE techniques for the project at hand. In this paper, a Knowledge-based Approach for the Selection of Requirements Engineering Techniques (KASRET) is proposed that helps during RE techniques selection. This approach has three major features. First, a library of requirements techniques was developed which includes detailed knowledge about RE techniques. Second, KASRET integrates advantages of different knowledge representation schemata and reasoning mechanisms. Thus, KASRET provides mechanisms for the management of knowledge about requirements techniques and support for RE process development. Third, as a major decision support mechanism, an objective function evaluates the overall ability and cost of RE techniques, which is helpful for the selection of RE techniques. This paper makes not only a contribution to RE but also to research and application of knowledge management and decision support in process development. A case study using an industrial project shows the support of KASRET for RE techniques selection.













Similar content being viewed by others
Notes
CORE stands for Concerns of Requirements Engineering Process. The major COREs model was developed in our earlier research [6, 18] and is an RE process assessment model which provides information about the overall quality of the developed RE process. It can also be used to assess the overall capability of RE techniques. More details on this model will be given in Sect. 3.2.2.2.
A mature technique refers to a technique that is well-defined and has systematic steps or a well-defined collection of notations, is well-organized and documented, and has been used in industrial projects.
A guideline is a statement or an instruction about the best techniques to be chosen or best actions to be taken under certain conditions. Compared to rules, guidelines are not compulsory.
References
Kotonya G, Sommerville I (1998) RE, processes and techniques. Wiley, New York
Damian D, Chisan J (2006) An empirical study of the complex relationships between requirements engineering processes and other processes that lead to payoffs in productivity, quality, and risk management. IEEE Trans Softw Eng 32(7):433–453
Brooks F (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19
Claus C, Freund M, Kaiser M, Kneuper R (1999) Implementing systematic requirements management in a large software development programme. In: Proceeding of fifth international workshop on requirements engineering foundation of software quality, pp 33–42
El-Emam KE, Birk A (2000) Validating the ISO/IEC 15504 measure of software requirements analysis process capability. IEEE Trans Softw Eng 26(6):541–566
Jiang L, Eberlein A, Far BH (2004) Evaluating the requirements engineering process using major concerns. In: Proceeding of IASTED international conference on software engineering, February 17–19, Innsbruck, Austria
Nikula U, Sajaniemi J, Kalviainen H (2000) A state-of-the-practice: survey on RE in small- and medium-sized enterprises. Telecom Business Research Center, Lappeenranta Research Report
Glass RL, Vessey L (1995) Contemporary application-domain taxomonies. IEEE Software 1995, pp 63–76
Nuseibeh B, Easterbrook S (2000), RE: a roadmap. In: Anthony F (ed) The future of software engineering. ACM, New York
Sutcliffe A (1997) A technique combination approach to requirements engineering. In: 3rd IEEE international symposium on requirements engineering (RE’97), January 05–08, Annapolis
Mannio M, Nikula U (2001), Requirements elicitation using a combination of prototypes and scenarios. Technical Report. Telecom Business Research Center, Lappeenranta University of Technology, P.O. Box 20, FIN-53851 Lappeenranta, Finland, Lappeenranta, 2001, ISBN 951-764-528-7
Macaulay LA (1996) Requirements engineering, applied computing. Springer, Heidelberg
Berry D, Damian D, Finkelstein A, Gause D, Hall R, Wassyng A (2005) To do or not to do: if the requirements engineering payoff is so good, why aren’t more companies doing it?” Proceeding of Requirements Engineering 2005.
Damian D, Zowghi D, Vaidyanathasamy L, Pal Y (2004) An industrial case study of immediate benefits of requirements engineering process improvement at the Australian Center for Unisys Software. Int J Empir Softw Eng 9(1–2):45–75
Hall T, Beecham S, Raner A (2002) Requirements problems in twelve software companies: an empirical analysis. IEE Proc Softw 149(5)
Humphrey W, Snyder T, Willis R (1991) Software process improvement at Hughes aircraft. IEEE Softw 8(4):11–23
Davis AM (1993) Software requirements, objects, functions and states. Prentice-Hall, Englewood Cliffs
Jiang L (2005) A framework for requirements engineering process development. University of Calgary, PhD Thesis, Sept. 2005
Extreme Chaos (2001) The Standish Group International
Jiang L, Eberlein A, Far BH (2004) A methodology for RE process development. In: ECBS 11th IEEE international conference and workshop on the engineering of computer-based systems, Brno, May 2004
Maiden N, Rugg G (1996) ACRE: selecting methods for requirements acquisition. Softw Eng J 11(3):183–192
Hickey AM, Davis AM (2003) Elicitation technique selection: how do experts do it? In: Proceedings of the 11th IEEE international requirements engineering conference, pp 169–178
Jones C (2003) Variations in software development practices. IEEE Softw 20(6):22–27
Macaulay L (1996), Requirements for requirements engineering techniques. In: IEEE second international conference on requirements engineering
Hickey AM, Davis AM (2003) Requirements elicitation and elicitation technique selection: a model for two knowledge-intensive software development processes. In: Proceedings of the 36th annual Hawaii international conference on system sciences, 6–9 January 2003, pp 96–105
Tsumaki T, Tamai T (2005) A framework for matching RE techniques to project characteristics and situation changes. In: First international workshop on situational requirements engineering processes, in conjunction with 13th IEEE international requirements engineering conference, August 29th–September 2nd 2005, Paris
Bickerton JM, Siddiqi J (1993) The classification of Requirements engineering methods. In: Proceedings of IEEE international symposium on requirements engineering, 4–6 Jan 1993, San Diego
Davis GB (1982) Strategies for information requirements determination. IBM Syst J 21(1):4–31
Browne GJ, Ramesh V (2002) Improving information requirements determination: a cognitive perspective. Inform Manage 39:625–645
Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley, Reading
Kumar K, Welke RJ (1992) In: Cotterman W, Senn J (eds) Methodology engineering: a proposal for situation specific methodology construction, challenges and strategies for research in systems development. Wiley, Chichester, pp 257–266
Brinkkemper S (1995) Method engineering: engineering the information systems development methods and tools. Inform Softw Technol 37(11)
Brinkkemper S, Lyytinen K, Welke R (1996) Method engineering, principles of method construction and tool support. Chapman & Hall, London
Reifer DJ (2003) Is the software engineering state of the practice getting closer to the of the art? IEEE Softw 20(6):78–83
Turban E, Aronson JE (2001) Decision support systems and intelligent system, 6th edn. Prentice-Hall, Upper Saddle River
Holsapple CW, Whinston AB (2000) Decision support systems: a knowledge-based approach. West Publishing Company, Minneapolis/St Paul, ISBN 0-314-06510-5
Jiang L, Eberlein A, Far BH, Majid M (2004) An innovative requirement engineering technique selection model. Technical Reports, April 31st, 2004, Department of Electrical and Computer Engineering, University of Calgary, http://www2.enel.ucalgary.ca/∼ljiang/research/indexOfResearch.htm
Jirotka M, Goguen JA (1959) Requirements engineering: social and technical issues. Academic, London
Helmer O, Rescher N (1959) On the epistemology of the inexact science. Manage Sci 6(1):25–28
Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations, and system approaches, artificial intelligence communications, vol 7:1. IOS Press, pp 39–59
Russell S, Norvig P (1995) Artificial intelligence; a modern approach. Prentice-Hall, Englewood Cliffs
Fikes R, Kehler T (1985) The role of frame-based representation. Reason Commun ACM 28(9):904–920
Jiang L, Eberlein A (2006) Clustering requirements engineering techniques. In: IASTED international conference on software engineering and applications (SEA 2006), November 13–15, Dallas
Kitchenham B, Pickard L, Pfleeger SL (1995) Case studies for method and tool evaluation. IEEE Softw, pp 52–62
Fitzgerald B (1996) An investigation of the use of system development methodologies in practice. In: Fourth European conference on information systems, pp 143–161
Jiang L, Eberlein A, Far BH (2005) Combining requirements engineering techniques—theory and case study. In: ECBS 12th IEEE international conference on the engineering of computer-based systems, Greenbelt, April 2005
Chaos (1999) A recipe for success. The Standish Group International
Broadman J, Johnson D (1996) Return on investment from software process improvement as measured by U.S. industry. Crosstalk 9(4):23–29
Acknowledgements
The authors would like to thank the editors and the 4 anonymous reviewers for their very detailed and valuable comments that helped improve this paper.
Author information
Authors and Affiliations
Corresponding author
Appendix
Rights and permissions
About this article
Cite this article
Jiang, L., Eberlein, A. & Far, B.H. A case study validation of a knowledge-based approach for the selection of requirements engineering techniques. Requirements Eng 13, 117–146 (2008). https://doi.org/10.1007/s00766-007-0060-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-007-0060-2