Xuse User Guide: Requirements
The xuse-requirements.xml
file contains the complete list of requirements for the project.
Every individual requirement in the file is contained in the same structure. There is no structural nesting of requirements
within the XML even if the requirements have a logical parent/child relationship - instead the child references the parent in much
the same way as a database foreign key.
An Example XML based requirement is shown below:
Before examining the different parts of the XML structure in detail it is worth visualising the transformed HTML result:
Requirement XML reference
The following table explains the XML structure for a requirement
Location/XPath | Cdn. | Description |
---|---|---|
xuse:req | 1 | Container for the requirement |
xuse:req/@strength | 1 | The customer view of need/strength of the requirement. Permissible values include:
|
xuse:req/@id | 1 | Unique identifier for this requirement. It can be alpha-numeric but MUST be unique. |
xuse:req/@version | 1 | Version number for the requirement. Should be incremented whenever there is a change to the requirement bar meta-data changes. |
xuse:req/@creation-date | 1 | The date/time the requirement was first created. |
xuse:req/@modification-date | 1 | The date/time the requirement was last modified. |
xuse:req/xuse:annotation | 0..* | Container element for an annotation. |
xuse:req/xuse:title | 1 | Short but descriptive title for the requirement. |
xuse:req/xuse:description | 1 | Fuller description of the requirement. |
xuse:req/xuse:author | 0..1 | Name of the requirements analyst who create/entered the requirement. |
xuse:req/xuse:classification | 0..1 | Container for meta-data that helps classify the requirement. |
xuse:req/xuse:classification/xuse:type | 1 | Classifies the "type" of requirement. Permissible values are:
|
xuse:req/xuse:classification/xuse:status | 1 | The "agreement" and delivery status of the requirement. Permissible values are:
|
xuse:req/xuse:classification/xuse:taxonomy | 0..* | Taxonomy is provided for local taxonomy extension beyond the basic classifiers (type, status etc.) provided by Xuse. Taxonomy is simply defined as a key/value pair. The element contains the value, the key is defined below... |
xuse:req/xuse:classification/xuse:taxonomy/@classifier | 1 | Taxonomy classifier. |
xuse:req/xuse:parent/@refId | 0..1 | Cross-reference to a parent requirement identifier. There can be at most a single parent for a requirement, but not all requirements have a parent. |
xuse:req/xuse:req-ref/@refId | 0..* | Cross-reference to a similar or related requirement which is not directly the parent requirement. |
xuse:req/xuse:stakeholder/@refId | 0..* | Cross-reference to stakeholders identified with this requirement. Typically one or more stakeholder representatives would be expected to participate in the elaboration of the requirements. |