01.01.2015 Views

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

228<br />

Sunday Morning<br />

receivePmt(amt)[amt not < amt_due]/<br />

placeOrder()<br />

Tentative<br />

authorizeOverride(mgr)/<br />

placeOrder()<br />

Placed<br />

On entry/issueConf()<br />

Cancelled<br />

cancel(datetime)<br />

packed(packer)/<br />

setPacked()<br />

Packaged<br />

after 3 days/upgradeShippingPriority()<br />

when today <<br />

(last update +90 days)/<br />

setArchived()<br />

shipped(carrier, datetime)/<br />

setShipped(),<br />

Customer.notify(Shipment, Order)<br />

Shipped<br />

Figure 22-1<br />

when today < (last update + 90 days)/<br />

setArchived()<br />

The Statechart for a typical Order object<br />

Call event<br />

A call event is the most common event type. It is basically the invocation of an operation<br />

on the receiving object. This type of event is the merge of an event and an event action.<br />

The event itself is an instruction to perform an operation. However, this doesn’t prevent you<br />

from adding other actions. Figure 22-2 shows the transition from Placed to Cancelled. The<br />

transition is triggered by the cancel(datetime) event. “cancel(datetime)” is actually the<br />

operation signature on the Order.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!