Abstract
Requirements engineering is crucial to software development but lacks a precise definition of its fundamental concepts. Even the basic definitions in the literature and in industry standards are often vague and verbose. To remedy this situation and provide a solid basis for discussions of requirements, this work provides precise definitions of the fundamental requirements concepts and two systematic classifications: a taxonomy of requirement elements (such as components, goals, constraints...); and a taxonomy of possible relations between these elements (such as “extends”, “excepts”, “belongs” ...). The discussion evaluates the taxonomies on published requirements documents; readers can test the concepts in two online quizzes. The intended result of this work is to spur new advances in the study and practice of software requirements by clarifying the fundamental concepts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
IEEE 24765-2010. ISO/IEC/IEEE International Standard - Systems and software engineering - Vocabulary (2010). https://standards.ieee.org/standard/24765-2010.html
IEEE 830-1998. IEEE Recommended Practice for Software Requirements Specifications (1998). https://standards.ieee.org/standard/830-1998.html
Bair, B.: SBE Sales System (2006). Example requirements document for a course at Ohio State University. http://bit.ly/2OsNdmN
Bandakkanavar, R.: Software Requirements Specification document with example (2017). Technical paper. http://bit.ly/2XTSjOs
Bourque, P., Fairley, R.E., et al.: Guide to the Software Engineering Body of Knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press (2014)
Bruel, J.-M., Ebersold, S., Galinier, F., Naumchev, A., Mazzara, M., Meyer, B.: Formality in Software Requirements (2019, to appear)
Cohn, M.: Succeeding with Agile: Software Development Using Scrum. Pearson Education, London (2010)
Galinier, F., Ebersold, S., Bruel, J.-M., Meyer, B., Naumchev, A.: Detailed analysis and classification of a requirements document, September 2010. http://bit.ly/2F8NY2I
Galinier, F., Ebersold, S., Bruel, J.-M., Meyer, B., Naumchev, A.: Online quiz on taxonomy of requirements, September 2010. http://bit.ly/2Ww1vYk
Galinier, F., Ebersold, S., Bruel, J.-M., Meyer, B., Naumchev, A.: Online quiz on taxonomy of requirements relations, September 2010. http://bit.ly/2Ww7fBl
Object Management Group. Essence - Kernel and Language for Software Engineering Methods, October 2018. http://semat.org/essence-1.2
Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: 1995 17th International Conference on Software Engineering, p. 15. IEEE (1995)
Laplante, P.A.: Requirements Engineering for Software and Systems, 3rd edn. Auerbach Publications (2017)
Meyer, B.: On formalism in specifications. IEEE Softw. 3(1), 6–25 (1985)
Meyer, B.: The software knowledge base. In: Proceedings of the 8th International Conference on Software Engineering, pp. 158–165. IEEE Computer Society Press, August 1985
Meyer, B.: Multirequirements. Modelling and Quality in Requirements Engineering (Martin Glinz Festscrhift) (2013)
Van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software, vol. 10. Wiley, Chichester (2009)
Van Lamsweerde, A., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng. 26(10), 978–1005 (2000)
Wiegers, K., Beatty, J.: Software Requirements, 3rd edn. Microsoft Press (2014)
Acknowledgements
We are grateful to Dr. Bettina Bair from Ohio State University for writing the original (2006) version of the course project document [3] and providing us with a more recent version.
Attendees of talks given on this work by some of the authors provided particularly relevant feedback: at Politecnico di Milano (Meyer, March 2019), Elisabetta Di Nitto, Carlo Ghezzi, Dino Mandrioli and Maurizio Patriarca; at the University of Toulouse (Meyer, March 2019), Mamoun Filali Amine, whose comments led to a revision of the classification of constraints; at Innopolis University (Meyer, March 2019); at the GDR meeting, Génie de la Programmation et du Logiciel, also in Toulouse (Bruel, June 2019).
We are further indebted to Joëlle Guion for important comments on the concerns of practicing requirements engineers.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Meyer, B., Bruel, JM., Ebersold, S., Galinier, F., Naumchev, A. (2019). Towards an Anatomy of Software Requirements. In: Mazzara, M., Bruel, JM., Meyer, B., Petrenko, A. (eds) Software Technology: Methods and Tools. TOOLS 2019. Lecture Notes in Computer Science(), vol 11771. Springer, Cham. https://doi.org/10.1007/978-3-030-29852-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-29852-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29851-7
Online ISBN: 978-3-030-29852-4
eBook Packages: Computer ScienceComputer Science (R0)