about summary refs log tree commit diff
path: root/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/5 - Identifying Operations - lang_en.srt
blob: 74ca3889cea720b5a5a58a68d280ac6c6ab51369 (plain) (blame)
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?