Tutorials‎ > ‎UML Tutorial‎ > ‎

Package Diagram

A package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model.

Packages containing nodes and artifacts.


In addition to the standard UML Dependency relationship, there are two special types of dependencies defined between packages:
  • package import
  • package merge
A package import is "a relationship between an importing namespace and a package, indicating that the importing namespace adds the names of the members of the package to its own namespace." [1] By default, an unlabeled dependency between two packages is interpreted as a package import relationship.

A package merge is "a directed relationship between two packages, that indicates that the contents of the two packages are to be combined. It is very similar to Generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both"[2]


Package diagrams can use packages containing use cases to illustrate the functionality of a software system.

Package diagrams can use packages that represent the different layers of a software system to illustrate the layered architecture of a software system. The dependencies between these packages can be adorned with labels / stereotypes to indicate the communication mechanism between the layers.