Abstract
Requirements engineering (RE) is concerned with the elicitation of the objectives to be achieved by the system envisioned, the operationalization of such objectives into specifications of services and constraints, the assignment of responsibilities for the resulting requirements to agents such as humans, devices and software, and the evolution of such requirements over time and across system families. Getting high-quality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of primary concern in software engineering research and practice. The paper reviews the important limitations of OO modeling and formal specification technology when applied to this early phase of the software lifecycle. It argues that goals are an essential abstraction for eliciting, elaborating, modeling, specifying, analyzing, verifying, negotiating and documenting robust and conflict-free requirements. A safety injection system for a nuclear power plant is used as a running example to illustrate the key role of goals while engineering requirements for high assurance systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bell, T.E., Thayer, T.A.: Software Requirements: Are They Really a Problem? In: Proc. ICSE-2: 2nd Intrnational Conference on Software Enginering, San Francisco, pp. 61–68 (1976)
Bharadwaj, R., Heitmeyer, C.: Model Checking Complete Requirements Specifications Using Abstraction. Automated Software Engineering 6(1), 37–68 (1999)
Boehm, B.W.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)
Brooks, F.P.: No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer 20(4), 10–19 (1987)
Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-functional requirements in software engineering. Kluwer Academic, Dordrecht (2000)
Courtois, P.J., Parnas, D.L.: Documentation for Safety-Critical Software. In: Proc. ICSE 1993: 15th International Conference on Software Engineering, pp. 315–323. ACM Press, New York (1993)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-Directed Requirements Acquisition. Science of Computer Programming 20, 3–50 (1993)
Darimont, R., van Lamsweerde, A.: Formal Refinement Patterns for Goal-Driven Requirements Elaboration. In: Proc. FSE’4 - Fourth ACM SIGSOFT Symp. on the Foundations of Software Engineering, San Francisco, October 1996, pp. 179–190 (1996)
De Landtsheer, R., Letier, E., van Lamsweerde, A.: Deriving Tabular Event-Based Specifications from Goal-Oriented Requirements Models. In: Proc. RE 2003 - International Joint Conference on Requirements Engineering, Monterey, CA, IEEE, Los Alamitos (2003); Expanded version to appear in the Requirements Engineering Journal
European Software Institute, “European User Survey Analysis”, Report USV_EUR 2.1, ESPITI Project (January 1996)
Feather, M.: Language Support for the Specification and Development of Composite Systems. ACM Trans. on Programming Languages and Systems 9(2), 198–234 (1987)
Feather, M., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling System Requirements and Runtime Behaviour. In: Proc. IWSSD 1998 - 9th International Workshop on Software Specification and Design, Isobe, April 1998, IEEE CS Press, Los Alamitos (1998)
Fickas, S., Helm, R.: Knowledge Representation and Reasoning in the Design of Composite Systems. IEEE Trans. on Software Engineering, 470–482 (June 1992)
Gargantini, A., Heitmeyer, C.: Using Model Checking to Generate Tests from Requirements Specifications. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, p. 146. Springer, Heidelberg (1999)
Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 231–274 (1987)
Heimdahl, M., Leveson, N.G.: Completness and Consistency Checking in Hierarchical State-Based Requirements. IEEE Transactions on Software Engineering 22(6), 363–377 (1996)
Heitmeyer, C., Jeffords, R., Labaw, B.: Automated Consistency Checking of Requirements Specifications. ACM Transactions on Software Engineering and Methodology 5(3), 231–261 (1996)
Jackson, M.: Software Requirements & Specifications - A Lexicon of Practice, Principles and Prejudices. ACM Press, Addison-Wesley (1995)
Jeffords, R., Heitmeyer, C.: Automatic Generation of State Invariants from Requirements Specifications. In: 6th International Symposium on the Foundations of Software Engineering (FSE-6), Orlando FL (November 1998)
Knight, J.C.: Safety-Critical Systems: Challenges and Directions”, Invited Mini-Tutorial. In: Proc. ICSE 2002: 24th International Conference on Software Engineering, pp. 547–550. ACM Press, New York (2002)
van Lamsweerde, A., Darimont, R., Letier, E.: Managing Conflicts in Goal-driven Requirements Engineering. IEEE Transactions on Software Engineering, Special Issue on Inconsistency Management in Software Development 24(11), 908–926 (1998)
van Lamsweerde, A., Letier, E.: Handling Obstacles in Goal-Oriented Requirements Engineering. IEEE Transactions on Software Engineering, Special Issue on Exception Handling 26(10), 978–1005 (2000)
van Lamsweerde, A.: Requirements Engineering in the Year 2000: A Research Perspective. In: Invited Keynote Paper, Proc. ICSE 2000: 22nd International Conference on Software Engineering, pp. 5–19. ACM Press, New York (2000)
van Lamsweerde, A.: Formal Specification: a Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, ACM Press, New York (2000)
van Lamsweerde, A.: From System Goals to Software Architecture. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)
McLean, J., Heitmeyer, C.: High Assurance Computer Systems: A Research Agenda., America in the Age of Information, National Science and Technology Council Committee on Information and Communications Forum, Bethesda (1995)
Letier, E.: Reasoning about Agents in Goal-Oriented Requirements Engineering. PhD Thesis, Université Catholique de Louvain, Dépt. Ingénierie Informatique, Louvain-la-Neuve, Belgium (May 2001), http://www.info.ucl.ac.be/people/eletier/thesis.html
Letier, E., van Lamsweerde, A.: Agent-Based Tactics for Goal-Oriented Requirements Elaboration. In: Proc. ICS 2002: 24th Intl. Conf. on Software Engineering, Orlando, IEEE Computer Society Press, Los Alamitos (2002)
Letier, E., van Lamsweerde, A.: Deriving Operational Software Specifications from System Goals. In: Proc. FSE’10: 10th ACM SIGSOFT Symp. on the Foundations of Software Engineering, Charleston (November 2002)
Letier, E.: Goal-Oriented Elaboration of Requirements for a Safety Injection Control System. Research Report, Département d’Ingénierie Informatique, UCL (June 2002)
Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley, Reading (1995)
Lutz, R.: Analyzing Software Requirements Errors in Safety-Critical, Embedded Systems. In: Proc. RE 1993: First IEEE International Symposium on Requirements Engineering, January 1993, pp. 126–133 (1993)
Manna, Z., The STep Group: STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 415–418. Springer, Heidelberg (1996)
The Standish Group, “Software Chaos”, http://www.standishgroup.com/chaos.html
Yue, K.: What Does It Mean to Say that a Specification is Complete? In: Proc. IWSSD- 4, Fourth International Workshop on Software Specification and Design, Monterey (1987)
Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM Trans. on Software Engineering and Methodology 6(1), 1–30 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van Lamsweerde, A., Letier, E. (2004). From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering. In: Wirsing, M., Knapp, A., Balsamo, S. (eds) Radical Innovations of Software and Systems Engineering in the Future. RISSEF 2002. Lecture Notes in Computer Science, vol 2941. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24626-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-24626-8_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21179-2
Online ISBN: 978-3-540-24626-8
eBook Packages: Springer Book Archive