PlantUML is another excellent UML drawing tool. With a text description of your UML, it will provide a diagram.

Really useful for sequence diagrams. For example the following easy-to-read code …

@startuml
title Click & Collect
hide footbox
actor User

mainframe Sequence Diagram
User -> Web: Reserve Item
Web -> Store: Check Stock
Web <-- Store: Stock Levels
alt Stock Available
  Web -> Store: Reserve Stock
  Web <-- Store: Stock Reserved
  User <-- Web: Reservation Number
else Stock Unavailable
  User <-- Web: Out of Stock Error
  opt Special Order
    User -> Web: Customer Special Order
    Web -> Store: Order Stock
    Store -> Warehouse: Order Stock
    Store <-- Warehouse: Delivery Number
    Store -> Store: Allocate Inbound Stock
    Web <-- Store: Order Number
    User <-- Web: Customer Special Order Number
  end
end
@enduml

… produces a sequence diagram:

PlantUML Diagrams
An example PlantUML diagram from code

Just copy the above code into http://www.plantuml.com/plantuml. There are various ways to use PlantUML - not just via an online server.

Comments