Template:— requirement (reqt)
Context:— UK_Defence
Date: 2009/11/03 10:22:29
Revision: 1.6

This section specifies the template requirement.

NOTE  The template has been defined in the context of UK_Defence. Refer to the business context for details of related templates.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent the information requirements of a UK_Defence Requirement object. A Requirement represents a statement of need by a person or organization.

Business perspective

Requirement information is the means of identifying and documenting a statement of need by a person or organization.

Business object definition

This information object represents the information about a Requirement.



Figure 1 —  A MOOD Business Architect representation of the Business Object: Requirement

Figure 1 —  A MOOD Business Architect representation of the Business Object: Requirement

The attributes of the Requirement object are tabled below.

Attribute name

Attribute description

Attribute type

Optionality

Acceptance criteria This is the statement of how the solution to the requirement shall be assessed. Intrinsic Mandatory
Category This is the category of requirement. Intrinsic Optional
Context This is a textual description of the context of requirement. Intrinsic Optional
Date requirement to be met This is the date by which the requirement shall be met. Intrinsic Optional
Description This is the description that states the requirement. Intrinsic Mandatory
ID This is the identifier of the the requirement. Identifier Mandatory
Identifier.id This is the value of the id attribute of the Identifier applied to the Requirement. intrinsic Mandatory
Identifier.type This attribute is the type associated with the id of the Identifier given to the Requirement. This must be one of the classes provided. Requirement_identification_code Mandatory
Identifier.source_organization This attribute is the value representing the source organization that provides the id of the Identifier given to the Requirement. This value is assumed to be a type of Organization_identification_code. Organization_identification_code Mandatory
Name This is the name of the Requirement. There should be at least one name for each Requirement. intrinsic Mandatory
Owner This attribute is the value used to represent the owning organization - it is assumed that this is the same as the Organization that provides the id of the Identifier given to the Requirement. Relationship to Person Mandatory
Priority This is the priority of the requirement. Each Requirement can only have one level of priority assigned. intrinsic Mandatory
Version This is the version of the requirement. intrinsic Mandatory
Required value This is the required value of the Requirement. Intrinsic Optional
Valid from This is the date and time from which the requirement is valid. Intrinsic Optional
Valid to This is the date and time to which the requirement is valid. Intrinsic Optional
Version date This is the date on which this version of the requirement was defined. Intrinsic Optional

Table 1 — Requirement attribute details

Model diagrams
The EXPRESS-G diagram in Figure 2 shows the templates and EXPRESS entities that are required to represent the template "requirement". The text highlighted in blue shows the template parameters.


Figure 2 —  An EXPRESS-G representation of the Information model for requirement

Figure 2 —  An EXPRESS-G representation of the Information model for requirement

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  3 below.


Figure 3 —  The graphical representation of the requirement template

Figure 3 —  The graphical representation of the requirement template

