SysML Requirements

From Training Material
Revision as of 13:40, 7 March 2018 by Fstachecki (talk | contribs) (A Package Containing Requirements⌘)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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