So far, we've abstracted classes in terms of their attributes and the associations that hold between those classes. The work that we've done to understand data the classes, their attributes, their associations, and their constraints is of tremendous value in understanding the semantics of a domain. Although we have abstracted classes based on both data and behavior, we have not yet described the detailed behavior of instances of classes and associations. In the next few chapters, we'll see how to use state machines to model the lifecycles of the classes in a domain. |