The Requirement class

 

Overview

class Requirement extends RequirementElement;

 

A Requirement describes a requirement. A requirement belongs to a RequirementContainer.

 

The requirement textual content is stored in the Text attribute inherited from the RequirementElement class.

 

A typed Requirement own property values stored in a PropertyValueSet. A Requirement is typed if its RequirementContainer is typed, and has its container type.

 

As you can see from the diagram below, goals and business rules are simply Requirements stereotyped respectively «goal» or «business_rule».

Detailed class diagram for Requirement

 

See also:  RequirementElement, RequirementContainer, PropertyValueSet, PropertySet

 

 

Requirement properties

The class has the following associations:

·         Properties:PropertyValueSet: Store all the requirement Property values in PropertyValues

 

 

Requirement consistency rules

·         A Requirement belongs to a RequirementContainer, and the Name must follow unicity rules.

·         The Requirement must have a PropertyValueSet if the owner RequirementContainer is typed (has a Type).

·         The Requirement must NOT have a PropertyValueSet if the owner RequirementContainer is not typed.

·         The PropertyValueSet type must be the same as the RequirementContainer type.

 

 

Requirement methods

PropertyValue getPropertyValue(in string key)

Returns the PropertyValue which values the key named Property (see PropertyValue metaclass).

 

boolean setPropertyValue(in string key, in string value)

This changes a property value. The corresponding PropertyValue must already exist in the owned PropertyValueSet.  In this case the method returns true, otherwise it returns false.

 

updatePropertyValues()

This updates, creates or destroys the PropertyValueSet in order to be consistent with the owner RequirementContainer type. All missing PropertyValue are created and valued to the container’s default values.

 

This method should be called after having added or moved the Requirement to a RequirementContainer.