Skip to main content
Log in

A case study validation of a knowledge-based approach for the selection of requirements engineering techniques

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. 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.

  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.

  3. 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

  1. Kotonya G, Sommerville I (1998) RE, processes and techniques. Wiley, New York

  2. 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

    Article  Google Scholar 

  3. Brooks F (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19

    Article  MathSciNet  Google Scholar 

  4. 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

  5. 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

    Article  Google Scholar 

  6. 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

  7. 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

  8. Glass RL, Vessey L (1995) Contemporary application-domain taxomonies. IEEE Software 1995, pp 63–76

  9. Nuseibeh B, Easterbrook S (2000), RE: a roadmap. In: Anthony F (ed) The future of software engineering. ACM, New York

  10. Sutcliffe A (1997) A technique combination approach to requirements engineering. In: 3rd IEEE international symposium on requirements engineering (RE’97), January 05–08, Annapolis

  11. 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

  12. Macaulay LA (1996) Requirements engineering, applied computing. Springer, Heidelberg

    Google Scholar 

  13. 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.

  14. 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

    Article  Google Scholar 

  15. Hall T, Beecham S, Raner A (2002) Requirements problems in twelve software companies: an empirical analysis. IEE Proc Softw 149(5)

  16. Humphrey W, Snyder T, Willis R (1991) Software process improvement at Hughes aircraft. IEEE Softw 8(4):11–23

    Article  Google Scholar 

  17. Davis AM (1993) Software requirements, objects, functions and states. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  18. Jiang L (2005) A framework for requirements engineering process development. University of Calgary, PhD Thesis, Sept. 2005

  19. Extreme Chaos (2001) The Standish Group International

  20. 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

  21. Maiden N, Rugg G (1996) ACRE: selecting methods for requirements acquisition. Softw Eng J 11(3):183–192

    Article  Google Scholar 

  22. 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

  23. Jones C (2003) Variations in software development practices. IEEE Softw 20(6):22–27

    Article  Google Scholar 

  24. Macaulay L (1996), Requirements for requirements engineering techniques. In: IEEE second international conference on requirements engineering

  25. 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

  26. 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

  27. 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

  28. Davis GB (1982) Strategies for information requirements determination. IBM Syst J 21(1):4–31

    Article  Google Scholar 

  29. Browne GJ, Ramesh V (2002) Improving information requirements determination: a cognitive perspective. Inform Manage 39:625–645

    Article  Google Scholar 

  30. Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley, Reading

    Google Scholar 

  31. 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

  32. Brinkkemper S (1995) Method engineering: engineering the information systems development methods and tools. Inform Softw Technol 37(11)

  33. Brinkkemper S, Lyytinen K, Welke R (1996) Method engineering, principles of method construction and tool support. Chapman & Hall, London

    Google Scholar 

  34. Reifer DJ (2003) Is the software engineering state of the practice getting closer to the of the art? IEEE Softw 20(6):78–83

    Article  Google Scholar 

  35. Turban E, Aronson JE (2001) Decision support systems and intelligent system, 6th edn. Prentice-Hall, Upper Saddle River

    Google Scholar 

  36. Holsapple CW, Whinston AB (2000) Decision support systems: a knowledge-based approach. West Publishing Company, Minneapolis/St Paul, ISBN 0-314-06510-5

  37. 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

  38. Jirotka M, Goguen JA (1959) Requirements engineering: social and technical issues. Academic, London

    Google Scholar 

  39. Helmer O, Rescher N (1959) On the epistemology of the inexact science. Manage Sci 6(1):25–28

    Article  Google Scholar 

  40. 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

  41. Russell S, Norvig P (1995) Artificial intelligence; a modern approach. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  42. Fikes R, Kehler T (1985) The role of frame-based representation. Reason Commun ACM 28(9):904–920

    Article  Google Scholar 

  43. Jiang L, Eberlein A (2006) Clustering requirements engineering techniques. In: IASTED international conference on software engineering and applications (SEA 2006), November 13–15, Dallas

  44. Kitchenham B, Pickard L, Pfleeger SL (1995) Case studies for method and tool evaluation. IEEE Softw, pp 52–62

  45. Fitzgerald B (1996) An investigation of the use of system development methodologies in practice. In: Fourth European conference on information systems, pp 143–161

  46. 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

  47. Chaos (1999) A recipe for success. The Standish Group International

  48. Broadman J, Johnson D (1996) Return on investment from software process improvement as measured by U.S. industry. Crosstalk 9(4):23–29

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Armin Eberlein.

Appendix

Appendix

Table 14.

Table 14 Acronyms/symbols and their definition

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-007-0060-2

Keywords

Navigation