All about UML package diagrams

Why use a UML diagram?

I want to learn more about use case diagrams because they are new to me.

I want to create my own use case diagram in Lucidchart.

I want to create a use case diagram from a Lucidchart template.


Use this guide to learn everything you need to know about package diagrams, including what benefits they provide, how to properly build them, and more. With our UML diagram tool, you can take advantage of the structure and organization provided by package diagrams to simplify even the most complicated of UML classifiers.

5 minute read

Do you want to create your own UML diagram? Try Lucidchart. It's fast, easy, and totally free.

Create a UML Diagram

What is a package diagram?

Package diagrams are structural diagrams used to show the organization and arrangement of various model elements in the form of packages. A package is a grouping of related UML elements, such as diagrams, documents, classes, or even other packages. Each element is nested within the package, which is depicted as a file folder within the diagram, then arranged hierarchically within the diagram. Package diagrams are most commonly used to provide a visual organization of the layered architecture within any UML classifier, such as a software system.

UML package diagram

Benefits of a package diagram

A well-designed package diagram provides numerous benefits to those looking to create a visualization of their UML system or project.

  • They provide a clear view of the hierarchical structure of the various UML elements within a given system. 
  • These diagrams can simplify complex class diagrams into well-ordered visuals.
  • They offer valuable high-level visibility into large-scale projects and systems.
  • Package diagrams can be used to visually clarify a wide variety of projects and systems.
  • These visuals can be easily updated assystems and projects evolve.

Basic components of a package diagram

The makeup of a package diagram is relatively simple. Each diagram includes only two symbols:

Symbol Image

Symbol Name

Description

uml package symbol

Package

Groups common elements based on data, behavior, or user interaction

Dependency

Depicts the relationship between one element (package, named element, etc) and another

 

These symbols can be used in a variety of ways to represent different iterations of packages, dependencies, and other elements within a system. Here are the basic components you’ll find within a package diagram:

  • Package

    : A namespace used to group together logically related elements within a system. Each element contained within the package should be a packageable element and have a unique name.
  • Packageable element

    : A named element, possibly owned directly by a package. These can include events, components, use cases, and packages themselves. Packageable elements can also be rendered as a rectangle within a package, labeled with the appropriate name.
  • Dependencies

    : A visual representation of how one element (or set of elements) depends on or influences another. Dependencies are divided into two groups: access and import dependencies. (See next section for more info.)
  • Element import

    : A directed relationship between an importing namespace and an imported packageable element. This is used to import select individual elements without resorting to a package import and without making it public within the namespace. 
  • Package import

    : A directed relationship between and importing namespace and an imported package. This type of directed relationship adds the names of the members of the imported package to its own namespace
  • Package merge

    : A directed relationship in which the contents of one package are extended by the contents of another. Essentially, the content of two packages are combined to produce a new package.

Do you want to create your own UML diagram? Try Lucidchart. It's fast, easy, and totally free.

Create a UML Diagram

Dependency notations in a package diagram

Package diagrams are used, in part, to depict import and access dependencies between packages, classes, components, and other named elements within your system. Each dependency is rendered as a connecting line with an arrow representing the type of relationship between the two or more elements. 

There are two main types of dependencies:

Access: Indicates that one package requires assistance from the functions of another package.
Example:

UML package diagram access dependecy

Import: Indicates that functionality has been imported from one package to another.
Example:

UML package diagram import dependency

Dependencies can also be broken down further into the following categories:

  • Usage

    : Occurs when a given named element requires another for its full definition and deployment. Example: client and supplier.
  • Abstraction

    : Relates two elements representing the same concept at different levels of abstraction within the system (usually a relationship between client and supplier).
  • Deployment

    : Depicts the deployment of an artifact to a deployment target.

Using packages with other UML diagrams

As we’ve shown earlier in this guide, packages are UML constructs that can be used to organize the elements within any UML classifier in a variety of UML diagrams. Package diagrams are most commonly found used in:

  • Use-case diagrams

    : Each use-case is depicted as an individual package
  • Class diagrams

    : Classes are organized into into packages

Packages can also be used within other UML model types to organize and arrange elements such as classes, data entities, and use cases. By fuzing the package diagram structure with other UML diagrams, you can simplify any model type, making it easier to understand.

Model diagrams

Package diagrams can also be used in conjunction with model diagrams—a type of UML auxiliary structure diagram used to depict the logical, behavioral, or structural aspects of a system. Even simple models can be difficult to understand without some type of visual organization. The use of packages can provide users with a high-level view of a model with unambiguous named references for each of the elements it contains. In addition, clearly labeled dependencies can clarify the relationships between each element.

Package diagram example

Take a look at the following template to see how a package diagram models the packages within a basic e-commerce web app. Click on the template to modify it and explore how you can show the structure of any designed system at a package level.


Lucidchart’s innovative and intuitive UML diagram creator helps you generate professional-quality package diagrams that offer clarity to complex systems. Customize one of our many templates from our template gallery or build your diagram from scratch with drag-and-drop shapes to get started. Try Lucidchart today. It’s quick, easy, and free. 
 

Do you want to create your own UML diagram? Try Lucidchart. It's fast, easy, and totally free.

Get started

  • Pricing
  • Individual
  • Team
  • Enterprise
  • Contact sales
PrivacyLegalCookie privacy choicesCookie policy
  • linkedin
  • twitter
  • instagram
  • facebook
  • youtube
  • glassdoor
  • tiktok

© 2024 Lucid Software Inc.