Software Design
Design for mlx.traceability
Since the sphinx documentation system is python based, and it allows for plugin development in seperate python packages, python was chosen. No limit should exist on the version of python or sphinx.
- Attributes
Effort estimation: 11d
- Depends on
- Fulfilled by
- Fulfills
RQT-DUMMY_PARENT: Dummy requirement that is not covered by a test
- Impacts on
DESIGN-DOCUMENTATION_ID: Identification of documentation part
DESIGN-RELATIONS: Documentation parts can be linked to each other
A directive name item is added to sphinx through the plugin that allows splitting the documentation into parts. The documentation parts are stored as objects of class TraceableItem. All TraceableItem objects are stored in a container class TraceableCollection.
- Attributes
Effort estimation: 2h
- Depends on
- Fulfills
A first argument to the item directive is used as a unique identifier for the documentation part. The identifier can be any string - not containing spaces.
To ensure uniqueness of the identifier, the TraceableCollection is used. When a TraceableItem will be added to the collection, its identifier is first checked to not appear in the collection yet. If it exists already, a warning is added to the documentation build log.
- Attributes
Effort estimation: 1h
- Depends on
- Fulfills
A second optional argument to the item directive is used as a brief description, or caption of the documentation part. This argument is allowed to have spaces. The caption is stored in the TraceableItem object.
- Attributes
Effort estimation: 9d 6h
- Depends on
- Fulfills
The content of the item directive is used as the content of the documentation part. The caption is stored in the TraceableItem object. The content is forwarded through the sphinx parser. So other plugins and/or the native sphinx tool performs conversions from reStructuredText (rst) syntax to docutils nodes.
- Attributes
Effort estimation: 1h 30m
- Depends on
- Fulfills
RQT-ATTRIBUTES_MATRIX: Overview of attributes on documentation parts
RQT-DUMMY_PARENT: Dummy requirement that is not covered by a test
- Impacts on
DESIGN-ATTRIBUTES_MATRIX: Overview of attributes on documentation parts
Attributes can be added to the documentation parts. Attributes have a key and an optional value. The set of attributes, their order and the validness of the attribute values are configurable.
- Attributes
Effort estimation: 1h
- Depends on
- Fulfills
RQT-RELATIONS: Documentation parts can be linked to each other
- Impacts on
DESIGN-AUTO_REVERSE: Automatic creation of reverse relations
DESIGN-COVERAGE: Calculation of coverage for relations between documentation parts
Documentation parts can be linked to other documentation parts. The set of relations is configurable.
- Attributes
Effort estimation: 1h
- Depends on
DESIGN-RELATIONS: Documentation parts can be linked to each other
- Fulfills
When a documentation part <A> is related to a documentation part <B> (forward relation), the reverse relation from documentation part <B> to documentation part <A> gets created automatically.
- Attributes
Effort estimation: 1h
- Depends on
- Fulfills
A list of documentation parts matching a certain query can be retrieved.
- Attributes
Effort estimation: 1h
- Depends on
DESIGN-RELATIONS: Documentation parts can be linked to each other
- Fulfills
RQT-COVERAGE: Calculation of coverage for relations between documentation parts
The plugin is able to calculate the coverage for a certain type of relation between documentation parts.
- Attributes
Effort estimation: 1h
- Depends on
DESIGN-RELATIONS: Documentation parts can be linked to each other
- Fulfills
The relations between documentation parts can be queried, and an overview matrix can be generated.
- Attributes
Effort estimation: 5h
- Depends on
DESIGN-RELATIONS: Documentation parts can be linked to each other
- Fulfills
The relations between documentation parts can be queried, and an overview tree can be generated.
- Attributes
Effort estimation: 1h
- Depends on
- Fulfills
RQT-ATTRIBUTES_MATRIX: Overview of attributes on documentation parts
An overview table of the attribute values for documentation parts can be generated.
- Attributes
Effort estimation: 12h
- Depends on
- Fulfills
The plugin has a directive that allows configurability of the order of items’ attributes.
Traceability matrix
Tree of design
Effort estimation
Effort estimation
Coverage to requirements and implementation
Trace design to requirements
Statistics: 14 out of 14 covered: 100%
Design reverse coverage
Trace design to requirements
Statistics: 14 out of 14 covered: 100%
Implementation coverage
Trace design to implementation
Statistics: 1 out of 14 covered: 7%