SysML Requirements
Jump to navigation
Jump to search
SysML Requirements⌘
A Requirement⌘
- A requirement specifies a capability or condition that must (or should) be satisfied.
- A requirement may specify a function that a system must perform or a performance condition a system must achieve.
- SysML provides modeling constructs to represent text-based requirements and relate them to other modeling elements.
- The requirements diagram can depict the requirements in graphical, tabular, or tree structure format.
- A requirement can also appear on other diagrams to show its relationship to other modeling elements.
Requirements Tabular Representation⌘
Requirements relationships⌘
- Several requirements relationships are specified that enable the modeler to relate requirements to other requirements as well as to other model elements.
- These include relationships for defining a requirements hierarchy, deriving requirements, satisfying requirements, verifying requirements, and refining requirements.
requirement containment⌘
- A composite requirement can contain subrequirements in terms of a requirements hierarchy, specified using the UML namespace containment mechanism.
- This relationship enables a complex requirement to be decomposed into its containing child requirements.
requirement containment example⌘
A Package Containing Requirements⌘
copy⌘
- A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement.
copy example⌘
deriveReqt⌘
- A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement.
- For example, a system requirement may be derived from a business need, or lower-level requirements may be derived from a system requirement.
- The arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.
deriveReqt example⌘
deriveReqt & problem example⌘
satisfy⌘
- A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement.
- The arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied.
verify⌘
- A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement.
- The arrow direction points from the (client) element to the (supplier) requirement.
refine⌘
- The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement.
- For example, a use case or activity diagram may be used to refine a text-based functional requirement.
Example⌘
trace⌘
- A generic trace requirement relationship provides a general-purpose relationship between a requirement and any other model element.
- The semantics of trace include no real constraints and therefore are quite weak.
- It is recommended that the trace relationship not be used in conjunction with the other requirements relationships.
Requirement relationships as matrices⌘
Non-normative Requirements subclasses⌘
- Annex E: Non-normative Extensions of the SysML specification describes an example of a non-normative extension for a requirements profile.
- More specialized requirement stereotypes are introduced: functional, interface, performance, physical, design constraint.
- Additional properties are proposed: source, risk, and verifyMethod

