New in version 0.5.5.
needsequence adds a sequence-chart to your documentation.
.. needsequence:: My sequence chart :start: USER_A, USER_D :link_types: links, triggers
Show the needs used in the above example
Sequence diagrams supports special needs-combinations, in which one type represents some kind of a
and another, linked need is representing the
Examples for this relationship are: Sender-Receiver communication , Role-Activity processes or Tool-Artifact relations.
needsequence needs at least one start-need, defined by its
id in the
The first need represents the
participant. The next, linked need(s) is representing the
Needs linked from a
message are interpreted as
participant again and so on.
So the linking must be really clean to get nice, meaningful sequence diagrams out of it.
The used need-type is unimportant.
The above, linked example gets interpreted for
needsequence as follows:
:start: option takes a comma separated list of need ids and uses it as the starting point for
further examination of sequence data.
First need of
:start: gets painted first. The need includes all related messages and other participants.
After the first need, we take the next need id from the
And if it was not already part of the prior examination, we handle it the same way, otherwise, we ignore it.
:link_types: option takes a comma separated list of link type names followed during examination.
Because of that, we ignore other link_types and all participants or messages accessible by the ignored link_types.
You can use the
:filter: option to filter participants.
We ignore all participants that does not fulfill the filter_string.
See Filter string for more information.
Default: None (no active filtering)
You can use this function to filter out a specific participant.
As an example, we use the same
needsequence from the beginning, but without
USER_C / Expert:
.. needsequence:: My filtered sequence chart :start: USER_A, USER_D :link_types: links, triggers :filter: "Expert" not in title