-
Notifications
You must be signed in to change notification settings - Fork 1
/
umple_code.ump
168 lines (133 loc) · 2.23 KB
/
umple_code.ump
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
// ECSE 321 Domain model draft 2
class RepairShop
{
1 <@>- * TimeSlot;
1 <@>- 0..1 Business;
1 <@>- * Person;
1 <@>- * Bill;
1 <@>- * Service;
1 <@>- * Appointment;
}
class Business
{name;
address;
phoneNumber;
email;
Long id;
0..1 -> * TimeSlot timeslot;
}
class TimeSlot
{
Date date;
Time startTime;
Time endTime;
Long id;
}
class Service
{name;
float cost;
Integer duration ;
Long id;
}
class Bill
{
Date date;
float totalCost ;
Long id;
}
class Customer
{
isA Person;
lazy cardNumber;
lazy cvv;
lazy Date expiry;
1 -- * Bill;
}
class Owner
{
isA Person;
}
class Appointment
{
Long id;
* -- 1 Service;
* -- 1 Customer;
0..1 ->1 TimeSlot timeslot;
* -- 1 Bill;
}
class Technician
{
isA Person;
* -> * TimeSlot;
}
class Person
{
abstract;
email;
username;
password;
Long id;
}
class Administrator
{
isA Person;
}
namespace -;
class RepairShop
{
position 431 23 109 40;
position.association Appointment__RepairShop 69,40 70,0;
position.association Person__RepairShop 110,11 30,0;
position.association Bill__RepairShop 110,40 30,0;
position.association Business__RepairShop 0,7 133,0;
position.association RepairShop__TimeSlot 0,34 114,0;
position.association RepairShop__Service 30,40 90,0;
}
class Business
{
position 54 130 169 125;
position.association Business__TimeSlot:service 10,125 26,0;
position.association Business__TimeSlot:timeslot 5,125 25,0;
}
class TimeSlot
{
position 35 402 131 108;
}
class Service
{
position 305 174 139 108;
}
class Bill
{
position 655 194 124 91;
}
class Customer
{
position 492 451 157 91;
position.association Bill__Customer 118,0 52,91;
}
class Owner
{
position 731 454 109 40;
}
class Appointment
{
position 444 301 109 57;
position.association Appointment__TimeSlot:timeslot 0,10 132,33;
position.association Appointment__Service 35,0 140,55;
position.association Appointment__Bill 110,4 0,7;
position.association Appointment__Customer 95,57 19,0;
}
class Technician
{
position 326 451 109 40;
position.association Technician__TimeSlot 0,10 132,83;
}
class Person
{
position 906 267 142 123;
}
class Administrator
{
position 864 455 109 40;
}//$?[End_of_model]$?