Requirement
A requirement represents a statement of need that must be met by the architecture.

In the end, a business goal must be realized by a plan or concrete change goal, which may or may not require a new system or changes to an existing system.

The term "system" is used in its general meaning; i.e., as a group of (functionally) related elements, where each element may be considered as a system again. Therefore, a system may refer to any active structural element, behavior element, or passive structural element of some organization, such as a business actor, application component, business process, application service, business object, or data object.

Requirements model the properties of these elements that are needed to achieve the "ends" that are modeled by the goals. In this respect, requirements represent the "means" to realize goals.

During the design process, goals may be decomposed until the resulting sub-goals are sufficiently detailed to enable their realization by properties that can be exhibited by systems. At this point, goals can be realized by requirements that assign these properties to the systems.

For example, one may identify two alternative requirements to realize the goal to improve portfolio management:

  • By assigning a personal assistant to each customer, or
  • By introducing online portfolio management

The former requirement can be realized by a human actor and the latter by a software application. These requirements can be decomposed further to define the requirements on the human actor and the software application in more detail.

: Requirement (architecture_autodiagram)
Figure 88 : Requirement (architecture_autodiagram)
RequirementMotivationElementConstraint
Attribute
Description
string equivalentRef [1..1]
To set this Requirement as equivalent to an analyst Requirement, set this attribute with the result of new MRef(analystElement).toString().