Advertisement

Requirements Engineering

  • Amel BennaceurEmail author
  • Thein Than Tun
  • Yijun Yu
  • Bashar Nuseibeh
Chapter

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 Google Scholar
  2. 2.
    Alexander, I.: Gore, sore, or what? IEEE Softw. 28(1), 8–10 (2011). http://dx.doi.org/10.1109/MS.2011.7 Google Scholar
  3. 3.
    Alexander, I.F., Maiden, N.: Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle. Wiley, New York (2005)Google Scholar
  4. 4.
    Alexander, I.F., Stevens, R.: Writing Better Requirements. Pearson Education, Harlow (2002)Google Scholar
  5. 5.
  6. 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. 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 Google Scholar
  8. 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 Google Scholar
  9. 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. 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. 11.
    Berander, P., Andrews, A.: Requirements prioritization. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 69–94. Springer, Berlin (2005)Google Scholar
  12. 12.
    Besnard, P., Hunter, A.: Elements of Argumentation. The MIT Press, Cambridge (2008)Google Scholar
  13. 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 Google Scholar
  14. 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 Google Scholar
  15. 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 Google Scholar
  16. 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 Google Scholar
  17. 17.
    Bradner, S.: Key words for use in RFCs to indicate requirement levels (1997). http://www.ietf.org/rfc/rfc2119.txt
  18. 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 Google Scholar
  19. 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 MathSciNetGoogle Scholar
  20. 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. 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. 22.
    Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)Google Scholar
  23. 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. 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. 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. 26.
    Dalpiaz, F., Franch, X., Horkoff, J.: istar 2.0 language guide. CoRR abs/1605.07767 (2016). http://arxiv.org/abs/1605.07767
  27. 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. 28.
    Denning, P.J.: Software quality. Commun. ACM 59(9), 23–25 (2016). http://doi.acm.org/10.1145/2971327 Google Scholar
  29. 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)Google Scholar
  30. 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.33Google Scholar
  31. 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 MathSciNetzbMATHGoogle Scholar
  32. 32.
    Easterbrook, S.: What is requirements engineering? (2004). http://www.cs.toronto.edu/~sme/papers/2004/FoRE-chapter01-v7.pdf
  33. 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. 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.5070513Google Scholar
  35. 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. 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. 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. 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. 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. 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 Google Scholar
  41. 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. 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. 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. 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. 45.
    ISO/IEC 9126: Software engineering – product quality – part 1: quality model. Technical report, ISO (2001)Google Scholar
  46. 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. 47.
    Jackson, M.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press/Addison-Wesley, New York (1995)Google Scholar
  48. 48.
    Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman, Boston (2001)Google Scholar
  49. 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. 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. 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 Google Scholar
  52. 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. 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 Google Scholar
  54. 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. 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.19Google Scholar
  56. 56.
    Laplante, P.A.: Requirements Engineering for Software and Systems. CRC Press, Boca Raton (2013)Google Scholar
  57. 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. 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. 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 Google Scholar
  60. 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. 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. 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. 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. 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. 65.
    Lutz, R.R.: Software engineering for space exploration. IEEE Comput. 44(10), 41–46 (2011). https://doi.org/10.1109/MC.2011.264 Google Scholar
  66. 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 Google Scholar
  67. 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.0024Google Scholar
  68. 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 Google Scholar
  69. 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. 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. 71.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems - Specification. Springer, Berlin (1992)zbMATHGoogle Scholar
  72. 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. 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 Google Scholar
  74. 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. 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. 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. 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.76Google Scholar
  78. 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)Google Scholar
  79. 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 Google Scholar
  80. 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 Google Scholar
  81. 81.
    Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(3), 115–117 (2001). http://dx.doi.org/10.1109/2.910904 Google Scholar
  82. 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. 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.6606609Google Scholar
  84. 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)zbMATHGoogle Scholar
  85. 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 Google Scholar
  86. 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. 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 Google Scholar
  88. 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. 89.
    Robertson, S., Robertson, J.: Mastering the Requirements Process. ACM Press/Addison-Wesley, New York (1999)Google Scholar
  90. 90.
    Robertson, S., Robertson, J.: Mastering the Requirements Process: Getting Requirements Right. Addison-Wesley, Boston (2012)Google Scholar
  91. 91.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Pearson Higher Education, London (2004)Google Scholar
  92. 92.
    Rushby, J.: Security requirements specifications: how and what? In: Requirements Engineering for Information Security (SREIS), Indianapolis (2001)Google Scholar
  93. 93.
    Russo, D., Ciancarini, P.: A proposal for an antifragile software manifesto. Proc. Comput. Sci. 83, 982–987 (2016)Google Scholar
  94. 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. 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. 96.
    SECUR-ED, C.: Deliverable d22.1: Interoperability concept. fp7 SECUR-ED EU project (2012). http://www.secur-ed.eu/?page_id=33
  97. 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. 98.
    Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide, 1st edn. Wiley, New York (1997)zbMATHGoogle Scholar
  99. 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.1753263Google Scholar
  100. 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. 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. 102.
    van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Hoboken (2009)Google Scholar
  103. 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.512561Google Scholar
  104. 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. 105.
    Wakefield, J.: Microsoft chatbot is taught to swear on twitter. Visited on 30 Mar 2017Google Scholar
  106. 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 Google Scholar
  107. 107.
    Wiegers, K., Beatty, J.: Software Requirements. Pearson Education, Harlow (2013)Google Scholar
  108. 108.
    Withall, S.: Software Requirement Patterns, 1st edn. Microsoft Press, Redmond (2007)Google Scholar
  109. 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.566873Google Scholar
  110. 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 Google Scholar
  111. 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 Google Scholar
  112. 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 Google Scholar
  113. 113.
    Zowghi, D., Coulin, C.: Requirements Elicitation: A Survey of Techniques, Approaches, and Tools, pp. 19–46. Springer, Berlin (2005)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Amel Bennaceur
    • 1
    Email author
  • Thein Than Tun
    • 1
  • Yijun Yu
    • 1
  • Bashar Nuseibeh
    • 1
    • 2
  1. 1.The Open UniversityMilton KeynesUK
  2. 2.Lero The Irish Software Research CentreLimerickIreland

Personalised recommendations