In this chapter, we've seen how the process of dynamic modeling is a complementary technique to static modeling that enriches our overall understanding of the problem to be automated, hence enabling us to improve our object "blueprint," also known as a class diagram. In particular, we've seen
How events trigger state changes
How to develop scenarios, based on use cases
How to represent these as UML interaction diagrams: sequence diagrams or, alternatively, collaboration diagrams
How to glean information from sequence diagrams concerning the behaviors expected of objects—that is, the methods that our classes will need to implement—so as to round out our class diagram
How sequence diagrams can also yield additional knowledge about the structural aspects of a system