about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/3 - Requirements Engineering - lang_en_vs4.srt
blob: c541e7090c63411cd9ae95f14a9cee9ed7870d03 (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,230 --> 00:00:03,200
So, let's start with requirements engineering, which is the

2
00:00:03,200 --> 00:00:06,560
field within software engineering that deals with establishing the

3
00:00:06,560 --> 00:00:09,400
needs of stakeholders that are to be solved by

4
00:00:09,400 --> 00:00:13,480
the software. So why is this phase so important?

5
00:00:13,480 --> 00:00:16,350
In general, the cost of correcting an error depends

6
00:00:16,350 --> 00:00:19,060
on the number of subsequent decisions that are based

7
00:00:19,060 --> 00:00:22,160
on it. Therefore, errors made in understanding requirements have

8
00:00:22,160 --> 00:00:25,670
the potential for greatest cost because many other design decisions

9
00:00:25,670 --> 00:00:29,020
depend on them and many other follow up decisions depend on them.

10
00:00:29,020 --> 00:00:31,510
In fact, if we look at this diagram, which is again a

11
00:00:31,510 --> 00:00:35,210
qualitative diagram, where we have the cost of error correction over the

12
00:00:35,210 --> 00:00:38,780
phase in which the error is discovered. We can see that if we

13
00:00:38,780 --> 00:00:42,420
discover an error in requirements it's going to cost us one. If

14
00:00:42,420 --> 00:00:45,020
we find it in in design it's going to cost us five and

15
00:00:45,020 --> 00:00:47,410
so on and so forth. And the cost grows dramatically as we

16
00:00:47,410 --> 00:00:50,960
go from the requirements phase to the maintenance phase. Why? Because of course

17
00:00:50,960 --> 00:00:53,092
if we discover a problem here we're left to undo a

18
00:00:53,092 --> 00:00:55,536
lot of the decision that we had made before to correct the

19
00:00:55,536 --> 00:00:58,019
error. Whereas if we find an error here we can correct it

20
00:00:58,019 --> 00:01:01,380
right away and we don't affect the subsequent phases. So how can

21
00:01:01,380 --> 00:01:03,540
we collect the right requirements. Traditional

22
00:01:03,540 --> 00:01:05,310
requirements in engineering does so through

23
00:01:05,310 --> 00:01:08,930
a set of steps. The first step is elicitation which is the

24
00:01:08,930 --> 00:01:12,840
collection of requirements from stake holders and other sources and can be

25
00:01:12,840 --> 00:01:15,890
done in a variety of ways, we will discuss some of them.

26
00:01:15,890 --> 00:01:19,280
The second is requirement analysis which involved the study and

27
00:01:19,280 --> 00:01:23,200
deeper understanding of the collective requirements. The third step is this

28
00:01:23,200 --> 00:01:26,760
specification of requirements, in which the collective requirements are suitably

29
00:01:26,760 --> 00:01:30,730
represented, organized and save so that they can be shared. Also

30
00:01:30,730 --> 00:01:32,530
in his case, there are many ways to do this,

31
00:01:32,530 --> 00:01:34,350
and we will see some of this ways when we talk

32
00:01:34,350 --> 00:01:37,550
about the requirements engineering in the dedicated lesson. Once the

33
00:01:37,550 --> 00:01:40,970
requirements have been specified, they can be validated to make sure

34
00:01:40,970 --> 00:01:44,420
that they're complete, consistent, no redundant and so on. So

35
00:01:44,420 --> 00:01:48,460
that they've satisfied a set of importance properties, for requirements.

36
00:01:48,460 --> 00:01:52,410
Finally, the fifth step is requirements management which accounts for

37
00:01:52,410 --> 00:01:56,100
changes to requirements during the lifetime of the project. And here

38
00:01:56,100 --> 00:01:58,330
I talked about steps, kind of giving the impression that

39
00:01:58,330 --> 00:02:01,310
we're just going from the first step to the fifth one

40
00:02:01,310 --> 00:02:03,300
and that this is sort of a linear process. In

41
00:02:03,300 --> 00:02:05,990
reality, as we will see, this is more of an iterative

42
00:02:05,990 --> 00:02:09,690
process in which will go and cover the different phases in an

43
00:02:09,690 --> 00:02:12,560
iterative fashion. We will discuss extensively

44
00:02:12,560 --> 00:02:15,453
requirements engineering in our second mini-course.