Skip to main content
Log in

The meaning of requirements

  • Published:
Annals of Software Engineering

Abstract

We use the term requirements to denote what are often called functional requirements. Requirements are located in the environment, which is distinguished from the machine to be built. A requirement is a condition over phenomena of the environment. A specification is a restricted form of requirement, providing enough information for the implementer to build the machine (by programming it) without further environment knowledge. To describe requirements appropriately we must fit our descriptions into an appropriate structure. This structure must respect the distinction between the machine and the environment, and the distinction between those environment properties that are given (indicative descriptions) and those that must be achieved by the machine (optative descriptions). Formalisation is a fundamental problem of requirements engineering. Since most environments are parts of the physical world, and therefore informal, the formalisation task is inescapable. Some techniques are discussed for tackling this task. In particular, the use of designations is explained, and the distinction between definition and assertion. By using the smallest possible set of designated terms, augmented by appropriate definitions, the developer can create a narrow bridge between the environment and its descriptions in the requirements. In this way a sufficiently faithful approximation to the informal reality can be obtained.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Dardenne, A., A. van Lamsweerde, and S. Fickas (1993), “Goal-Directed Requirements Acquisition,” Science of Computer Programming 20,1, 3–50.

    Article  MATH  Google Scholar 

  • Easterbrook, S. (1993), “Domain Modelling with Hierarchies of Alternative Viewpoints,” In Proceedings of the IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 65–72.

    Google Scholar 

  • Easterbrook, S. and B. Nuseibeh (1995), “Managing Inconsistencies in an Evolving Specification,” In Proceedings of the Second IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 48–55.

    Google Scholar 

  • Feather, M. S. (1987), “Language Support for the Specification and Development of Composite Systems,” ACM Transactions on Programming Languages and Systems 9,2, 198–234.

    Article  Google Scholar 

  • Ferguson, E. S. (1992), Engineering and the Mind's Eye, MIT Press, Cambridge, MA and London, UK.

    Google Scholar 

  • Jackson, M. (1995), Software Requirements and Specifications, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Jackson, M. and P. Zave (1993), “Domain Descriptions,” In Proceedings of the Second IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 56–64.

    Google Scholar 

  • Jackson, M. and P. Zave (1995), “Deriving Specifications from Requirements: An Example,” In Proceedings of the 17th International Conference on Software Engineering, ACM and IEEE Computer Society Press, Los Alamitos, CA, pp. 15–24.

    Google Scholar 

  • Leveson, N. G. and C. S. Turner (1993), “An Investigation of the Therac-25 Accidents,” IEEE Computer 26,7, 18–41.

    Google Scholar 

  • Neumann, P. (1995), Computer-Related Risks, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Robinson, M. and L. Bannon (1991), “Questioning Representations,” In Proceedings of the Second European Conference on Computer-Supported Cooperative Work ECSCW-91, L. Bannon, M. Robinson, and K. Schmidt, Eds., Kluwer, Dordrecht.

    Google Scholar 

  • Van Lamsweerde, A., R. Darimont, and P. Massonet (1995), “Goal-Directed Elaboration of Requirements for a Meeting Scheduler: Problems and Lessons Learnt,” In Proceedings of the Second IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 194–203.

    Google Scholar 

  • Woodcock, J. and J. Davies (1996), Using Z: Specification, Refinement and Proof, Prentice-Hall.

  • Wordsworth, J. B. (1992), Software Development with Z: A Practical Approach to Formal Methods in Software Engineering, Addison-Wesley.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jackson, M. The meaning of requirements. Annals of Software Engineering 3, 5–21 (1997). https://doi.org/10.1023/A:1018990005598

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018990005598

Keywords

Navigation