Requirements Diagram
The Requirements diagram is a specific SysML hierarchy with its own graphical notation linking requirements to system entities that satisfy and/or verify the given requirement. The GENESYS implementation allows for a range of placement options and icon sizing to support the range of information classically shown on requirements diagrams. Part of the requirements representation set, hierarchy diagrams are available for requirements and documents.
The Requirements diagram uses a structured layout with specific movement rules for each node. However, multiple vertical and horizontal layouts are available, so select the one that best fits your specific style and the specific data set.
In a hierarchical format (which includes the requirements diagram), if the same entity is encountered multiple times when traversing the database, it is shown on the diagram multiple times. This presents a clean representation and avoids the "string art" of crossing lines. When an entity appears in multiple places on the diagram, a small black square appears in the upper right hand corner of the icon. In this event, GENESYS proceeds to expand the first occurrence of the entity.
A node with a black square in the upper left indicates that there is more information to display. This can occur if there are more relationships to traverse than the number of levels specified for the diagram. This can also occur if you collapse an existing node to hide the nodes beneath it. Individual nodes can be expanded or collapsed as desired to tailor the representation.
NOTE:
|
A good reference for further information on requirements diagrams is chapter 13 of A Practical Guide to SysML: The Systems Modeling Language by Sanford Friedenthal, Alan Moore, and Rick Steiner (2012).
|
Toolbox Properties
In addition to the classic diagram options, the requirements diagram settings include:
- Levels - controls the number of levels being shown for the diagram.
- Use Orthogonal Lines - controls whether orthogonal lines or direct lines are used to connect nodes on the diagram.
Toolbox Insert
The constructs and key entities tabs allow you to quickly develop your requirements diagram, while the all entities tab enables you to relate your diagram entities to the remainder of your system definition.
Constructs
- New Requirement - drop onto any diagram node to create a new derived requirement using the refined by relation
- Requirements - drop onto any diagram node to add an existing requirement as a derived requirement using the refined by relation
- New Block - drop onto any diagram node to create a new block (component) specified by the requirement node
- Blocks - drop onto any diagram node to indicate that an existing block (component) is specified by the requirement node
- New Activity - drop onto any diagram node to create a new activity (function) based on the requirement node
- Activities - drop onto any diagram node to indicate that an existing activity (function) is based on the requirement node
- New Verification Requirement - drop onto any diagram node to create a new verification requirement that verifies the node
- Verification Requirements - drop onto any diagram node to indicate that an existing verification requirement verifies the node
Utilities
- Image - drop onto the diagram to insert a new picture
- Note - drop onto the diagram to insert a new note (descriptive text in a note icon)
- Shapes - drag one of the shapes from the toolbox and drop onto the diagram to insert a new shape
Key Entities
- Component - drop an existing component onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- Function - drop an existing function onto a node to establish any valid relationship. Most often, this will be the basis of relation.
- Item - drop an existing item onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- Link - drop an existing link onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- MitigationActivity - drop an existing MitigationActivity onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- Mode - drop an existing mode onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- Port - drop an existing port onto a node to establish any valid relationship.
- Product - drop an existing product onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- ProgramActivity - drop an existing program activity onto a node to establish any valid relationship. Most often, this will be the basis of relation.
- ProgramElement - drop an existing program entity onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- Requirement - drop an existing requirement onto a node to establish any valid relationship. Most often, this will be parent-child (refines) or specification (specifies).
- State - drop an existing state or mode onto a node to establish any valid relationship. Most often, this will be the specifies relation.
- UseCase - drop an existing use case onto a node to establish any valid relationship. Most often, this will be the basis of relation.
- VerificationActivity - drop an existing verification activity onto a node to establish the specified by relation.
- VerificationEvent - drop an existing verification requirement onto a node to establish the specified by relation.
- VerificationRequirement - drop an existing verification requirement onto a node to establish the verified by relation.
All Entities - all classes and entities in the system model, allowing you to drag any entity on top of a diagram node to establish relationships with the balance of your system model.
Context Menu Commands
Tips and Tricks
If you simply wish to extend traceability from the requirement to an additional entity, often this can be accomplished most quickly by dragging and dropping from the diagram toolbox, specifically by dragging the desired entity onto the node from Key Entities tab.