about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/17 - Tools of the Trade - lang_en.srt
blob: 077c0f83ba4157e509824c6c2c583fe5a69bd720 (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
1
00:00:00,072 --> 00:00:02,960
We will also look at how tools can improve software phases,

2
00:00:02,960 --> 00:00:06,660
the software activities, and can support software development tasks in general.

3
00:00:06,660 --> 00:00:08,890
And this is something that I will repeat over and over

4
00:00:08,890 --> 00:00:12,340
in the class, tools and automation are fundamental, in software engineering.

5
00:00:12,340 --> 00:00:15,910
And they're fundamental for improving productivity, not only efficiency but also

6
00:00:15,910 --> 00:00:19,820
effectiveness of our activities in the software development process. So let

7
00:00:19,820 --> 00:00:22,110
me go back to one of the diagrams that I showed

8
00:00:22,110 --> 00:00:25,170
you before. If you remember we had this qualititive diagram in which

9
00:00:25,170 --> 00:00:27,170
we were showing that one of the issues that led to the

10
00:00:27,170 --> 00:00:30,350
software crisis was the fact that developers' productivity was not able to

11
00:00:30,350 --> 00:00:33,580
keep up with the software size and complexity, with the growth in

12
00:00:33,580 --> 00:00:36,750
the importance and the complexity of software. What tools can help us

13
00:00:36,750 --> 00:00:40,150
to do is to change this and basically move this curve from

14
00:00:40,150 --> 00:00:43,950
this original position up here. So that it gets closer and closer

15
00:00:43,950 --> 00:00:45,970
to what we need to develop the software that we need to

16
00:00:45,970 --> 00:00:50,230
build. So let me discuss examples on how tools can improve productivity.

17
00:00:50,230 --> 00:00:52,970
For example, if we are talking about development, think about

18
00:00:52,970 --> 00:00:54,890
what kind of improvement it was to go from punch

19
00:00:54,890 --> 00:00:58,440
cards to modern IDEs. If we're talking about languages, think

20
00:00:58,440 --> 00:01:02,210
about of how much more productive developers became when going from

21
00:01:02,210 --> 00:01:05,830
writing machine code to writing code in high-level languages. And

22
00:01:05,830 --> 00:01:08,750
finally, if we talk about debugging, which is a very important

23
00:01:08,750 --> 00:01:12,140
and expensive activity, moving from the use of print lines

24
00:01:12,140 --> 00:01:16,060
to the use of symbolic debuggers dramatically improve the effectiveness and

25
00:01:16,060 --> 00:01:18,810
efficiency of development. And these are just some of the

26
00:01:18,810 --> 00:01:21,050
tools that we will discuss in the rest of the class

27
00:01:21,050 --> 00:01:23,350
and notice that we will also use the tools in practice.

28
00:01:23,350 --> 00:01:26,290
So we will use the tools before projects and also during

29
00:01:26,290 --> 00:01:30,153
the lessons and for assignments. In particular, we will use

30
00:01:30,153 --> 00:01:33,920
three main kinds of tools. The first type is IDE's. And

31
00:01:33,920 --> 00:01:37,140
I'm pretty sure you're familiar with IDE's. These are integrated development

32
00:01:37,140 --> 00:01:41,250
environments. So, advanced editors in which you can write, compile, run,

33
00:01:41,250 --> 00:01:43,950
and debug and even test your code. We'll also use a

34
00:01:43,950 --> 00:01:48,190
version control system, systems that allow you to save, and restore, and

35
00:01:48,190 --> 00:01:51,750
check the differences between different versions of the code, in particular

36
00:01:51,750 --> 00:01:53,950
we will be working with git. We will also be looking at

37
00:01:53,950 --> 00:01:57,460
other kinds of tools like coverage and verification tools. These are

38
00:01:57,460 --> 00:02:00,310
tools that can help you during testing and I'm a big fan

39
00:02:00,310 --> 00:02:02,710
of these tools, so I'm really going to stress the usefulness

40
00:02:02,710 --> 00:02:05,530
of these tools and how you should use them in your development.