about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/7 - OO Analysis History - lang_en_vs4.srt
blob: 843126ec0e3902e58be9cc1a3561bc155810ad77 (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
1
00:00:00,060 --> 00:00:02,160
The use of object orientation and object oriented

2
00:00:02,160 --> 00:00:06,430
concepts led to what we call OOAD, object oriented

3
00:00:06,430 --> 00:00:10,650
analysis and design. OOAD is a software engineering approach

4
00:00:10,650 --> 00:00:13,790
whose main characteristics is to model a software system

5
00:00:13,790 --> 00:00:16,600
as a group of interacting objects, and we'll

6
00:00:16,600 --> 00:00:19,160
see what that means. In particular, in this lesson

7
00:00:19,160 --> 00:00:21,590
we will specifically focus on the first part of

8
00:00:21,590 --> 00:00:25,360
this, object oriented analysis, which is a requirements analysis

9
00:00:25,360 --> 00:00:29,650
technique that concentrates on modeling real world objects. And

10
00:00:29,650 --> 00:00:31,340
as I usually like to do, I would like

11
00:00:31,340 --> 00:00:34,812
to start by providing some historical perspective on object

12
00:00:34,812 --> 00:00:37,472
oriented analysis to better understand how we went from a

13
00:00:37,472 --> 00:00:40,990
function-centric world to a data-centric world. And several people

14
00:00:40,990 --> 00:00:43,800
contributed to this shift in perspective, but I'd like

15
00:00:43,800 --> 00:00:46,960
to mention a few that were particularly influential. Starting

16
00:00:46,960 --> 00:00:50,540
from James Rumbaugh, which in the 90s developed an integrated

17
00:00:50,540 --> 00:00:53,900
approach to object oriented modelling with three main aspects.

18
00:00:53,900 --> 00:00:56,680
A data aspect, so the modelling was based on

19
00:00:56,680 --> 00:01:00,390
using an extended version of entity relationship diagrams to

20
00:01:00,390 --> 00:01:03,680
describe classes and inheritance. So that's what was called

21
00:01:03,680 --> 00:01:06,770
the object model. And the second aspect has to

22
00:01:06,770 --> 00:01:09,770
do with functions. So data flow diagrams were used

23
00:01:09,770 --> 00:01:12,850
to represent the functional aspects of the system, where

24
00:01:12,850 --> 00:01:16,070
each function was then becoming a method in a class.

25
00:01:16,070 --> 00:01:18,500
So this is what is called the functional model.

26
00:01:18,500 --> 00:01:22,120
So object model and functional model. The third model

27
00:01:22,120 --> 00:01:25,120
in Rumbaugh's methodology had to do with control. So

28
00:01:25,120 --> 00:01:29,301
it was representing the dynamic aspects of a system. And

29
00:01:29,301 --> 00:01:31,880
it uses state machines, which we'll cover in more

30
00:01:31,880 --> 00:01:35,730
detail, to represent how a system would evolve going from

31
00:01:35,730 --> 00:01:37,650
one state to the other based on what happened

32
00:01:37,650 --> 00:01:41,260
to the system. These three models together represented what was

33
00:01:41,260 --> 00:01:44,950
called the Object Modeling Technique, or OMT. And

34
00:01:44,950 --> 00:01:47,860
OMT combined with contributions from several people, and in

35
00:01:47,860 --> 00:01:51,290
particular Jacobson and Booch, evolved into what we call

36
00:01:51,290 --> 00:01:54,910
the Unified Modeling Language, which is UML, which is

37
00:01:54,910 --> 00:01:56,910
probably the modeling language that most of you

38
00:01:56,910 --> 00:02:00,480
are familiar with. UML extends OMT by providing more

39
00:02:00,480 --> 00:02:03,460
diagrams and a broader view of a system from

40
00:02:03,460 --> 00:02:06,270
multiple perspectives. So, in the second part of the

41
00:02:06,270 --> 00:02:07,850
lesson, we will cover some of these

42
00:02:07,850 --> 00:02:10,530
diagrams in details, but before that, I'd like

43
00:02:10,530 --> 00:02:12,215
to talk a little bit more about object

44
00:02:12,215 --> 00:02:14,540
oriented analysis, and how we can perform it.