The Meaning of Requirements and Adaptation
This work addresses foundational issues in requirements engineering, offering theoretical insights that could impact how requirements are modeled and adapted, though it appears incremental in its critique and framing.
The paper tackles the problem of understanding the meaning of requirements in software engineering, introducing concepts like designated sets and falsifiability to critique adaptive requirements approaches and characterize vague requirements.
The traditional understanding of stakeholders requirements is that they express desirable relationships among phenomena in the relevant environment. Historically, software engineering research has tended to focus more on the problems of modeling requirements and deriving specifications given requirements, and much less on the meaning of a requirement itself. I introduce new concepts that elucidate the meaning of requirements, namely, the designated set and the falsifiability of requirements. By relying on these concepts, I (i) show that the adaptive requirements approaches, which constitute a lively and growing field in RE, are fundamentally flawed, (ii) give a sufficient characterization of vague requirements, and (iii) make the connection between requirements modeling and the Zave and Jackson sense of engineering. I support my claims with examples and an extensive discussion of the related literature. Finally, I show how adaptation can be framed in terms of Zave and Jackson's ontology.