Overview

Ordering details

FAQ

Executable UML: A Case Study


 
Updates

This book is now out of print. It has been superceded by: Executable UML: How to Build Class Models
 
Revisions
Page Item Problem
26 Model 2.2 Drawer ID is part of the identifier so it should have an asterisk
28 Figure 2.2 Headers in columns 1 and 2 are transposed
30 Last paragraph DivideByZero Computers should be DivideByZero Software
52 Model 3.2 In Control Point object, Shape ID (R1,R5) should be (R4,R5)
83 Model 5.5 Annotations should refer to P16 instead of P19
84 Model 5.6 A lot of changes need to be made here - I obviously had the music on too loud when I reviewed this model! Here we go...
The associative object name should be changed to "Part Order" from "Part Delivery".
Relationship (R2) should be reversed so that it reads "Part Order is delivered in zero, one or many Delivery Units while a Delivery Unit delivers Parts for exactly one Part Order." I am defining Delivery Unit as a quantity of Parts shipped in a single Box for a given Part Order. If a Part Order is delivered in multiple Boxes, then there would be multiple Delivery Units. The relationship is unconditional on the one-side since you would not create an instance of the Delivery Unit object unless you were fulfilling a Part Order. The definition of Delivery Unit restricts it to deliver parts for exactly one Part Order. It is conditional on the many-side since a Part Order may exist for some time before any Delivery Units have been established. R2 is many because a Part Order may be split across more than one Box.
Add the attribute "Order Date" to the Part Order object and extend the bracket on the left to show that Part ID + Destination Site ID + Date constitutes a complete alternative identifier. (More than one order could be placed requesting the delivery of a Part to an Assembly Site - consequently it is more convenient to assign a single Order ID as the primary identifier).
Add the referential attribute "Delivery Unit ID (R2)" to the Part Order object.
Last bullet It should read "A 1:Mc relationship (R4) is added which connects Box to the new Delivery Unit object."
160 Paragraph 3 in object description box. It should read "Before the first Event, the value of Parameter is the default value."
231 Table 15.3 Column headings should be A PID, B PID and Circuit ID
274 Model 17.5 Change R6 to 1c:Mc