From b2d80610db6beda38573890ed169815e495bc663 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 24 May 2020 16:34:31 +0700 Subject: [usth/ICT2.7] Engineer software --- .../6 - The Software Crisis - lang_en.srt | 208 +++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt (limited to 'usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt') diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt new file mode 100644 index 0000000..41061a5 --- /dev/null +++ b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt @@ -0,0 +1,208 @@ +1 +00:00:00,072 --> 00:00:02,190 +To do that we'll have to go back in time to + +2 +00:00:02,190 --> 00:00:05,280 +the late 60s. So what was happening in the 60s? Well for + +3 +00:00:05,280 --> 00:00:08,410 +example the first man landed on the moon. That was also + +4 +00:00:08,410 --> 00:00:11,720 +time when Woodstock took place and also the time when the first + +5 +00:00:11,720 --> 00:00:16,149 +60 second picture from Polaroid was created. Concurrently to these events, + +6 +00:00:16,149 --> 00:00:18,910 +which you probably didn't witness in first person, that was also the + +7 +00:00:18,910 --> 00:00:22,280 +time when people started to realize that they were not able + +8 +00:00:22,280 --> 00:00:25,610 +to build the software they needed. This happened for several reasons and + +9 +00:00:25,610 --> 00:00:29,220 +resulted in what we call the software crisis. So let's + +10 +00:00:29,220 --> 00:00:31,820 +look at some of the most important reasons behind this + +11 +00:00:31,820 --> 00:00:35,760 +crisis. The first cause was the rising demand for software. + +12 +00:00:35,760 --> 00:00:38,500 +Now you're used to see software everywhere: in your phone, + +13 +00:00:38,500 --> 00:00:41,530 +in your car, even your washing machine. Before the 60s, + +14 +00:00:41,530 --> 00:00:44,590 +however, the size and complexity of software was very limited + +15 +00:00:44,590 --> 00:00:47,580 +and hardware components were really dominating the scene. Then things + +16 +00:00:47,580 --> 00:00:51,490 +started to change and software started to be increasingly prevalent. + +17 +00:00:51,490 --> 00:00:53,940 +So we move from a situation where everything was mostly + +18 +00:00:53,940 --> 00:00:57,380 +hardware to a situation in which software became more and more + +19 +00:00:57,380 --> 00:01:00,660 +important. To give an example, I'm going to show you the growth + +20 +00:01:00,660 --> 00:01:04,080 +in the software demand at NASA along those years. And in + +21 +00:01:04,080 --> 00:01:07,610 +particular, from the 1950s to more or less 2000. And this + +22 +00:01:07,610 --> 00:01:10,350 +is just a qualitative plot but that's more or less the + +23 +00:01:10,350 --> 00:01:13,880 +ways things went. So the demand for software in NASA grow + +24 +00:01:13,880 --> 00:01:16,930 +exponentially. And the same happened in a lot of other companies. + +25 +00:01:16,930 --> 00:01:19,020 +For example, just to cite one, for Boeing. So the + +26 +00:01:19,020 --> 00:01:22,350 +amount of software on airplanes became larger and larger. The + +27 +00:01:22,350 --> 00:01:26,170 +second cause for the software crisis was the increasing amount + +28 +00:01:26,170 --> 00:01:30,210 +of development effort needed due to the increase of product complexity. + +29 +00:01:30,210 --> 00:01:34,260 +Unfortunately, software complexity does not increase linearly with size. It + +30 +00:01:34,260 --> 00:01:36,170 +is not the same thing to write software for a + +31 +00:01:36,170 --> 00:01:39,410 +class exercise or a small project, or a temp project, + +32 +00:01:39,410 --> 00:01:41,970 +than it is to build a software for a word processor, + +33 +00:01:41,970 --> 00:01:45,950 +an operating system, a distributed system, or even more complex and larger + +34 +00:01:45,950 --> 00:01:49,390 +system. And what I'm giving here is just an indicative size for + +35 +00:01:49,390 --> 00:01:52,643 +the software so the class exercise might be 100 lines of code, + +36 +00:01:52,643 --> 00:01:55,600 +the small project might be 1000 lines of code, in the other thousand + +37 +00:01:55,600 --> 00:01:58,328 +lines of code, and so on and so forth. For the former, + +38 +00:01:58,328 --> 00:02:01,510 +the heroic effort of an individual developer can get the job done. + +39 +00:02:01,510 --> 00:02:03,850 +So that's what we call a programming effort. If you're a good + +40 +00:02:03,850 --> 00:02:07,340 +programmer, you can go sit down and do it, right. For the latter, + +41 +00:02:07,340 --> 00:02:09,330 +this is not possible. This is what we called the + +42 +00:02:09,330 --> 00:02:13,810 +software engineering effort. In fact, no matter how much programming languages, + +43 +00:02:13,810 --> 00:02:17,280 +development environments, and software tools improve, developers could not keep + +44 +00:02:17,280 --> 00:02:20,220 +up with increasing software size and complexity. Which leads us to + +45 +00:02:20,220 --> 00:02:22,280 +the third problem that I want to mention and the + +46 +00:02:22,280 --> 00:02:25,020 +third reason for the software crisis. And this cause is the + +47 +00:02:25,020 --> 00:02:28,790 +slow developer's productivity growth. So let me show this again + +48 +00:02:28,790 --> 00:02:32,243 +with a qualitative diagram. And this is taken from the IEEE + +49 +00:02:32,243 --> 00:02:35,550 +Software Magazine. And what I'm showing here is the growth in + +50 +00:02:35,550 --> 00:02:39,930 +software size and complexity over time, and how the developers' productivity + +51 +00:02:39,930 --> 00:02:43,800 +really couldn't keep up with this additional software complexity, which resulted + +52 +00:02:43,800 --> 00:02:47,170 +in this gap between what was needed and what was actually available. + -- cgit 1.4.1