R3310

Summary

Establishing dependency links between elements in an Analyst Model should follow some rules about link orientation.

Details

Dependencies should only go from “outside Analyst model” to “Analyst model” or from “Analyst model” to “Analyst model”. They should never go from “Analyst model” to “outside Analyst model”.

Example, a <<trace>> link can be drawn from a ‘Use Case’ to a Requirement or a Goal, but not from a ‘Requirement’ to a Use Case where it would not make sense.

Tips

  • Dependency models usually trace elements from ‘B’ to ‘A’ meaning ‘B’ depends on ‘A’
  • Most development processes refer to Analyst model elements (requirements, goals adn so on) as the original motivation and source of refining elements, this is why dependency should go from a ‘non-analyst’ element to an ‘analyst element’ and not the contrary.
  • Either change the orientation of the faulty link or simply remove it.
  • Additional tip, ensure that all your team members agree on the dependency semantics and recommended orientation.
  • If your organization really requires a non-standard orientation of dependencies, you can safely disable the rule. However, beware that Modelio teamwork locking mechanism relies on dependencies orientation and that non-standard orientation might cause some trouble in the development process.