Definition & Properties

Definition

  • Requirement engineering is the process of establishing
    1. the services that the customer requires from a system.
    2. the constraints under which it operates and is deployed.
  • The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as: A condition or capability needed by a user to solve a problem or achieve an objective.
  • The requirements for a system are the descriptions of what the system should do the services and the constraints.

Properties

  • Requirements describe the necessary functions and features of the system, which includes
    • Performance
    • Schedule
    • Cost
    • Other Characteristics (e.g. lifecycle properties)
  • Requirements are often organized hierarchically.
    • At a high level requirements focus on what should be achieved, not how to achieve it.
    • Requirements are specified at every level, from the overall system to each hardware and software component.
  • Requirements may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.
  • Requirement is inevitable as it may serve a dual function.
  • Requirements may be the basis for a bid for a contract, therefore must be open to interpretation.
  • Requirements may be the basis for the contract itself, therefore must be defined in detail.
Last updated on