Requirements
Requirements modeling
A «requirement» is a classifier with an id and text; it may contain sub-requirements, forming a containment tree that is not the same as traceability. Requirements are related to the rest of the model with directed dependencies: «deriveReqt» (a derived requirement refines its source), «refine», «trace», «copy», «satisfy», and «verify». Blocks satisfy requirements; test cases verify requirements. Arrowheads always point at the requirement.
Verification methods - inspection, analysis, demonstration, test - are recorded on test cases or through the verify relationship; verification is never assumed to mean dynamic testing only.
Traps: reversing satisfy/verify (asking "does this block fulfill it?" means the block is the source of «satisfy»); treating «deriveReqt» as generic traceability; treating a requirement as a constraint (constraints are «constraint» blocks used in parametric diagrams); assuming containment implies satisfaction; ignoring rationale, which carries justification rather than requirement text.
Worked example: "The braking subsystem shall stop the vehicle from 60 mph within 150 ft." A BrakingSubsystem block satisfies it; a BrakingTest test case verifies it by test; a derived requirement on the brake-controller adds the stopping-distance allocation. Three distinct relationships, one requirement.
Rule of thumb: identify the source element first - block means satisfy, test case means verify - and let the arrow point at the requirement.