Advertisement

Towards an Anatomy of Software Requirements

  • Bertrand Meyer
  • Jean-Michel BruelEmail author
  • Sophie Ebersold
  • Florian Galinier
  • Alexandr Naumchev
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11771)

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.

Notes

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.

References

  1. 1.
    IEEE 24765-2010. ISO/IEC/IEEE International Standard - Systems and software engineering - Vocabulary (2010). https://standards.ieee.org/standard/24765-2010.html
  2. 2.
    IEEE 830-1998. IEEE Recommended Practice for Software Requirements Specifications (1998). https://standards.ieee.org/standard/830-1998.html
  3. 3.
    Bair, B.: SBE Sales System (2006). Example requirements document for a course at Ohio State University. http://bit.ly/2OsNdmN
  4. 4.
    Bandakkanavar, R.: Software Requirements Specification document with example (2017). Technical paper. http://bit.ly/2XTSjOs
  5. 5.
    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)Google Scholar
  6. 6.
    Bruel, J.-M., Ebersold, S., Galinier, F., Naumchev, A., Mazzara, M., Meyer, B.: Formality in Software Requirements (2019, to appear)Google Scholar
  7. 7.
    Cohn, M.: Succeeding with Agile: Software Development Using Scrum. Pearson Education, London (2010)Google Scholar
  8. 8.
    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
  9. 9.
    Galinier, F., Ebersold, S., Bruel, J.-M., Meyer, B., Naumchev, A.: Online quiz on taxonomy of requirements, September 2010. http://bit.ly/2Ww1vYk
  10. 10.
    Galinier, F., Ebersold, S., Bruel, J.-M., Meyer, B., Naumchev, A.: Online quiz on taxonomy of requirements relations, September 2010. http://bit.ly/2Ww7fBl
  11. 11.
    Object Management Group. Essence - Kernel and Language for Software Engineering Methods, October 2018. http://semat.org/essence-1.2
  12. 12.
    Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: 1995 17th International Conference on Software Engineering, p. 15. IEEE (1995)Google Scholar
  13. 13.
    Laplante, P.A.: Requirements Engineering for Software and Systems, 3rd edn. Auerbach Publications (2017)Google Scholar
  14. 14.
    Meyer, B.: On formalism in specifications. IEEE Softw. 3(1), 6–25 (1985)CrossRefGoogle Scholar
  15. 15.
    Meyer, B.: The software knowledge base. In: Proceedings of the 8th International Conference on Software Engineering, pp. 158–165. IEEE Computer Society Press, August 1985Google Scholar
  16. 16.
    Meyer, B.: Multirequirements. Modelling and Quality in Requirements Engineering (Martin Glinz Festscrhift) (2013)Google Scholar
  17. 17.
    Van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software, vol. 10. Wiley, Chichester (2009)Google Scholar
  18. 18.
    Van Lamsweerde, A., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng. 26(10), 978–1005 (2000)CrossRefGoogle Scholar
  19. 19.
    Wiegers, K., Beatty, J.: Software Requirements, 3rd edn. Microsoft Press (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Bertrand Meyer
    • 1
    • 2
    • 3
  • Jean-Michel Bruel
    • 2
    Email author
  • Sophie Ebersold
    • 2
  • Florian Galinier
    • 2
  • Alexandr Naumchev
    • 1
    • 2
  1. 1.Innopolis UniversityInnopolisRussia
  2. 2.University of Toulouse/IRITBlagnac CedexFrance
  3. 3.Schaffhausen Institute of TechnologySchaffhausenSwitzerland

Personalised recommendations