Dependency (UML)

Last updated

In the Unified Modeling Language (UML), a Dependency [1] is "a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation." [1] "This means that the complete semantics of the client Element(s) are either semantically or structurally dependent on the definition of the supplier Element(s)." [1] Two or more elements in this relationship are called tuples.

Contents

In UML, this is indicated by a dashed line pointing from the dependent (or client) to the independent (or supplier) element. The arrow representing a Dependency specifies the direction of a relationship, not the direction of a process.

Standard predefined dependencies

UML - defined dependencies include: [2]

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.

See also

Related Research Articles

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.

The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language extension for UML. OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML. The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification.

<span class="mw-page-title-main">Actor (UML)</span>

An actor in the Unified Modeling Language (UML) "specifies a role played by a user or any other system that interacts with the subject."

A stereotype is one of three types of extensibility mechanisms in the Unified Modeling Language (UML), the other two being tags and constraints. They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties that are suitable for a particular domain or otherwise specialized usage. The nomenclature is derived from the original meaning of stereotype, used in printing. For example, when modeling a network you might need to have symbols for representing routers and hubs. By using stereotyped nodes you can make these things appear as primitive building blocks.

<span class="mw-page-title-main">Information model</span>

An information model in software engineering is a representation of concepts and the relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. Typically it specifies relations between kinds of things, but may also include relations with individual things. It can provide sharable, stable, and organized structure of information requirements or knowledge for the domain context.

<span class="mw-page-title-main">Class diagram</span> Type of static structure diagram

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations, and the relationships among objects.

<span class="mw-page-title-main">Package diagram</span>

A package diagram in the Unified Modeling Language depicts "specializations for Models and for Profiles that organize extensions to UML."

<span class="mw-page-title-main">Component diagram</span> Diagram depicting how components are wired together to form software systems

In Unified Modeling Language (UML), a component diagram depicts how components are wired together to form larger components or software systems. They are used to illustrate the structure of arbitrarily complex systems.

<span class="mw-page-title-main">Activity diagram</span> Graphical representation of a workflow

Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration, and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes, as well as the data flows intersecting with the related activities. "Object nodes hold data that is input to and output from executable nodes, and moves across object flow edges. Control nodes specify sequencing of executable nodes via control flow edges." In other words, although activity diagrams primarily show the overall control flow, they can also include elements showing the data flow between activities through one or more data stores.

<span class="mw-page-title-main">Communication diagram</span>

A communication diagram in Unified Modeling Language (UML) 2.5.1 is a simplified version of the UML 1.x collaboration diagram.

An event in the Unified Modeling Language (UML) is "something that may occur at a specific instant in time".

Glossary of Unified Modeling Language (UML) terms provides a compilation of terminology used in all versions of UML, along with their definitions. Any notable distinctions that may exist between versions are noted with the individual entry it applies to.

<span class="mw-page-title-main">MagicDraw</span> Systems modelling software

MagicDraw is a proprietary visual UML, SysML, BPMN, and UPDM modeling tool with team collaboration support.

<span class="mw-page-title-main">Object diagram</span> Diagram showing the structure of objects in a system

In object-oriented programming, an object diagram in the Unified Modeling Language (UML) is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time.

In the Unified Modeling Language 1.x, powertype is a keyword for a specific UML stereotype, and applies to a class or dependency. Powertype shows a classifier whose instances (objects) are children of the given parent.

A profile in the Unified Modeling Language (UML) provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, preventing them from contradicting standard semantics.

<span class="mw-page-title-main">Interaction overview diagram</span>

Interaction Overview Diagram is one of the fourteen "nominative" types of diagrams of the Unified Modeling Language (UML), which can picture a control flow with nodes that can contain interaction diagrams.

<span class="mw-page-title-main">Component (UML)</span>

A component in the Unified Modeling Language represents a modular part of a system that encapsulates the state and behavior of a number of classifiers. Its behavior is defined in terms of provided and required interfaces, is self-contained, and substitutable. A number of UML standard stereotypes exist that apply to components.

<span class="mw-page-title-main">Artifact (UML)</span>

An artifact in the Unified Modeling Language (UML) is the "specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system."

<span class="mw-page-title-main">Profile diagram</span> Software structure diagram

In Unified Modeling Language in the field of software engineering, a profile diagram operates at the metamodel level to show stereotypes as classes with the «stereotype» stereotype, and profiles as packages with the «profile» stereotype. The extension relation indicates what metamodel element a given stereotype is extending.

References

  1. 1 2 3 "Dependency". Unified Modeling Language 2.5.1. OMG Document Number formal/2017-12-05. Object Management Group Standards Development Organization (OMG SDO). December 2017. p. 42.
  2. Fakhroutdinov, Kirill. "Dependency in UML". uml-diagrams.org. Retrieved 2 April 2024.

Further reading

Weilkiens, Tim; Oestereich, Bernd (2007). UML 2 Certification Guide. Morgan Kaufmann. ISBN   0-12-373585-8.

"Dependency". Unified Modeling Language 2.5.1. OMG Document Number formal/2017-12-05. Object Management Group Standards Development Organization (OMG SDO). December 2017. p. 42.