about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L1 Requirements Engineering Subtitles/4 - Software Intensive Systems - lang_en_vs5.srt
blob: 28c70ad4016da334346f4e7f5a4209e941738185 (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,100 --> 00:00:03,100
In our initial definition of requirements engineering, we talked about

2
00:00:03,100 --> 00:00:06,130
software systems. But what do we really mean when we

3
00:00:06,130 --> 00:00:09,980
use the term software? Software is an abstract description of

4
00:00:09,980 --> 00:00:13,920
a set of computations that becomes concrete, and therefore useful, only

5
00:00:13,920 --> 00:00:16,600
when we run the software on some hardware, and that,

6
00:00:16,600 --> 00:00:19,310
in the context of some human activity that it can

7
00:00:19,310 --> 00:00:22,530
support. So what does that mean exactly? What that means

8
00:00:22,530 --> 00:00:25,235
is that when we say software, what we really mean is

9
00:00:25,235 --> 00:00:28,790
a software intensive system. That is, the combination

10
00:00:28,790 --> 00:00:31,930
of 3 things, the software, the hardware on which

11
00:00:31,930 --> 00:00:34,610
the software runs, and the context in which the

12
00:00:34,610 --> 00:00:37,470
software is used. Just to illustrate, let me show

13
00:00:37,470 --> 00:00:40,010
you this through a picture. What I'm showing here

14
00:00:40,010 --> 00:00:42,830
is a customer, a user, that is using, is

15
00:00:42,830 --> 00:00:47,000
accessing, an ATM machine. And this action involves several

16
00:00:47,000 --> 00:00:50,650
things. There is the software that drives the logic

17
00:00:50,650 --> 00:00:53,410
of the ATM machine. There is the hardware on

18
00:00:53,410 --> 00:00:57,280
which the software runs. And there is the context

19
00:00:57,280 --> 00:00:59,850
In which the software is used. And in this

20
00:00:59,850 --> 00:01:02,660
case, the context is the bank. And only by

21
00:01:02,660 --> 00:01:06,105
considering these 3 things together can we really understand

22
00:01:06,105 --> 00:01:09,510
the functionality that is represented here. So the bottom

23
00:01:09,510 --> 00:01:12,690
line here is that we usually take hardware and

24
00:01:12,690 --> 00:01:15,750
context for granted in this equation. But they actually

25
00:01:15,750 --> 00:01:18,210
need to be explicitly considered when building a

26
00:01:18,210 --> 00:01:20,770
system. Otherwise, we might forget this is all

27
00:01:20,770 --> 00:01:23,850
the functionality, and ultimately of the requirements. And

28
00:01:23,850 --> 00:01:25,640
we might end up with the wrong system.