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
|
1
00:00:00,460 --> 00:00:03,276
>> And before we get started actually, I'd like to mention that there's
2
00:00:03,276 --> 00:00:05,124
just, you know, FYI, there's different kinds
3
00:00:05,124 --> 00:00:06,708
of verbs because what I'm looking for
4
00:00:06,708 --> 00:00:10,099
is really action verbs. So verb, verbs that clearly express an action that
5
00:00:10,099 --> 00:00:13,580
can tell me that, you know, what, for example, an item could do, 'kay?
6
00:00:13,580 --> 00:00:13,820
>> Okay?
7
00:00:13,820 --> 00:00:16,620
>> Not the verbs that represent, for example, relationships, 'kay?
8
00:00:16,620 --> 00:00:17,076
>> Okay.
9
00:00:17,076 --> 00:00:19,080
>> So, and the, there, and the ones
10
00:00:19,080 --> 00:00:22,020
that I've identified und, underlined here actually, I,
11
00:00:22,020 --> 00:00:26,158
I underlined complete sentences so that you kind of we can look at the verbs in
12
00:00:26,158 --> 00:00:29,150
in context. And the first one is this
13
00:00:29,150 --> 00:00:30,850
sentence that says that the library may need
14
00:00:30,850 --> 00:00:33,190
to know or to calculate the items a
15
00:00:33,190 --> 00:00:35,790
patron has checked out, when they are due, and
16
00:00:35,790 --> 00:00:38,860
any outstanding overdue fines. So I, I will
17
00:00:38,860 --> 00:00:41,430
imagine that this is representing a situation in
18
00:00:41,430 --> 00:00:44,224
which you bring up a patron's record and
19
00:00:44,224 --> 00:00:46,131
you start looking up this information. Is that [CROSSTALK]
20
00:00:46,131 --> 00:00:50,970
>> The, the patron often wants to know what they have currently checked out.
21
00:00:50,970 --> 00:00:51,044
>> Oh,
22
00:00:51,044 --> 00:00:51,282
alright.
23
00:00:51,282 --> 00:00:53,260
>> Or when are their due or how much they're owed or.
24
00:00:53,260 --> 00:00:55,100
>> Oh, in fact, and then now that you mentioned it,
25
00:00:55,100 --> 00:00:57,500
I think you sent me. One of the scenarios you sent
26
00:00:57,500 --> 00:00:59,400
me had to do with that, right, with the patron coming
27
00:00:59,400 --> 00:01:01,930
in and asking for this information. So yeah, and it makes
28
00:01:01,930 --> 00:01:05,025
a lot of sense. So what I'm going to do, I'm going to
29
00:01:05,025 --> 00:01:10,520
model this by adding this three operations to the patron method.
30
00:01:10,520 --> 00:01:13,410
The first one, I'm going to call, itemsCheckedOut and, basically, it's an
31
00:01:13,410 --> 00:01:16,520
operation, but you don't need to, you know, understand the implementation
32
00:01:16,520 --> 00:01:18,820
details, but when you call this operation, it will
33
00:01:18,820 --> 00:01:21,770
give you back exactly this information, so the items
34
00:01:21,770 --> 00:01:23,864
that are checked out by that patron. The second
35
00:01:23,864 --> 00:01:25,965
one, I'm going to call it whenDue. That will tell you
36
00:01:25,965 --> 00:01:29,080
basically when a, when an item is due. And
37
00:01:29,080 --> 00:01:32,550
the third one is going to be called the outstandingOverdueFines and,
38
00:01:32,550 --> 00:01:34,510
you know, as the name says, it's going to tell
39
00:01:34,510 --> 00:01:36,860
you what are the outstanding overdue fines for that patron.
40
00:01:36,860 --> 00:01:37,300
>> Okay.
41
00:01:37,300 --> 00:01:39,306
>> And as you might notice I mean,
42
00:01:39,306 --> 00:01:41,843
I, I'm going to separate the, the, the attributes
43
00:01:41,843 --> 00:01:44,085
from the operations by having a separate kind
44
00:01:44,085 --> 00:01:46,386
of subrectangle so, in this way, it's clear
45
00:01:46,386 --> 00:01:48,274
what is attribute and what is, what is
46
00:01:48,274 --> 00:01:51,000
an attribute and what's an, what's an operation.
47
00:01:51,000 --> 00:01:51,420
>> Gotcha.
48
00:01:51,420 --> 00:01:57,540
>> And let me see then. Okay, for the
49
00:01:57,540 --> 00:02:00,040
second one you can see that that patron can check
50
00:02:00,040 --> 00:02:02,990
out books and audio visual materials. So I guess,
51
00:02:02,990 --> 00:02:06,880
similarly you, you build kind of the record for a patron.
52
00:02:06,880 --> 00:02:09,150
The patron will give you an item and you will record
53
00:02:09,150 --> 00:02:11,020
the fact that the patron is kind of checking it out.
54
00:02:11,020 --> 00:02:15,730
>> Right. And is that operation related to this,
55
00:02:15,730 --> 00:02:18,150
the checked out attribute that we did a minute ago?
56
00:02:18,150 --> 00:02:21,495
>> It is actually because what will happen then again, you know, if we jump
57
00:02:21,495 --> 00:02:24,975
ahead a little bit would be that every time you invoke this operation. So I'm
58
00:02:24,975 --> 00:02:26,810
going to represent this as a checkOut operation
59
00:02:26,810 --> 00:02:28,896
for the patron. Every time you invoke this,
60
00:02:28,896 --> 00:02:31,920
you will also have to say something about the item and so we will also
61
00:02:31,920 --> 00:02:35,700
flip kind of that that, that build information in the, in the, in the item.
62
00:02:35,700 --> 00:02:36,904
>> Okay.
63
00:02:36,904 --> 00:02:39,680
>> Mm, 'kay? And, and finally, here, I can see that
64
00:02:39,680 --> 00:02:42,660
a patron can request a book or an audio video item Is
65
00:02:42,660 --> 00:02:46,240
not currently in. So I guess this is referring to items that
66
00:02:46,240 --> 00:02:48,980
are already checked out but for which there is interest. Is that?
67
00:02:48,980 --> 00:02:54,770
>> Right. So, particularly, the popular items the patrons want to get on
68
00:02:54,770 --> 00:02:57,140
the list so that they get notified when it comes back in and.
69
00:02:57,140 --> 00:02:57,204
>> Oh.
70
00:02:57,204 --> 00:02:57,730
>> And check it out.
71
00:02:57,730 --> 00:03:00,570
>> I see. I see. Okay. Then I'm going to do
72
00:03:00,570 --> 00:03:04,400
the same thing here. I'm, I'm going to add this method,
73
00:03:04,400 --> 00:03:08,510
which I'm going to call request and I'm going to put it
74
00:03:08,510 --> 00:03:11,340
here in the list of the methods in the list.
75
00:03:11,340 --> 00:03:11,450
>> Okay.
76
00:03:11,450 --> 00:03:12,810
>> Of operations for the, for the patron, okay?
|