about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L1 Requirements Engineering Subtitles/27 - Modeling Requirements - lang_en_vs4.srt
blob: d4ade17f98486f634f389e1ad434103161e38c5d (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
1
00:00:00,220 --> 00:00:03,550
Once we collected the required knowledge on the requirements for

2
00:00:03,550 --> 00:00:06,120
the system that we're developing, we need to model it in

3
00:00:06,120 --> 00:00:08,430
a structured and clear way, so that it can be

4
00:00:08,430 --> 00:00:12,100
analyzed and refined. And there are really tons of ways to

5
00:00:12,100 --> 00:00:15,840
do that, depending on your focus and objectives. More specifically,

6
00:00:15,840 --> 00:00:18,940
when modeling requirements you need to decide what you want to

7
00:00:18,940 --> 00:00:21,710
model and how you want to model it. So let's look

8
00:00:21,710 --> 00:00:25,390
at these two aspects independently. What you decide to model depends

9
00:00:25,390 --> 00:00:28,270
on where your emphasis is. That is on which

10
00:00:28,270 --> 00:00:31,390
aspects of the requirements you want to focus. For

11
00:00:31,390 --> 00:00:34,880
example if your emphasis is on the characteristics of

12
00:00:34,880 --> 00:00:37,970
the enterprise of the company that you are analyzing you

13
00:00:37,970 --> 00:00:40,240
may want to model goals and objectives of the

14
00:00:40,240 --> 00:00:44,380
company, or its organizational structure, its task and dependencies

15
00:00:44,380 --> 00:00:47,040
and so on. Conversely, if your focus is on

16
00:00:47,040 --> 00:00:50,500
information and behaviors, you might want to concentrate on aspects

17
00:00:50,500 --> 00:00:53,800
such as the structure of information, various behavioral views

18
00:00:53,800 --> 00:00:55,480
some of which we will see in the next

19
00:00:55,480 --> 00:00:59,650
lesson, or maybe time or sequencing requirements. Finally, if

20
00:00:59,650 --> 00:01:02,750
you're mostly interested in the quality aspects of your

21
00:01:02,750 --> 00:01:06,790
system, you will focus on the various non-functional properties

22
00:01:06,790 --> 00:01:09,070
of the software that are relevant in the context

23
00:01:09,070 --> 00:01:13,570
considered. For example reliability, robustness, security, and so on.

24
00:01:13,570 --> 00:01:15,550
You will just pick the ones that are relevant for

25
00:01:15,550 --> 00:01:18,540
your context. And as we said, there's a second dimension.

26
00:01:18,540 --> 00:01:21,050
After you have decided what to model in your system,

27
00:01:21,050 --> 00:01:23,480
you have to decide how you want to model it.

28
00:01:23,480 --> 00:01:25,860
So I want to show here some options for modeling

29
00:01:25,860 --> 00:01:30,380
enterprises, information, and quality aspects. And as you can see

30
00:01:30,380 --> 00:01:34,100
here for each type of information there are many possible

31
00:01:34,100 --> 00:01:36,840
models that we can use to represent it. And all

32
00:01:36,840 --> 00:01:38,750
these models have advantages and

33
00:01:38,750 --> 00:01:41,400
disadvantages, different levels of formality and

34
00:01:41,400 --> 00:01:44,000
different focus. Something else that I want to point out

35
00:01:44,000 --> 00:01:47,145
about these models is the fact that these models are often

36
00:01:47,145 --> 00:01:50,980
orthogonal to one another, especially if we consider models in different

37
00:01:50,980 --> 00:01:54,620
categories. So what that means is that they're complimentary rather than

38
00:01:54,620 --> 00:01:58,310
mutually exclusive. Different models can be used to provide views

39
00:01:58,310 --> 00:02:01,290
of the requirements from different perspectives, and we will not see

40
00:02:01,290 --> 00:02:03,700
most of these models in this course, but I wanted to

41
00:02:03,700 --> 00:02:06,550
list them anyways to give you an idea of how many

42
00:02:06,550 --> 00:02:09,490
there are and how vast is this area. As far

43
00:02:09,490 --> 00:02:11,540
as we are concerned in the course and for the

44
00:02:11,540 --> 00:02:14,660
projects we will express requirements using one of two main

45
00:02:14,660 --> 00:02:19,010
ways. Using natural language, that is informal specifications and using

46
00:02:19,010 --> 00:02:22,600
UML diagrams, which is graphical models. And we will introduce

47
00:02:22,600 --> 00:02:25,840
UML and the most important diagrams in the next lesson.

48
00:02:25,840 --> 00:02:27,330
And the only other type of models that I want

49
00:02:27,330 --> 00:02:31,610
to mentions explicitly are goal models because they're extremely popular.

50
00:02:31,610 --> 00:02:34,930
So the main idea with goal models is it start with the main goal of

51
00:02:34,930 --> 00:02:36,990
the system and then keep refining it

52
00:02:36,990 --> 00:02:39,654
by decomposing it in sub-goals. So it's kind

53
00:02:39,654 --> 00:02:41,610
of a very natural way of progressing.

54
00:02:41,610 --> 00:02:44,210
And you continue this refinement until you get

55
00:02:44,210 --> 00:02:47,150
to goals that can be operationalized, and represent

56
00:02:47,150 --> 00:02:49,380
the basic units of functionality of the system.