about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/28 - Use Case Example - lang_en_vs5.srt
blob: 8f8beadb84b1c26f37074173eb2c2baae9333a94 (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
1
00:00:00,140 --> 00:00:02,310
So, as we did for the previous cases, now let's look

2
00:00:02,310 --> 00:00:06,890
at an example. Let's consider a specific use case, maintain curriculum, in

3
00:00:06,890 --> 00:00:10,570
which we have the registrar that interacts with the system to do

4
00:00:10,570 --> 00:00:14,320
operations for maintaining the curriculum. And, let's define the flow of events

5
00:00:14,320 --> 00:00:17,040
for this use case. To do this, we're going to go back, as

6
00:00:17,040 --> 00:00:20,380
usual, to the description of our system. So this is the one

7
00:00:20,380 --> 00:00:22,670
that you already saw several times, but I would like for you

8
00:00:22,670 --> 00:00:25,080
to do something. I would like for you to stop the video,

9
00:00:25,080 --> 00:00:27,890
look back at the spec, the one that is shown here.

10
00:00:27,890 --> 00:00:30,850
And write on your own, what you think is the informal flow

11
00:00:30,850 --> 00:00:35,060
of events that categorizes the interaction of the registration manager with

12
00:00:35,060 --> 00:00:37,500
the system. And it is very important that you keep in mind

13
00:00:37,500 --> 00:00:40,140
something as you're doing that. You should keep in mind that,

14
00:00:40,140 --> 00:00:41,940
as it always happens, when extracting

15
00:00:41,940 --> 00:00:44,270
requirements from an initial specification, in

16
00:00:44,270 --> 00:00:47,570
particular an informal one like this one, a high-level one, you

17
00:00:47,570 --> 00:00:50,130
will have to be able to read between the lines and fill

18
00:00:50,130 --> 00:00:52,690
in the blanks. That is, you have to provide the information

19
00:00:52,690 --> 00:00:55,770
for the missing parts using your domain knowledge. So try to

20
00:00:55,770 --> 00:00:58,820
do that exercise. Read the description, and see how you will

21
00:00:58,820 --> 00:01:02,470
define the steps, the flow of events for the maintain curriculum use

22
00:01:02,470 --> 00:01:06,230
case. If you're done with that, now let's see the possible

23
00:01:06,230 --> 00:01:09,080
informal paragraph that describes that flow of events. And the one

24
00:01:09,080 --> 00:01:12,070
I'm providing now is just one possibility, based on my experience

25
00:01:12,070 --> 00:01:15,040
and based on the way I see this possible flow of events.

26
00:01:15,040 --> 00:01:17,950
So yours might look different, of course. In my case, because

27
00:01:17,950 --> 00:01:20,880
the description was measuring the fact that every user has got

28
00:01:20,880 --> 00:01:23,590
a log-in and a password. I decided that the first step

29
00:01:23,590 --> 00:01:27,120
should be that the registrar logs onto the system and enters his

30
00:01:27,120 --> 00:01:30,390
or her password. As it normally happens with password protected systems,

31
00:01:30,390 --> 00:01:32,660
if the password is valid, the registrar will get into the

32
00:01:32,660 --> 00:01:35,870
system. And the system at this point should ask to specify

33
00:01:35,870 --> 00:01:40,810
a semester for which the maintain curriculum activity has to be performed.

34
00:01:40,810 --> 00:01:44,290
The registrar will therefor enter the desired semester. The interface

35
00:01:44,290 --> 00:01:46,740
I envisioned is one in which the system will prompt

36
00:01:46,740 --> 00:01:50,690
the registrar to select the desired activity. Add, delete, review,

37
00:01:50,690 --> 00:01:53,560
or quit. And if the registrar selects add, the system

38
00:01:53,560 --> 00:01:56,060
will allow the registrar to add a course to the

39
00:01:56,060 --> 00:01:59,660
course list for the selected semester. Similarly, if the registrar

40
00:01:59,660 --> 00:02:02,550
selects delete, the system will let the registrar delete a

41
00:02:02,550 --> 00:02:05,840
course from the course list for the selected semester. And again

42
00:02:05,840 --> 00:02:08,660
similarly, if the registrar selects review, the system will

43
00:02:08,660 --> 00:02:12,030
simply display the course information in the course list for

44
00:02:12,030 --> 00:02:15,230
the selected semester. And finally, if the registrar selects quit,

45
00:02:15,230 --> 00:02:18,110
the system will simply exit and our use case will

46
00:02:18,110 --> 00:02:21,150
end. So, again, there's the main knowledge that goes into

47
00:02:21,150 --> 00:02:23,620
this. But this is a good example of how you

48
00:02:23,620 --> 00:02:27,960
can refine the initial description to identify these scenarios that

49
00:02:27,960 --> 00:02:30,830
then you will use to specify and implement your system.

50
00:02:30,830 --> 00:02:33,770
And as we discussed a few minutes ago, we provided the information

51
00:02:33,770 --> 00:02:37,420
that is requested for the use case, how the use case starts,

52
00:02:37,420 --> 00:02:40,620
by logging into the system. And how it ends, by selecting quit.

53
00:02:40,620 --> 00:02:43,294
We described the normal flow of events. And, of course, these flow

54
00:02:43,294 --> 00:02:46,580
of events could be improved, because right now even though we described

55
00:02:46,580 --> 00:02:50,020
how the use case starts and ends, we just described one possible

56
00:02:50,020 --> 00:02:53,340
flow of events. But there's many alternative ways we could provide and

57
00:02:53,340 --> 00:02:55,890
we do not describe any exception of flow of events. So this could

58
00:02:55,890 --> 00:02:58,540
be the starting point for multiple use cases, or

59
00:02:58,540 --> 00:03:02,092
for use cases just richer and contains more information, more

60
00:03:02,092 --> 00:03:04,474
steps to a richer flow. But you should have

61
00:03:04,474 --> 00:03:06,510
gotten the idea of what a use case should be.