Basic requirements capture and management
Requirements capture and management tests how SysML represents requirements, the relationships used for traceability, and how requirements are baselined and changed. Expect questions on the «requirement» stereotype, on derive/satisfy/verify direction, and on the difference between textual and property-based requirements.
Representing a requirement
«requirement» is a stereotype applied to a UML Class. It carries the standard properties Id and Text, and can be extended with source, priority, owner, rationale and verification method. Requirements own sub-requirements through composition, forming a hierarchy.
Relationships
All requirement relationships are dependencies with stereotypes:
- «deriveReqt» runs from the derived requirement to the requirement it came from.
- «satisfy» runs from a design element (usually a block) to the requirement it meets.
- «verify» runs from a «testCase» or verification element to the requirement it checks.
- «refine», «trace» and «copy» record weaker or structural links.
Textual versus property-based
Text is ambiguous and unverifiable by machine. A property-based requirement states a measurable constraint, for example mass ≤ 5 kg, expressed with a constraint block and bound to value properties, so it can be evaluated and traded.
Managing the set
Baseline the requirement package, control changes, keep Ids unique and stable, and maintain a traceability matrix in both directions so gaps and orphans are visible. Record the verification method as inspection, analysis, demonstration, or test.
Worked example
"Brake from 100 km/h within 40 m" is decomposed with «deriveReqt» into sub-requirements for brake force and tire friction. The BrakeSystem block satisfies the top requirement through a «satisfy» dependency; BrakeTest, a «testCase», «verify»-ies it; a parametric constraint computes stopping distance from deceleration.
Traps
Reversing the satisfy and verify arrows, using trace as a synonym for satisfy, expecting deriveReqt to create or own the source requirement, duplicating Ids, and treating the requirement diagram as the requirement set rather than one view of it.