Due Date: see roadmap
An understanding of
Provide a dynamic model of the your system's behavior in the form of a UML state machine.
As in the examples referenced below, distinguish between action states and view states. Unlike the examples referenced below, do not include validation in your model. (Do not include authentication/authorization either.)
Generally keep your model simple and clear. You may want to break down the model by subsystem. Include comments where appropriate. The model is intended to be an abstraction of your system's envisioned behavior, not a complete executable specification.
You may draw the model by hand, use a general-purpose drawing tool, or one of the UML modeling tools listed here.