ISO 12207 contains interesting points for design verification:

a) The design is correct and consistent with and traceable to requirements.

c) Selected design can be derived from requirements.

EDIT Also under Core verification, it reads:

c) Selected code can be derived from design or requirements.

What is the difference between those?

  • Normally standards define terms like correctness and derive. Does 12207 do that? – Fuhrmanator Feb 6 '16 at 23:59

V Model

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.

Requirements Allocation 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).

Horizontal Traceability

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

  • Vertical Traceability
    Along the Green V in the above diagram.

  • Horizontal Traceability
    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.

| improve this answer | |
  • Thanks. However I still (maybe because of my English) cannot see what is meant by "Selected design can be derivem from requirements". – Pietross Feb 6 '16 at 15:44
  • @Pietross Ensure that the process of breaking down system requirements into unit requirements is performed and documented and you will be OK with respect to the "point C" in your question during potential audits. Do NOT simply map high-level system requirements directly to low-level design elements without any intermediate (low-level requirements + Architecture / high-level design elements). – TheCodeArtist Feb 6 '16 at 15:48
  • I mean, I still struggle with understanding what this requirement actually means (design can be derived) and if you see my edit, it should be possible also for the code to be derived from either design or requirements. I think I miss the main point. – Pietross Feb 6 '16 at 15:56
  • @Pietross Updated the answer. Continues all the way into implementation and testing phases now. The spirit of the standard is to ensure that the workflow flows along the V (from top left to bottom and subsequently to top-right) and the work-products generated in the earlier phases are used in the subsequent phases. – TheCodeArtist Feb 6 '16 at 16:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.