about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L1 Requirements Engineering Subtitles/15 - RE Definition Breakdown - lang_en_vs4.srt
blob: bcc06a5afb84a1670421354511173ed85901d8fe (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
1
00:00:00,130 --> 00:00:02,540
But how can we do that? How can we identify the purpose

2
00:00:02,540 --> 00:00:06,080
of the system and collect good requirements? To answer that question, let me

3
00:00:06,080 --> 00:00:07,800
give you another definition of requirements

4
00:00:07,800 --> 00:00:09,590
engineering. And this one is a classical

5
00:00:09,590 --> 00:00:13,010
one, one that summarizes what we discussed so far, and then we can

6
00:00:13,010 --> 00:00:16,180
use as some sort of reference. And it is a little long.

7
00:00:16,180 --> 00:00:18,710
Definitely longer than the one that we saw at the beginning. But it's

8
00:00:18,710 --> 00:00:21,840
an important one and it contains a lot of very relevant points. So,

9
00:00:21,840 --> 00:00:25,210
we're going to go through it and highlight these points. So the definition says,

10
00:00:25,210 --> 00:00:28,970
that the requirements engineering is a set of activities concerned

11
00:00:28,970 --> 00:00:32,990
with identifying and communicating the purpose of a software intensive

12
00:00:32,990 --> 00:00:35,770
system and the context in which it will be used.

13
00:00:35,770 --> 00:00:38,570
And this is exactly what we said at the beginning. But

14
00:00:38,570 --> 00:00:40,940
something we can highlight in here, is the fact that

15
00:00:40,940 --> 00:00:44,210
we're talking about a set of activities. So, what that means

16
00:00:44,210 --> 00:00:46,800
is that requirements engineering is not just a phase or

17
00:00:46,800 --> 00:00:51,050
a stage. It also says that it's about identifying and communicating.

18
00:00:51,050 --> 00:00:53,720
And what that is telling us is that communication is

19
00:00:53,720 --> 00:00:56,670
as important as the analysis. So, it's important to be

20
00:00:56,670 --> 00:00:59,990
able to communicate these requirements not only to collect them.

21
00:00:59,990 --> 00:01:02,018
And we will discuss many reasons why that is the

22
00:01:02,018 --> 00:01:05,880
case. It explicitly talks about purpose. So that allows me

23
00:01:05,880 --> 00:01:10,310
to stress, once more, that quality means fitness-for-purpose. We cannot

24
00:01:10,310 --> 00:01:14,410
say anything about quality unless we understand the purpose. And

25
00:01:14,410 --> 00:01:16,210
the last thing I want to point out in this first

26
00:01:16,210 --> 00:01:18,420
part of the definition is the use of the term

27
00:01:18,420 --> 00:01:21,060
context. This is also something else that we mentioned at

28
00:01:21,060 --> 00:01:24,890
the beginning, that designers, analysts, need to know how and

29
00:01:24,890 --> 00:01:28,015
where the system will be used. Without this information, you

30
00:01:28,015 --> 00:01:30,455
cannot really understand what the system should do and you

31
00:01:30,455 --> 00:01:33,280
cannot really build the system. So now, let's continue and

32
00:01:33,280 --> 00:01:35,755
read the second part of the definition that says, hence.

33
00:01:35,755 --> 00:01:41,550
Requirements engineering acts as the bridge between the real-world needs of

34
00:01:41,550 --> 00:01:45,315
users, customers, and other constituencies affected by a

35
00:01:45,315 --> 00:01:49,440
software system and the capabilities and opportunities afforded

36
00:01:49,440 --> 00:01:52,870
by software-intensive technologies. This is a long sentence,

37
00:01:52,870 --> 00:01:55,030
but also here, we can point out a

38
00:01:55,030 --> 00:01:57,670
few interesting and relevant points. Let me start

39
00:01:57,670 --> 00:02:00,612
by highlighting two parts. Real-world needs, and the

40
00:02:00,612 --> 00:02:04,150
capabilities, and opportunities. So, what are these two

41
00:02:04,150 --> 00:02:07,000
parts telling us? They are telling us that requirements

42
00:02:07,000 --> 00:02:09,949
are partly about what is needed, the real-world needs

43
00:02:09,949 --> 00:02:13,520
of all these stakeholders. But they're also partly about what

44
00:02:13,520 --> 00:02:16,100
is possible, what we can actually build. We need

45
00:02:16,100 --> 00:02:19,260
to compromise between these two things. And, finally, I would

46
00:02:19,260 --> 00:02:23,000
like to point out this term constituencies, which indicates

47
00:02:23,000 --> 00:02:26,220
that we need to identify all of the stakeholders, not

48
00:02:26,220 --> 00:02:29,130
just the customer and the users, so anybody who is

49
00:02:29,130 --> 00:02:32,040
affected by a software system. It is very important to

50
00:02:32,040 --> 00:02:35,130
consider all of these actors. Otherwise, again,

51
00:02:35,130 --> 00:02:37,530
we'll be missing requirements, we'll be missing

52
00:02:37,530 --> 00:02:41,120
part of the purpose of the system and we will build a suboptimal system.