Particulars for CALC2

Hint

Again, you can skip the particulars passage when you have no curiosity in the technicalities of ‘needs’ itself.

Describing requirements

The describing text of any requirement (in ‘needs’) is standard rst (reStructuredText). So it can use hyperlinks, forward-references to other needs and even warning-admonitions.
The full textual definition of Exact Calculator (CALC2) is:

.. demo:: Exact Calculator
   :ID: CALC2
   :tags: demo2
   :links: CALC1

   This calculator should work with `Fractional Numbers <https://en.wikipedia.org/wiki/Fraction_(mathematics)>`_, and be
   exact for very big numbers; as defined in :need:`CALC2_1000ND`

   .. warning::

      This implies ``floats`` are not possible in the implementation

The added specification

Like all other ‘needs’, the specification for Big fractional numbers (CALC2_1000ND) is straightforward. It links to “earlier” requirements.

.. spec:: Big fractional numbers
   :id: CALC2_1000ND
   :links: CALC_ADD;CALC_SUB;CALC_MULT;CALC_DIV
   :tags: demo2
   :project: RequirementsTraceability

   The :need:`CALC2` ...

Tip

  • There is no prescribed order how the individual ‘needs’ can be linked. It kind of feels more natural to link to “higher level” (in the V-model) ‘needs’, and to one that are described “earlier” (in project-time). But when you can link them in any order.

  • Similar, a ‘need’ can link to any other ‘need’, independent of its type.
    Above we have used a spec, to add this requirement; but a normal req (requirement) is possible too. You can configure any kind of ‘needs’, as you like.

  • You can even export ‘needs’ in one document and import them in another. For big projects with many levels of modules, and so, specification-documents, this is typical behaviour. In this small calculator example tha is not used.

Tracing relations

To be able to trace whetter some test need to be adapted, we only have to add some “links” between the relevant test and the additional (test) specification.

In Big fractional numbers (CALC2_1000ND) that is done by adding some (outgoing) links to the existing tests. You may have to open/click the see the details row.

Note

The incoming links are added automatically.

The hotfix

See also

The notes about the forgotten test for the particulars on how to forget and hotfix a test in one document.

Comments

comments powered by Disqus