Object-Oriented Requirements: a Unified Framework for Specifications, Scenarios and Tests
Maria Naumcheva, Sophie Ebersold, Alexandr Naumchev, Jean-Michel, Bruel, Florian Galinier, Bertrand Meyer

TL;DR
This paper proposes a unified object-oriented framework for requirements, scenarios, and tests, aiming to combine the practicality of use cases with the reusability and extendibility of OO principles.
Contribution
It introduces a generalized class concept that encompasses use cases, user stories, and test artifacts, bridging procedural and object-oriented requirements.
Findings
Unified framework enables requirements to reflect stakeholder views and support evolution.
Class concept generalizes scenarios, use cases, and test cases within an OO paradigm.
Framework facilitates reuse and extendibility of requirements artifacts.
Abstract
A paradox of requirements specifications as dominantly practiced in the industry is that they often claim to be object-oriented (OO) but largely rely on procedural (non-OO) techniques. Use cases and user stories describe functional flows, not object types. To gain the benefits provided by object technology (such as extendibility, reusability, reliability), requirements should instead take advantage of the same data abstraction concepts - classes, inheritance, information hiding - as OO design and OO programs. Many people find use cases and user stories appealing because of the simplicity and practicality of the concepts. Can we reconcile requirements with object-oriented principles and get the best of both worlds? This article proposes a unified framework. It shows that the concept of class is general enough to describe not only "objects" in a narrow sense but also scenarios such as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Techniques and Practices · Software Engineering Research
