Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4,Use Case and Statechart Diagrams.