about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/10 - Software Development - lang_en.srt
blob: b1f822ebe7c82e3f7c3c556fb428eb4c536596e5 (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
1
00:00:00,060 --> 00:00:01,970
Now that we saw how software engineering was born and we

2
00:00:01,970 --> 00:00:04,580
saw some of the problems that led to the birth of software

3
00:00:04,580 --> 00:00:07,020
engineering. Let's see how we can do better. How can we

4
00:00:07,020 --> 00:00:10,580
preform software development in a smarter, in a better way, a more

5
00:00:10,580 --> 00:00:13,150
successful way? So what I'm going to show here is the

6
00:00:13,150 --> 00:00:14,730
way I see software development. To

7
00:00:14,730 --> 00:00:17,080
me software development is fundementally going

8
00:00:17,080 --> 00:00:21,150
from an abstract idea in somebody's head, for example, the customer's head,

9
00:00:21,150 --> 00:00:25,300
to a concrete system that actually implements that idea and hopefully it

10
00:00:25,300 --> 00:00:27,640
does it in the right way. And this is a very

11
00:00:27,640 --> 00:00:31,290
complex process. It can be overwhelming. So, unless we are talking about

12
00:00:31,290 --> 00:00:34,800
the trivial system, it's very complex for us to keep in mind

13
00:00:34,800 --> 00:00:37,020
all the different aspects of the systems, and to do all the

14
00:00:37,020 --> 00:00:40,270
different steps required to build this system, automatically. So that's when

15
00:00:40,270 --> 00:00:43,630
software processes come to the rescue. So what is a software process?

16
00:00:43,630 --> 00:00:46,380
A software process is nothing else but a way of breaking down

17
00:00:46,380 --> 00:00:50,320
this otherwise unmanageable task into smaller steps. In smaller steps that we

18
00:00:50,320 --> 00:00:53,270
can handle. And that can be tackled individually. So having a

19
00:00:53,270 --> 00:00:56,580
software process is of fundamental importance for several reasons. First of

20
00:00:56,580 --> 00:00:59,530
all, for non-trivial systems, you can't just do it by getting

21
00:00:59,530 --> 00:01:01,680
it, by just sitting down and developing. What you have to

22
00:01:01,680 --> 00:01:04,629
do instead is to break down the complexity in a systematic

23
00:01:04,629 --> 00:01:08,250
way. So software processes are normally systematic. And you need to

24
00:01:08,250 --> 00:01:11,370
break down this complexity, in a more or less formal way.

25
00:01:11,370 --> 00:01:15,800
So software processes are also a formal, or semiformal, way of

26
00:01:15,800 --> 00:01:19,120
discussing, or describing, how software should be developed.

27
00:01:19,120 --> 00:01:21,370
So what are the steps involved in developing software?