Impact Analysis That Finds Nothing
A UAV datalink requirement set sits in a Requirements package. R-12 reads: 'The datalink shall provide a range of at least 50 km.' Test case TC-14 is linked to R-12 with a «verify» dependency. An engineer also drew a «deriveReqt» dependency with R-12 as the client end and R-13, a transmitter requirement ('The transmitter shall output 10 W'), as the supplier. A change proposal raises R-12's threshold to 60 km. Running the model's impact analysis reports no impacted elements. R-13's rationale field is blank and its 10 W figure was never revisited. A reviewer separately objects that 'at least 50 km' cannot be verified because no environmental conditions are stated.
1. Account for the empty impact report. What is wrong with the trace structure, and what else can make a real trace invisible to analysis?
Read the worked answer
Three distinct causes, all worth stating:
- Inverted dependency. «deriveReqt» is a dependency whose client is the derived requirement and whose supplier is the source. Drawing R-12 as client and R-13 as supplier asserts that R-12 was derived from R-13. Traversal from the changed source to the derived requirement therefore goes the wrong way and finds nothing. Reverse the ends.
- Containment is not traceability. Even with correct direction, if R-13 were nested in a package whose contents the analysis tool does not traverse from the changed element, the link is not followed. Check the scope of the query before concluding the model is clean.
- Prose traces are invisible. If R-13's justification for 10 W exists only in a review minutes document or a comment, no traversal will ever see it. Any relation that matters to change management must exist as a model relationship.
Note that «verify» to TC-14 is not the problem - it is simply not a path that carries a threshold change into a test case's acceptance criteria.
2. Rewrite R-12 so it can actually be verified. What is missing from the current wording?
Read the worked answer
Missing: conditions, a measurand, and a tolerance band around the threshold.
A defensible rewrite:
The datalink shall maintain a bit error rate no greater than 1×10⁻⁶ at slant ranges of 50 km and greater, with the air vehicle at 3000 m AGL, clear line of sight, and a receive antenna gain of at least 3 dBi, for 99% of operating hours in ITU-R rain zone K.
Reasoning:
- 'Range' alone is a geometry, not a performance measure. Pair it with the quantity that degrades (BER, throughput, latency) or a test can never fail.
- 'At least 50 km' is a one-sided threshold, which is fine - a test at exactly 50 km passes with zero margin, so state whether margin is required.
- The environment is what the reviewer is objecting to. Altitude, antenna, weather and availability percentage are what make the number repeatable.
- One 'shall' per sentence, one subject per requirement: if the datalink must also be encrypted, that is R-12b, not a second clause hidden behind 'and'.
3. The team says R-7 is 'covered' because a block is linked to it. Which relationship should have been used, and what else does a reviewer need before 'covered' means anything?
Read the worked answer
A «satisfy» dependency from the block (client) to the requirement (supplier) is the assertion that the design meets the requirement. It is a compliance claim, and it is what traceability and coverage matrices count.
Allocation is a different concept: it maps model elements of one kind onto another (typically behavior or structure onto structure) so you can see who does what. An allocation matrix answers 'where is this done'; a requirement compliance matrix answers 'who claims to meet this and on what evidence'. Using allocation to stand in for satisfaction mixes the two accounting systems, and the coverage report then reports the wrong thing with confidence.
What is still missing even after adding «satisfy»:
- A verification element (test case, analysis, inspection) linked with «verify», so the claim is testable.
- Recorded results - a verify link asserts intent to verify, not that the requirement passed.
- Rationale on R-13's 10 W, so the next change proposal does not silently inherit an orphaned number.