UML Definition
The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

UML Tool
Create flowcharts & diagrams online with Lucidchart. No download needed. Use Lucidchart to visualize ideas, make charts, diagrams & more.

UML Class Diagram

The UML Class diagram is a graphical notation used to construct and visualize object-oriented systems.
A class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system:
- classes
- their attributes
- operations (or methods)
- and the relationships among objects
Example

UML Class Notation

Class Access Modifiers

Perspectives of Class Diagram
The choice of perspective depends on how far you are in the development process. During the formulation of a domain model, for example, you would seldom move past the conceptual perspective. Analysis models will typically feature a mix of conceptual and specification perspectives. Design model development will generally start with a heavy emphasis on specification and evolve into implementation perspectives.
Perspectives:
- Conceptual: represents the concepts in the domain
- Specification: the focus is on the interfaces of Abstract Data Type (ADTs) in the software
- Implementation: describes how classes will implement their interfaces.

Relationships between classes

Cardinality

Class Diagram Example
