Sequence diagrams show you how objects co-operate to perform an action. The sequence
diagram shown here indicates how classes from the UserInterface,
RecipeEngine, and ClassStorageEngine packages handle a user's
requests to fetch a plan. (Note that while I show the call to the
ClassIndexer, I don't show any further activity in the
ClassStorageEngine package, to keep the
diagram to a manageable size.)
Notice that when everything is finished, all the new objects created - a Plan,
a PlanFacade, and a LargoInternalFrame are alive, but not activated.
The same is true of the ResultPane where the user clicked Open. This is because
control passes back to the main Java event loop, which waits for the next user action.
There are two minor abuses of notation in this diagram. First, the
actionPerformed message actually comes to a listener on the Open button. The
listener is anonymous, so it's difficult to show it in a sequence
diagram; I've chosen to show the message as coming to the ResultPane itself.
The other issue is the calls to the static methods
queryByName() and retrieveByName(). Sequence diagrams
don't provide support for static calls, so I've chosen to show these as calls to objects
that are created and promptly deleted. (This gives me a chance to show object
deletion, too.)

Last updated 25 October 2002
LargoRecipes source code, program, and web site copyright 2001-3 D. Squirrel