Requirement Engineering

Types of Requirements

A goal is an objective or concern that guides the RE process. It can be used to discover and evaluate functional and non-functional requirements.

  • a goal is not yet a requirement
  • all requirements must be verifiable

A functional requirement is a requirement defining functions of the system under development

  • describes what the system should do

A non-functional requirement (NFR) is a requirement characterized by a measurable property or quality such as system performance, robustness, usability, maintainability, etc.

A user requirement is a desired goal or function that a user or other stakeholder expects the system to achieve.

  • does not necessarily become a system requirement

Application domain requirements (sometimes called business rules) are requirements derived from business practices within a given industrial sector or company, or defined by government regulations or standards.

  • may lead to system requirements. Can be functional or non-functional

System requirements are the requirements for the system to be built, as a whole. In a system containing software, software requirement are derived from the system requirements.

Functional Requirements

  • what inputs should the system accept
  • what outputs should the system produce
  • what data the system should store other systems might use
  • what computations the system should performance
  • the timing and synchronization of the above

the system shall enable the user to search the database by product

Non-functional requirements

  • if not met, the system is useless
  • may be difficult to state precisely and imprecise requirements may be difficult to verify

The system development process and deliverable documents shall conform to the MIL-STD-498 standards

Goals

  • conveys the intention or the objective of one or many stakeholders
  • can guide the discovery of verifiable non-functional requirements that can be tested objectively

the system must be easy to use by experienced controllers.

Application-Domain Requirements

  • derived from the application domain
  • describe system characteristics and features that reflect the domain
  • may be new functional requirements, constraints on existing requirements, or define specific computations
  • if domain requirements are not satisfied, the system may be workable

For a health info system: the system shall comply with Ontario's Personal Health Information Protection Act