about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/15 - Class Diagram: Operations - lang_en_vs5.srt
blob: 8943fca7c8ce5232a44ef44b1f5bb4c078bd580e (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
1
00:00:00,110 --> 00:00:02,920
At this point we have our classes, our attributes,

2
00:00:02,920 --> 00:00:05,740
what we're missing is the operations for the class.

3
00:00:05,740 --> 00:00:08,340
Let me remind you that operations represent the behavior

4
00:00:08,340 --> 00:00:10,370
of a class, and that they may be found by

5
00:00:10,370 --> 00:00:14,310
examining interactions among entities in the description of my

6
00:00:14,310 --> 00:00:18,480
system. So once more, let's bring back our description, and

7
00:00:18,480 --> 00:00:22,090
let's in this case focus on this specific item.

8
00:00:22,090 --> 00:00:25,330
That says that the students may use the system to

9
00:00:25,330 --> 00:00:29,800
add courses. So this is clearly indicating an action

10
00:00:29,800 --> 00:00:32,320
that the students should be able to perform. But notice

11
00:00:32,320 --> 00:00:35,100
that this doesn't mean that this is an operation that

12
00:00:35,100 --> 00:00:38,370
should be provided by the student's class. It rather means

13
00:00:38,370 --> 00:00:41,860
that there should be, somewhere in the system, the possibility

14
00:00:41,860 --> 00:00:45,080
of performing this operation. So let's see what this means

15
00:00:45,080 --> 00:00:47,920
for our example. This might mean, for example, if we

16
00:00:47,920 --> 00:00:50,400
focus on the RegistrationManager, so that there should be an

17
00:00:50,400 --> 00:00:53,520
operation in the RegistrationManager that allows me to add

18
00:00:53,520 --> 00:00:56,300
a student to a course. And this, in turn, means

19
00:00:56,300 --> 00:01:00,270
that both Course and CourseOffering should provide a way to

20
00:01:00,270 --> 00:01:04,140
add a student. And therefore, I add this corresponding operation

21
00:01:04,140 --> 00:01:07,790
to the RegistrationManager, to the Course, and to the CourseOffering.

22
00:01:07,790 --> 00:01:10,020
So after doing that we will continue and populate in

23
00:01:10,020 --> 00:01:13,080
a similar way, the other classes in the system. So

24
00:01:13,080 --> 00:01:16,040
let me recap. Now we saw how to identify classes.

25
00:01:16,040 --> 00:01:18,300
How to identify members of the classes, and

26
00:01:18,300 --> 00:01:21,910
particular attributes, and operations. There is one thing that

27
00:01:21,910 --> 00:01:24,060
we're missing, a very important aspect of the

28
00:01:24,060 --> 00:01:28,140
class diagram which is the relationships between these classes.