Input parameters
The following input parameters are defined for this template:
acceptance_criteria (Default=Description of assessment criteria,Type='STRING')
The item description
category (Default=requirment_category,Type='CLASS', Optional)
The priority level of the Requirement
The following classes and their sub-classes can be used:
classifications: [Capability_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Configuration_management_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Functional_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Obsolescence_management_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Operational_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Performance_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Risk_management_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Safety_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Support_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[System_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[User_requirement]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
context (Type='STRING', Optional)
The requirement's context
date_required (Type= 'SELECT (date_or_date_time_select)' , Optional)
The date that the requirements are to be met.
reqt_id (Type='STRING')
The identifier assigned to a requirement.
source_organization_id (Type='STRING')
Intrinsic
name (Type='STRING')
The requirement's name
description (Type='STRING')
The requirement's description
priority (Default=Medium,Type='CLASS')
The priority level of the Requirement
The following classes and their sub-classes can be used:
classifications: [Low]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Medium]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[High]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Top]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
version (Type='STRING')
The version (identifier) of a requirement.
owner (Type= 'SELECT (organization_or_person_in_organization_select)' )
The owner of the requirement.
required_value (Type='STRING', Optional)
The required value assigned to a requirement.
required_value_units (Type='CLASS', Optional)
The required value assigned to a requirement.
The following classes and their sub-classes can be used:
classifications: "Unit" (urn:plcs:rdl:std:Unit)
required_value_si_unit (Type='BOOLEAN')
Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
valid_from (Type= 'SELECT (date_or_date_time_select)' , Optional)
The date/time from which the requirements are valid.
valid_to (Type= 'SELECT (date_or_date_time_select)' , Optional)
The date/time to which the requirements are valid.
version_date (Type= 'SELECT (date_or_date_time_select)' )
The date that the requirements are to be met.
Reference parameters
The following reference parameters are defined for this template:
reqt(Type='ENTITY (Requirement)')
Allow the Requirement entity instantiated in this path to be referenced when this template is used.
Note: The Requirement entity can be referenced in a template path by:
%^target = $requirement.reqt%
where target is the parameter to which the Requirement is bound.
reqt_version(Type='ENTITY (Requirement_version)')
Allow the Requirement_version entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_version entity can be referenced in a template path by:
%^target = $requirement.reqt_version%
where target is the parameter to which the Requirement_version is bound.
reqt_design_view(Type='ENTITY (Requirement_view_definition)')
Allow the Requirement_view_definition entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_view_definition entity can be referenced in a template path by:
%^target = $requirement.reqt_design_view%
where target is the parameter to which the Requirement_view_definition is bound.
reqt_design_contxt(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $requirement.reqt_design_contxt%
where target is the parameter to which the View_definition_context is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Templates Help/Information section.
/representing_requirements(
    req_id=@reqt_id,
    req_id_class_name='Requirement_identification_code',
    req_id_ecl_id='urn:plcs:rdl:std',
    req_org_id=@source_organization_id,
    req_org_id_class_name='Organization_identification_code',
    req_org_id_ecl_id='urn:plcs:rdl:std',
    req_ver_id=@version,
    req_ver_id_class_name='Version_identification_code',
    req_ver_id_ecl_id='urn:plcs:rdl:std',
    req_ver_org_id=@source_organization_id,
    req_ver_org_id_class_name='Organization_identification_code',
    req_ver_org_id_ecl_id='urn:plcs:rdl:std',
    rvd_id='/Null',
    rvd_id_class_name='Requirement_view_definition_identification_code',
    rvd_id_ecl_id='urn:plcs:rdl:std',
    rvd_org_id=@source_organization_id,
    rvd_org_id_class_name='Organization_identification_code',
    rvd_org_id_ecl_id='urn:plcs:rdl:std',
    vdc_lcs_class_name='Support_stage',
    vdc_lcs_ecl_id='urn:plcs:rdl:std',
    vdc_ad_class_name='Product_life_cycle_support',
    vdc_ad_ecl_id='urn:plcs:rdl:std')/

-- re-direct the output from the call..
%^reqt = $representing_requirements.req%
%^reqt_version = $representing_requirements.req_ver%
%^reqt_design_view = $representing_requirements.rvd%
%^reqt_design_contxt = $representing_requirements.vdc%

-- Acceptance criteria
/assigning_descriptor(
    descr=@acceptance_criteria,
    class_name='Acceptance_criteria',
    ecl_id='urn:plcs:rdl:uk_defence',
    is_assigned_to=^reqt)/

-- [Optional Category]
/assigning_reference_data(
    items=^reqt,
    class_name=@category,
    ecl_id='urn:plcs:rdl:uk_defence')/

-- [Optional Context]
/assigning_descriptor(
    descr=@context,
    class_name='Context',
    ecl_id='urn:plcs:rdl:uk_defence',
    is_assigned_to=^reqt_design_contxt)/

-- name
/identifier(
    items=^reqt,
    ID=@name,
    type='Name',
    source_organization=@source_organization_id)/

-- description
/assigning_descriptor(
    descr=@description,
    class_name='Description',
    ecl_id='urn:plcs:rdl:uk_defence',
    is_assigned_to=^reqt)/

-- owner
Organization_or_person_in_organization_assignment
Organization_or_person_in_organization_assignment.items -> ^reqt_version
Organization_or_person_in_organization_assignment.assigned_entity -> @owner

-- priority
/assigning_reference_data(
    items=^reqt,
    class_name=@priority,
    ecl_id='urn:plcs:rdl:uk_defence')/

-- [Optional date_required]
Date_or_date_time_assignment
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> ^reqt_version
Date_or_date_time_assignment.assigned_date -> @date_required

-- [Optional required_value, required_value_unit]
/property(
    a_property_of=^reqt_design_view,
    ID='Required value',
    property_ecl_id='urn:plcs:rdl:uk_defence',
    value=@required_value,
    unit=@required_value_units,
    unit_ecl_id='urn:plcs:rdl:std',
    si_unit=@required_value_si_unit,
    disposition='Required')/

-- [Optional valid_from]
Date_or_date_time_assignment
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> ^reqt_version
Date_or_date_time_assignment.assigned_date -> @valid_from

-- [Optional valid_to]
Date_or_date_time_assignment
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> ^reqt_version
Date_or_date_time_assignment.assigned_date -> @valid_to

-- version_date
Date_or_date_time_assignment
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> ^reqt_version
Date_or_date_time_assignment.assigned_date -> @version_date
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Date_or_date_time_assignment.role '/IGNORE'
Date_or_date_time_assignment.role '/IGNORE'
Date_or_date_time_assignment.role '/IGNORE'
Date_or_date_time_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  4 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/requirement(acceptance_criteria='Model must compile', reqt_id='RA1-001-001', reqt_id_class_name='Requirement_identification_code', source_organization_id='96412', name='Requirement Model ', description='A model of the requirements is needed.', priority='High', version='1.1', owner_id ='PRS-OFCR-001', owner_surname='Tracey', owner_christian_name='Ben', owner_middle_name='', owner_prefix_title='', owner_suffix_title='')/
(an illustration of the consolidated requirement template is shown in Figure 5 below.)


Figure 4 —  Entities instantiated by requirement template

Figure 4 —  Entities instantiated by requirement template

The instance diagram in Figure 5 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/requirement(acceptance_criteria='Model must compile', reqt_id='RA1-001-001', reqt_id_class_name='Requirement_identification_code', source_organization_id='96412', name='Requirement Model ', description='A model of the requirements is needed.', priority='High', version='1.1', owner_id ='PRS-OFCR-001', owner_surname='Tracey', owner_christian_name='Ben', owner_middle_name='', owner_prefix_title='', owner_suffix_title='')/


Figure 5 —  Instantiation of requirement template

Figure 5 —  Instantiation of requirement template

Characterizations
No common characterizations of the template requirement have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

© UK MOD 2010 — All rights reserved