UML diagrams online, every type on one board.

Class, sequence, activity, state machine — and the rest of the notation, with real compartments, real relationships and your team editing beside you.

lantern coffee · pre-order app · classes
1**11..**1«use»Shopname: Stringborough: StringopenAt(): TimeOrdernumber: IntplacedAt: DateTimepickupAt: Timestatus: OrderStatustotal(): MoneymarkReady()Customername: Stringphone: String«enumeration»OrderStatusPlacedBrewingReadyPickedUpOrderLinequantity: IntoatMilk: Booleanprice(): MoneyMenuItemname: Stringprice: MoneyisSeasonal()

A line that means one thing.

Draw a line between two boxes and everybody reads a different relationship into it — owns, uses, becomes. UML exists so that the line means one thing, and each of its six relationships is drawn here as the specification draws it.

Every UML figure, named ↓

lantern coffee · pre-order app · classes
AssociationShop1*OrderAggregationMenuMenuItemCompositionOrder1..*OrderLineGeneralizationSeasonalMenuItemRealizationCardPay«i» PaymentDependencyOrderOrderStatus

A use case opens its sequence diagram.

Place an order carries a green dot: under it is a board of its own, where the order is followed message by message — the customer, the app, the order and SoHo's till. The lifeline named Order is the class Order from the classes board, not a copy of it: rename it on either board and both say the new name.

Read more: Boards that open boards →

use cases
CustomerPre-order appPlace an order1Pick up a drink
pre-order app › place an order
CustomerPre-order appOrderSoHo tillplace order()«create»print ticket()order #1042placed · 8:15markReady()status: Readyyour drink is ready

Attributes are fields of the object.

A class keeps its attributes and operations as lists on its object, and the figure's compartments draw them. Redraw Order as a plain rectangle for a five-minute sketch and they are still there; draw it as a class again and the compartments come back.

Read more: Figures that show the data →

lantern coffee · objects · order
OrderClass
ATTRIBUTES · 4
number: Int
placedAt: DateTime
pickupAt: Time
status: OrderStatus
OPERATIONS · 2
total(): Money
markReady()
two figures, one object
Ordernumber: IntplacedAt: DateTimepickupAt: Timestatus: OrderStatustotal(): MoneymarkReady()
↓ figure: Rectangle · ↑ figure: Class
Order

Every figure, named.

The toolbar's own names — what you pick is what this list says: six groups, 59 figures.

UML Class Diagram12

UML Sequence Diagram10

UML Activity Diagram11

UML State Machine11

UML Use Case Diagram5

Component & Deployment10