a) The design is correct and consistent with and traceable to requirements.
Traceability is achieved by formally documenting the relationships between the various individual system requirements and the individual design elements. Both upstream and downstream relationships need to be captured and documented for bi-directional traceability.
c) Selected design can be derived from requirements.
Derivation is also known as decomposition. For large/complex systems, it is usually possible to decompose the system requirements into functional and non-functional requirements for several components/units within the system. The set of all such component/unit-level requirements will enable the selection of a particular design.
Source: MIT OpenCourseWare - Requirements Definition.
A common challenge during the decomposition/derivation phase
Defining the component/unit requirements without indirectly choosing/forcing a design.
c) Selected code can be derived from design or requirements.
Next during the coding/implementation stage, one needs to write the code to meet the design specifications (keeping in mind the original requirements to get a proper context).
This continues further into the testing phase, where each test report (test description and test result) must be documented and a relationship shown between the test and the Requirement / Design / Code for both
Along the Green V in the above diagram.
Between corresponding elements at the same level of either sides of "the V".
eg. Between "Detailed Design" and "Module/Unit test"
NASA : Requirements Engineering for Complex Electronics Systems.