Tools
Symbols
| Activity Diagram Symbol | Use |
|---|---|
| filled circle | initial state |
| circle with dot inside | final state |
| rounded rectangle | action box |
| diamond | decision |
| Class Diagram Symbol | Use |
|---|---|
| italics and <<abstract>> | abstract class |
| <<interface>> | interface |
| + | public method |
| - | private method |
| # | protected method |
| ~ | package method |
| hollow arrow toward superclass | inheritance (is-a) |
| filled diamond on whole class | composition (has-a) |
| hollow diamond | whole class object can be destroyed without destroying associated objects |
| 'n .. n' on association line | cardinality |
| dashed line and open arrowhead | implementation of an interface |
| closed hollow arrow | the class implements methods in the interface |
| Object Diagram Symbol | Use |
|---|---|
| 'object : class' listed in first section | object identifier |
| ': class' | anonymous objects have no object listed |
| attribute = value listed in second section | object's attributes and values |
| same symbols as in class diagram (line, hollow arrow, filled and hollow diamond) | links |
| Sequence Diagram Symbol | Use |
|---|---|
| lifeline | passage of time as it extends downward |
| person | entity that interacts with the system |
| rectangles | objects |
| box labeled in upper left corner | loops or sequence diagrams |
| variety of links | messages between objects |
| arrow with filled head | synchronous |
| arrow with open head | asynchronous |
| dashed arrow | return messages |
| <<create>> over a message | new object is created |
| 'X' on lifeline | object destroyed |
| State Diagram Symbol | Use |
|---|---|
| rounded rectangle | state |
| filled circle | initial state |
| circle with dot inside | final state |
| arrow notation | triggers, events, or guard conditions |
| diamond | decision |
| circle with 'X' inside | escape from state machine due to error |
More
Read more in Chapter 12 of Absolute Java by Walter Savitch.