File size: 37,516 Bytes
da43f5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
 -->
<!-- Title: %3 Pages: 1 -->
<svg width="1503pt" height="1238pt"
 viewBox="0.00 0.00 1502.50 1238.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 1202)">
<title>%3</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-1202 1466.5,-1202 1466.5,36 -36,36"/>
<!-- Customer -->
<g id="node1" class="node">
<title>Customer</title>
<path fill="#e8e8e8" stroke="transparent" d="M618,-932C618,-932 859,-932 859,-932 865,-932 871,-938 871,-944 871,-944 871,-1150 871,-1150 871,-1156 865,-1162 859,-1162 859,-1162 618,-1162 618,-1162 612,-1162 606,-1156 606,-1150 606,-1150 606,-944 606,-944 606,-938 612,-932 618,-932"/>
<polygon fill="#bebebe" stroke="transparent" points="607.5,-1139 607.5,-1161 870.5,-1161 870.5,-1139 607.5,-1139"/>
<text text-anchor="start" x="713" y="-1148.2" font-family="Arial" font-weight="bold" font-size="11.00">Customer</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1129 607.5,-1139 870.5,-1139 870.5,-1129 607.5,-1129"/>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1107 607.5,-1129 870.5,-1129 870.5,-1107 607.5,-1107"/>
<text text-anchor="start" x="612.5" y="-1115.2" font-family="Arial" font-size="11.00">&#45; customerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1085 607.5,-1107 870.5,-1107 870.5,-1085 607.5,-1085"/>
<text text-anchor="start" x="612.5" y="-1093.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1063 607.5,-1085 870.5,-1085 870.5,-1063 607.5,-1063"/>
<text text-anchor="start" x="612.5" y="-1071.2" font-family="Arial" font-size="11.00">+ phone : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1041 607.5,-1063 870.5,-1063 870.5,-1041 607.5,-1041"/>
<text text-anchor="start" x="612.5" y="-1049.2" font-family="Arial" font-size="11.00">+ address : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1019 607.5,-1041 870.5,-1041 870.5,-1019 607.5,-1019"/>
<text text-anchor="start" x="612.5" y="-1027.2" font-family="Arial" font-size="11.00">+ isVIP : boolean</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-1009 607.5,-1019 870.5,-1019 870.5,-1009 607.5,-1009"/>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-999 607.5,-1009 870.5,-1009 870.5,-999 607.5,-999"/>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-977 607.5,-999 870.5,-999 870.5,-977 607.5,-977"/>
<text text-anchor="start" x="612.5" y="-985.2" font-family="Arial" font-size="11.00">+ Customer(name: String, phone: String) : Customer</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-955 607.5,-977 870.5,-977 870.5,-955 607.5,-955"/>
<text text-anchor="start" x="612.5" y="-963.2" font-family="Arial" font-size="11.00">+ placeOrder(items: String) : DeliveryOrder</text>
<polygon fill="#e8e8e8" stroke="transparent" points="607.5,-933 607.5,-955 870.5,-955 870.5,-933 607.5,-933"/>
<text text-anchor="start" x="612.5" y="-941.2" font-family="Arial" font-size="11.00">+ trackOrder(orderId: String) : String</text>
<polygon fill="black" stroke="black" points="606.5,-1139 606.5,-1139 871.5,-1139 871.5,-1139 606.5,-1139"/>
<polygon fill="black" stroke="black" points="606.5,-1009 606.5,-1009 871.5,-1009 871.5,-1009 606.5,-1009"/>
<path fill="none" stroke="black" d="M618,-932C618,-932 859,-932 859,-932 865,-932 871,-938 871,-944 871,-944 871,-1150 871,-1150 871,-1156 865,-1162 859,-1162 859,-1162 618,-1162 618,-1162 612,-1162 606,-1156 606,-1150 606,-1150 606,-944 606,-944 606,-938 612,-932 618,-932"/>
</g>
<!-- DeliveryOrder -->
<g id="node2" class="node">
<title>DeliveryOrder</title>
<path fill="#e8e8e8" stroke="transparent" d="M186.5,-608C186.5,-608 422.5,-608 422.5,-608 428.5,-608 434.5,-614 434.5,-620 434.5,-620 434.5,-826 434.5,-826 434.5,-832 428.5,-838 422.5,-838 422.5,-838 186.5,-838 186.5,-838 180.5,-838 174.5,-832 174.5,-826 174.5,-826 174.5,-620 174.5,-620 174.5,-614 180.5,-608 186.5,-608"/>
<polygon fill="#bebebe" stroke="transparent" points="175.5,-815 175.5,-837 433.5,-837 433.5,-815 175.5,-815"/>
<text text-anchor="start" x="268" y="-824.2" font-family="Arial" font-weight="bold" font-size="11.00">DeliveryOrder</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-805 175.5,-815 433.5,-815 433.5,-805 175.5,-805"/>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-783 175.5,-805 433.5,-805 433.5,-783 175.5,-783"/>
<text text-anchor="start" x="180.5" y="-791.2" font-family="Arial" font-size="11.00">&#45; orderId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-761 175.5,-783 433.5,-783 433.5,-761 175.5,-761"/>
<text text-anchor="start" x="180.5" y="-769.2" font-family="Arial" font-size="11.00">+ customerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-739 175.5,-761 433.5,-761 433.5,-739 175.5,-739"/>
<text text-anchor="start" x="180.5" y="-747.2" font-family="Arial" font-size="11.00">+ pickupAddress : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-717 175.5,-739 433.5,-739 433.5,-717 175.5,-717"/>
<text text-anchor="start" x="180.5" y="-725.2" font-family="Arial" font-size="11.00">+ deliveryAddress : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-695 175.5,-717 433.5,-717 433.5,-695 175.5,-695"/>
<text text-anchor="start" x="180.5" y="-703.2" font-family="Arial" font-size="11.00">+ orderTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-673 175.5,-695 433.5,-695 433.5,-673 175.5,-673"/>
<text text-anchor="start" x="180.5" y="-681.2" font-family="Arial" font-size="11.00">+ priority : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-663 175.5,-673 433.5,-673 433.5,-663 175.5,-663"/>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-653 175.5,-663 433.5,-663 433.5,-653 175.5,-653"/>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-631 175.5,-653 433.5,-653 433.5,-631 175.5,-631"/>
<text text-anchor="start" x="180.5" y="-639.2" font-family="Arial" font-size="11.00">+ DeliveryOrder(customerId: String) : DeliveryOrder</text>
<polygon fill="#e8e8e8" stroke="transparent" points="175.5,-609 175.5,-631 433.5,-631 433.5,-609 175.5,-609"/>
<text text-anchor="start" x="180.5" y="-617.2" font-family="Arial" font-size="11.00">+ calculateDistance() : double</text>
<polygon fill="black" stroke="black" points="174.5,-815 174.5,-815 434.5,-815 434.5,-815 174.5,-815"/>
<polygon fill="black" stroke="black" points="174.5,-663 174.5,-663 434.5,-663 434.5,-663 174.5,-663"/>
<path fill="none" stroke="black" d="M186.5,-608C186.5,-608 422.5,-608 422.5,-608 428.5,-608 434.5,-614 434.5,-620 434.5,-620 434.5,-826 434.5,-826 434.5,-832 428.5,-838 422.5,-838 422.5,-838 186.5,-838 186.5,-838 180.5,-838 174.5,-832 174.5,-826 174.5,-826 174.5,-620 174.5,-620 174.5,-614 180.5,-608 186.5,-608"/>
</g>
<!-- Customer&#45;&gt;DeliveryOrder -->
<g id="edge1" class="edge">
<title>Customer&#45;&gt;DeliveryOrder</title>
<path fill="none" stroke="#4a4a4a" d="M669,-927.93C669,-880.07 669,-836 669,-836 669,-836 452.56,-836 452.56,-836"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="452.56,-832.5 442.56,-836 452.56,-839.5 452.56,-832.5"/>
<text text-anchor="middle" x="444.56" y="-838.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="666" y="-920.73" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Rating -->
<g id="node10" class="node">
<title>Rating</title>
<path fill="#e8e8e8" stroke="transparent" d="M1168.5,-306C1168.5,-306 1410.5,-306 1410.5,-306 1416.5,-306 1422.5,-312 1422.5,-318 1422.5,-318 1422.5,-502 1422.5,-502 1422.5,-508 1416.5,-514 1410.5,-514 1410.5,-514 1168.5,-514 1168.5,-514 1162.5,-514 1156.5,-508 1156.5,-502 1156.5,-502 1156.5,-318 1156.5,-318 1156.5,-312 1162.5,-306 1168.5,-306"/>
<polygon fill="#bebebe" stroke="transparent" points="1157.5,-491 1157.5,-513 1421.5,-513 1421.5,-491 1157.5,-491"/>
<text text-anchor="start" x="1272" y="-500.2" font-family="Arial" font-weight="bold" font-size="11.00">Rating</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-481 1157.5,-491 1421.5,-491 1421.5,-481 1157.5,-481"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-459 1157.5,-481 1421.5,-481 1421.5,-459 1157.5,-459"/>
<text text-anchor="start" x="1162.5" y="-467.2" font-family="Arial" font-size="11.00">&#45; ratingId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-437 1157.5,-459 1421.5,-459 1421.5,-437 1157.5,-437"/>
<text text-anchor="start" x="1162.5" y="-445.2" font-family="Arial" font-size="11.00">+ customerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-415 1157.5,-437 1421.5,-437 1421.5,-415 1157.5,-415"/>
<text text-anchor="start" x="1162.5" y="-423.2" font-family="Arial" font-size="11.00">+ driverId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-393 1157.5,-415 1421.5,-415 1421.5,-393 1157.5,-393"/>
<text text-anchor="start" x="1162.5" y="-401.2" font-family="Arial" font-size="11.00">+ score : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-371 1157.5,-393 1421.5,-393 1421.5,-371 1157.5,-371"/>
<text text-anchor="start" x="1162.5" y="-379.2" font-family="Arial" font-size="11.00">+ comment : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-361 1157.5,-371 1421.5,-371 1421.5,-361 1157.5,-361"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-351 1157.5,-361 1421.5,-361 1421.5,-351 1157.5,-351"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-329 1157.5,-351 1421.5,-351 1421.5,-329 1157.5,-329"/>
<text text-anchor="start" x="1162.5" y="-337.2" font-family="Arial" font-size="11.00">+ Rating(customerId: String, driverId: String) : Rating</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-307 1157.5,-329 1421.5,-329 1421.5,-307 1157.5,-307"/>
<text text-anchor="start" x="1162.5" y="-315.2" font-family="Arial" font-size="11.00">+ updateScore(newScore: int) : void</text>
<polygon fill="black" stroke="black" points="1156.5,-491 1156.5,-491 1422.5,-491 1422.5,-491 1156.5,-491"/>
<polygon fill="black" stroke="black" points="1156.5,-361 1156.5,-361 1422.5,-361 1422.5,-361 1156.5,-361"/>
<path fill="none" stroke="black" d="M1168.5,-306C1168.5,-306 1410.5,-306 1410.5,-306 1416.5,-306 1422.5,-312 1422.5,-318 1422.5,-318 1422.5,-502 1422.5,-502 1422.5,-508 1416.5,-514 1410.5,-514 1410.5,-514 1168.5,-514 1168.5,-514 1162.5,-514 1156.5,-508 1156.5,-502 1156.5,-502 1156.5,-318 1156.5,-318 1156.5,-312 1162.5,-306 1168.5,-306"/>
</g>
<!-- Customer&#45;&gt;Rating -->
<g id="edge10" class="edge">
<title>Customer&#45;&gt;Rating</title>
<path fill="none" stroke="#4a4a4a" d="M879.08,-1047C1055.86,-1047 1336.5,-1047 1336.5,-1047 1336.5,-1047 1336.5,-528.06 1336.5,-528.06"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1340,-528.06 1336.5,-518.06 1333,-528.06 1340,-528.06"/>
<text text-anchor="middle" x="1334.5" y="-520.86" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="882.08" y="-1049.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Assignment -->
<g id="node4" class="node">
<title>Assignment</title>
<path fill="#e8e8e8" stroke="transparent" d="M424,-306C424,-306 695,-306 695,-306 701,-306 707,-312 707,-318 707,-318 707,-502 707,-502 707,-508 701,-514 695,-514 695,-514 424,-514 424,-514 418,-514 412,-508 412,-502 412,-502 412,-318 412,-318 412,-312 418,-306 424,-306"/>
<polygon fill="#bebebe" stroke="transparent" points="413.5,-491 413.5,-513 706.5,-513 706.5,-491 413.5,-491"/>
<text text-anchor="start" x="528" y="-500.2" font-family="Arial" font-weight="bold" font-size="11.00">Assignment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-481 413.5,-491 706.5,-491 706.5,-481 413.5,-481"/>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-459 413.5,-481 706.5,-481 706.5,-459 413.5,-459"/>
<text text-anchor="start" x="418.5" y="-467.2" font-family="Arial" font-size="11.00">&#45; assignmentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-437 413.5,-459 706.5,-459 706.5,-437 413.5,-437"/>
<text text-anchor="start" x="418.5" y="-445.2" font-family="Arial" font-size="11.00">+ orderId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-415 413.5,-437 706.5,-437 706.5,-415 413.5,-415"/>
<text text-anchor="start" x="418.5" y="-423.2" font-family="Arial" font-size="11.00">+ driverId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-393 413.5,-415 706.5,-415 706.5,-393 413.5,-393"/>
<text text-anchor="start" x="418.5" y="-401.2" font-family="Arial" font-size="11.00">+ assignmentTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-371 413.5,-393 706.5,-393 706.5,-371 413.5,-371"/>
<text text-anchor="start" x="418.5" y="-379.2" font-family="Arial" font-size="11.00">+ status : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-361 413.5,-371 706.5,-371 706.5,-361 413.5,-361"/>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-351 413.5,-361 706.5,-361 706.5,-351 413.5,-351"/>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-329 413.5,-351 706.5,-351 706.5,-329 413.5,-329"/>
<text text-anchor="start" x="418.5" y="-337.2" font-family="Arial" font-size="11.00">+ Assignment(orderId: String, driverId: String) : Assignment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="413.5,-307 413.5,-329 706.5,-329 706.5,-307 413.5,-307"/>
<text text-anchor="start" x="418.5" y="-315.2" font-family="Arial" font-size="11.00">+ updateStatus(newStatus: String) : void</text>
<polygon fill="black" stroke="black" points="412.5,-491 412.5,-491 707.5,-491 707.5,-491 412.5,-491"/>
<polygon fill="black" stroke="black" points="412.5,-361 412.5,-361 707.5,-361 707.5,-361 412.5,-361"/>
<path fill="none" stroke="black" d="M424,-306C424,-306 695,-306 695,-306 701,-306 707,-312 707,-318 707,-318 707,-502 707,-502 707,-508 701,-514 695,-514 695,-514 424,-514 424,-514 418,-514 412,-508 412,-502 412,-502 412,-318 412,-318 412,-312 418,-306 424,-306"/>
</g>
<!-- DeliveryOrder&#45;&gt;Assignment -->
<g id="edge3" class="edge">
<title>DeliveryOrder&#45;&gt;Assignment</title>
<path fill="none" stroke="#4a4a4a" d="M423.25,-603.78C423.25,-603.78 423.25,-528.11 423.25,-528.11"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="426.75,-528.11 423.25,-518.11 419.75,-528.11 426.75,-528.11"/>
<text text-anchor="middle" x="420.25" y="-520.91" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="420.25" y="-596.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Tracking -->
<g id="node8" class="node">
<title>Tracking</title>
<path fill="#e8e8e8" stroke="transparent" d="M631,-4C631,-4 810,-4 810,-4 816,-4 822,-10 822,-16 822,-16 822,-200 822,-200 822,-206 816,-212 810,-212 810,-212 631,-212 631,-212 625,-212 619,-206 619,-200 619,-200 619,-16 619,-16 619,-10 625,-4 631,-4"/>
<polygon fill="#bebebe" stroke="transparent" points="620.5,-189 620.5,-211 821.5,-211 821.5,-189 620.5,-189"/>
<text text-anchor="start" x="698" y="-198.2" font-family="Arial" font-weight="bold" font-size="11.00">Tracking</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-179 620.5,-189 821.5,-189 821.5,-179 620.5,-179"/>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-157 620.5,-179 821.5,-179 821.5,-157 620.5,-157"/>
<text text-anchor="start" x="625.5" y="-165.2" font-family="Arial" font-size="11.00">&#45; trackingId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-135 620.5,-157 821.5,-157 821.5,-135 620.5,-135"/>
<text text-anchor="start" x="625.5" y="-143.2" font-family="Arial" font-size="11.00">+ orderId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-113 620.5,-135 821.5,-135 821.5,-113 620.5,-113"/>
<text text-anchor="start" x="625.5" y="-121.2" font-family="Arial" font-size="11.00">+ currentLocation : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-91 620.5,-113 821.5,-113 821.5,-91 620.5,-91"/>
<text text-anchor="start" x="625.5" y="-99.2" font-family="Arial" font-size="11.00">+ lastUpdate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-69 620.5,-91 821.5,-91 821.5,-69 620.5,-69"/>
<text text-anchor="start" x="625.5" y="-77.2" font-family="Arial" font-size="11.00">+ estimatedArrival : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-59 620.5,-69 821.5,-69 821.5,-59 620.5,-59"/>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-49 620.5,-59 821.5,-59 821.5,-49 620.5,-49"/>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-27 620.5,-49 821.5,-49 821.5,-27 620.5,-27"/>
<text text-anchor="start" x="625.5" y="-35.2" font-family="Arial" font-size="11.00">+ Tracking(orderId: String) : Tracking</text>
<polygon fill="#e8e8e8" stroke="transparent" points="620.5,-5 620.5,-27 821.5,-27 821.5,-5 620.5,-5"/>
<text text-anchor="start" x="625.5" y="-13.2" font-family="Arial" font-size="11.00">+ updateLocation(location: String) : void</text>
<polygon fill="black" stroke="black" points="619.5,-189 619.5,-189 822.5,-189 822.5,-189 619.5,-189"/>
<polygon fill="black" stroke="black" points="619.5,-59 619.5,-59 822.5,-59 822.5,-59 619.5,-59"/>
<path fill="none" stroke="black" d="M631,-4C631,-4 810,-4 810,-4 816,-4 822,-10 822,-16 822,-16 822,-200 822,-200 822,-206 816,-212 810,-212 810,-212 631,-212 631,-212 625,-212 619,-206 619,-200 619,-200 619,-16 619,-16 619,-10 625,-4 631,-4"/>
</g>
<!-- DeliveryOrder&#45;&gt;Tracking -->
<g id="edge7" class="edge">
<title>DeliveryOrder&#45;&gt;Tracking</title>
<path fill="none" stroke="#4a4a4a" d="M442.71,-609C566.12,-609 727.5,-609 727.5,-609 727.5,-609 727.5,-226.09 727.5,-226.09"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="731,-226.09 727.5,-216.09 724,-226.09 731,-226.09"/>
<text text-anchor="middle" x="724.5" y="-218.89" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="445.71" y="-611.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Delivery -->
<g id="node9" class="node">
<title>Delivery</title>
<path fill="#e8e8e8" stroke="transparent" d="M20,-306C20,-306 207,-306 207,-306 213,-306 219,-312 219,-318 219,-318 219,-502 219,-502 219,-508 213,-514 207,-514 207,-514 20,-514 20,-514 14,-514 8,-508 8,-502 8,-502 8,-318 8,-318 8,-312 14,-306 20,-306"/>
<polygon fill="#bebebe" stroke="transparent" points="9.5,-491 9.5,-513 218.5,-513 218.5,-491 9.5,-491"/>
<text text-anchor="start" x="92.5" y="-500.2" font-family="Arial" font-weight="bold" font-size="11.00">Delivery</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-481 9.5,-491 218.5,-491 218.5,-481 9.5,-481"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-459 9.5,-481 218.5,-481 218.5,-459 9.5,-459"/>
<text text-anchor="start" x="14.5" y="-467.2" font-family="Arial" font-size="11.00">&#45; deliveryId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-437 9.5,-459 218.5,-459 218.5,-437 9.5,-437"/>
<text text-anchor="start" x="14.5" y="-445.2" font-family="Arial" font-size="11.00">+ orderId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-415 9.5,-437 218.5,-437 218.5,-415 9.5,-415"/>
<text text-anchor="start" x="14.5" y="-423.2" font-family="Arial" font-size="11.00">+ deliveryTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-393 9.5,-415 218.5,-415 218.5,-393 9.5,-393"/>
<text text-anchor="start" x="14.5" y="-401.2" font-family="Arial" font-size="11.00">+ receiverName : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-371 9.5,-393 218.5,-393 218.5,-371 9.5,-371"/>
<text text-anchor="start" x="14.5" y="-379.2" font-family="Arial" font-size="11.00">+ signature : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-361 9.5,-371 218.5,-371 218.5,-361 9.5,-361"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-351 9.5,-361 218.5,-361 218.5,-351 9.5,-351"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-329 9.5,-351 218.5,-351 218.5,-329 9.5,-329"/>
<text text-anchor="start" x="14.5" y="-337.2" font-family="Arial" font-size="11.00">+ Delivery(orderId: String) : Delivery</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-307 9.5,-329 218.5,-329 218.5,-307 9.5,-307"/>
<text text-anchor="start" x="14.5" y="-315.2" font-family="Arial" font-size="11.00">+ confirmDelivery(signature: String) : void</text>
<polygon fill="black" stroke="black" points="8.5,-491 8.5,-491 219.5,-491 219.5,-491 8.5,-491"/>
<polygon fill="black" stroke="black" points="8.5,-361 8.5,-361 219.5,-361 219.5,-361 8.5,-361"/>
<path fill="none" stroke="black" d="M20,-306C20,-306 207,-306 207,-306 213,-306 219,-312 219,-318 219,-318 219,-502 219,-502 219,-508 213,-514 207,-514 207,-514 20,-514 20,-514 14,-514 8,-508 8,-502 8,-502 8,-318 8,-318 8,-312 14,-306 20,-306"/>
</g>
<!-- DeliveryOrder&#45;&gt;Delivery -->
<g id="edge9" class="edge">
<title>DeliveryOrder&#45;&gt;Delivery</title>
<path fill="none" stroke="#4a4a4a" d="M196.75,-603.78C196.75,-603.78 196.75,-528.11 196.75,-528.11"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="200.25,-528.11 196.75,-518.11 193.25,-528.11 200.25,-528.11"/>
<text text-anchor="middle" x="193.75" y="-520.91" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="193.75" y="-596.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Dispatcher -->
<g id="node3" class="node">
<title>Dispatcher</title>
<path fill="#e8e8e8" stroke="transparent" d="M521,-630C521,-630 720,-630 720,-630 726,-630 732,-636 732,-642 732,-642 732,-804 732,-804 732,-810 726,-816 720,-816 720,-816 521,-816 521,-816 515,-816 509,-810 509,-804 509,-804 509,-642 509,-642 509,-636 515,-630 521,-630"/>
<polygon fill="#bebebe" stroke="transparent" points="510.5,-793 510.5,-815 731.5,-815 731.5,-793 510.5,-793"/>
<text text-anchor="start" x="592" y="-802.2" font-family="Arial" font-weight="bold" font-size="11.00">Dispatcher</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-783 510.5,-793 731.5,-793 731.5,-783 510.5,-783"/>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-761 510.5,-783 731.5,-783 731.5,-761 510.5,-761"/>
<text text-anchor="start" x="515.5" y="-769.2" font-family="Arial" font-size="11.00">&#45; dispatcherId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-739 510.5,-761 731.5,-761 731.5,-739 510.5,-739"/>
<text text-anchor="start" x="515.5" y="-747.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-717 510.5,-739 731.5,-739 731.5,-717 510.5,-717"/>
<text text-anchor="start" x="515.5" y="-725.2" font-family="Arial" font-size="11.00">+ shift : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-695 510.5,-717 731.5,-717 731.5,-695 510.5,-695"/>
<text text-anchor="start" x="515.5" y="-703.2" font-family="Arial" font-size="11.00">+ activeOrders : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-685 510.5,-695 731.5,-695 731.5,-685 510.5,-685"/>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-675 510.5,-685 731.5,-685 731.5,-675 510.5,-675"/>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-653 510.5,-675 731.5,-675 731.5,-653 510.5,-653"/>
<text text-anchor="start" x="515.5" y="-661.2" font-family="Arial" font-size="11.00">+ Dispatcher(name: String) : Dispatcher</text>
<polygon fill="#e8e8e8" stroke="transparent" points="510.5,-631 510.5,-653 731.5,-653 731.5,-631 510.5,-631"/>
<text text-anchor="start" x="515.5" y="-639.2" font-family="Arial" font-size="11.00">+ assignDriver(orderId: String) : Assignment</text>
<polygon fill="black" stroke="black" points="509.5,-793 509.5,-793 732.5,-793 732.5,-793 509.5,-793"/>
<polygon fill="black" stroke="black" points="509.5,-685 509.5,-685 732.5,-685 732.5,-685 509.5,-685"/>
<path fill="none" stroke="black" d="M521,-630C521,-630 720,-630 720,-630 726,-630 732,-636 732,-642 732,-642 732,-804 732,-804 732,-810 726,-816 720,-816 720,-816 521,-816 521,-816 515,-816 509,-810 509,-804 509,-804 509,-642 509,-642 509,-636 515,-630 521,-630"/>
</g>
<!-- Dispatcher&#45;&gt;Assignment -->
<g id="edge2" class="edge">
<title>Dispatcher&#45;&gt;Assignment</title>
<path fill="none" stroke="#4a4a4a" d="M572.33,-625.68C572.33,-625.68 572.33,-528.16 572.33,-528.16"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="575.83,-528.16 572.33,-518.16 568.83,-528.16 575.83,-528.16"/>
<text text-anchor="middle" x="570.33" y="-520.96" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="569.33" y="-618.48" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Route -->
<g id="node7" class="node">
<title>Route</title>
<path fill="#e8e8e8" stroke="transparent" d="M264.5,-4C264.5,-4 532.5,-4 532.5,-4 538.5,-4 544.5,-10 544.5,-16 544.5,-16 544.5,-200 544.5,-200 544.5,-206 538.5,-212 532.5,-212 532.5,-212 264.5,-212 264.5,-212 258.5,-212 252.5,-206 252.5,-200 252.5,-200 252.5,-16 252.5,-16 252.5,-10 258.5,-4 264.5,-4"/>
<polygon fill="#bebebe" stroke="transparent" points="253.5,-189 253.5,-211 543.5,-211 543.5,-189 253.5,-189"/>
<text text-anchor="start" x="382.5" y="-198.2" font-family="Arial" font-weight="bold" font-size="11.00">Route</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-179 253.5,-189 543.5,-189 543.5,-179 253.5,-179"/>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-157 253.5,-179 543.5,-179 543.5,-157 253.5,-157"/>
<text text-anchor="start" x="258.5" y="-165.2" font-family="Arial" font-size="11.00">&#45; routeId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-135 253.5,-157 543.5,-157 543.5,-135 253.5,-135"/>
<text text-anchor="start" x="258.5" y="-143.2" font-family="Arial" font-size="11.00">+ assignmentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-113 253.5,-135 543.5,-135 543.5,-113 253.5,-113"/>
<text text-anchor="start" x="258.5" y="-121.2" font-family="Arial" font-size="11.00">+ startLocation : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-91 253.5,-113 543.5,-113 543.5,-91 253.5,-91"/>
<text text-anchor="start" x="258.5" y="-99.2" font-family="Arial" font-size="11.00">+ endLocation : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-69 253.5,-91 543.5,-91 543.5,-69 253.5,-69"/>
<text text-anchor="start" x="258.5" y="-77.2" font-family="Arial" font-size="11.00">+ estimatedTime : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-59 253.5,-69 543.5,-69 543.5,-59 253.5,-59"/>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-49 253.5,-59 543.5,-59 543.5,-49 253.5,-49"/>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-27 253.5,-49 543.5,-49 543.5,-27 253.5,-27"/>
<text text-anchor="start" x="258.5" y="-35.2" font-family="Arial" font-size="11.00">+ Route(startLocation: String, endLocation: String) : Route</text>
<polygon fill="#e8e8e8" stroke="transparent" points="253.5,-5 253.5,-27 543.5,-27 543.5,-5 253.5,-5"/>
<text text-anchor="start" x="258.5" y="-13.2" font-family="Arial" font-size="11.00">+ optimize() : void</text>
<polygon fill="black" stroke="black" points="252.5,-189 252.5,-189 544.5,-189 544.5,-189 252.5,-189"/>
<polygon fill="black" stroke="black" points="252.5,-59 252.5,-59 544.5,-59 544.5,-59 252.5,-59"/>
<path fill="none" stroke="black" d="M264.5,-4C264.5,-4 532.5,-4 532.5,-4 538.5,-4 544.5,-10 544.5,-16 544.5,-16 544.5,-200 544.5,-200 544.5,-206 538.5,-212 532.5,-212 532.5,-212 264.5,-212 264.5,-212 258.5,-212 252.5,-206 252.5,-200 252.5,-200 252.5,-16 252.5,-16 252.5,-10 258.5,-4 264.5,-4"/>
</g>
<!-- Assignment&#45;&gt;Route -->
<g id="edge6" class="edge">
<title>Assignment&#45;&gt;Route</title>
<path fill="none" stroke="#4a4a4a" d="M478.25,-301.82C478.25,-301.82 478.25,-226.18 478.25,-226.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="481.75,-226.18 478.25,-216.18 474.75,-226.18 481.75,-226.18"/>
<text text-anchor="middle" x="475.25" y="-218.98" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="475.25" y="-294.62" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Assignment&#45;&gt;Tracking -->
<g id="edge12" class="edge">
<title>Assignment&#45;&gt;Tracking</title>
<path fill="none" stroke="#4a4a4a" stroke-dasharray="5,2" d="M663,-301.82C663,-301.82 663,-226.18 663,-226.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="666.5,-226.18 663,-216.18 659.5,-226.18 666.5,-226.18"/>
<text text-anchor="middle" x="660" y="-218.98" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="660" y="-294.62" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Driver -->
<g id="node5" class="node">
<title>Driver</title>
<path fill="#e8e8e8" stroke="transparent" d="M818,-619C818,-619 1065,-619 1065,-619 1071,-619 1077,-625 1077,-631 1077,-631 1077,-815 1077,-815 1077,-821 1071,-827 1065,-827 1065,-827 818,-827 818,-827 812,-827 806,-821 806,-815 806,-815 806,-631 806,-631 806,-625 812,-619 818,-619"/>
<polygon fill="#bebebe" stroke="transparent" points="807.5,-804 807.5,-826 1076.5,-826 1076.5,-804 807.5,-804"/>
<text text-anchor="start" x="925.5" y="-813.2" font-family="Arial" font-weight="bold" font-size="11.00">Driver</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-794 807.5,-804 1076.5,-804 1076.5,-794 807.5,-794"/>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-772 807.5,-794 1076.5,-794 1076.5,-772 807.5,-772"/>
<text text-anchor="start" x="812.5" y="-780.2" font-family="Arial" font-size="11.00">&#45; driverId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-750 807.5,-772 1076.5,-772 1076.5,-750 807.5,-750"/>
<text text-anchor="start" x="812.5" y="-758.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-728 807.5,-750 1076.5,-750 1076.5,-728 807.5,-728"/>
<text text-anchor="start" x="812.5" y="-736.2" font-family="Arial" font-size="11.00">+ licenseNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-706 807.5,-728 1076.5,-728 1076.5,-706 807.5,-706"/>
<text text-anchor="start" x="812.5" y="-714.2" font-family="Arial" font-size="11.00">+ rating : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-684 807.5,-706 1076.5,-706 1076.5,-684 807.5,-684"/>
<text text-anchor="start" x="812.5" y="-692.2" font-family="Arial" font-size="11.00">+ isAvailable : boolean</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-674 807.5,-684 1076.5,-684 1076.5,-674 807.5,-674"/>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-664 807.5,-674 1076.5,-674 1076.5,-664 807.5,-664"/>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-642 807.5,-664 1076.5,-664 1076.5,-642 807.5,-642"/>
<text text-anchor="start" x="812.5" y="-650.2" font-family="Arial" font-size="11.00">+ Driver(name: String, licenseNumber: String) : Driver</text>
<polygon fill="#e8e8e8" stroke="transparent" points="807.5,-620 807.5,-642 1076.5,-642 1076.5,-620 807.5,-620"/>
<text text-anchor="start" x="812.5" y="-628.2" font-family="Arial" font-size="11.00">+ acceptAssignment(assignmentId: String) : void</text>
<polygon fill="black" stroke="black" points="806.5,-804 806.5,-804 1077.5,-804 1077.5,-804 806.5,-804"/>
<polygon fill="black" stroke="black" points="806.5,-674 806.5,-674 1077.5,-674 1077.5,-674 806.5,-674"/>
<path fill="none" stroke="black" d="M818,-619C818,-619 1065,-619 1065,-619 1071,-619 1077,-625 1077,-631 1077,-631 1077,-815 1077,-815 1077,-821 1071,-827 1065,-827 1065,-827 818,-827 818,-827 812,-827 806,-821 806,-815 806,-815 806,-631 806,-631 806,-625 812,-619 818,-619"/>
</g>
<!-- Driver&#45;&gt;Assignment -->
<g id="edge4" class="edge">
<title>Driver&#45;&gt;Assignment</title>
<path fill="none" stroke="#4a4a4a" d="M797.82,-620C721.66,-620 643.67,-620 643.67,-620 643.67,-620 643.67,-528.08 643.67,-528.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="647.17,-528.08 643.67,-518.08 640.17,-528.08 647.17,-528.08"/>
<text text-anchor="middle" x="641.67" y="-520.88" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="794.82" y="-622.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Vehicle -->
<g id="node6" class="node">
<title>Vehicle</title>
<path fill="#e8e8e8" stroke="transparent" d="M793,-306C793,-306 1070,-306 1070,-306 1076,-306 1082,-312 1082,-318 1082,-318 1082,-502 1082,-502 1082,-508 1076,-514 1070,-514 1070,-514 793,-514 793,-514 787,-514 781,-508 781,-502 781,-502 781,-318 781,-318 781,-312 787,-306 793,-306"/>
<polygon fill="#bebebe" stroke="transparent" points="782.5,-491 782.5,-513 1081.5,-513 1081.5,-491 782.5,-491"/>
<text text-anchor="start" x="913" y="-500.2" font-family="Arial" font-weight="bold" font-size="11.00">Vehicle</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-481 782.5,-491 1081.5,-491 1081.5,-481 782.5,-481"/>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-459 782.5,-481 1081.5,-481 1081.5,-459 782.5,-459"/>
<text text-anchor="start" x="787.5" y="-467.2" font-family="Arial" font-size="11.00">&#45; vehicleId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-437 782.5,-459 1081.5,-459 1081.5,-437 782.5,-437"/>
<text text-anchor="start" x="787.5" y="-445.2" font-family="Arial" font-size="11.00">+ driverId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-415 782.5,-437 1081.5,-437 1081.5,-415 782.5,-415"/>
<text text-anchor="start" x="787.5" y="-423.2" font-family="Arial" font-size="11.00">+ plateNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-393 782.5,-415 1081.5,-415 1081.5,-393 782.5,-393"/>
<text text-anchor="start" x="787.5" y="-401.2" font-family="Arial" font-size="11.00">+ vehicleType : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-371 782.5,-393 1081.5,-393 1081.5,-371 782.5,-371"/>
<text text-anchor="start" x="787.5" y="-379.2" font-family="Arial" font-size="11.00">+ fuelLevel : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-361 782.5,-371 1081.5,-371 1081.5,-361 782.5,-361"/>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-351 782.5,-361 1081.5,-361 1081.5,-351 782.5,-351"/>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-329 782.5,-351 1081.5,-351 1081.5,-329 782.5,-329"/>
<text text-anchor="start" x="787.5" y="-337.2" font-family="Arial" font-size="11.00">+ Vehicle(plateNumber: String, vehicleType: String) : Vehicle</text>
<polygon fill="#e8e8e8" stroke="transparent" points="782.5,-307 782.5,-329 1081.5,-329 1081.5,-307 782.5,-307"/>
<text text-anchor="start" x="787.5" y="-315.2" font-family="Arial" font-size="11.00">+ updateLocation(lat: double, lon: double) : void</text>
<polygon fill="black" stroke="black" points="781.5,-491 781.5,-491 1082.5,-491 1082.5,-491 781.5,-491"/>
<polygon fill="black" stroke="black" points="781.5,-361 781.5,-361 1082.5,-361 1082.5,-361 781.5,-361"/>
<path fill="none" stroke="black" d="M793,-306C793,-306 1070,-306 1070,-306 1076,-306 1082,-312 1082,-318 1082,-318 1082,-502 1082,-502 1082,-508 1076,-514 1070,-514 1070,-514 793,-514 793,-514 787,-514 781,-508 781,-502 781,-502 781,-318 781,-318 781,-312 787,-306 793,-306"/>
</g>
<!-- Driver&#45;&gt;Vehicle -->
<g id="edge5" class="edge">
<title>Driver&#45;&gt;Vehicle</title>
<path fill="none" stroke="#4a4a4a" d="M941.5,-614.84C941.5,-614.84 941.5,-528.16 941.5,-528.16"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="945,-528.16 941.5,-518.16 938,-528.16 945,-528.16"/>
<text text-anchor="middle" x="938.5" y="-520.96" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="938.5" y="-607.64" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Driver&#45;&gt;Rating -->
<g id="edge11" class="edge">
<title>Driver&#45;&gt;Rating</title>
<path fill="none" stroke="#4a4a4a" d="M1085.39,-723C1162.78,-723 1242.5,-723 1242.5,-723 1242.5,-723 1242.5,-528.16 1242.5,-528.16"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1246,-528.16 1242.5,-518.16 1239,-528.16 1246,-528.16"/>
<text text-anchor="middle" x="1240.5" y="-520.96" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1088.39" y="-725.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Vehicle&#45;&gt;Tracking -->
<g id="edge8" class="edge">
<title>Vehicle&#45;&gt;Tracking</title>
<path fill="none" stroke="#4a4a4a" stroke-dasharray="5,2" d="M801.5,-301.82C801.5,-301.82 801.5,-226.18 801.5,-226.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="805,-226.18 801.5,-216.18 798,-226.18 805,-226.18"/>
<text text-anchor="middle" x="799.5" y="-218.98" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="798.5" y="-294.62" font-family="Arial" font-size="9.00">1</text>
</g>
</g>
</svg>