Requirements Engineering

, Volume 13, Issue 2, pp 117–146 | Cite as

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

  • Li Jiang
  • Armin EberleinEmail author
  • Behrouz H. Far
Original Article


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.


Knowledge management Reasoning Requirements engineering Techniques Evaluation Decision support 



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.


  1. 1.
    Kotonya G, Sommerville I (1998) RE, processes and techniques. Wiley, New YorkGoogle Scholar
  2. 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–453CrossRefGoogle Scholar
  3. 3.
    Brooks F (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19CrossRefMathSciNetGoogle Scholar
  4. 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–42Google Scholar
  5. 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–566CrossRefGoogle Scholar
  6. 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, AustriaGoogle Scholar
  7. 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 ReportGoogle Scholar
  8. 8.
    Glass RL, Vessey L (1995) Contemporary application-domain taxomonies. IEEE Software 1995, pp 63–76Google Scholar
  9. 9.
    Nuseibeh B, Easterbrook S (2000), RE: a roadmap. In: Anthony F (ed) The future of software engineering. ACM, New YorkGoogle Scholar
  10. 10.
    Sutcliffe A (1997) A technique combination approach to requirements engineering. In: 3rd IEEE international symposium on requirements engineering (RE’97), January 05–08, AnnapolisGoogle Scholar
  11. 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-7Google Scholar
  12. 12.
    Macaulay LA (1996) Requirements engineering, applied computing. Springer, HeidelbergGoogle Scholar
  13. 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.Google Scholar
  14. 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–75CrossRefGoogle Scholar
  15. 15.
    Hall T, Beecham S, Raner A (2002) Requirements problems in twelve software companies: an empirical analysis. IEE Proc Softw 149(5)Google Scholar
  16. 16.
    Humphrey W, Snyder T, Willis R (1991) Software process improvement at Hughes aircraft. IEEE Softw 8(4):11–23CrossRefGoogle Scholar
  17. 17.
    Davis AM (1993) Software requirements, objects, functions and states. Prentice-Hall, Englewood CliffszbMATHGoogle Scholar
  18. 18.
    Jiang L (2005) A framework for requirements engineering process development. University of Calgary, PhD Thesis, Sept. 2005Google Scholar
  19. 19.
    Extreme Chaos (2001) The Standish Group InternationalGoogle Scholar
  20. 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 2004Google Scholar
  21. 21.
    Maiden N, Rugg G (1996) ACRE: selecting methods for requirements acquisition. Softw Eng J 11(3):183–192CrossRefGoogle Scholar
  22. 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–178Google Scholar
  23. 23.
    Jones C (2003) Variations in software development practices. IEEE Softw 20(6):22–27CrossRefGoogle Scholar
  24. 24.
    Macaulay L (1996), Requirements for requirements engineering techniques. In: IEEE second international conference on requirements engineeringGoogle Scholar
  25. 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–105Google Scholar
  26. 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, ParisGoogle Scholar
  27. 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 DiegoGoogle Scholar
  28. 28.
    Davis GB (1982) Strategies for information requirements determination. IBM Syst J 21(1):4–31CrossRefGoogle Scholar
  29. 29.
    Browne GJ, Ramesh V (2002) Improving information requirements determination: a cognitive perspective. Inform Manage 39:625–645CrossRefGoogle Scholar
  30. 30.
    Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley, ReadingGoogle Scholar
  31. 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–266Google Scholar
  32. 32.
    Brinkkemper S (1995) Method engineering: engineering the information systems development methods and tools. Inform Softw Technol 37(11)Google Scholar
  33. 33.
    Brinkkemper S, Lyytinen K, Welke R (1996) Method engineering, principles of method construction and tool support. Chapman & Hall, LondonGoogle Scholar
  34. 34.
    Reifer DJ (2003) Is the software engineering state of the practice getting closer to the of the art? IEEE Softw 20(6):78–83CrossRefGoogle Scholar
  35. 35.
    Turban E, Aronson JE (2001) Decision support systems and intelligent system, 6th edn. Prentice-Hall, Upper Saddle RiverGoogle Scholar
  36. 36.
    Holsapple CW, Whinston AB (2000) Decision support systems: a knowledge-based approach. West Publishing Company, Minneapolis/St Paul, ISBN 0-314-06510-5Google Scholar
  37. 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,∼ljiang/research/indexOfResearch.htm
  38. 38.
    Jirotka M, Goguen JA (1959) Requirements engineering: social and technical issues. Academic, LondonGoogle Scholar
  39. 39.
    Helmer O, Rescher N (1959) On the epistemology of the inexact science. Manage Sci 6(1):25–28CrossRefGoogle Scholar
  40. 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–59Google Scholar
  41. 41.
    Russell S, Norvig P (1995) Artificial intelligence; a modern approach. Prentice-Hall, Englewood CliffszbMATHGoogle Scholar
  42. 42.
    Fikes R, Kehler T (1985) The role of frame-based representation. Reason Commun ACM 28(9):904–920CrossRefGoogle Scholar
  43. 43.
    Jiang L, Eberlein A (2006) Clustering requirements engineering techniques. In: IASTED international conference on software engineering and applications (SEA 2006), November 13–15, DallasGoogle Scholar
  44. 44.
    Kitchenham B, Pickard L, Pfleeger SL (1995) Case studies for method and tool evaluation. IEEE Softw, pp 52–62Google Scholar
  45. 45.
    Fitzgerald B (1996) An investigation of the use of system development methodologies in practice. In: Fourth European conference on information systems, pp 143–161Google Scholar
  46. 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 2005Google Scholar
  47. 47.
    Chaos (1999) A recipe for success. The Standish Group InternationalGoogle Scholar
  48. 48.
    Broadman J, Johnson D (1996) Return on investment from software process improvement as measured by U.S. industry. Crosstalk 9(4):23–29Google Scholar

Copyright information

© Springer-Verlag London Limited 2007

Authors and Affiliations

  1. 1.School of Computer ScienceThe University of AdelaideAdelaideAustralia
  2. 2.Computer Engineering DepartmentAmerican University of SharjahSharjahUnited Arab Emirates
  3. 3.Department of Electrical and Computer EngineeringUniversity of CalgaryN.W. CalgaryCanada

Personalised recommendations