Dependency (UML)
Encyclopedia
A dependency in the Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 exists between two defined elements if a change to the definition of one may result in a change to the other. In UML this is indicated by a dashed line pointing from the dependent (or client) to the independent (or supplier) element.

If more than one client or supplier participates in the dependency, arrows with their tails on the client elements are connected to the tails of one or more arrows with their heads on the supplier elements. Place a small dot on the junction point along with a note on the dependency.

Dependency is a model-level relationship and not a run-time relationship—describing the need to investigate the model definition of the client element for possible changes if the model definition of the supplier element is changed.

A dependency is a semantic relationship where a change to the influent or independent modeling element may affect the semantics of the dependent modeling element.

A dependency identifies a set of model elements that requires other model elements for their specification or implementation
Implementation
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.-Computer Science:...

. The complete semantics of the depending elements is either semantically or structurally
Structure
Structure is a fundamental, tangible or intangible notion referring to the recognition, observation, nature, and permanence of patterns and relationships of entities. This notion may itself be an object, such as a built structure, or an attribute, such as the structure of society...

 dependent upon the definition of the supplier element(s).

The arrow representing a dependency specifies the direction of a relationship, not the direction of a process.

Standard predefined dependencies

UML
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

-defined dependencies include:
  • «call» UML2: The client (an operation) may call the supplier (an operation)
  • «create» UML2: The client (a classifier) may create instances of the supplier (a classifier)
  • «derive» UML2: The client (e.g., attribute value, link) may be computed from the supplier(s)
  • «instantiate» UML2: Operations of the client (a classifier) may create instances of the supplier (a classifier)
  • «permit» UML2: Obsolete
  • «realize» UML2: Obsolete
  • «refine» UML2: The client element(s) are at a "later" semantic level than the supplier(s)
  • «send» UML2: The client (an operation) sends the supplier (a signal)
  • «substitute» UML2: The client element can replace (under some circumstances) the supplier
  • «trace» UML2: The client elements "trace" to the suppliers. Typically used for levels of requirements
  • «use» UML2: The client element somehow "uses" the supplier

Dependency vs. Link

A UML link is run-time relationship between instances of classifiers, while a dependency is a model-time relationship between definitions.

A typical uni-directional link requires the one instance to know about, and thus depend, upon the other, but this is not required. A uni-directional link only requires the possibility of navigation not dependency.

Likewise, a bi-directional link requires that both instances may traverse to each other, but this also does not require dependency.

However, after the traversal of the association, if some property of the target instance's definition is accessed, such as an operation or attribute, a dependency is created.

External links


See also

  • dependent entity
  • functional dependency
    Functional dependency
    A functional dependency is a constraint between two sets of attributes in a relation from a database.Given a relation R, a set of attributes X in R is said to functionally determine another attribute Y, also in R, if, and only if, each X value is associated with precisely one Y value...

  • independent entity
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK