Diagram SDK - UML Diagrams

Model software structure, behavior, and interaction in UML

Try Our Live Demo

Why UML notation matters

Software design involves more than one kind of question: what does the system look like, how does it behave, and how do its parts talk to each other. UML has a dedicated notation for each.

Value Precise Language For Software Design image

Precise language for software design

UML shapes and relationships mean the same thing to every engineer who reads them, without a legend.

Value Structure Behavior Interaction image

Structure, behavior, and interaction, all covered

Class diagrams describe what a system is made of, activity diagrams describe what it does, and sequence diagrams describe how its parts communicate.

Value One Tool Three Views image

One tool for every view

Class, activity, and sequence diagrams are built with the same diagram surface, editing model, and export options.

Classes and interfaces

A class diagram describes the static structure of a system using classes and interfaces, each listing its own attributes and methods. Use a class diagram when a system’s structure needs to be documented before implementation begins.

  • Provide a class that lists its name, attributes, and methods, with each member’s data type and visibility
  • Support an interface that follows the same structure as a class, describing a contract rather than an implementation
  • Enable in-place editing of a class or interface shape through a text editor split into name, attribute, and method sections
  • Deliver class diagram shapes that can be generated from existing business logic instead of built manually

UML class shape listing its name, attributes, and methods in three sections

Two UML classes connected by an inheritance relationship shown with a hollow triangle arrowhead

Relationships between classes

A connector between two classes carries a specific meaning in UML, rather than a single generic line standing in for every kind of relationship. Use UML relationship connectors when the structural links between classes need to be precise and standardized.

  • Provide an association as a general link between two classes
  • Support inheritance, also called generalization and shown with a hollow triangle, to connect a subclass to its superclass
  • Deliver aggregation, shown with a hollow diamond, and composition, a stronger form, to represent whole-part relationships
  • Enable multiplicity labels to specify how many instances participate on each side, such as one-to-one or many-to-one

Modeling a workflow with activity shapes

An activity diagram is a flowchart-like view of a system’s behavior, using UML-specific shapes instead of generic flowchart notation. Use an activity diagram when a system’s behavior, including parallel flow, needs to be modeled in UML notation.

  • Provide initial and final nodes to mark where the activity flow starts and ends
  • Support action shapes to represent single steps and decision shapes to represent branching points
  • Deliver fork and join nodes to split a flow into parallel paths and bring them back together, and merge nodes to combine multiple paths without parallel execution
  • Enable time event, accepting event, and send or receive signal shapes to represent activity triggered by timing or by messages

UML activity diagram with an initial node, an action, a decision, and a final node connected in sequence

UML sequence diagram with three participant lifelines, activation boxes, and messages between them

Sequence diagram interaction over time

A sequence diagram shows how a fixed set of participants exchange messages over time, rather than how a single process branches. Use a sequence diagram when object interactions over time need to be documented in UML notation.

  • Provide each participant with a lifeline extending down through the diagram from its position at the top
  • Support activation boxes to mark the period a participant is actively processing a message
  • Deliver messages drawn as arrows crossing between participant lifelines
  • Enable fragments to group related messages under a shared condition such as a loop or an alternative path

Building from a symbol palette

UML shapes for class, activity, and sequence diagrams can be added from a symbol palette instead of being configured one property at a time. Use the symbol palette when UML shapes need to be assembled through drag-and-drop rather than programmatic configuration.

  • Provide predefined UML shapes, including classes with their own attributes and methods, that can be dragged onto the diagram surface
  • Support connecting two shapes with a specific relationship, such as inheritance, using the same connector mechanism as any other diagram
  • Deliver UML shapes from the palette across JavaScript, Angular, React, Vue, Blazor, ASP.NET Core, and MVC platforms
  • Enable general symbol palette configuration as covered in Symbol Palette

UML class and activity shapes being dragged from a symbol palette onto the diagram canvas

PLATFORM SUPPORT

UML support by platform

UML class shapes are available on most Diagram SDK platforms, but activity shapes, the newer sequence diagram model, and palette support are not confirmed as equally complete everywhere. JavaScript, Angular, React, Vue, ASP.NET Core, ASP.NET MVC, and Blazor share a common UML shape model, while WPF exposes UML shapes through its own resource dictionary.

Capability JavaScript frameworks ASP.NET Core and MVC Blazor WPF UWP Windows Forms
UML class and interface shapes
UML activity diagram shapes
UML sequence diagram model
UML shapes available from a symbol palette
supported partially supported not supported

Frequently Asked Questions

Both list attributes and methods in the same visual structure, but a class represents an implementation while an interface represents a contract that an implementation must fulfill.

Both describe a sequence of steps, but a UML activity diagram uses its own defined shapes, such as fork and join nodes for parallel flow, rather than the general-purpose symbols used in a flowchart; see Flowchart Diagrams.

Yes, where automatic generation from business logic is supported, class diagram shapes can be produced directly from an existing model instead of being placed one at a time.

No. Class diagram shapes are the most broadly documented. Activity shapes, the sequence diagram model, and palette support are newer or less consistently documented across platforms, as shown in the table above.

Association is a general link. Inheritance shows one class extending another. Aggregation shows a whole made of parts that could exist independently, and composition shows a stronger version of that relationship where the parts depend on the whole.

It marks the period during which a participant is actively processing a message, drawn as a thin rectangle over that participant’s lifeline.

Yes, where Mermaid support for sequence diagrams is available. See Data Import & Export for how Mermaid import and export work.

Resources

Learn more about our Diagram SDK

Explore demos, documentation, and support resources to get the most out of the Syncfusion Diagram SDK.

Common Diagram SDK overview

Review shared concepts and supported platforms

Representative UML class diagram demo

See classes, interfaces, and relationships in action

Community forum

Ask, share, and connect with peers

Knowledge base articles

Find solutions and best practices fast

Contact support

Get expert help when needed

Feature requests and bug reports

Track issues and suggest improvements

Awards

Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion® is proud to hold the following industry awards.

Up arrow icon
Syncfusion Feedback