Brain Dump

Requirements Engineering

Tags
soft-eng

Is the process of eliciting [see page 4, requirements] for a project where we convert the real world requirements of the project into a description of what the system should do (not how).

The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.

We [see page 5, define] a requirement as:

  1. A condition/capability needed by a user to solve a problem or achieve an objective.
  2. A condition/capability that must be met/possesses by a system (or system component) to satisfy a contract, standard specification or other formally imposed document.
  3. A documented representation of a condition or capability as in (1) or (2).

Functional Requirements

An see page 10, action the product must take to be useful.

For example "The product can track individual payments of coffee servings".

Non-Functional Requirements

A [see page 11, property] or quality (requirement) the product must have.

For example "The product shall be accessible in multiple languages".

Constraints

Global requirements on the project or product. These must be obeyed, rather than implemented.

For example "The product shall be available before march \nth{1}".