- Structure diagrams show static structure of the system and its parts on different abstraction and implementation levels and how those parts are related to each other.
- The elements in a structure diagram represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts.
- Structure diagrams are not utilizing time related concepts, do not show the details of dynamic behavior.
- However, they may show relationships to the behaviors of the classifiers exhibited in the structure diagrams.
|Class diagram||Shows structure of the designed system, subsystem or component as related classes and interfaces, with their features, constraints and relationships – associations, generalizations, dependencies, etc.||class, interface, feature,constraint, association,generalization, dependency.|
|Object diagram||Instance level class diagram which shows instance specifications of classes and interfaces (objects), slots with value specifications, and links (instances of association).Object diagram was defined in now obsolete UML 1.4.2 Specification as “a graph of instances, including objects and data values. A static object diagram is an instance of a class diagram; it shows a snapshot of the detailed state of a system at a point in time.” It also stated that object diagram is “a class diagram with objects and no classes.”
UML 2.5 specification simply provides no definition of object diagram.
|instance specification, object,slot, link.|
|Package diagram||Shows packages and relationships between the packages.||package, packageable element,dependency, element import,package import, package merge.|
|Model diagram||UML auxiliary structure diagram which shows some abstraction or specific view of a system, to describe architectural, logical or behavioral aspects of the system. It could show, for example, architecture of a multi-layered (aka multi-tiered) application – see multi-layered application model.||model, package, packageable element, dependency.|
|Composite structure diagram||Diagram could be used to show:
|Internal structure diagram||Shows internal structure of a classifier – a decomposition of the classifier into its properties, parts and relationships.||structured class, part, port,connector, usage.|
|Collaboration use diagram||Shows objects in a system cooperating with each other to produce some behavior of the system.||collaboration, connector, part,dependency.|
|Component diagram||Shows components and dependencies between them. This type of diagrams is used forComponent-Based Development (CBD), to describe systems with Service-Oriented Architecture (SOA).||component, interface,provided interface, required interface, class, port,connector, artifact, component realization, usage.|
|Manifestation diagram||While component diagrams show components and relationships between components and classifiers, and deployment diagrams – deployments of artifacts to deployment targets, some missing intermediate diagram is manifestation diagram to be used to showmanifestation (implementation) of components by artifacts and internal structure of artifacts.Because manifestation diagrams are not defined by UML 2.5 specification, manifestation of components by artifacts could be shown using either component diagrams or deployment diagrams.||manifestation, component,artifact.|
|Deployment diagram||Shows architecture of the system as deployment (distribution) of software artifacts todeployment targets.Note, that components were directly deployed to nodes in UML 1.x deployment diagrams. In UML 2.x artifacts are deployed to nodes, and artifacts could manifest (implement) components. Components are deployed to nodes indirectly through artifacts.
Specification level deployment diagram (also called type level) shows some overview ofdeployment of artifacts to deployment targets, without referencing specific instances of artifacts or nodes.
Instance level deployment diagram shows deployment of instances of artifacts to specific instances of deployment targets. It could be used for example to show differences in deployments to development, staging or production environments with the names/ids of specific build or deployment servers or devices.
|deployment, artifact,deployment target, node,device, execution environment, communication path, deployment specification,|
|Network architecture diagram||Deployment diagrams could be used to show logical or physical network architecture of the system. This kind of deployment diagrams – not formally defined in UML 2.5 – could be called network architecture diagrams.||node, switch, router, load balancer, firewall,communication path, network segment, backbone.|
|Profile diagram||Auxiliary UML diagram which allows to define custom stereotypes, tagged values, and constraints as a lightweight extension mechanism to the UML standard. Profiles allow to adapt the UML metamodel for different
Profile diagrams were first introduced in UML 2.0.