Skip to main content

Requirements Engineering

  • Chapter
  • First Online:

Abstract

Requirements engineering (RE) aims to ensure that systems meet the needs of their stakeholders including users, sponsors, and customers. Often considered as one of the earliest activities in software engineering, it has developed into a set of activities that touch almost every step of the software development process. In this chapter, we reflect on how the need for RE was first recognised and how its foundational concepts were developed. We present the seminal papers on four main activities of the RE process, namely, (1) elicitation, (2) modelling and analysis, (3) assurance, and (4) management and evolution. We also discuss some current research challenges in the area, including security requirements engineering as well as RE for mobile and ubiquitous computing. Finally, we identify some open challenges and research gaps that require further exploration.

All authors have contributed equally to this chapter.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abowd, G.D.: Beyond weiser: from ubiquitous to collective computing. IEEE Comput. 49(1), 17–23 (2016). http://dx.doi.org/10.1109/MC.2016.22

    Article  Google Scholar 

  2. Alexander, I.: Gore, sore, or what? IEEE Softw. 28(1), 8–10 (2011). http://dx.doi.org/10.1109/MS.2011.7

    Article  Google Scholar 

  3. Alexander, I.F., Maiden, N.: Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle. Wiley, New York (2005)

    Google Scholar 

  4. Alexander, I.F., Stevens, R.: Writing Better Requirements. Pearson Education, Harlow (2002)

    Google Scholar 

  5. Altran: Reveal tm. http://intelligent-systems.altran.com/fr/technologies/systems-engineering/revealtm.html

  6. Alves, C.F., Finkelstein, A.: Challenges in COTS decision-making: a goal-driven requirements engineering perspective. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE 2002, Ischia, 15–19 July 2002, pp. 789–794 (2002). http://doi.acm.org/10.1145/568760.568894

  7. Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004). https://doi.org/10.1109/TDSC.2004.2

    Article  Google Scholar 

  8. Becker, C., Betz, S., Chitchyan, R., Duboc, L., Easterbrook, S.M., Penzenstadler, B., Seyff, N., Venters, C.C.: Requirements: the key to sustainability. IEEE Softw. 33(1), 56–65 (2016). http://dx.doi.org/10.1109/MS.2015.158

    Article  Google Scholar 

  9. Bencomo, N., Cleland-Huang, J., Guo, J., Harrison, R. (eds.): IEEE 1st International Workshop on Artificial Intelligence for Requirements Engineering, AIRE 2014, 26 Aug 2014, Karlskrona. IEEE Computer Society, Washington (2014). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6887463

    Google Scholar 

  10. Bennaceur, A., Nuseibeh, B.: The many facets of mediation: a requirements-driven approach for trading-off mediation solutions. In: Mistrík, I., Ali, N., Grundy, J., Kazman, R., Schmerl, B. (eds.) Managing Trade-offs in Adaptable Software Architectures. Elsevier, New York (2016). http://oro.open.ac.uk/45253/

    Google Scholar 

  11. Berander, P., Andrews, A.: Requirements prioritization. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 69–94. Springer, Berlin (2005)

    Chapter  Google Scholar 

  12. Besnard, P., Hunter, A.: Elements of Argumentation. The MIT Press, Cambridge (2008)

    Book  Google Scholar 

  13. Boehm, B.W.: Verifying and validating software requirements and design specifications. IEEE Softw. 1(1), 75–88 (1984). http://dx.doi.org/10.1109/MS.1984.233702

    Article  Google Scholar 

  14. Boehm, B.W.: A spiral model of software development and enhancement. IEEE Comput. 21(5), 61–72 (1988). http://dx.doi.org/10.1109/2.59

    Article  Google Scholar 

  15. Boehm, B.W., Grünbacher, P., Briggs, R.O.: Developing groupware for requirements negotiation: lessons learned. IEEE Softw. 18(3), 46–55 (2001). http://dx.doi.org/10.1109/52.922725

    Article  Google Scholar 

  16. Bosch, J.: Speed, data, and ecosystems: the future of software engineering. IEEE Softw. 33(1), 82–88 (2016). http://dx.doi.org/10.1109/MS.2016.14

    Article  Google Scholar 

  17. Bradner, S.: Key words for use in RFCs to indicate requirement levels (1997). http://www.ietf.org/rfc/rfc2119.txt

  18. Breaux, T., Antón, A.: Analyzing regulatory rules for privacy and security requirements. IEEE Trans. Softw. Eng. 34(1), 5–20 (2008). https://doi.org/10.1109/TSE.2007.70746

    Article  Google Scholar 

  19. Brooks, F.P. Jr.: No silver bullet essence and accidents of software engineering. Computer 20(4), 10–19 (1987). http://dx.doi.org/10.1109/MC.1987.1663532

    Article  MathSciNet  Google Scholar 

  20. Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: Proceedings of the Workshop on the Future of Software Engineering, FOSE, pp. 285–303 (2007)

    Google Scholar 

  21. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Serugendo, G.D.M., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H.A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: Software engineering for self-adaptive systems: a research roadmap. In: Software Engineering for Self-Adaptive Systems [Outcome of a Dagstuhl Seminar], pp. 1–26 (2009)

    Google Scholar 

  22. Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)

    Article  Google Scholar 

  23. Cleland-Huang, J., Gotel, O., Zisman, A. (eds.): Software and Systems Traceability. Springer, London (2012). http://dx.doi.org/10.1007/978-1-4471-2239-5

    Google Scholar 

  24. Cleland-Huang, J., Gotel, O., Hayes, J.H., Mäder, P., Zisman, A.: Software traceability: trends and future directions. In: Proceedings of the Future of Software Engineering, FOSE@ICSE, pp. 55–69 (2014). http://doi.acm.org/10.1145/2593882.2593891

  25. Crook, R., Ince, D.C., Lin, L., Nuseibeh, B.: Security requirements engineering: when anti-requirements hit the fan. In: 10th Anniversary IEEE Joint International Conference on Requirements Engineering (RE 2002), Essen, 9–13 Sept 2002, pp. 203–205. IEEE Computer Society, Washington (2002)

    Google Scholar 

  26. Dalpiaz, F., Franch, X., Horkoff, J.: istar 2.0 language guide. CoRR abs/1605.07767 (2016). http://arxiv.org/abs/1605.07767

  27. Davis, A.M., Tubío, Ó.D., Hickey, A.M., Juzgado, N.J., Moreno, A.M.: Effectiveness of requirements elicitation techniques: empirical results derived from a systematic review. In: Proceedings of the 14th IEEE International Conference on Requirements Engineering, RE, pp. 176–185 (2006). http://dx.doi.org/10.1109/RE.2006.17

  28. Denning, P.J.: Software quality. Commun. ACM 59(9), 23–25 (2016). http://doi.acm.org/10.1145/2971327

    Article  Google Scholar 

  29. Dey, A.K., Abowd, G.D., Salber, D.: A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Hum.-Comput. Interact. 16(2), 97–166 (2001)

    Article  Google Scholar 

  30. Dieste, O., Juzgado, N.J.: Systematic review and aggregation of empirical studies on elicitation techniques. IEEE Trans. Softw. Eng. 37(2), 283–304 (2011). http://dx.doi.org/10.1109/TSE.2010.33

    Article  Google Scholar 

  31. Dung, P.M.: On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games. Artif. Intell. 77(2), 321–357 (1995). http://dx.doi.org/10.1016/0004-3702(94)00041-X; http://www.sciencedirect.com/science/article/pii/000437029400041X

    Article  MathSciNet  MATH  Google Scholar 

  32. Easterbrook, S.: What is requirements engineering? (2004). http://www.cs.toronto.edu/~sme/papers/2004/FoRE-chapter01-v7.pdf

  33. Ebert, C., Duarte, C.H.C.: Requirements engineering for the digital transformation: industry panel. In: 2016 IEEE 24th International Requirements Engineering Conference (RE), pp. 4–5 (2016). https://doi.org/10.1109/RE.2016.21

  34. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: Proceedings of the 31st International Conference on Software Engineering, ICSE ‘09, pp. 111–121. IEEE Computer Society, Washington (2009). http://dx.doi.org/10.1109/ICSE.2009.5070513

    Google Scholar 

  35. Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: Proceedings of the Second IEEE International Symposium on Requirements Engineering, 1995, pp. 140–147 (1995). https://doi.org/10.1109/ISRE.1995.512555

    Google Scholar 

  36. Filieri, A., Maggio, M., Angelopoulos, K., D’Ippolito, N., Gerostathopoulos, I., Hempel, A.B., Hoffmann, H., Jamshidi, P., Kalyvianaki, E., Klein, C., Krikava, F., Misailovic, S., Papadopoulos, A.V., Ray, S., Sharifloo, A.M., Shevtsov, S., Ujma, M., Vogel, T.: Software engineering meets control theory. In: 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-managing Systems, pp. 71–82 (2015). https://doi.org/10.1109/SEAMS.2015.12

  37. Furtado, F., Zisman, A.: Trace++: a traceability approach for agile software engineering. In: Proceedings of the 24th International Requirements Engineering Conference, RE (2016)

    Google Scholar 

  38. Glinz, M.: On non-functional requirements. In: Proceedings of the 15th IEEE International Requirements Engineering Conference, RE, pp. 21–26 (2007). https://doi.org/10.1109/RE.2007.45

  39. Guenther Ruhe, M.N., Ebert, C.: The vision: requirements engineering in society. In: Proceedings of the 25th International Requirements Engineering Conference - Silver Jubilee Track, RE (2017). https://www.ucalgary.ca/mnayebi/files/mnayebi/the-vision-requirements-engineering-in-society.pdf

  40. Haley, C.B., Laney, R.C., Moffett, J.D., Nuseibeh, B.: Security requirements engineering: a framework for representation and analysis. IEEE Trans. Softw. Eng. 34(1), 133–153 (2008). http://doi.ieeecomputersociety.org/10.1109/TSE.2007.70754

    Article  Google Scholar 

  41. Heitmeyer, C.L., Labaw, B., Jeffords, R.: A benchmark for comparing different approaches for specifying and verifying real-time systems. In: Proceedings of the 10th International Workshop on Real-Time Operating Systems and Software (1993)

    Google Scholar 

  42. Herbsleb, J.D.: Building a socio-technical theory of coordination: why and how (outstanding research award). In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, Seattle, 13–18 Nov 2016, pp. 2–10 (2016). http://doi.acm.org/10.1145/2950290.2994160

  43. Hosseini, M., Shahri, A., Phalp, K., Ali, R.: Four reference models for transparency requirements in information systems. Requir. Eng. 23, 1–25 (2017)

    Google Scholar 

  44. IEEE Computer Society. Software Engineering Standards Committee and IEEE-SA Standards Board: IEEE recommended practice for software requirements specifications. Technical report, IEEE (1998)

    Google Scholar 

  45. ISO/IEC 9126: Software engineering – product quality – part 1: quality model. Technical report, ISO (2001)

    Google Scholar 

  46. ISO/IEC 25022: Systems and software engineering – systems and software quality requirements and evaluation (square) – measurement of quality in use. Technical report, ISO (2016)

    Google Scholar 

  47. Jackson, M.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press/Addison-Wesley, New York (1995)

    Google Scholar 

  48. Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman, Boston (2001)

    Google Scholar 

  49. Jackson, M.: The name and nature of software engineering. In: Advances in Software Engineering: Lipari Summer School 2007. Revised Tutorial Lectures in Advances in Software Engineering, pp. 1–38. Springer, Berlin (2007). http://dx.doi.org/10.1007/978-3-540-89762-0_1

  50. Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: Proceedings of the 17th International Conference on Software Engineering, ICSE ‘95, pp. 15–24. ACM, New York (1995). http://doi.acm.org/10.1145/225014.225016

  51. Jureta, I., Borgida, A., Ernst, N.A., Mylopoulos, J.: The requirements problem for adaptive systems. ACM Trans. Manag. Inf. Syst. 5(3), 17 (2014). http://doi.acm.org/10.1145/2629376

    Article  Google Scholar 

  52. Kang, E., Jackson, D.: Dependability arguments with trusted bases. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, RE ‘10, pp. 262–271. IEEE Computer Society, Washington (2010). http://dx.doi.org/10.1109/RE.2010.38

  53. Karlsson, J., Ryan, K.: A cost-value approach for prioritizing requirements. IEEE Softw. 14(5), 67–74 (1997). http://dx.doi.org/10.1109/52.605933

    Article  Google Scholar 

  54. Kelly, T., Weaver, R.: The goal structuring notation–a safety argument notation. In: Proceedings of the Dependable Systems and Networks 2004 Workshop on Assurance Cases (2004)

    Google Scholar 

  55. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Proceedings of the Future of Software Engineering track, FOSE@ICSE, pp. 259–268 (2007). http://dx.doi.org/10.1109/FOSE.2007.19

    Google Scholar 

  56. Laplante, P.A.: Requirements Engineering for Software and Systems. CRC Press, Boca Raton (2013)

    Book  Google Scholar 

  57. Larson, E.: Interoperability of us and nato allied air forces: supporting data and case studies. Technical report 1603, RAND Corporation (2003)

    Google Scholar 

  58. Letier, E., Heaven, W.: Requirements modelling by synthesis of deontic input-output automata. In: 35th International Conference on Software Engineering, ICSE ‘13, San Francisco, 18–26 May 2013, pp. 592–601 (2013). http://dl.acm.org/citation.cfm?id=2486866

  59. Leveson, N.G., Heimdahl, M.P.E., Hildreth, H., Reese, J.D.: Requirements specification for process-control systems. IEEE Trans. Softw. Eng. 20(9), 684–707 (1994). https://doi.org/10.1109/32.317428

    Article  Google Scholar 

  60. Lewis, G.A., Morris, E., Place, P., Simanta, S., Smith, D.B.: Requirements engineering for systems of systems. In: 2009 3rd Annual IEEE Systems Conference, pp. 247–252 (2009). https://doi.org/10.1109/SYSTEMS.2009.4815806

  61. Limoncelli, T.A.: Automation should be like iron man, not ultron. ACM Queue 13(8), 50 (2015). http://doi.acm.org/10.1145/2838344.2841313

    Google Scholar 

  62. Lin, L., Nuseibeh, B., Ince, D.C., Jackson, M.: Using abuse frames to bound the scope of security problems. In: 12th IEEE International Conference on Requirements Engineering (RE 2004), Kyoto, 6–10 Sept 2004, pp. 354–355 (2004)

    Google Scholar 

  63. Liu, L., Yu, E.S.K., Mylopoulos, J.: Security and privacy requirements analysis within a social setting. In: 11th IEEE International Conference on Requirements Engineering (RE 2003), 8–12 Sept 2003, Monterey Bay, pp. 151–161 (2003)

    Google Scholar 

  64. Lutz, R.R.: Analyzing software requirements errors in safety-critical, embedded systems. In: Proceedings of IEEE International Symposium on Requirements Engineering, RE, pp. 126–133 (1993). https://doi.org/10.1109/ISRE.1993.324825

  65. Lutz, R.R.: Software engineering for space exploration. IEEE Comput. 44(10), 41–46 (2011). https://doi.org/10.1109/MC.2011.264

    Article  Google Scholar 

  66. Maiden, N.A.M.: So, what is requirements work? IEEE Softw. 30(2), 14–15 (2013). http://dx.doi.org/10.1109/MS.2013.35

    Article  Google Scholar 

  67. Maiden, N.A.M., Rugg, G.: ACRE: selecting methods for requirements acquisition. Softw. Eng. J. 11(3), 183–192 (1996). http://dx.doi.org/10.1049/sej.1996.0024

    Article  Google Scholar 

  68. Maiden, N.A.M., Gizikis, A., Robertson, S.: Provoking creativity: imagine what your requirements could be like. IEEE Softw. 21(5), 68–75 (2004). http://dx.doi.org/10.1109/MS.2004.1331305

    Article  Google Scholar 

  69. Maiden, N.A.M., Robertson, S., Robertson, J.: Creative requirements: invention and its role in requirements engineering. In: Proceedings of the 28th International Conference on Software Engineering, ICSE, pp. 1073–1074 (2006). http://doi.acm.org/10.1145/1134512

  70. Mancini, C., Rogers, Y., Bandara, A.K., Coe, T., Jedrzejczyk, L., Joinson, A.N., Price, B.A., Thomas, K., Nuseibeh, B.: Contravision: exploring users’ reactions to futuristic technology. In: Proceedings of the 28th International Conference on Human Factors in Computing Systems, CHI 2010, Atlanta, 10–15 April 2010, pp. 153–162 (2010)

    Google Scholar 

  71. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems - Specification. Springer, Berlin (1992)

    Book  MATH  Google Scholar 

  72. Marca, D., Harandi: Problem set for the fourth international workshop on software specification and design. In: Proceedings of the 4th International Workshop on Software Specification and Design (1987)

    Google Scholar 

  73. Martins, L.E.G., Gorschek, T.: Requirements engineering for safety-critical systems: overview and challenges. IEEE Softw. 34(4), 49–57 (2017). https://doi.org/10.1109/MS.2017.94

    Article  Google Scholar 

  74. Maruyama, H.: Machine learning as a programming paradigm and its implications to requirements engineering. In: Asia-Pacific Requirements Engineering Symposium, APRES (2016)

    Google Scholar 

  75. Mavin, A., Wilkinson, P., Harwood, A., Novak, M.: Easy approach to requirements syntax (EARS). In: Proceedings of the 17th IEEE International Requirements Engineering Conference, RE, pp. 317–322 (2009). http://dx.doi.org/10.1109/RE.2009.9

  76. Mirakhorli, M., Cleland-Huang, J.: Tracing non-functional requirements. In: Software and Systems Traceability, pp. 299–320. Springer, Berlin (2012). http://dx.doi.org/10.1007/978-1-4471-2239-5_14

    Google Scholar 

  77. Moon, M., Yeom, K., Chae, H.S.: An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line. IEEE Trans. Softw. Eng. 31(7), 551–569 (2005). http://dx.doi.org/10.1109/TSE.2005.76

    Article  Google Scholar 

  78. Nhlabatsi, A., Nuseibeh, B., Yu, Y.: Security requirements engineering for evolving software systems: a survey. Int. J. Secur. Softw. Eng. 1(1), 54–73 (2010)

    Article  Google Scholar 

  79. Nitto, E.D., Ghezzi, C., Metzger, A., Papazoglou, M.P., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. Autom. Softw. Eng. 15(3–4), 313–341 (2008). http://dx.doi.org/10.1007/s10515-008-0032-x

    Article  Google Scholar 

  80. Niu, N., Easterbrook, S.M.: So, you think you know others’ goals? A repertory grid study. IEEE Softw. 24(2), 53–61 (2007). http://dx.doi.org/10.1109/MS.2007.52

    Article  Google Scholar 

  81. Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(3), 115–117 (2001). http://dx.doi.org/10.1109/2.910904

    Article  Google Scholar 

  82. Nuseibeh, B., Easterbrook, S.M.: Requirements engineering: a roadmap. In: Proceedings of the Future of Software Engineering Track at the 22nd International Conference on Software Engineering, Future of Software Engineering Track, FOSE, pp. 35–46 (2000). http://doi.acm.org/10.1145/336512.336523

  83. Omoronyia, I., Cavallaro, L., Salehie, M., Pasquale, L., Nuseibeh, B.: Engineering adaptive privacy: on the role of privacy awareness requirements. In: 35th International Conference on Software Engineering, ICSE ‘13, San Francisco, 18–26 May 2013, pp. 632–641 (2013). http://dx.doi.org/10.1109/ICSE.2013.6606609

    Google Scholar 

  84. Paolucci, M., Kawamura, T., Payne, T.R., Sycara, K.P.: Semantic matching of web services capabilities. In: Proceedings of the International Semantic Web Conference, ISWC, pp. 333–347 (2002)

    Chapter  MATH  Google Scholar 

  85. Parnas, D.L., Madey, J.: Functional documents for computer systems. Sci. Comput. Program. 25(1), 41–61 (1995). http://dx.doi.org/10.1016/0167-6423(95)96871-J

    Article  Google Scholar 

  86. Pohl, K., Assenova, P., Dömges, R., Johannesson, P., Maiden, N., Plihon, V., Schmitt, J.R., Spanoudakis, G.: Applying ai techniques to requirements engineering: the nature prototype. In: Proceedings of the ICSE-Workshop on Research Issues in the Intersection Between Software Engineering and Artificial Intelligence (1994)

    Google Scholar 

  87. Ramesh, B., Cao, L., Baskerville, R.: Agile requirements engineering practices and challenges: an empirical study. Inf. Syst. J. 20(5), 449–480 (2010). http://dx.doi.org/10.1111/j.1365-2575.2007.00259.x

    Article  Google Scholar 

  88. Riegel, N., Dörr, J.: A systematic literature review of requirements prioritization criteria. In: Proceedings of the 21st International Working Conference on Requirements Engineering: Foundation for Software Quality, REFSQ, pp. 300–317 (2015). http://dx.doi.org/10.1007/978-3-319-16101-3_22

    Google Scholar 

  89. Robertson, S., Robertson, J.: Mastering the Requirements Process. ACM Press/Addison-Wesley, New York (1999)

    Google Scholar 

  90. Robertson, S., Robertson, J.: Mastering the Requirements Process: Getting Requirements Right. Addison-Wesley, Boston (2012)

    Google Scholar 

  91. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Pearson Higher Education, London (2004)

    Google Scholar 

  92. Rushby, J.: Security requirements specifications: how and what? In: Requirements Engineering for Information Security (SREIS), Indianapolis (2001)

    Google Scholar 

  93. Russo, D., Ciancarini, P.: A proposal for an antifragile software manifesto. Proc. Comput. Sci. 83, 982–987 (2016)

    Article  Google Scholar 

  94. Salifu, M., Yu, Y., Nuseibeh, B.: Specifying monitoring and switching problems in context. In: 15th IEEE International Requirements Engineering Conference (RE 2007) (2007). http://oro.open.ac.uk/10264/

  95. Sawyer, P., Bencomo, N., Whittle, J., Letier, E., Finkelstein, A.: Requirements-aware systems: a research agenda for re for self-adaptive systems. In: 2010 18th IEEE International Requirements Engineering Conference, pp. 95–103 (2010). https://doi.org/10.1109/RE.2010.21

  96. SECUR-ED, C.: Deliverable d22.1: Interoperability concept. fp7 SECUR-ED EU project (2012). http://www.secur-ed.eu/?page_id=33

  97. Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ‘11, pp. 60–69. ACM, New York (2011). http://doi.acm.org/10.1145/1988008.1988018

  98. Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide, 1st edn. Wiley, New York (1997)

    MATH  Google Scholar 

  99. Tun, T.T., Boucher, Q., Classen, A., Hubaux, A., Heymans, P.: Relating requirements and feature configurations: a systematic approach. In: Proceedings of the 13th International Conference on Software Product Lines, SPLC, pp. 201–210 (2009). http://doi.acm.org/10.1145/1753235.1753263

    Google Scholar 

  100. van Lamsweerde, A.: Elaborating security requirements by construction of intentional anti-models. In: Finkelstein, A., Estublier, J., Rosenblum, D.S. (eds.) 26th International Conference on Software Engineering (ICSE 2004), Edinburgh, 23–28 May 2004, pp. 148–157. IEEE Computer Society, Washington (2004)

    Google Scholar 

  101. van Lamsweerde, A.: Requirements engineering: from craft to discipline. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2008, Atlanta, 9–14 Nov 2008, pp. 238–249 (2008). http://doi.acm.org/10.1145/1453101.1453133

  102. van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Hoboken (2009)

    Google Scholar 

  103. van Lamsweerde, A., Darimont, R., Massonet, P.: Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt. In: Proceedings of the 2nd IEEE International Symposium on Requirements Engineering, RE, pp. 194–203 (1995). http://dx.doi.org/10.1109/ISRE.1995.512561

    Google Scholar 

  104. Viana, T., Bandara, A., Zisman, A.: Towards a framework for managing inconsistencies in systems of systems. In: Proceedings of the Colloquium on Software-intensive Systems-of-Systems at 10th European Conference on Software Architecture (2016). http://oro.open.ac.uk/48014/

    Google Scholar 

  105. Wakefield, J.: Microsoft chatbot is taught to swear on twitter. Visited on 30 Mar 2017

    Google Scholar 

  106. Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.M.: Relax: a language to address uncertainty in self-adaptive systems requirement. Requir. Eng. 15(2), 177–196 (2010). http://dx.doi.org/10.1007/s00766-010-0101-0

    Article  Google Scholar 

  107. Wiegers, K., Beatty, J.: Software Requirements. Pearson Education, Harlow (2013)

    Google Scholar 

  108. Withall, S.: Software Requirement Patterns, 1st edn. Microsoft Press, Redmond (2007)

    Google Scholar 

  109. Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In: 3rd IEEE International Symposium on Requirements Engineering (RE’97), Annapolis, 5–8 Jan 1997, pp. 226–235. IEEE Computer Society, Washington (1997). http://dx.doi.org/10.1109/ISRE.1997.566873

    Google Scholar 

  110. Yu, Y., Franqueira, V.N.L., Tun, T.T., Wieringa, R., Nuseibeh, B.: Automated analysis of security requirements through risk-based argumentation. J. Syst. Softw. 106, 102–116 (2015). http://dx.doi.org/10.1016/j.jss.2015.04.065

    Article  Google Scholar 

  111. Zave, P.: Classification of research efforts in requirements engineering. ACM Comput. Surv. 29(4), 315–321 (1997). http://doi.acm.org/10.1145/267580.267581

    Article  Google Scholar 

  112. Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol. 6(1), 1–30 (1997). http://doi.acm.org/10.1145/237432.237434

    Article  Google Scholar 

  113. Zowghi, D., Coulin, C.: Requirements Elicitation: A Survey of Techniques, Approaches, and Tools, pp. 19–46. Springer, Berlin (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amel Bennaceur .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bennaceur, A., Tun, T.T., Yu, Y., Nuseibeh, B. (2019). Requirements Engineering. In: Cha, S., Taylor, R., Kang, K. (eds) Handbook of Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-030-00262-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00262-6_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00261-9

  • Online ISBN: 978-3-030-00262-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics