Requirement: A Requirement (notation: rectangle with «requirement» keyword) is a capability or condition that a system must ("shall") satisfy. A Functional Requirement («functionalRequirement» keyword) specifies a function that a system must perform, whereas a Non-Functional Requirement (NFR) specifies quality criteria that can be used to test the effectiveness of system functions.
SysML predefines the following stereotype specializations of NFRs:
Requirement diagram (req): A SysML Requirement diagram is a static structural diagram that shows the relationships among Requirement («requirement») constructs, model elements that Satisfy («satisfy» Dependency) them, and Test Cases that Verify («verify» Dependency) them.
The purpose of Requirement diagrams is to specify both Functional and Non-Functional Requirements within the model so that they can be traced to other model elements that Satisfy them and Test Cases that Verify them.
Diagram Name | Diagram Type | UML 2 Analog | SDLC Usage | Essential AGILE SYSML? |
Dynamic Sim † |
Math Sim ‡ |
Auto Code Gen |
Rigor | Semi | Informal |
---|---|---|---|---|---|---|---|---|---|---|
Requirement diagram (req) | Static Structure [Declarative] |
N/A | Requirements Analysis |
BEST PRACTICE PATTERNS | ANTI-PATTERNS |
---|---|
* Aggressively apply Requirements Triage techniques to separate «functionalRequirement», «performanceRequirement», and «designConstraint» Requirements. | * Conflate «functionalRequirement», «performanceRequirement», and «designConstraint» Requirements. |
* Satisfy all Functional Requirements with Functional Activities using the «satisfy» Dependency. | * Regurgitate System Design decisions as SysML Requirements text. Compare and contrast bona fide «designConstraint» Requirements (e.g., "... shall use FOSS SW and COTS HW ..."). |
* Apply MBSE + SysML Requirements Cluster Pattern to manage FR-NFR complexity. | |
* Apply MBSE + SysML Requirements Transitive Trace Pattern to scale system Requirements traceability on the "Left-Hand-Side" of the System V-Model. |
Made in RapidWeaver