Advertisement

Modeling Goals and Reasoning with Them

  • Colette Rolland
  • Camille Salinesi

Abstract

The concept of goal has been used in many domains such as management sciences and strategic planning, artificial intelligence and human computer interaction. Recently, goal-driven approaches have been developed and tried out to support requirements engineering activities such as requirements elicitation, specification, validation, modification, structuring and negotiation. This chapter first review various research efforts undertaken in this line of research and presents the state-of-the-art in using goals to engineer requirements. It then presents a particular goal model, the goal/strategy map, and shows that maps can help with facing the challenge of new emerging multi-purposes systems, i.e. systems imposing variability in requirements elaboration and customization in the requirements engineering process.

Keywords

Goal Goal modeling Goal specification Reasoning with goals Elicitation Variability User Scenario 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alexander I (2002) Initial industrial experience of misuse cases in trade-off analysis. In: Proceedings of IEEE Joint International Requirements Engineering Conference, 9–13 September, Essen, pp.61–68Google Scholar
  2. 2.
    Antòn AI, Potts C (1998) The use of goals to surface requirements for evolving systems. In: Proceedings of International Conference on Software Engineering (ICSE’98), Kyoto, Japan, pp.157–166Google Scholar
  3. 3.
    Antòn AI, Earp JB, Potts C, Alspaugh TA (2001) The role of policy and stakeholder privacy values in requirements engineering. In: Proceedings of IEEE 5th International Symposium on Requirements Engineering (RE’01), Toronto, Canada, pp.138–145Google Scholar
  4. 4.
    Antòn AI, Potts C, Takahanshi K (1994) Inquiry based requirements analysis. IEEE Software 11(2): 21–32Google Scholar
  5. 5.
    Antòn AI, Carter R, Dagnino A, Dempster J, Siege DF (2001) Deriving goals from a use-case based requirements specification. Requirements Engineering Journal, 6: 63–73Google Scholar
  6. 6.
    Antòn AI, McCracken WM, Potts C (1994) Goal decomposition and scenario analysis in business process reengineering. CAISE’94, LNCS 811, Springer-Verlag, pp.94–104Google Scholar
  7. 7.
    Antòn AI (1996) Goal based requirements analysis. In: Proceedings of 2nd International Conference on Requirements Engineering ICRE’96, pp.136–144Google Scholar
  8. 8.
    Bachmann F, Bass L (2001) Managing variability in software architecture. ACM SIGSOFT Symposium on Software Reusability (SSR’01), pp.126–132Google Scholar
  9. 9.
    Boehm B, Bose P, Horowitz E, Ming-June L (1994) Software requirements as negotiated win conditions. In: Proceedings of 1st International Conference on Requirements Engineering, USA, pp.74–83Google Scholar
  10. 10.
    Bosch J, Florijn G, Greefhorst D, Kuusela J, Obbink JH, Pohl K (2001) Variability issues in software product lines. In: Proceedings of 4th International Workshop on Product Family Engineering (PEE-4), Bilbao, Spain, pp.22–37Google Scholar
  11. 11.
    Bubenko J, Rolland C, Loucopoulos P, de Antònellis V (1994) Facilitating ‘fuzzy to formal’ requirements modelling. In: Proceedings of IEEE 1st Conference on Requirements Engineering, ICRE’94 pp.154–158Google Scholar
  12. 12.
    Chung KL, Nixon BA, Yu E, Mylopoulos J (1999) Non-functional requirements in software engineering. The Kluwer international series in software engineering. 1st edition, Kluwer Academic PublishersGoogle Scholar
  13. 13.
    Cockburn A (1995) Structuring use cases with goals. Technical report. Human and Technology, HaT.Technical Report. 1995.01, Accessed on 3rd December 2004. http://alistair.cockburn.us/crystal/articles/sucwg/structuringucswithgoals.htm.Google Scholar
  14. 14.
    Dano B, Briand H, Barbier F (1997) A use case driven requirements engineering process. Journal of Requirements Engineering, Springer-Verlag, 2(2): 79–91Google Scholar
  15. 15.
    Dardenne A, Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Science of Computer Programming, Elsevier.20: 3–50CrossRefGoogle Scholar
  16. 16.
    Darimont R, Lamsweerde A. (1996) Formal refinement patterns for goal-driven requirements elaboration. In: Proceedings of 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, pp.179–190Google Scholar
  17. 17.
    Darimont R, Lamsweerde A, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE Transactions on Software Engineering, 24(11): 908–926Google Scholar
  18. 18.
    Davis AM (1993) Software requirements objects, functions and states. Prentice Hall, UKGoogle Scholar
  19. 19.
    Dik SC (1989) The theory of functional grammar. Part 1: The structure of the clause. Functional Grammar Series, Fories Publications Dordrecht, HollandGoogle Scholar
  20. 20.
    Dubois E, Yu E, Pettot M (1998) From early to late formal requirements: a process-control case study. In: Proceedings of 9th International Workshop on software Specification and design. IEEE CS Press, pp. 34–42Google Scholar
  21. 21.
    Easterbrook SM, Finkelstein ACW, Kramer J, Nuseibeh BA (1994) Coordinating conflicting view points by managing inconsistency. Workshop on Conflict Management in Design, International Conference on Artificial Intelligence in Design, Lausanne, Switzerland, pp. 15–18.Google Scholar
  22. 22.
    ELEKTRA consortium (1997) Electrical enterprise knowledge for transforming applications. ELEKTRA Project Reports No 22927Google Scholar
  23. 23.
    European Software Institute (1996) European user survey analysis. Report USV_EUR 2.1, ESPITI ProjectGoogle Scholar
  24. 24.
    Fillmore C (1968) The case for case. In: Universals in linguistic theory, Bach E, Harms RT (Eds.), Holt, Rinehart & Winston New York, pp.1–90Google Scholar
  25. 25.
    Finkelstein A, Spanoudakis G, Ryan M (1996) Software package requirements and procurement. In: Proceedings of 8th International workshop on Software Specification and Design, IEEE Computer Society Press, Washington, DC, pp.141–145Google Scholar
  26. 26.
    Gotel OCZ, Finkelstein ACW (1994) Modelling the contribution structure underlying requirements. In: Proceedings of 1st International Workshop on Requirements Engineering: Foundations of Software Quality, Utrecht, The Netherlands, pp. 71–81Google Scholar
  27. 27.
    Halmans J, Pohl K, (2003) Communicating the variability of a software product family to customers. Journal of Software and System Modeling, 2(1): 15–36Google Scholar
  28. 28.
    Haumer P, Pohl K, Weidenhaupt K (1998) Requirements elicitation and validation with real world scenes. IEEE Transactions on Software Engineering, Special Issue on Scenario Management, Jarke M, Kurki-Suonio R (Eds.), 24(12): 11036–1054Google Scholar
  29. 29.
    Hoh P (2002) Multi-criteria preference analysis for systematic requirements negotiation. In: Proceedings of 26th Annual International Computer Software and Applications Conference, Oxford, England pp.887Google Scholar
  30. 30.
    Hui B, Liaskos S, Mylopoulos J (2003) Requirements analysis for customizable software: A goals-skills-preferences framework. In: Proceedings of IEEE Conference on Requirements Engineering, Monterey Bay, USA, pp.117–126Google Scholar
  31. 31.
    Ivankina E, Salinesi C (2004) An approach to guide requirement elicitation by analyzing the causes and consequences of Threats. In: Proceedings of14th European-Japanese Conference on Information Modelling and Knowledge Bases, Skövde, SwedenGoogle Scholar
  32. 32.
    Jackson M (1995) Software requirements & specifications — a lexicon of practice. Principles and Prejudices, ACM Press, Addison-WesleyGoogle Scholar
  33. 33.
    Jacobson I (1995) The use case construct in object-oriented software engineering. In Scenario-Based Design: Envisioning Work and Technology in System Development, J.M. Carroll (Ed.), pp.309–336.Google Scholar
  34. 34.
    Jarke M, Pohl K (1993) Establishing visions in context: Towards a model of requirements processes. In: Proceedings of 12th International Conference on Information Systems, Orlando (ICIS), Orlando, pp.23–34Google Scholar
  35. 35.
    Kaindl H (2000) A design process based on a model combining scenarios with goals and functions. IEEE Transactions on Systems, Man and Cybernetic, 30(5): 537–551Google Scholar
  36. 36.
    Karlsson J, Olsson S, Ryan K (1997) Improved practical support for large-scale requirements prioritizing. Journal of Requirements Engineering, 2(1): 51–60Google Scholar
  37. 37.
    Lamsweerde A. (2004) Goal-oriented requirements engineering: A roundtrip from research to practice. In: Proceedings of 12th IEEE International Symposium on Requirements Engineering, Kyoto, JapanGoogle Scholar
  38. 38.
    Lamsweerde A, Willemet L (1998) Inferring declarative requirements specifications from operational scenarios. IEEE Transactions on Software Engineering, Special Issue on Scenario Management 24(12): 1089–1114Google Scholar
  39. 39.
    Lamsweerde A, Darimont R, Massonet P (1995) Goal-directed elaboration of requirements for meeting schedulers: Problems and lessons learnt. In: Proceedings of the 2nd IEEE International Symposium on Requirements Engineering (RE’95), pp.194–203Google Scholar
  40. 40.
    Lamsweerde A (2000) Requirements engineering in the year 2000: A research perspective. In: Proceedings of 22nd International Conference on Software Engineering, (ICSE’2000): Limerick, Ireland, Invited Paper, ACM Press, pp. 5–19Google Scholar
  41. 41.
    Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Transactions on Software Engineering, Special Issue on Exception Handling, 26(10): 978–1005Google Scholar
  42. 42.
    Lamsweerde A, Dardenne B, Delcourt F (1991) The KAOS project: Knowledge acquisition in automated specification of software. In: Proceedings of AAAI Spring Symposium Series, Stanford University, pp.59–62Google Scholar
  43. 43.
    Lamsweerde A (2001) Goal-oriented requirements engineering: A guided tour. In Proceedings of International Joint Conference on Requirements Engineering, Toronto, IEEE, pp.249–263Google Scholar
  44. 44.
    Le TL (1999) Guidage des processus d’ingénierie des besoins par un approche de réutilisation de cas, Master Thesis, CRI, Université Paris-1, Panthéon SorbonneGoogle Scholar
  45. 45.
    Lee SP (1997) Issues in requirements engineering of object-oriented information system: A review. Malaysian Journal of computer Science, 10(2)Google Scholar
  46. 46.
    Leite JCS, Rossi G, Balaguer F, Maiorana A, Kaplan G, Hadad G, Oliveros A (1997) Enhancing a requirements baseline with scenarios. In: Proceedings of 3rd IEEE International Symposium on Requirements Engineering, Antapolis, Maryland, pp.44–53.Google Scholar
  47. 47.
    Letier E (2001) Reasoning about agents in goal-oriented requirements engineering. Ph. D. Thesis, University of LouvainGoogle Scholar
  48. 48.
    Leveson NG (2000) Intent specifications: an approach to building human-centred specifications. IEEE Transactions on Software Engineering 26: 15–35CrossRefGoogle Scholar
  49. 49.
    Loucopoulos P (1994) The f3 (from fuzzy to formal) view on requirements engineering. Ingénierie des systèmes d’information, 2(6): 639–655Google Scholar
  50. 50.
    Loucopoulos P, Kavakli V, Prekas N (1997) Using the EKD approach, the modelling component. ELEKTRA project internal report, UMIST, Manchester, UKGoogle Scholar
  51. 51.
    Maiden N, Ncube C (1998) Acquiring COTS software selection requirements. IEEE Software, 15(2): 46–56CrossRefGoogle Scholar
  52. 52.
    Maiden N, Kuim H, Ncube C (2002) Rethinking process guidance for software component selection. In: Proceedings of 1st Int. Conf. of Component Based Eng, pp.151–164Google Scholar
  53. 53.
    Massonet P, Lamsweerde A, (1997) Analogical reuse of requirements frameworks. In: Proceedings of 3rd International Symposium on Requirements Engineering, Annapolis, pp.26–37.Google Scholar
  54. 54.
    META Group (2003) Research on requirements realization and relevance, Meta Group reportGoogle Scholar
  55. 55.
    Moisiadis F (2002) The fundamentals of prioritising requirements systems engineering. Systems Engineering, Test & Evaluation Conference, Sydney, Australia, OctoberGoogle Scholar
  56. 56.
    Mostow J (1985) Towards better models of the design process. AI Magazine, 6: 44–57Google Scholar
  57. 57.
    Mylopoulos J, Chung KL, Nixon BA (1992) Representing and using non-functional requirements: a process-oriented approach. IEEE Transactions on Software Engineering, Special Issue on Knowledge Representation and Reasoning in Software Development, 18(6): 483–497CrossRefGoogle Scholar
  58. 58.
    Mylopoulos J, Chung KL, Yu E (1999) From object-oriented to goal-oriented requirements analysis. Communications of the ACM, 42(1): 31–37CrossRefGoogle Scholar
  59. 59.
    Nuseibeh B, Kramer J, Finkelstein A (1994) A framework for expressing the relationships between multiple views in requirements specification. IEEE Transactions on Software Engineering, 20: 760–773CrossRefGoogle Scholar
  60. 60.
    Pohl K (1996) Process centred requirements engineering, J. Wiley and Sons.Google Scholar
  61. 61.
    Pohl K, Haumer P (1997) Modelling contextual information about scenarios. In: Proceedings of the 3rd International Workshop on Requirements Engineering: Foundations of Software Quality REFSQ’97, Barcelona, Spain, pp.187–204Google Scholar
  62. 62.
    Potts C (1995) Using schematic scenarios to understand user needs. In: Proceedings of ACM Symposium on Designing interactive Systems: Processes, Practices and Techniques, University of Michigan, USA, pp.247–256Google Scholar
  63. 63.
    Potts C (1997) Fitness for use: The system quality that matters most. In: Proceedings of International Workshop on Requirements Engineering: Foundations of Software Quality REFSQ’97, Barcelona, pp.15–28Google Scholar
  64. 64.
    Potts C, Takahashi K, Antòn AI (1994) Inquiry-based requirements analysis. IEEE Software 11(2): 21–32CrossRefGoogle Scholar
  65. 65.
    Prat N (1997) Goal formalisation and classification for requirements engineering. In: Proceedings of 3rd International Workshop on Requirements Engineering: Foundations of Software Quality REFSQ’97, Barcelona, Spain, pp.145–156Google Scholar
  66. 66.
    Ramesh B, Powers T, Stubbs C, Edwards M (1995) Implementing requirements traceability: a case study. In: Proceedings of the 2nd Symposium on Requirements Engineering (RE’95), UK, pp.89–95Google Scholar
  67. 67.
    Rasmussen J (1990) Mental models and the control of action in complex environments. In: Mental Models and Human—Computer Interaction, Ackermann D, Tauber MJ (Eds.) NorthHolland: Elsevier, pp.41–69Google Scholar
  68. 68.
    Robinson WN, Volcov S (1996) Conflict oriented requirements restructuring, Georgia State University, Atlanta, GA, Technical Paper CIS-96-15, October 8Google Scholar
  69. 69.
    Robinson WN, (1989) Integrating multiple specifications using domain goals. In: Proceedings of 5th International Workshop on Software Specification and Design, IEEE, pp.219–225Google Scholar
  70. 70.
    Robinson WN, Volkov S (1998) Supporting the negotiation life-cycle. Communications of the ACM, 41(5): 95–102CrossRefGoogle Scholar
  71. 71.
    Rolland C (2000) Intention driven component reuse. In: Information Systems Engineering, Brinkkemper S, Lindencrona, E, Solvberg A (Eds.) Springer, pp.197–208Google Scholar
  72. 72.
    Rolland C, Prakash N (2000) Bridging the gap between organizational needs and ERP functionality. Requirements Engineering Journal, 4(1): 1800–193Google Scholar
  73. 73.
    Rolland C, Salinesi C, Etien A (2004): Eliciting gaps in requirements change. Requirements Engineering Journal, 9(1): 1–15Google Scholar
  74. 74.
    Rolland C, Grosz G, Kla R (1999) Experience with goal-scenario coupling. In Proceedings of 4th IEEE International Symposium on Requirements Engineering, Limerik, Ireland, pp.74–81Google Scholar
  75. 75.
    Rolland C, Nurcan S, Grosz G (1997) Guiding the participative design process. In Proceedings of Association for Information Systems Americas Conference, Indianapolis, Indiana, pp.922–924Google Scholar
  76. 76.
    Rolland C, Souveyet C, Salinesi C (1998) Guiding goal modelling using scenarios. IEEE Transactions on Software Engineering, Special Issue on Scenario Management, 24(12): 98–27CrossRefGoogle Scholar
  77. 77.
    Ross DT, Schoman KE (1977) Structured analysis for requirements definition. IEEE Transactions on Software Engineering, 3(1): 6–15Google Scholar
  78. 78.
    Easterbrook SM (1994) Resolving requirements conflicts with computer-supported negotiation. In Requirements Engineering: Social and Technical Issues, Jirotka M, Goguen J (Eds.) London: Academic Press, pp.41–65Google Scholar
  79. 79.
    Sindre G, Opdahl L (2001) Templates for misuse case description. In Proceedings of 7th International Workshop on Requirements Engineering, Foundation for Software Quality (REFSQ’2001): Interlaken, SwitzerlandGoogle Scholar
  80. 80.
    Sommerville I, Sawyer P (1997) Requirements engineering. Worldwide Series in Computer Science, WileyGoogle Scholar
  81. 81.
    Standish Group (1995) Chaos, Standish Group Internal Report, www.standishgroup.com/chaos.htmlGoogle Scholar
  82. 82.
    Sutcliffe A, Maiden N (1993) Bridging the requirements gap: Policies, goals and domains. In: Proceedings of 7th International Workshop on Software Specification and Design, IEEE Computer Society Press, pp.52–55Google Scholar
  83. 83.
    Sutcliffe A, Minocha S (1999) Analyzing socio-technical system requirements. CREWS project Report 98-37, Accessed on 5th December 2004, http://sunsite.informatik.rwthaachen.de/CREWS/reports.htmGoogle Scholar
  84. 84.
    Sutcliffe AG, Galliers J, Minocha S (1999) Human errors and system requirements. In: Proceedings of 4th IEEE International Symposium on Requirements Engineering, Limerick, Ireland, pp.23–30Google Scholar
  85. 85.
    Sutcliffe AG, Maiden N, Minocha S, Darrel M (1998) Supporting scenario-based requirements engineering. IEEE Transactions Software Engineering, 24(12): 1072–1088Google Scholar
  86. 86.
    Svahnberg M, Gurp J, Bosch J (2001) On the notion of variability in software product lines. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001) pp.45–55Google Scholar
  87. 87.
    Van Gurp J (2000) Variability in software systems: The key to software reuse. Licentiate Thesis, University of Groningen, SwedenGoogle Scholar
  88. 88.
    Vicente KJ, Rasmussen J (1992) Ecological interface design: Theoretical foundations. IEEE Transactions on Systems, Man and Cybernetics, 22(4): 589–606CrossRefGoogle Scholar
  89. 89.
    Yu E (1997) Towards modeling and reasoning support for early-phase requirements engineering. In: Proceedings of 3rd IEEE International Symposium on Requirements Engineering-RE97, pp.226–235Google Scholar
  90. 90.
    Yu E (1994) Modeling strategic relationships for process reengineering. Ph.D. Thesis, Department Computer Science, University of Toronto, CanadaGoogle Scholar
  91. 91.
    Yue K (1987) What does it mean to say that a specification is complete? In: Proceedings of 4th International Workshop on Software Specification and Design, Monterey, CA, USA, pp.34–41Google Scholar
  92. 92.
    Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology, 6(1): 1–30CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Colette Rolland
  • Camille Salinesi

There are no affiliations available

Personalised recommendations