UML Weekend Crash Course⢠- To Parent Directory
UML Weekend Crash Course⢠- To Parent Directory UML Weekend Crash Course⢠- To Parent Directory
Session 19—Applying the Collaboration Diagram to the Case Study 197 The next step in the flowchart says that the System tells the OrderFulfillmentClerk to display the Order it just found in the database. This sounds a bit odd until you realize that the OrderFulfillmentClerk represents the interface that the Order Fulfillment Clerk will use for this Use Case. So in reality, the System is telling the screen to display the data. Figure 19-6 adds the asynchronous message and line style arrow alongside sequence #1, going in the same direction between the same two objects. :OrderFullfillment Clerk :OrdersDB 1 : getOrderNbr():int 4 : return 12345678 2 : return 12345678 3 : getOrder(ordernbr.int) : Order 5 : displayOrder(Order): void :System Figure 19-6 Modeling the next step in the flowchart: Display the Order Figure 19-7 shows the completed Collaboration diagram for the first scenario. In every synchronous message, I chose to show the return as well. Many people say that you should only show the return if it isn’t obvious. Personally, Note I believe that strategy leaves a lot of room for mistaken assumptions. I also firmly believe that the purpose for modeling is to get the information out where everyone can see it. Using shortcuts hides information. For the second scenario, insert a comment referring to steps 1 through 4 of Scenario 1, and then add the new event for Scenario 2. This time the message from the System to the OrderFulfillmentClerk is an asynchronous event. The System merely sends the message and goes about its job without waiting for any reply. Figure 19-8 shows the use of the asynchronous solid line style arrow for the displayMsg(char) message.
198 Saturday Evening :OrderFullfillment Clerk :OrdersDB 1 : getOrderNbr():int 4 : return 12345678 2 : return 12345678 3 : getOrder(ordernbr.int) : Order 5 : displayOrder(Order): void :System 8: getProdSerialNbr(itemnbr.int): int 12: [product found]: fillItem(itemnbr.int): Product 12345678:Order 9: return prodserialnbr 27 15: return true 11: return true 10: [item found]getProduct(prodserialnbr.int):boolean 13: reduceInv(prod:Product):boolean 14: return true :Inventory Figure 19-7 The finished Collaboration diagram for Scenario 1 :OrderFullfillment Clerk :OrdersDB Repeat steps 1 through 4 of Scenario 1, then 1 : displayMsg(String):void :System Figure 19-8 Scenario 2 with an asynchronous event
- Page 169 and 170: 146 Saturday Afternoon 0..* VendorP
- Page 172 and 173: SESSION 14 Modeling the Functional
- Page 174 and 175: Session 14—Modeling the Functiona
- Page 176 and 177: Session 14—Modeling the Functiona
- Page 178: Session 14—Modeling the Functiona
- Page 181 and 182: 158 Saturday Afternoon Table 15-1 T
- Page 183 and 184: 160 Saturday Afternoon Figure 15-1
- Page 185 and 186: 162 Saturday Afternoon More product
- Page 187 and 188: 164 Saturday Afternoon start (merge
- Page 190 and 191: SESSION 16 Modeling the Dynamic Vie
- Page 192 and 193: Session 16—Modeling the Dynamic V
- Page 194 and 195: Session 16—Modeling the Dynamic V
- Page 196 and 197: Session 16—Modeling the Dynamic V
- Page 199 and 200: PART III # Saturday Afternoon Part
- Page 201 and 202: PART IV Saturday Evening Session 17
- Page 203 and 204: 180 Saturday Evening Scenario 1 Get
- Page 205 and 206: 182 Saturday Evening The next step
- Page 207 and 208: 184 Saturday Evening For Scenario 2
- Page 209 and 210: 186 Saturday Evening For subsequent
- Page 211 and 212: 188 Saturday Evening 6:addProduct(c
- Page 213 and 214: 190 Saturday Evening 7:addProduct(c
- Page 215 and 216: 192 Saturday Evening REVIEW The Col
- Page 217 and 218: 194 Saturday Evening Scenario 1 Get
- Page 219: 196 Saturday Evening pointing towar
- Page 223 and 224: 200 Saturday Evening Scenario 5, in
- Page 226 and 227: SESSION 20 Modeling the Dynamic Vie
- Page 228 and 229: Session 20—Modeling the Dynamic V
- Page 230 and 231: Session 20—Modeling the Dynamic V
- Page 232 and 233: Session 20—Modeling the Dynamic V
- Page 234: Session 20—Modeling the Dynamic V
- Page 238 and 239: Part V — Sunday Morning Session 2
- Page 240 and 241: SESSION 21 Applying the Basic State
- Page 242 and 243: Session 21—Applying the Basic Sta
- Page 244 and 245: Session 21—Applying the Basic Sta
- Page 246 and 247: Session 21—Applying the Basic Sta
- Page 248: Session 21—Applying the Basic Sta
- Page 251 and 252: 228 Sunday Morning receivePmt(amt)[
- Page 253 and 254: 230 Sunday Morning Figure 22-4 repr
- Page 255 and 256: 232 Sunday Morning A substate is a
- Page 257 and 258: 234 Sunday Morning Monitor when tem
- Page 260 and 261: SESSION 23 Applying the Extended St
- Page 262 and 263: Session 23—Applying the Extended
- Page 264 and 265: Session 23—Applying the Extended
- Page 266 and 267: Session 23—Applying the Extended
- Page 268 and 269: SESSION 24 Modeling the Development
Session 19—Applying the Collaboration Diagram to the Case Study 197<br />
The next step in the flowchart says that the System tells the OrderFulfillmentClerk to<br />
display the Order it just found in the database. This sounds a bit odd until you realize that<br />
the OrderFulfillmentClerk represents the interface that the Order Fulfillment Clerk will use for<br />
this Use Case. So in reality, the System is telling the screen to display the data. Figure 19-6<br />
adds the asynchronous message and line style arrow alongside sequence #1, going in the<br />
same direction between the same two objects.<br />
:OrderFullfillment Clerk<br />
:OrdersDB<br />
1 : getOrderNbr():int<br />
4 : return 12345678<br />
2 : return 12345678<br />
3 : getOrder(ordernbr.int) : Order<br />
5 : displayOrder(Order): void<br />
:System<br />
Figure 19-6 Modeling the next step in the flowchart: Display the Order<br />
Figure 19-7 shows the completed Collaboration diagram for the first scenario.<br />
In every synchronous message, I chose to show the return as well. Many people<br />
say that you should only show the return if it isn’t obvious. Personally,<br />
Note I believe that strategy leaves a lot of room for mistaken assumptions. I also<br />
firmly believe that the purpose for modeling is to get the information out<br />
where everyone can see it. Using shortcuts hides information.<br />
For the second scenario, insert a comment referring to steps 1 through 4 of Scenario 1,<br />
and then add the new event for Scenario 2. This time the message from the System to the<br />
OrderFulfillmentClerk is an asynchronous event. The System merely sends the message and<br />
goes about its job without waiting for any reply. Figure 19-8 shows the use of the asynchronous<br />
solid line style arrow for the displayMsg(char) message.