Requirement diagrams

 

Definition

Requirement diagrams present requirements and requirement containers along with their dependencies and their relationships with other model elements.

 

Requirement diagrams (an example is shown in the screenshot below) are created in requirement containers and requirements.

 

An example of a requirement diagram

 

 

Requirement containers and requirements

The main structural elements in requirement diagrams are requirements and requirement containers.

 

Requirement containers have the job of grouping and organizing requirements.  Requirement containers are created using the  "Create a requirement container" icon.

 

Requirements represent a function which must be included in the software or system to be developed, in order to satisfy a contract, specification, standard or other formally defined constraint.  Requirements are created using the  "Create a requirement" icon.

 

 

Requirement dependencies

Besides the requirement and the requirement container, you can also express meaningful relationships between these elements by using one or more of the following requirement dependencies:

·         Part

·         Derive

·         Satisfy

·         Verify

·         Refine

·         Trace

 

The "Part" dependency defines a sub-requirement of a composite requirement.  To create a "Part" dependency, use the  "Create a Part dependency" icon.

 

The "Derive" dependency relates a derived requirement to its source requirement. This typically involves analysis to determine the multiple derived requirements supported by a source requirement. Derived requirements generally correspond to requirements at the next level of the system hierarchy.

A simple example is a vehicle acceleration requirement that is analyzed to derive requirements for engine power, vehicle weight and body drag.

To create a "Derive" dependency, use the  "Create a Derive dependency" icon.

 

The "Satisfy" dependency describes how a design or an implementation model satisfies one or more requirements, and a system modeler specifies the system design elements that are intended to satisfy the requirement. In the example shown earlier, the engine design satisfies the engine power requirement. A "description" note on the "Satisfy" dependency may explain how the requirement is satisfied.  "Satisfy" dependencies have similar semantics to "Trace" dependencies (see below), but are more accurate.

To create a "Satisy" dependency, use the  "Create a Satisfy dependency" icon.

 

The "Verify" dependency defines how a test case verifies a requirement. A test case is intended to be used as a general mechanism to represent any of the standard verification methods for inspection, analysis, demonstration or test. Additional subclasses can be defined by the user if required to represent the different verification methods.

To create a "Verify" dependency, use the  "Create a Verify dependency" icon.

 

The "Refine" dependency describes how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text based functional requirement.

To create a "Refine" dependency, use the  "Create a Refine dependency" icon.

 

The "Trace" dependency describes how a design or implementation model represents the requirement.  At least one model element must have been created in order to express the requirement.

To create a "Trace" dependency, use the  "Create a Trace dependency" icon.