about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L2 Life Cycle Models Subtitles
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P1L2 Life Cycle Models Subtitles')
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/1 - Introduction with Barry Boehm - lang_en_vs7.srt163
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/10 - Software Process Model Introduction - lang_en_vs4.srt79
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/11 - Waterfall Process - lang_en_vs4.srt95
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/12 - Spiral Process - lang_en_vs4.srt191
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_en_vs4.srt167
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_pt_vs2.srt167
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_en_vs5.srt111
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_pt_vs1.srt111
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_en_vs3.srt123
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_pt_vs1.srt123
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/16 - Choosing a Model - lang_en_vs4.srt179
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/17 - Choosing a Model Quiz - lang_en_vs4.srt35
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/18 - Choosing a Model Quiz Solution - lang_en_vs5.srt47
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/19 - Choosing a Model Quiz - lang_en_vs5.srt11
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/2 - Traditional Software Phases - lang_en_vs4.srt75
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/20 - Choosing a Model Quiz Solution - lang_en_vs4.srt67
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/21 - Lifecycle Documents - lang_en_vs4.srt67
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/22 - Classic Mistakes: People - lang_en_vs4.srt163
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/23 - Classic Mistakes: Process - lang_en_vs4.srt79
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/24 - Classic Mistakes: Product - lang_en_vs4.srt87
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/25 - Classic Mistakes: Technology - lang_en_vs4.srt95
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/26 - Classic Mistakes Quiz - lang_en_vs4.srt23
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/27 - Classic Mistakes Quiz Solution - lang_en_vs4.srt39
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/3 - Requirements Engineering - lang_en_vs4.srt175
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/4 - Design - lang_en_vs4.srt103
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/5 - Implementation - lang_en_vs5.srt103
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/6 - Verification & Validation - lang_en_vs4.srt123
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/7 - Maintenance - lang_en_vs5.srt167
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/8 - Software Phases Quiz - lang_en_vs4.srt47
-rw-r--r--usth/ICT2.7/P1L2 Life Cycle Models Subtitles/9 - Software Phases Quiz Solution - lang_en_vs4.srt15
30 files changed, 0 insertions, 3030 deletions
diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/1 - Introduction with Barry Boehm - lang_en_vs7.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/1 - Introduction with Barry Boehm - lang_en_vs7.srt
deleted file mode 100644
index 954db98..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/1 - Introduction with Barry Boehm - lang_en_vs7.srt
+++ /dev/null
@@ -1,163 +0,0 @@
-1

-00:00:00,430 --> 00:00:06,300

-Hi, in the last lesson we provided an overview of the course and motivated the

-

-2

-00:00:06,300 --> 00:00:09,570

-need for software engineering. In this lesson,

-

-3

-00:00:09,570 --> 00:00:13,090

-we will present and start discussing several traditional

-

-4

-00:00:13,090 --> 00:00:16,090

-software engineering life cycle models. We will

-

-5

-00:00:16,090 --> 00:00:18,790

-talk about their main advantages, and also about

-

-6

-00:00:18,790 --> 00:00:21,840

-their shortcomings. We will also talk about

-

-7

-00:00:21,840 --> 00:00:25,720

-classic mistakes in software engineering that is well

-

-8

-00:00:25,720 --> 00:00:29,530

-known ineffective development practices, that when

-

-9

-00:00:29,530 --> 00:00:32,590

-followed, tend to lead to better results. And

-

-10

-00:00:32,590 --> 00:00:35,120

-covering those, will hopefully help us to avoid

-

-11

-00:00:35,120 --> 00:00:38,350

-them in the future. And because in this

-

-12

-00:00:38,350 --> 00:00:41,290

-lesson, I will discuss some fundamental aspects of

-

-13

-00:00:41,290 --> 00:00:44,730

-software engineering, to suitably introduce these topics, I

-

-14

-00:00:44,730 --> 00:00:47,110

-went to the University of Southern California, to

-

-15

-00:00:47,110 --> 00:00:50,300

-interview one of the fathers of software engineering;

-

-16

-00:00:50,300 --> 00:00:53,070

-Professor Barry Boehm.

-

-17

-00:00:53,070 --> 00:00:59,060

->> A well, a software life cycle is a sequence of, of decisions that you

-

-18

-00:00:59,060 --> 00:01:01,895

-make, and it's fundamentally those decisions are

-

-19

-00:01:01,895 --> 00:01:05,280

-going to be part of the history of the

-

-20

-00:01:05,280 --> 00:01:09,500

-software that. You are going to build that other people are going to use, and

-

-21

-00:01:09,500 --> 00:01:15,330

-the process model is basically answering the question of what do I do next and

-

-22

-00:01:15,330 --> 00:01:20,550

-how long shall I do it for. And again, because there are a lot of different ways

-

-23

-00:01:20,550 --> 00:01:24,220

-you can make that decision, you need to

-

-24

-00:01:24,220 --> 00:01:27,640

-figure out which models are good for which particular

-

-25

-00:01:27,640 --> 00:01:31,475

-situations. So, for example, we've, written a book

-

-26

-00:01:31,475 --> 00:01:34,846

-that's called Balancing Agility and Discipline. It says under

-

-27

-00:01:34,846 --> 00:01:37,835

-what conditions should you use agile methods, under

-

-28

-00:01:37,835 --> 00:01:40,824

-which conditions should you invest more time in analyzing

-

-29

-00:01:40,824 --> 00:01:44,826

-the situation and planning what you're going to do and the like. And so,

-

-30

-00:01:44,826 --> 00:01:49,866

-typically if the project is, is small where it's three to ten

-

-31

-00:01:49,866 --> 00:01:55,271

-people, agile works pretty well. If it's 300

-

-32

-00:01:55,271 --> 00:02:00,545

-people, then I think we don't want to go that way. If the affect of

-

-33

-00:02:00,545 --> 00:02:05,960

-the defect is loss of comfort or limited funds, then agile is fine,

-

-34

-00:02:05,960 --> 00:02:11,184

-but if it is a loss of life, then you don't. On the other hand if, if

-

-35

-00:02:11,184 --> 00:02:13,776

-you have a situation where you have lot

-

-36

-00:02:13,776 --> 00:02:17,745

-of unpredictable change, you really don't want to spend

-

-37

-00:02:17,745 --> 00:02:23,439

-a lot of time writing plans and lots of documents. In some cases you may have a

-

-38

-00:02:23,439 --> 00:02:26,907

-project where you want to do waterfall in

-

-39

-00:02:26,907 --> 00:02:31,140

-some parts and agile in others. So, these are

-

-40

-00:02:31,140 --> 00:02:36,180

-the kind of things that, that make the choice of life cycle process

-

-41

-00:02:36,180 --> 00:02:41,409

-model very important and very interesting as a subject of research.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/10 - Software Process Model Introduction - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/10 - Software Process Model Introduction - lang_en_vs4.srt
deleted file mode 100644
index 39d418b..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/10 - Software Process Model Introduction - lang_en_vs4.srt
+++ /dev/null
@@ -1,79 +0,0 @@
-1

-00:00:00,240 --> 00:00:02,600

-At this point, you know the possible activities, the

-

-2

-00:00:02,600 --> 00:00:06,520

-possible phases performed during the software development process. But there

-

-3

-00:00:06,520 --> 00:00:08,710

-this something that we still haven't discussed, which is

-

-4

-00:00:08,710 --> 00:00:11,910

-very important. And that is how should we put these

-

-5

-00:00:11,910 --> 00:00:14,990

-activities together to develop software? And this all comes

-

-6

-00:00:14,990 --> 00:00:18,360

-down to the concept of software process model. Also called

-

-7

-00:00:18,360 --> 00:00:21,520

-software lifecycle model. And what this is, is a

-

-8

-00:00:21,520 --> 00:00:25,470

-prescriptive model of what should happen from the very beginning

-

-9

-00:00:25,470 --> 00:00:28,960

-to the very end. Of a software development process. The

-

-10

-00:00:28,960 --> 00:00:31,360

-main function of the life cycle model is to determine

-

-11

-00:00:31,360 --> 00:00:34,290

-the order of the different activities so that we know

-

-12

-00:00:34,290 --> 00:00:37,920

-which activities should come first and which ones should follow. Another

-

-13

-00:00:37,920 --> 00:00:40,910

-important function of the life cycle model is to determine

-

-14

-00:00:40,910 --> 00:00:45,290

-the transition criteria between activities. So, when we can go from

-

-15

-00:00:45,290 --> 00:00:48,000

-one phase to the subsequent one. In other words, what

-

-16

-00:00:48,000 --> 00:00:50,840

-the model should describe is what should we do next and

-

-17

-00:00:50,840 --> 00:00:53,450

-how long should we continue to do it for each activity

-

-18

-00:00:53,450 --> 00:00:56,290

-in the model. Now lets see a few traditional software process

-

-19

-00:00:56,290 --> 00:00:58,920

-models. I will discuss them here at the high level and

-

-20

-00:00:58,920 --> 00:01:02,000

-then revisit some of these models in the different mini courses.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/11 - Waterfall Process - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/11 - Waterfall Process - lang_en_vs4.srt
deleted file mode 100644
index b3d7c07..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/11 - Waterfall Process - lang_en_vs4.srt
+++ /dev/null
@@ -1,95 +0,0 @@
-1

-00:00:00,070 --> 00:00:02,830

-The first model we want to discuss is the grandfather of

-

-2

-00:00:02,830 --> 00:00:05,900

-all life cycle models. And it is the waterfall model. In

-

-3

-00:00:05,900 --> 00:00:08,890

-the waterfall model the project progresses to an orderly sequence of

-

-4

-00:00:08,890 --> 00:00:13,040

-steps. From the initial software concept, down until the final phase.

-

-5

-00:00:13,040 --> 00:00:16,110

-Which is system testing. And at the end of each phase

-

-6

-00:00:16,110 --> 00:00:18,510

-there will be a review to determine whether the project is

-

-7

-00:00:18,510 --> 00:00:22,120

-ready to advance to the next phase. The pure waterfall model

-

-8

-00:00:22,120 --> 00:00:25,340

-performs well for softer products in which there is a stable

-

-9

-00:00:25,340 --> 00:00:28,400

-product definition. The domain is well known and the technologies

-

-10

-00:00:28,400 --> 00:00:31,220

-involved are well understood. In these kind of domains, the

-

-11

-00:00:31,220 --> 00:00:34,350

-waterfall model helps you to find errors in the early,

-

-12

-00:00:34,350 --> 00:00:37,180

-local stages of the projects. If you remember what we discussed,

-

-13

-00:00:37,180 --> 00:00:39,950

-this is the place where we want to find errors,

-

-14

-00:00:39,950 --> 00:00:43,440

-not down here because finding them here will reduce the cost

-

-15

-00:00:43,440 --> 00:00:47,160

-of our overall software development. The main advantage of the

-

-16

-00:00:47,160 --> 00:00:50,930

-waterfall model is that it allows you to find errors early.

-

-17

-00:00:50,930 --> 00:00:53,910

-However, the main disadvantages of the waterfall model arise

-

-18

-00:00:53,910 --> 00:00:56,550

-from the fact that it is not flexible. Normally,

-

-19

-00:00:56,550 --> 00:00:59,520

-it is difficult to fully specify requirements at the

-

-20

-00:00:59,520 --> 00:01:02,470

-beginning of a project. And this lack of flexibility is

-

-21

-00:01:02,470 --> 00:01:04,800

-far from ideal when dealing with project in which

-

-22

-00:01:04,800 --> 00:01:07,310

-requirements change, the developers are not domain experts or

-

-23

-00:01:07,310 --> 00:01:11,130

-the technology used are new and evolving, that is

-

-24

-00:01:11,130 --> 00:01:14,440

-it is less than ideal for most real world projects.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/12 - Spiral Process - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/12 - Spiral Process - lang_en_vs4.srt
deleted file mode 100644
index 2d0cdf9..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/12 - Spiral Process - lang_en_vs4.srt
+++ /dev/null
@@ -1,191 +0,0 @@
-1

-00:00:00,120 --> 00:00:02,600

-The next model that we will discuss is the spiral

-

-2

-00:00:02,600 --> 00:00:05,630

-model, which was first described by Barry Boehm, which is

-

-3

-00:00:05,630 --> 00:00:08,010

-the professor that we interviewed at the beginning of this

-

-4

-00:00:08,010 --> 00:00:12,240

-lesson. In his paper from 1986 that was entitled A Spiral

-

-5

-00:00:12,240 --> 00:00:15,730

-Model of Software Development and Enhancement. And one of the

-

-6

-00:00:15,730 --> 00:00:18,520

-main characteristics of that paper is that it was describing the

-

-7

-00:00:18,520 --> 00:00:21,670

-spiral model using a diagram, which is the one that

-

-8

-00:00:21,670 --> 00:00:25,130

-I'm showing you here, and this diagram has become very very

-

-9

-00:00:25,130 --> 00:00:27,950

-popular, and you probably saw it either in this

-

-10

-00:00:27,950 --> 00:00:30,400

-form or one of the many variations of the

-

-11

-00:00:30,400 --> 00:00:32,680

-diagram. So I'm not going to discuss all of

-

-12

-00:00:32,680 --> 00:00:34,770

-the details of the spiral model, but I just want to

-

-13

-00:00:34,770 --> 00:00:37,510

-give you an idea of its main characteristics. The

-

-14

-00:00:37,510 --> 00:00:41,580

-spiral model is an incremental risk-oriented lifecycle model that has

-

-15

-00:00:41,580 --> 00:00:46,330

-four main phases listed here: determine objectives, identify and

-

-16

-00:00:46,330 --> 00:00:51,180

-resolve risks, development and tests, and plan the next iteration.

-

-17

-00:00:51,180 --> 00:00:53,690

-A software project will go through these four phases in

-

-18

-00:00:53,690 --> 00:00:57,020

-an iterative way. In the first phase, the requirements will

-

-19

-00:00:57,020 --> 00:00:59,470

-be gathered. In the second phase, the risks and the

-

-20

-00:00:59,470 --> 00:01:04,010

-alternate solutions will be identified, and a prototype will be produced.

-

-21

-00:01:04,010 --> 00:01:06,190

-Software and tests for the software are produced in the

-

-22

-00:01:06,190 --> 00:01:09,210

-development and test phase, which is the third step of the

-

-23

-00:01:09,210 --> 00:01:12,830

-process. Finally, in the fourth phase, the output of the

-

-24

-00:01:12,830 --> 00:01:16,880

-project, so far, is evaluated, and the next iteration is planned.

-

-25

-00:01:16,880 --> 00:01:19,960

-So basically, what the spiral process prescribes is a

-

-26

-00:01:19,960 --> 00:01:23,262

-way of developing software by going through these phases in

-

-27

-00:01:23,262 --> 00:01:26,020

-an iterative way, in which we learn more and more

-

-28

-00:01:26,020 --> 00:01:29,420

-of the software, we identify more and more, and account

-

-29

-00:01:29,420 --> 00:01:32,250

-for, more and more risks and we go more

-

-30

-00:01:32,250 --> 00:01:36,000

-and more towards our final solution, our final release. There

-

-31

-00:01:36,000 --> 00:01:38,930

-are several advantages of using a spiral model. The first

-

-32

-00:01:38,930 --> 00:01:41,930

-one is that the extensive risk analysis does reduce the

-

-33

-00:01:41,930 --> 00:01:44,140

-chances of the project to fail. So there is a

-

-34

-00:01:44,140 --> 00:01:48,300

-risk reduction advantage. The second advantage is that functionality can be

-

-35

-00:01:48,300 --> 00:01:51,190

-added at a later phase because of the iterative nature of

-

-36

-00:01:51,190 --> 00:01:55,175

-the process. And finally, software is produced early in the software

-

-37

-00:01:55,175 --> 00:01:58,260

-lifecycle. So, at any iteration, we have something to show

-

-38

-00:01:58,260 --> 00:02:01,300

-for our development. We don't wait until the end before producing

-

-39

-00:02:01,300 --> 00:02:03,790

-something. And then of course there's also the advantage that we

-

-40

-00:02:03,790 --> 00:02:07,190

-can get early feedback from the customer about what we produced.

-

-41

-00:02:07,190 --> 00:02:09,000

-The main disadvantages on the other hand of

-

-42

-00:02:09,000 --> 00:02:11,870

-the spiral model, are that the risk analysis requires

-

-43

-00:02:11,870 --> 00:02:16,560

-a highly specific expertise. And unfortunately, the whole success

-

-44

-00:02:16,560 --> 00:02:19,260

-of the process is highly dependent on risk analysis.

-

-45

-00:02:19,260 --> 00:02:21,580

-So risk analysis has to be done right.

-

-46

-00:02:21,580 --> 00:02:24,510

-And finally the spiral model is way more complex

-

-47

-00:02:24,510 --> 00:02:27,180

-than other models, like for example, the water fall

-

-48

-00:02:27,180 --> 00:02:29,760

-model. And therefore it can be costly to implement.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_en_vs4.srt
deleted file mode 100644
index cf068c0..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_en_vs4.srt
+++ /dev/null
@@ -1,167 +0,0 @@
-1

-00:00:00,080 --> 00:00:02,430

-The next process model I want to discuss is evolutionary

-

-2

-00:00:02,430 --> 00:00:05,786

-prototyping, which works in four main phases. We start

-

-3

-00:00:05,786 --> 00:00:08,393

-from an initial concept, then we design and implement

-

-4

-00:00:08,393 --> 00:00:11,509

-a prototype based on this initial concept, refine the prototype

-

-5

-00:00:11,509 --> 00:00:14,002

-until it is acceptable, and finally we complete and

-

-6

-00:00:14,002 --> 00:00:17,550

-release the prototype. Therefore, when developing a system using

-

-7

-00:00:17,550 --> 00:00:22,330

-evolutionary prototyping, the system is continually refined and rebuilt.

-

-8

-00:00:22,330 --> 00:00:25,340

-So it is an ideal process when not all requirements

-

-9

-00:00:25,340 --> 00:00:28,330

-are well understood. Which is a very common situation. So, looking

-

-10

-00:00:28,330 --> 00:00:30,370

-at this in a little more details, what happens is that

-

-11

-00:00:30,370 --> 00:00:33,760

-developers start by developing the parts of the system that they

-

-12

-00:00:33,760 --> 00:00:37,690

-understand, instead of working on developing a whole system, including parts

-

-13

-00:00:37,690 --> 00:00:40,520

-that might not be very clear at that stage. The partial

-

-14

-00:00:40,520 --> 00:00:43,900

-system is then shown to the customer and the customer feedback

-

-15

-00:00:43,900 --> 00:00:47,480

-is used to drive the next iteration, in which either changes

-

-16

-00:00:47,480 --> 00:00:50,340

-are made to the current features or new features are added.

-

-17

-00:00:50,340 --> 00:00:53,060

-So, either the current prototype is improved or the

-

-18

-00:00:53,060 --> 00:00:56,270

-prototype is extended. And finally, when the customer agrees that

-

-19

-00:00:56,270 --> 00:00:58,980

-the prototype is good enough, the developers will complete all

-

-20

-00:00:58,980 --> 00:01:01,410

-the remaining work on the system and release the prototype

-

-21

-00:01:01,410 --> 00:01:03,930

-as the final product. So let's discuss as we did

-

-22

-00:01:03,930 --> 00:01:06,780

-for the previous process models, what are the main advantages

-

-23

-00:01:06,780 --> 00:01:10,580

-and disadvantages of evolutionary prototyping. In this case, the main

-

-24

-00:01:10,580 --> 00:01:15,440

-advantage is the immediate feedback. Developers get feedback immediately as

-

-25

-00:01:15,440 --> 00:01:17,560

-soon as they produce a prototype and they show it to

-

-26

-00:01:17,560 --> 00:01:21,050

-the customer and therefore, the risk of implementing the wrong system is

-

-27

-00:01:21,050 --> 00:01:25,150

-minimized. The main negative is the fact that it's difficult to plan.

-

-28

-00:01:25,150 --> 00:01:29,070

-When using evolutionary prototype it is difficult to plan in advance how

-

-29

-00:01:29,070 --> 00:01:31,240

-long the development is going to take, because we don't know how

-

-30

-00:01:31,240 --> 00:01:34,550

-many iterations will be needed. And another drawback is that it can

-

-31

-00:01:34,550 --> 00:01:37,120

-easily become an excuse to do kind of do cut and fix

-

-32

-00:01:37,120 --> 00:01:40,530

-kind of approaches in which we hack something together, fix the main

-

-33

-00:01:40,530 --> 00:01:43,640

-issues when the customer gives us feedback, and then continue this

-

-34

-00:01:43,640 --> 00:01:46,780

-way, until the final product is something that is kind of

-

-35

-00:01:46,780 --> 00:01:49,830

-working, but it's not really a product of high quality. Something

-

-36

-00:01:49,830 --> 00:01:51,910

-else I want to point out before we move to the next

-

-37

-00:01:51,910 --> 00:01:54,490

-software process model is that there are many different kinds of

-

-38

-00:01:54,490 --> 00:01:56,700

-prototyping, so evolutionary prototyping is just

-

-39

-00:01:56,700 --> 00:01:58,010

-one of them. For example, throwaway

-

-40

-00:01:58,010 --> 00:02:02,100

-prototyping is another kind of prototyping in which the prototype is

-

-41

-00:02:02,100 --> 00:02:05,580

-just used to gather requirements, but is thrown away at the end

-

-42

-00:02:05,580 --> 00:02:08,710

-of the requirements gathering, instead of being evolved as it happens here.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_pt_vs2.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_pt_vs2.srt
deleted file mode 100644
index a1fefdc..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/13 - Evolutionary Prototyping Process - lang_pt_vs2.srt
+++ /dev/null
@@ -1,167 +0,0 @@
-1

-00:00:00,080 --> 00:00:02,430

-O próximo modelo que eu quero discutir é prototipagem

-

-2

-00:00:02,430 --> 00:00:05,786

-evolutiva, que funciona em quatro fases principais. Nós começamos

-

-3

-00:00:05,786 --> 00:00:08,393

-por um conceito inicial, então nós desenhamos e criamos

-

-4

-00:00:08,393 --> 00:00:11,509

-um protótipo baseado neste conceito inicial, refinamos o protótipo

-

-5

-00:00:11,509 --> 00:00:14,002

-até que ele se torne aceitável e finalmente nós completamos e

-

-6

-00:00:14,002 --> 00:00:17,550

-liberamos o protótipo. Desta maneira, quando desenvolvemos um sistema usando

-

-7

-00:00:17,550 --> 00:00:22,330

-prototipagem evolutiva, o sistema é constantemente refinado e refeito.

-

-8

-00:00:22,330 --> 00:00:25,340

-Então este é o processo ideal quando nem todos os requisitos

-

-9

-00:00:25,340 --> 00:00:28,330

-estão bem compreendidos. O que é uma situação bastante usual. Então, olhando

-

-10

-00:00:28,330 --> 00:00:30,370

-para isso um pouco mais detalhadamente, o que ocorre é que

-

-11

-00:00:30,370 --> 00:00:33,760

-os desenvolvedores começam no desenvolvimento das partes do sistema que eles

-

-12

-00:00:33,760 --> 00:00:37,690

-compreendem, ao invés de trabalhar no desenvolvimento do sistema com um tido, incluindo as

-

-13

-00:00:37,690 --> 00:00:40,520

-parte que não estão ainda muito claras. O sistema

-

-14

-00:00:40,520 --> 00:00:43,900

-parcial é então mostrado ao cliente e a opinião do cliente

-

-15

-00:00:43,900 --> 00:00:47,480

-é usada para guiar a próxima iteração, na qual tanto modificações

-

-16

-00:00:47,480 --> 00:00:50,340

-são feitas nas atuais feições, como novas feições são adicionadas.

-

-17

-00:00:50,340 --> 00:00:53,060

-Assim, ou o protótipo atual é melhorado ou o

-

-18

-00:00:53,060 --> 00:00:56,270

-protótipo é aumentado. E finalmente, quando o cliente concorda de

-

-19

-00:00:56,270 --> 00:00:58,980

-que o protótipo está suficientemente bom, os desenvolvedores irão completar todo

-

-20

-00:00:58,980 --> 00:01:01,410

-o trabalho faltante no sistema e liberar o protótipo

-

-21

-00:01:01,410 --> 00:01:03,930

-como o produto final. Então vamos discutir como fizemos

-

-22

-00:01:03,930 --> 00:01:06,780

-para os modelos de processos anteriores, quais são as principais vantagens

-

-23

-00:01:06,780 --> 00:01:10,580

-e desvantagens de prototipagem evolutiva. Neste caso, a principal

-

-24

-00:01:10,580 --> 00:01:15,440

-vantagem é apreciação imediada. Os desenvolvedores recebem a opinião imediatamente,

-

-25

-00:01:15,440 --> 00:01:17,560

-tão logo eles produziram o protótipo e o mostraram para o

-

-26

-00:01:17,560 --> 00:01:21,050

-cliente e desta maneira, o risco de implementar erradamente o sistema é

-

-27

-00:01:21,050 --> 00:01:25,150

-minimizado. O principal ponto negativo é que isso é difícil de planejar.

-

-28

-00:01:25,150 --> 00:01:29,070

-Quando é usada a prototipagem evolutiva é difícil de antecipar por

-

-29

-00:01:29,070 --> 00:01:31,240

-quanto tempo o desenvolvimento irá levar, porquê nós não sabemos quantas

-

-30

-00:01:31,240 --> 00:01:34,550

-iterações serão necessárias. E outro inconveniente é que isso pode facilmente

-

-31

-00:01:34,550 --> 00:01:37,120

-se tornar uma desculpa para começar a fazer aquele tipo de abordagem de

-

-32

-00:01:37,120 --> 00:01:40,530

-"corte-e-correção" na qual nós começamos a enjambrar as coisas, corrigir os

-

-33

-00:01:40,530 --> 00:01:43,640

-principais defeitos quando o cliente nos dá sua opinião e então continuamos desta

-

-34

-00:01:43,640 --> 00:01:46,780

-maneira, até que o produto final se torne tipo algo que

-

-35

-00:01:46,780 --> 00:01:49,830

-funciona, mas que não é de fato um produto de alta qualidade. Outra coisa

-

-36

-00:01:49,830 --> 00:01:51,910

-que eu quero apontar antes de irmos ao próximo

-

-37

-00:01:51,910 --> 00:01:54,490

-modelo de criação de software é que existem diversas maneiras de

-

-38

-00:01:54,490 --> 00:01:56,700

-prototipagem, então a prototipagem evolutiva é apenas

-

-39

-00:01:56,700 --> 00:01:58,010

-uma delas. Por exemplo, prototipagem

-

-40

-00:01:58,010 --> 00:02:02,100

-descartável é outra maneira de prototipagem na qual o protótipo é

-

-41

-00:02:02,100 --> 00:02:05,580

-usado apenas para coletar requisitos, mas é descartado ao final

-

-42

-00:02:05,580 --> 00:02:08,710

-da coleta de requisitos, ao invés de ser evoluído, como ocorre aqui.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_en_vs5.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_en_vs5.srt
deleted file mode 100644
index 8bc6db8..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_en_vs5.srt
+++ /dev/null
@@ -1,111 +0,0 @@
-1

-00:00:00,070 --> 00:00:02,969

-There are two more software process models that I want to cover, so

-

-2

-00:00:02,969 --> 00:00:06,120

-bear with me. The first one is the Rational Unified software Process

-

-3

-00:00:06,120 --> 00:00:09,500

-or IUP, which is s a very popular one based on UML.

-

-4

-00:00:09,500 --> 00:00:12,620

-RUP works in an iterative way, which means it that it performs different

-

-5

-00:00:12,620 --> 00:00:16,360

-iterations. And at each iteration, it performs four phases. So what I'm

-

-6

-00:00:16,360 --> 00:00:19,030

-showing you here, is a high level view of the process. And I

-

-7

-00:00:19,030 --> 00:00:21,630

-don't want you to focus on all the different details, because we

-

-8

-00:00:21,630 --> 00:00:25,170

-will discuss these details later on, in a lesson that is actually dedicated

-

-9

-00:00:25,170 --> 00:00:27,470

-to RUP. What I want to give you now, is just the

-

-10

-00:00:27,470 --> 00:00:31,020

-gist of how this works. So, in each one of these four

-

-11

-00:00:31,020 --> 00:00:34,680

-phases, which I'm going to describe in a second. We perform standard software

-

-12

-00:00:34,680 --> 00:00:38,060

-engineering activities, the ones that we just discussed. And we do them

-

-13

-00:00:38,060 --> 00:00:41,320

-to different extent, based on the phase in which we are.

-

-14

-00:00:41,320 --> 00:00:44,841

-In particular, in the inception phase the work is mostly to sculpt

-

-15

-00:00:44,841 --> 00:00:47,940

-the system. So basically figuring out what is the scope of the

-

-16

-00:00:47,940 --> 00:00:50,220

-work, what is the scope of the project, what is the domain.

-

-17

-00:00:50,220 --> 00:00:52,670

-So that we can be able to perform initial cost

-

-18

-00:00:52,670 --> 00:00:56,190

-and budget estimates. The operational phase is the phase in which

-

-19

-00:00:56,190 --> 00:00:59,910

-we focus on the domain analysis and define the basic architecture

-

-20

-00:00:59,910 --> 00:01:03,030

-for the system. So this is a phase in which analysis

-

-21

-00:01:03,030 --> 00:01:06,290

-and design are particularly paramount. Then there is a construction phase,

-

-22

-00:01:06,290 --> 00:01:09,250

-which is where the bulk of the development actually occurs. And

-

-23

-00:01:09,250 --> 00:01:11,640

-as you can see here, is where most of the implementation

-

-24

-00:01:11,640 --> 00:01:15,280

-happens. And finally, the transition phase is the phase in which

-

-25

-00:01:15,280 --> 00:01:18,090

-the system goes from development into production, so that

-

-26

-00:01:18,090 --> 00:01:20,380

-it becomes available to users. And of course, this is

-

-27

-00:01:20,380 --> 00:01:22,480

-the phase in which the other activities in software

-

-28

-00:01:22,480 --> 00:01:25,710

-development become less relevant and deployment becomes the main one.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_pt_vs1.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_pt_vs1.srt
deleted file mode 100644
index cb089cb..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/14 - Rational Unified Process - lang_pt_vs1.srt
+++ /dev/null
@@ -1,111 +0,0 @@
-1

-00:00:00,070 --> 00:00:02,969

-Existem ainda dois outros processos de modelagem de software que eu gostaria de tratar, então

-

-2

-00:00:02,969 --> 00:00:06,120

-me acompanhem. O primeiro é o Processo Unificado Racional

-

-3

-00:00:06,120 --> 00:00:09,500

-ou RUP que é um dos mais populares baseados em UML.

-

-4

-00:00:09,500 --> 00:00:12,620

-RUP opera de uma maneira iterativa, o que significa que ocorrem diversas

-

-5

-00:00:12,620 --> 00:00:16,360

-iterações. E em cada iteração, são desenvolvidas quatro fases. Então o que eu

-

-6

-00:00:16,360 --> 00:00:19,030

-estou lhe mostrando aqui, é uma vista panorâmica do processo. E eu

-

-7

-00:00:19,030 --> 00:00:21,630

-não quero que você foque em todos os detalhes, porquê nós

-

-8

-00:00:21,630 --> 00:00:25,170

-iremos discutir estes detalhes mais tarde, numa lição que é de fato dedicada

-

-9

-00:00:25,170 --> 00:00:27,470

-ao RUP. O que eu quero lhe dar agora, é apenas a

-

-10

-00:00:27,470 --> 00:00:31,020

-essência de como isso funciona. Então, em cada um dessas quatro

-

-11

-00:00:31,020 --> 00:00:34,680

-fases, que eu irei descrever em breve... Nós desenvolvemos atividades

-

-12

-00:00:34,680 --> 00:00:38,060

-de engenharia de software padrões, as que nós já discutimos. E nós as fazemos

-

-13

-00:00:38,060 --> 00:00:41,320

-para diferentes amplitudes, baseadas na fase em que nos encontramos.

-

-14

-00:00:41,320 --> 00:00:44,841

-Em particular, na fase de Concepção (Iniciação) o trabalho será sobretudo de esculpir

-

-15

-00:00:44,841 --> 00:00:47,940

-o sistema. E basicamente ilustrando o escopo do

-

-16

-00:00:47,940 --> 00:00:50,220

-trabalho, qual será o escopo do projeto, qual é o domínio.

-

-17

-00:00:50,220 --> 00:00:52,670

-E então nós seremos capazes de saber o custo inicial

-

-18

-00:00:52,670 --> 00:00:56,190

-e fazer um orçamento. A fase de Elaboração é a fase na qual

-

-19

-00:00:56,190 --> 00:00:59,910

-nós focamos na análise de domínio e definimos a arquitetura de base

-

-20

-00:00:59,910 --> 00:01:03,030

-do sistema. Então esta é a fase na qual a análise

-

-21

-00:01:03,030 --> 00:01:06,290

-e o projeto se tornam proeminentes. E então ocorre a fase de Construção,

-

-22

-00:01:06,290 --> 00:01:09,250

-na qual o desenvolvimento massivo de fato ocorre. E

-

-23

-00:01:09,250 --> 00:01:11,640

-como você pode ver aqui, é onde a maior parte da implementação

-

-24

-00:01:11,640 --> 00:01:15,280

-ocorre. E finalmente, a fase de Transição é a fase na qual

-

-25

-00:01:15,280 --> 00:01:18,090

-o sistema passa do desenvolvimento para a produção, e então

-

-26

-00:01:18,090 --> 00:01:20,380

-ele se torna disponível aos usuários. E é claro, esta é

-

-27

-00:01:20,380 --> 00:01:22,480

-a fase na qual as outras atividades em desenvolvimento de

-

-28

-00:01:22,480 --> 00:01:25,710

-software se tornam menos relevantes e a entrega se torna a principal.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_en_vs3.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_en_vs3.srt
deleted file mode 100644
index 70ef200..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_en_vs3.srt
+++ /dev/null
@@ -1,123 +0,0 @@
-1

-00:00:00,150 --> 00:00:02,300

-The next type of software process models that I

-

-2

-00:00:02,300 --> 00:00:06,300

-want to discuss are Agile Software Development Processes. And this

-

-3

-00:00:06,300 --> 00:00:08,470

-is a group of software development methods that are

-

-4

-00:00:08,470 --> 00:00:12,620

-based on highly iterative and incremental development. And in particular,

-

-5

-00:00:12,620 --> 00:00:16,000

-I'm going to discuss Test Driven Development or TDD. The

-

-6

-00:00:16,000 --> 00:00:18,490

-space on the iteration of three main phases. In

-

-7

-00:00:18,490 --> 00:00:20,970

-the first one that we mark as red, we

-

-8

-00:00:20,970 --> 00:00:25,350

-write test cases that encode our requirements, and for which

-

-9

-00:00:25,350 --> 00:00:29,180

-we haven't written code yet. And therefore, they will fail, obviously.

-

-10

-00:00:29,180 --> 00:00:31,800

-So we're in this sort of red or fail phase. From

-

-11

-00:00:31,800 --> 00:00:34,830

-this phase, we move to this phase, in which after we

-

-12

-00:00:34,830 --> 00:00:37,970

-write the just enough code to make the test cases pass.

-

-13

-00:00:37,970 --> 00:00:40,670

-We have a set of test cases that are all passing.

-

-14

-00:00:40,670 --> 00:00:43,810

-And therefore, we can consider this as the green phase. We

-

-15

-00:00:43,810 --> 00:00:46,930

-had enough code to make the test cases pass because the

-

-16

-00:00:46,930 --> 00:00:50,520

-test cases encode our requirements. We have just written enough code to

-

-17

-00:00:50,520 --> 00:00:53,940

-satisfy our requirements. When we do this over time though,

-

-18

-00:00:53,940 --> 00:00:57,080

-what happens is that the structure of the code deteriorates, because

-

-19

-00:00:57,080 --> 00:00:59,100

-we keep adding pieces. So that's why we have the

-

-20

-00:00:59,100 --> 00:01:02,540

-first step, which is refactoring. In this step, we modify the

-

-21

-00:01:02,540 --> 00:01:05,724

-code, and we will talk about refactoring extensively. We'll devote

-

-22

-00:01:05,724 --> 00:01:08,190

-one lesson to it. We modify the code to make it

-

-23

-00:01:08,190 --> 00:01:12,650

-more readable, more maintainable. In general, we modify to improve the

-

-24

-00:01:12,650 --> 00:01:15,560

-design of the code. And after this phase, we will go

-

-25

-00:01:15,560 --> 00:01:17,670

-back to writing more test cases for

-

-26

-00:01:17,670 --> 00:01:19,730

-new requirements, write code that makes these

-

-27

-00:01:19,730 --> 00:01:24,870

-test cases pass, and so on. So we'll continue to iterate among these phases. And

-

-28

-00:01:24,870 --> 00:01:26,500

-also, in this case, we will talk

-

-29

-00:01:26,500 --> 00:01:29,390

-about Agile Software Processes. And in particular,

-

-30

-00:01:29,390 --> 00:01:32,250

-about extreme programming, or XP, and Scrum

-

-31

-00:01:32,250 --> 00:01:35,349

-in more details, in minor course number four.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_pt_vs1.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_pt_vs1.srt
deleted file mode 100644
index b2224ea..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/15 - Agile Process - lang_pt_vs1.srt
+++ /dev/null
@@ -1,123 +0,0 @@
-1

-00:00:00,150 --> 00:00:02,300

-O próximo tipo de modelos de processo para software que eu

-

-2

-00:00:02,300 --> 00:00:06,300

-gostaria de discutir são os Processos Ágil de Desenvolvimento de Software. E este

-

-3

-00:00:06,300 --> 00:00:08,470

-é um grupo de métodos de desenvolvimento de software que são

-

-4

-00:00:08,470 --> 00:00:12,620

-baseados em desenvolvimento incremental e altamente iterativo. E em particular,

-

-5

-00:00:12,620 --> 00:00:16,000

-eu irei discutir é o Desenvolvimento Orientado a Testes, ou TDD. O

-

-6

-00:00:16,000 --> 00:00:18,490

-espaço na interação de três fases principais. Na

-

-7

-00:00:18,490 --> 00:00:20,970

-primeira delas que iremos marcar em vermelho, nós

-

-8

-00:00:20,970 --> 00:00:25,350

-escrevemos casos de teste que codificam nossos requisitos, e para os quais

-

-9

-00:00:25,350 --> 00:00:29,180

-nós ainda não escrevemos o código. E obviamente, em seguida eles irão falhar.

-

-10

-00:00:29,180 --> 00:00:31,800

-E então nós iremos cair neste tipo de fase vermelha, ou de falha. Desta

-

-11

-00:00:31,800 --> 00:00:34,830

-fase, nós passamos para esta outra fase, a qual ocorre depois de nós

-

-12

-00:00:34,830 --> 00:00:37,970

-escrevermos código suficiente para que os casos de teste aprovem.

-

-13

-00:00:37,970 --> 00:00:40,670

-Nós temos um conjunto de casos de testes em que todos aprovaram.

-

-14

-00:00:40,670 --> 00:00:43,810

-E em segunda, nós podemos considerar isso como a fase verde. Nós

-

-15

-00:00:43,810 --> 00:00:46,930

-temos código suficiente para fazer os casos de teste aprovarem porquê os

-

-16

-00:00:46,930 --> 00:00:50,520

-casos de teste codificam nossos requisitos. Nós escrevemos código suficiente para

-

-17

-00:00:50,520 --> 00:00:53,940

-satisfazer nossos requisitos. Quando nós seguimos com isso ao longo do tempo,

-

-18

-00:00:53,940 --> 00:00:57,080

-o que ocorre é que a estrutura do código deteriora, porquê

-

-19

-00:00:57,080 --> 00:00:59,100

-nós continuamos adicionando partes! E esta é a razão de nós termos o

-

-20

-00:00:59,100 --> 00:01:02,540

-primeiro passo, que é a Refatoração. Neste passo, nós modificamos o

-

-21

-00:01:02,540 --> 00:01:05,724

-código, e nós iremos falar extensamente sobre refatoração. Nós iremos dedicar

-

-22

-00:01:05,724 --> 00:01:08,190

-uma aula para isso. Nós modificamos o código para o tornar mais

-

-23

-00:01:08,190 --> 00:01:12,650

-legível, mais fácil de dar manutenção. Em geral, nós modificamos para aprimorar a

-

-24

-00:01:12,650 --> 00:01:15,560

-concepção do código. E depois desta fase, nós iremos tornar a

-

-25

-00:01:15,560 --> 00:01:17,670

-escrever mais casos de teste para

-

-26

-00:01:17,670 --> 00:01:19,730

-novos requisitos... escrever código que faz com que

-

-27

-00:01:19,730 --> 00:01:24,870

-esses casos de teste aprovem e assim em diante. E então nós iremos continuar a iterar ao entre essas fases. E

-

-28

-00:01:24,870 --> 00:01:26,500

-também, neste caso, nós iremos falar

-

-29

-00:01:26,500 --> 00:01:29,390

-sobre Processos Ágil de Desenvolvimento de Software. E em particular, em

-

-30

-00:01:29,390 --> 00:01:32,250

-Programação Extrema, ou XP e SCRUM

-

-31

-00:01:32,250 --> 00:01:35,349

-mais detalhadamente, no subcurso número quatro.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/16 - Choosing a Model - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/16 - Choosing a Model - lang_en_vs4.srt
deleted file mode 100644
index d898337..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/16 - Choosing a Model - lang_en_vs4.srt
+++ /dev/null
@@ -1,179 +0,0 @@
-1

-00:00:00,100 --> 00:00:02,860

-We just saw several software process models, and there

-

-2

-00:00:02,860 --> 00:00:06,330

-are many, many more. And because these process models define

-

-3

-00:00:06,330 --> 00:00:09,330

-the master plan for our project, the specific process

-

-4

-00:00:09,330 --> 00:00:12,220

-model that we choose has as much influence over a

-

-5

-00:00:12,220 --> 00:00:15,700

-project's success as any other major planning decision that

-

-6

-00:00:15,700 --> 00:00:18,610

-we make. Therefore, it is very important that we pick

-

-7

-00:00:18,610 --> 00:00:22,100

-the appropriate model for our development process. Picking an appropriate

-

-8

-00:00:22,100 --> 00:00:25,100

-model can ensure the success of a project. On the

-

-9

-00:00:25,100 --> 00:00:27,830

-contrary, if we choose the wrong model, that can be a

-

-10

-00:00:27,830 --> 00:00:31,010

-constant source of problems and ultimately, it can make the project

-

-11

-00:00:31,010 --> 00:00:33,830

-fail. So how can we choose the right model for a

-

-12

-00:00:33,830 --> 00:00:36,310

-project? To be able to do so, we have to take into

-

-13

-00:00:36,310 --> 00:00:40,490

-consideration many factors. In particular, we need to be aware of

-

-14

-00:00:40,490 --> 00:00:44,390

-what level of understanding we have of the requirements. Do we understand

-

-15

-00:00:44,390 --> 00:00:46,720

-all the requirements? Are we going to be able to collect all

-

-16

-00:00:46,720 --> 00:00:50,430

-the requirements in advance, or collecting requirements is going to be hard and

-

-17

-00:00:50,430 --> 00:00:53,460

-therefore, we might want to follow a process that is more flexible

-

-18

-00:00:53,460 --> 00:00:57,470

-with that respect. Another important point is the expected lifetime of the

-

-19

-00:00:57,470 --> 00:01:00,300

-project. Is this a quick project that we are putting together for

-

-20

-00:01:00,300 --> 00:01:03,100

-a specific purpose or something that's going to last for for a number

-

-21

-00:01:03,100 --> 00:01:05,910

-of years and that we're going to maintain over all those years?

-

-22

-00:01:05,910 --> 00:01:08,380

-That's going to make a difference in the way we decide to develop

-

-23

-00:01:08,380 --> 00:01:12,190

-that project. Also, what is the level of risk involved? Do we

-

-24

-00:01:12,190 --> 00:01:15,530

-know the domain very well? Do we know exactly the technologies involved?

-

-25

-00:01:15,530 --> 00:01:19,100

-Well, if so, we might go with a more traditional process. Otherwise,

-

-26

-00:01:19,100 --> 00:01:21,902

-we might want to be more agile, more flexible. It is also

-

-27

-00:01:21,902 --> 00:01:24,900

-very important to know the schedule constraints. How much time, how many

-

-28

-00:01:24,900 --> 00:01:28,640

-resources do we have for this project? What is the expected interaction

-

-29

-00:01:28,640 --> 00:01:31,870

-with the management and the customer? In particular for this ladder, there

-

-30

-00:01:31,870 --> 00:01:34,840

-are many processes that rely on the fact that there can be

-

-31

-00:01:34,840 --> 00:01:38,310

-a continuous interaction with the customer. If that interaction is not there,

-

-32

-00:01:38,310 --> 00:01:41,230

-there's no way we are going to be able to use these processes.

-

-33

-00:01:41,230 --> 00:01:44,580

-Conversely, there are processes that don't require the presence of the customer

-

-34

-00:01:44,580 --> 00:01:47,868

-at all, except for the initial phase and maybe some checking points and

-

-35

-00:01:47,868 --> 00:01:51,020

-so if the customer is very inaccessible, we might want to follow

-

-36

-00:01:51,020 --> 00:01:53,740

-one of those processes, instead of one of the more demanding ones in

-

-37

-00:01:53,740 --> 00:01:57,340

-terms of customer's time. Finally, it is important to take into account

-

-38

-00:01:57,340 --> 00:02:00,450

-the level of the expertise of the people involved. Do we have people

-

-39

-00:02:00,450 --> 00:02:02,730

-that know the technologies that we're using? Do we know people that

-

-40

-00:02:02,730 --> 00:02:04,590

-know a specific kind of process?

-

-41

-00:02:04,590 --> 00:02:06,930

-Some processes require some specific expertise and

-

-42

-00:02:06,930 --> 00:02:09,320

-we're not going to be able to follow that process if we don't

-

-43

-00:02:09,320 --> 00:02:12,410

-have the right expertise. So we need to take into account all of

-

-44

-00:02:12,410 --> 00:02:15,570

-these aspects, and sometimes more, in order to be able to make

-

-45

-00:02:15,570 --> 00:02:19,560

-the right decision and pick the right software process model for our project.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/17 - Choosing a Model Quiz - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/17 - Choosing a Model Quiz - lang_en_vs4.srt
deleted file mode 100644
index 9f733ac..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/17 - Choosing a Model Quiz - lang_en_vs4.srt
+++ /dev/null
@@ -1,35 +0,0 @@
-1

-00:00:00,090 --> 00:00:02,080

-Now before we move to the last part of the lesson, let's

-

-2

-00:00:02,080 --> 00:00:04,939

-have a quick quiz on software process models to make sure that

-

-3

-00:00:04,939 --> 00:00:06,640

-we are all on the same page. So I am going to

-

-4

-00:00:06,640 --> 00:00:10,320

-ask you two questions. The first question is which of the following models

-

-5

-00:00:10,320 --> 00:00:14,330

-is most suitable to develop a software control system? And when you

-

-6

-00:00:14,330 --> 00:00:17,700

-think about the software control system, you can think about for example

-

-7

-00:00:17,700 --> 00:00:21,150

-the control system for the software in an airplane. Would you rather

-

-8

-00:00:21,150 --> 00:00:22,860

-use a pure waterfall model? Test

-

-9

-00:00:22,860 --> 00:00:25,840

-driven development? Or an evolutionary prototyping approach?

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/18 - Choosing a Model Quiz Solution - lang_en_vs5.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/18 - Choosing a Model Quiz Solution - lang_en_vs5.srt
deleted file mode 100644
index 01a444c..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/18 - Choosing a Model Quiz Solution - lang_en_vs5.srt
+++ /dev/null
@@ -1,47 +0,0 @@
-1

-00:00:00,080 --> 00:00:02,980

-This is the context in which, typically, a pure

-

-2

-00:00:02,980 --> 00:00:06,310

-waterfall process will work well. Why? Well, because it's a

-

-3

-00:00:06,310 --> 00:00:10,160

-context in which requirements are usually well understood. The

-

-4

-00:00:10,160 --> 00:00:13,020

-domain is well understood, so that kind of system has

-

-5

-00:00:13,020 --> 00:00:15,900

-been built many times before. And also, it's a

-

-6

-00:00:15,900 --> 00:00:19,510

-system in which we don't expect requirements to change dramatically

-

-7

-00:00:19,510 --> 00:00:23,180

-over time. Therefore, a waterfall model, in which we collect

-

-8

-00:00:23,180 --> 00:00:25,140

-all the requirements at the beginning and then we move

-

-9

-00:00:25,140 --> 00:00:28,280

-to the subsequent phases might be the most appropriate one. Probably

-

-10

-00:00:28,280 --> 00:00:30,800

-we don't want to do evolutionary prototyping in the case of

-

-11

-00:00:30,800 --> 00:00:34,130

-the control system for an airplane. Same thing holds for TDD,

-

-12

-00:00:34,130 --> 00:00:36,460

-so we want to be a little more rigorous in those cases.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/19 - Choosing a Model Quiz - lang_en_vs5.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/19 - Choosing a Model Quiz - lang_en_vs5.srt
deleted file mode 100644
index 570d146..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/19 - Choosing a Model Quiz - lang_en_vs5.srt
+++ /dev/null
@@ -1,11 +0,0 @@
-1

-00:00:00,110 --> 00:00:03,580

-The second question I want to ask you is which model is the most suitable if you

-

-2

-00:00:03,580 --> 00:00:06,660

-expect mid-course corrections? Would you rather use a

-

-3

-00:00:06,660 --> 00:00:10,430

-pure waterfall model, a spiral model, or evolutionary prototyping?

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/2 - Traditional Software Phases - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/2 - Traditional Software Phases - lang_en_vs4.srt
deleted file mode 100644
index cc522f0..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/2 - Traditional Software Phases - lang_en_vs4.srt
+++ /dev/null
@@ -1,75 +0,0 @@
-1

-00:00:00,160 --> 00:00:02,650

-As we just heard from Professor Bohem, software

-

-2

-00:00:02,650 --> 00:00:05,970

-engineering is an important and critical discipline, concerned

-

-3

-00:00:05,970 --> 00:00:09,100

-with cost effective software development. We also heard

-

-4

-00:00:09,100 --> 00:00:11,170

-that this is based on a systematic approach

-

-5

-00:00:11,170 --> 00:00:14,580

-that uses appropriate tools and techniques, operates under

-

-6

-00:00:14,580 --> 00:00:18,130

-specific development constraints. And most importantly, follows a

-

-7

-00:00:18,130 --> 00:00:20,890

-process. As we discussed in the previous lesson,

-

-8

-00:00:20,890 --> 00:00:25,770

-the software development process contains fundamental activities, or phases.

-

-9

-00:00:25,770 --> 00:00:28,480

-Since we will discuss several processes, I'm going to remind

-

-10

-00:00:28,480 --> 00:00:31,150

-you what these phases are. We start with requirements

-

-11

-00:00:31,150 --> 00:00:33,630

-engineering, followed by design,

-

-12

-00:00:33,630 --> 00:00:36,980

-implementation, verification and validation, and

-

-13

-00:00:36,980 --> 00:00:40,950

-finally maintenance. Note that we will revisit each of

-

-14

-00:00:40,950 --> 00:00:43,940

-these phases and devote an entire lesson or more

-

-15

-00:00:43,940 --> 00:00:46,160

-to each phase. So what I want to do next

-

-16

-00:00:46,160 --> 00:00:48,210

-is simply to give you a quick overview of

-

-17

-00:00:48,210 --> 00:00:51,020

-what these phases are. Note also that for now

-

-18

-00:00:51,020 --> 00:00:54,330

-I will follow a very traditional take on these topics. Later on in the

-

-19

-00:00:54,330 --> 00:00:58,260

-class we will see how things can change and did change over the years.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/20 - Choosing a Model Quiz Solution - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/20 - Choosing a Model Quiz Solution - lang_en_vs4.srt
deleted file mode 100644
index 7ea0e4f..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/20 - Choosing a Model Quiz Solution - lang_en_vs4.srt
+++ /dev/null
@@ -1,67 +0,0 @@
-1

-00:00:00,150 --> 00:00:02,860

-In this case, I think about the spiral model,

-

-2

-00:00:02,860 --> 00:00:06,610

-and evolutionary prototyping model will work. Definitely you don't want to

-

-3

-00:00:06,610 --> 00:00:09,110

-have a pure water from water. Why? Well because it

-

-4

-00:00:09,110 --> 00:00:11,940

-is very expensive with a pure waterfall model to make

-

-5

-00:00:11,940 --> 00:00:15,460

-changes during the course of the project, especially changes

-

-6

-00:00:15,460 --> 00:00:17,860

-that involve requirements. Why? Because we saw that it can

-

-7

-00:00:17,860 --> 00:00:20,440

-be very expensive. Whereas with the spiral model, we saw

-

-8

-00:00:20,440 --> 00:00:25,220

-that being iterative, we can actually make correction throughout development.

-

-9

-00:00:25,220 --> 00:00:28,840

-Similarly, with evolutionary prototyping, we keep evolving our system

-

-10

-00:00:28,840 --> 00:00:32,170

-based on the customer feedback. And therefore, if something changes,

-

-11

-00:00:32,170 --> 00:00:33,810

-we will get feedback right away, and we will

-

-12

-00:00:33,810 --> 00:00:36,230

-be able to adapt. So the key thing here is

-

-13

-00:00:36,230 --> 00:00:39,060

-that anything that is iterative works better in the

-

-14

-00:00:39,060 --> 00:00:43,400

-case of changing environments. So, situations in which your requirements,

-

-15

-00:00:43,400 --> 00:00:46,720

-the situation, the project might change. Whereas waterfall is

-

-16

-00:00:46,720 --> 00:00:50,410

-more appropriate for situations in which the requirements are stable,

-

-17

-00:00:50,410 --> 00:00:53,760

-we know the domain, and possibly we also know the technologies involved.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/21 - Lifecycle Documents - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/21 - Lifecycle Documents - lang_en_vs4.srt
deleted file mode 100644
index 20e1102..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/21 - Lifecycle Documents - lang_en_vs4.srt
+++ /dev/null
@@ -1,67 +0,0 @@
-1

-00:00:00,070 --> 00:00:02,650

-Now that we discussed softer process models, there is

-

-2

-00:00:02,650 --> 00:00:05,100

-another important point I want to cover, because it's going to

-

-3

-00:00:05,100 --> 00:00:08,970

-be useful for your projects. Documenting the activities carried out

-

-4

-00:00:08,970 --> 00:00:11,660

-during the different phases of the softer lifecycle, is a

-

-5

-00:00:11,660 --> 00:00:14,960

-very important task. The documents that we produce are used

-

-6

-00:00:14,960 --> 00:00:18,270

-for different purposes, such as communicative details of the software

-

-7

-00:00:18,270 --> 00:00:21,650

-systems. To difference the colors, ensure the correct implementation of

-

-8

-00:00:21,650 --> 00:00:25,630

-the system, facilitate maintenance, and so on. There are standardized

-

-9

-00:00:25,630 --> 00:00:29,230

-document that are provided by IEEE that you can use

-

-10

-00:00:29,230 --> 00:00:32,680

-for this purpose. However, they're kind of heavyweight. So for the

-

-11

-00:00:32,680 --> 00:00:35,090

-project in this class, when we will need them, I will

-

-12

-00:00:35,090 --> 00:00:38,760

-rather use this lightweight documents. That we created by modifying the

-

-13

-00:00:38,760 --> 00:00:41,730

-original ones, and make them a little simpler. In this,

-

-14

-00:00:41,730 --> 00:00:44,700

-our documents are actually used, while teaching this class in the

-

-15

-00:00:44,700 --> 00:00:47,600

-past. So they're well tested and work well for the kind

-

-16

-00:00:47,600 --> 00:00:50,730

-of projects that we will perform. I provide information on how

-

-17

-00:00:50,730 --> 00:00:52,880

-to access these documents in the class notes.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/22 - Classic Mistakes: People - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/22 - Classic Mistakes: People - lang_en_vs4.srt
deleted file mode 100644
index 7edb042..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/22 - Classic Mistakes: People - lang_en_vs4.srt
+++ /dev/null
@@ -1,163 +0,0 @@
-1

-00:00:00,120 --> 00:00:02,000

-Now we get to the final part of the lesson.

-

-2

-00:00:02,000 --> 00:00:04,810

-And in this part I want to talk about well known,

-

-3

-00:00:04,810 --> 00:00:09,230

-ineffective development practices. These practices, when followed, tend to lead

-

-4

-00:00:09,230 --> 00:00:13,245

-to predictably bad results. So let's look at some examples of

-

-5

-00:00:13,245 --> 00:00:17,130

-these classic mistakes. And we're going to start with mistakes

-

-6

-00:00:17,130 --> 00:00:20,660

-involving people. And notice that there is a long list. So

-

-7

-00:00:20,660 --> 00:00:23,100

-I'm going to discuss just a few of those mistakes.

-

-8

-00:00:23,100 --> 00:00:25,215

-And I'm going to point you to more information on this

-

-9

-00:00:25,215 --> 00:00:27,550

-topic in the class notes. And some of these mistakes are

-

-10

-00:00:27,550 --> 00:00:30,020

-actually kind of entertaining. So I'll recommend that you look at

-

-11

-00:00:30,020 --> 00:00:33,210

-the class notes and go in more depth in this list.

-

-12

-00:00:33,210 --> 00:00:35,550

-So the first people mistake I want to mention is the

-

-13

-00:00:35,550 --> 00:00:38,945

-one that I define, heroics. And this refers to too much

-

-14

-00:00:38,945 --> 00:00:43,480

-emphasis on can do attitudes, so this idea that one person

-

-15

-00:00:43,480 --> 00:00:46,330

-by himself or by herself can do everything and can make

-

-16

-00:00:46,330 --> 00:00:50,422

-the difference in the whole project. And unfortunately, this encourages extreme

-

-17

-00:00:50,422 --> 00:00:53,950

-risk taking and discourages cooperation, which is plain bad for

-

-18

-00:00:53,950 --> 00:00:56,610

-the project. For example, it might force people not to

-

-19

-00:00:56,610 --> 00:00:59,600

-report schedule slips. It might force people to take on

-

-20

-00:00:59,600 --> 00:01:02,210

-on too much responsibility. And normally, and I saw it

-

-21

-00:01:02,210 --> 00:01:05,600

-happen many times, the final result is a failure. So

-

-22

-00:01:05,600 --> 00:01:08,410

-what you want when you're developing a larger project, is

-

-23

-00:01:08,410 --> 00:01:11,710

-actually to apply soft engineering principles. Have teams, have team

-

-24

-00:01:11,710 --> 00:01:15,580

-work, and have cooperation among the different team members, without pointing

-

-25

-00:01:15,580 --> 00:01:18,830

-too much on single individuals. Another classic mistake

-

-26

-00:01:18,830 --> 00:01:22,140

-is to not create the right working environment. We

-

-27

-00:01:22,140 --> 00:01:24,900

-all like to work in nice environments. And there

-

-28

-00:01:24,900 --> 00:01:27,790

-is strong evidence that the working environments can play

-

-29

-00:01:27,790 --> 00:01:30,670

-a big role in productivity. There is evidence

-

-30

-00:01:30,670 --> 00:01:34,280

-that productivity increases when the workplace is nice, quiet,

-

-31

-00:01:34,280 --> 00:01:37,950

-warm, and welcoming. Finally, some of the most important

-

-32

-00:01:37,950 --> 00:01:41,480

-people relating mistakes are due to poor people management.

-

-33

-00:01:41,480 --> 00:01:44,540

-For example, lack of leaderships, or leadership that is

-

-34

-00:01:44,540 --> 00:01:47,920

-exercised using the wrong means in the wrong way, which

-

-35

-00:01:47,920 --> 00:01:50,280

-can lead to very unhappy personnel and therefore, low

-

-36

-00:01:50,280 --> 00:01:54,190

-productivity, or even people leaving teams. Another classic example of

-

-37

-00:01:54,190 --> 00:01:57,370

-poor management is adding people to a project that

-

-38

-00:01:57,370 --> 00:02:01,600

-is behind schedule, which never works. Why it doesn't work?

-

-39

-00:02:01,600 --> 00:02:03,440

-Because these new people need to be brought up to

-

-40

-00:02:03,440 --> 00:02:06,520

-speed, and that causes further delays rather than improving the

-

-41

-00:02:06,520 --> 00:02:08,280

-situation with the project schedule.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/23 - Classic Mistakes: Process - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/23 - Classic Mistakes: Process - lang_en_vs4.srt
deleted file mode 100644
index 83720a0..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/23 - Classic Mistakes: Process - lang_en_vs4.srt
+++ /dev/null
@@ -1,79 +0,0 @@
-1

-00:00:00,080 --> 00:00:03,770

-Another type of classic mistakes are process-related mistakes. And also

-

-2

-00:00:03,770 --> 00:00:05,850

-in this case, these kind of mistakes can be due

-

-3

-00:00:05,850 --> 00:00:08,970

-to many reasons. And they are of many types. One

-

-4

-00:00:08,970 --> 00:00:12,310

-typical example are scheduling issues, which are due to the fact

-

-5

-00:00:12,310 --> 00:00:15,180

-of being unable to come up with a realistic schedule.

-

-6

-00:00:15,180 --> 00:00:17,750

-So to have an overly optimistic schedule. And this can be

-

-7

-00:00:17,750 --> 00:00:21,230

-because we underestimate the effort involved in different parts of

-

-8

-00:00:21,230 --> 00:00:25,010

-the project. Because we overestimate the ability of the people involved.

-

-9

-00:00:25,010 --> 00:00:27,600

-Because we overestimate the importance, for example, of the use

-

-10

-00:00:27,600 --> 00:00:29,640

-of tools. But no matter what the reason is, the

-

-11

-00:00:29,640 --> 00:00:32,840

-result is typically that the projects end up being late,

-

-12

-00:00:32,840 --> 00:00:35,580

-which is a very common situation. So this is somehow

-

-13

-00:00:35,580 --> 00:00:39,020

-related to planning. And in general, planning is a fundamental

-

-14

-00:00:39,020 --> 00:00:42,720

-factor in software processes and in software development. Mistakes in

-

-15

-00:00:42,720 --> 00:00:46,120

-planning, such as insufficient planning or abandoning planning due to

-

-16

-00:00:46,120 --> 00:00:50,190

-pressure, usually lead inexorably to failure. And speaking of failures,

-

-17

-00:00:50,190 --> 00:00:53,040

-often there are unforeseen failures. Such as

-

-18

-00:00:53,040 --> 00:00:55,410

-failures on the constructor's end, for example,

-

-19

-00:00:55,410 --> 00:00:56,920

-that might lead to low quality or

-

-20

-00:00:56,920 --> 00:01:00,580

-late deliverables, which ultimately affects the downstream activities.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/24 - Classic Mistakes: Product - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/24 - Classic Mistakes: Product - lang_en_vs4.srt
deleted file mode 100644
index 24972d9..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/24 - Classic Mistakes: Product - lang_en_vs4.srt
+++ /dev/null
@@ -1,87 +0,0 @@
-1

-00:00:00,090 --> 00:00:01,970

-The third category of mistakes that I want to

-

-2

-00:00:01,970 --> 00:00:04,970

-mention is product-related mistakes. A

-

-3

-00:00:04,970 --> 00:00:07,360

-typical example of product-related mistake

-

-4

-00:00:07,360 --> 00:00:11,010

-is gold plating of requirements. And what that means is

-

-5

-00:00:11,010 --> 00:00:13,710

-basically is that it's very common for projects to have

-

-6

-00:00:13,710 --> 00:00:17,230

-more requirements than they actually need. For example, marketing might

-

-7

-00:00:17,230 --> 00:00:19,090

-want to add more features than the ones that are

-

-8

-00:00:19,090 --> 00:00:21,460

-actually needed by the users. And of course having more

-

-9

-00:00:21,460 --> 00:00:25,720

-requirements lengthens the project's schedule in a totally unnecessary way.

-

-10

-00:00:25,720 --> 00:00:29,250

-Feature creep is another common mistake and consists in

-

-11

-00:00:29,250 --> 00:00:32,140

-adding more and more features to a product that were

-

-12

-00:00:32,140 --> 00:00:34,650

-not initially planned and are not really needed in most

-

-13

-00:00:34,650 --> 00:00:38,360

-cases. And here there is evidence that the average project

-

-14

-00:00:38,360 --> 00:00:41,180

-experiences about a 25% growth in the number of

-

-15

-00:00:41,180 --> 00:00:44,330

-features over its lifetime which can clearly highly effect The

-

-16

-00:00:44,330 --> 00:00:47,580

-project schedule. Finally, if you're working on a project that

-

-17

-00:00:47,580 --> 00:00:50,760

-strains the limits of computer science. For example, because you

-

-18

-00:00:50,760 --> 00:00:53,350

-need to develop new algorithms for the project, or you have

-

-19

-00:00:53,350 --> 00:00:56,670

-to use new techniques. Then that project might be more research than

-

-20

-00:00:56,670 --> 00:00:58,450

-actual development. And therefore, it

-

-21

-00:00:58,450 --> 00:01:00,600

-should be managed accordingly. For example,

-

-22

-00:01:00,600 --> 00:01:03,910

-by taking into account that you will have a highly unpredictable schedule.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/25 - Classic Mistakes: Technology - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/25 - Classic Mistakes: Technology - lang_en_vs4.srt
deleted file mode 100644
index 16810ac..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/25 - Classic Mistakes: Technology - lang_en_vs4.srt
+++ /dev/null
@@ -1,95 +0,0 @@
-1

-00:00:00,080 --> 00:00:02,360

-The final type of classic mistakes that I want

-

-2

-00:00:02,360 --> 00:00:06,470

-to mention are technology related mistakes. One typical mistake

-

-3

-00:00:06,470 --> 00:00:09,990

-in this context is the silver-bullet syndrome. What does

-

-4

-00:00:09,990 --> 00:00:13,340

-that mean? Well, the silver-bullet syndrome refers to situations

-

-5

-00:00:13,340 --> 00:00:15,900

-in which there is too much reliance on the

-

-6

-00:00:15,900 --> 00:00:19,950

-advertised benefits of some previously unused technology. For example,

-

-7

-00:00:19,950 --> 00:00:21,980

-a new technology. And the problem here is that

-

-8

-00:00:21,980 --> 00:00:25,140

-we cannot expect technology alone to solve our software

-

-9

-00:00:25,140 --> 00:00:27,810

-development issues. So we should not rely too

-

-10

-00:00:27,810 --> 00:00:31,020

-much on technology alone. Another typical mistake is to

-

-11

-00:00:31,020 --> 00:00:33,700

-switch or add tools in the middle of

-

-12

-00:00:33,700 --> 00:00:36,010

-a project. And sometimes it can make sense to

-

-13

-00:00:36,010 --> 00:00:38,620

-upgrade a tool, but introducing new tools, which

-

-14

-00:00:38,620 --> 00:00:41,650

-can have a steep learning curve, has almost always

-

-15

-00:00:41,650 --> 00:00:46,290

-negative effects. Finally, a common unforgivable mistake is

-

-16

-00:00:46,290 --> 00:00:50,230

-the lack of an automated version control system for

-

-17

-00:00:50,230 --> 00:00:53,480

-your code and for your various artifacts. Manual and

-

-18

-00:00:53,480 --> 00:00:56,700

-ad hoc solutions are just not an option. It is

-

-19

-00:00:56,700 --> 00:00:59,270

-way too easy to make mistakes, use out of

-

-20

-00:00:59,270 --> 00:01:02,600

-date versions, be unable to find a previous working version,

-

-21

-00:01:02,600 --> 00:01:05,030

-and so on. I saw that happening many times,

-

-22

-00:01:05,030 --> 00:01:08,640

-and it always results in a disaster. So be warned,

-

-23

-00:01:08,640 --> 00:01:11,650

-use a version control system and an automated one. And

-

-24

-00:01:11,650 --> 00:01:14,750

-actually we will use version control systems in our projects.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/26 - Classic Mistakes Quiz - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/26 - Classic Mistakes Quiz - lang_en_vs4.srt
deleted file mode 100644
index 2b4263f..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/26 - Classic Mistakes Quiz - lang_en_vs4.srt
+++ /dev/null
@@ -1,23 +0,0 @@
-1

-00:00:00,060 --> 00:00:01,650

-To conclude this lesson, I'm going to have a

-

-2

-00:00:01,650 --> 00:00:03,650

-simple quiz and what I'm going to ask you

-

-3

-00:00:03,650 --> 00:00:07,950

-is, which kind of mistake adding people to a late project is? And you can pick

-

-4

-00:00:07,950 --> 00:00:10,540

-between a people mistake, a product mistake, a

-

-5

-00:00:10,540 --> 00:00:12,830

-technology mistake, or maybe this is not a

-

-6

-00:00:12,830 --> 00:00:16,800

-mistake at all, it is actually okay to add people to a project that is late.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/27 - Classic Mistakes Quiz Solution - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/27 - Classic Mistakes Quiz Solution - lang_en_vs4.srt
deleted file mode 100644
index 53c2485..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/27 - Classic Mistakes Quiz Solution - lang_en_vs4.srt
+++ /dev/null
@@ -1,39 +0,0 @@
-1

-00:00:00,060 --> 00:00:02,719

-You probably got this one right. The right answer is that

-

-2

-00:00:02,719 --> 00:00:05,330

-this is a people mistake. And despite the fact that this is

-

-3

-00:00:05,330 --> 00:00:07,550

-an easy answer, I just want to make sure to stress

-

-4

-00:00:07,550 --> 00:00:10,800

-once more. Because this is a very classic mistake. And one that

-

-5

-00:00:10,800 --> 00:00:14,070

-can have dire consequences. You should never add people, to a

-

-6

-00:00:14,070 --> 00:00:18,430

-late project. Because in 99.9% of the cases, that's only going to make

-

-7

-00:00:18,430 --> 00:00:21,390

-things worse. Why? Because these people have to be brought up to

-

-8

-00:00:21,390 --> 00:00:25,590

-speed, and also because having more also makes the communication more difficult,

-

-9

-00:00:25,590 --> 00:00:27,690

-the meetings more difficult and so on. So in

-

-10

-00:00:27,690 --> 00:00:29,980

-short, do not add people to a late project.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/3 - Requirements Engineering - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/3 - Requirements Engineering - lang_en_vs4.srt
deleted file mode 100644
index c541e70..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/3 - Requirements Engineering - lang_en_vs4.srt
+++ /dev/null
@@ -1,175 +0,0 @@
-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.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/4 - Design - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/4 - Design - lang_en_vs4.srt
deleted file mode 100644
index 5ddb4d1..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/4 - Design - lang_en_vs4.srt
+++ /dev/null
@@ -1,103 +0,0 @@
-1

-00:00:00,290 --> 00:00:02,900

-Now let's discuss the next phase of software development,

-

-2

-00:00:02,900 --> 00:00:06,080

-which is software design. Software design is the phase

-

-3

-00:00:06,080 --> 00:00:09,030

-where software requirements are analyzed in order to produce

-

-4

-00:00:09,030 --> 00:00:11,500

-a description of the internal structure and organization of

-

-5

-00:00:11,500 --> 00:00:13,900

-the system. And this description will serve as the

-

-6

-00:00:13,900 --> 00:00:17,550

-basis for the construction of the actual system. Traditionally,

-

-7

-00:00:17,550 --> 00:00:20,020

-the software design phase consists of a series of

-

-8

-00:00:20,020 --> 00:00:25,360

-design activities. Which normally consists of the architectural design phase,

-

-9

-00:00:25,360 --> 00:00:27,880

-the abstract specification, interface design,

-

-10

-00:00:27,880 --> 00:00:30,010

-component design, data structure and

-

-11

-00:00:30,010 --> 00:00:33,230

-algorithm design. And notice that this is just a possible list

-

-12

-00:00:33,230 --> 00:00:35,820

-of activities. But you can also characterize design activities in

-

-13

-00:00:35,820 --> 00:00:38,550

-many different ways. And if you're looking at different books, and

-

-14

-00:00:38,550 --> 00:00:41,800

-different sources, you might find different activities described. But the

-

-15

-00:00:41,800 --> 00:00:44,500

-core idea, the important point is that we go from sort

-

-16

-00:00:44,500 --> 00:00:46,940

-of a high-level view of the system, which is the

-

-17

-00:00:46,940 --> 00:00:50,770

-architectural design, to a low-level view, which is the algorithm design.

-

-18

-00:00:50,770 --> 00:00:53,100

-And these activities result in a set of design

-

-19

-00:00:53,100 --> 00:00:56,810

-products, which describe various characteristics of the system. For

-

-20

-00:00:56,810 --> 00:00:59,770

-example, they describe the architecture of the system, so

-

-21

-00:00:59,770 --> 00:01:02,890

-how the system is decomposed and organized into components, the

-

-22

-00:01:02,890 --> 00:01:06,630

-interfaces between these components. They also describe these components

-

-23

-00:01:06,630 --> 00:01:09,030

-into a level of details that is suitable for

-

-24

-00:01:09,030 --> 00:01:12,470

-allowing their construction. We will discuss the details of

-

-25

-00:01:12,470 --> 00:01:16,130

-software design and talk extensively about these different actives and

-

-26

-00:01:16,130 --> 00:01:19,200

-these different products in the third mini course of this class.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/5 - Implementation - lang_en_vs5.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/5 - Implementation - lang_en_vs5.srt
deleted file mode 100644
index 465ae1b..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/5 - Implementation - lang_en_vs5.srt
+++ /dev/null
@@ -1,103 +0,0 @@
-1

-00:00:00,150 --> 00:00:02,719

-After we have designed our system we can implement

-

-2

-00:00:02,719 --> 00:00:05,900

-it. In the implementation phase what we do is basically

-

-3

-00:00:05,900 --> 00:00:08,410

-taking care of realizing the design of the system

-

-4

-00:00:08,410 --> 00:00:11,920

-that we just created and create an actual software system.

-

-5

-00:00:11,920 --> 00:00:15,530

-There are four fundamental principles, four pillars that can

-

-6

-00:00:15,530 --> 00:00:18,470

-affect the way in which software is constructed. The first

-

-7

-00:00:18,470 --> 00:00:21,900

-one is the reduction of complexity. This aims to build

-

-8

-00:00:21,900 --> 00:00:25,160

-software that is easier to understand and use. The second

-

-9

-00:00:25,160 --> 00:00:28,400

-pillar is the anticipation of diversity. Which takes into

-

-10

-00:00:28,400 --> 00:00:31,720

-account that software construction might change in various way over

-

-11

-00:00:31,720 --> 00:00:35,220

-time. That is that software evolves. In many cases,

-

-12

-00:00:35,220 --> 00:00:38,270

-it evolves in unexpected ways. And therefore, we have to

-

-13

-00:00:38,270 --> 00:00:41,680

-be able to anticipate some of these changes. The

-

-14

-00:00:41,680 --> 00:00:45,390

-third pillar is the structuring for validation. Also called design

-

-15

-00:00:45,390 --> 00:00:47,550

-for testability. And what this means is that we

-

-16

-00:00:47,550 --> 00:00:50,760

-want to build software so that it is easily testable

-

-17

-00:00:50,760 --> 00:00:54,890

-during the subsequent validation and verification activities. Finally, and

-

-18

-00:00:54,890 --> 00:00:58,040

-this is especially true within specific organizations and or

-

-19

-00:00:58,040 --> 00:01:00,770

-domains. It is important that the software conforms to

-

-20

-00:01:00,770 --> 00:01:04,330

-a set of internal or external standards. And some examples

-

-21

-00:01:04,330 --> 00:01:06,730

-of this might be, for example, for internal standards,

-

-22

-00:01:06,730 --> 00:01:10,680

-coding standards within an organization, or naming standards within an

-

-23

-00:01:10,680 --> 00:01:13,320

-organization. As for external standards, if for example you

-

-24

-00:01:13,320 --> 00:01:15,780

-are developing some medical software. There are some regulations and

-

-25

-00:01:15,780 --> 00:01:17,930

-some standards that you have to adhere to in

-

-26

-00:01:17,930 --> 00:01:20,060

-order for your software to be valid in that domain.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/6 - Verification & Validation - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/6 - Verification & Validation - lang_en_vs4.srt
deleted file mode 100644
index df504a2..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/6 - Verification & Validation - lang_en_vs4.srt
+++ /dev/null
@@ -1,123 +0,0 @@
-1

-00:00:00,120 --> 00:00:03,550

-After we have built our system, verification and validation

-

-2

-00:00:03,550 --> 00:00:05,970

-is that phase of software development that aims to

-

-3

-00:00:05,970 --> 00:00:09,000

-check that the software system meets its specification and

-

-4

-00:00:09,000 --> 00:00:12,800

-fulfills its intended purpose. More precisely, we can look

-

-5

-00:00:12,800 --> 00:00:16,250

-at verification and validation independently. And validation is the

-

-6

-00:00:16,250 --> 00:00:19,100

-activity that answers the question did we build the

-

-7

-00:00:19,100 --> 00:00:21,420

-right system. Did we build the system that the

-

-8

-00:00:21,420 --> 00:00:26,030

-customer wants? That will make the customer happy. Whereas verification

-

-9

-00:00:26,030 --> 00:00:28,730

-answers a different question which is did we build the system

-

-10

-00:00:28,730 --> 00:00:31,410

-right. So given a description of the system that is the one

-

-11

-00:00:31,410 --> 00:00:34,280

-that we derived from the customer through the collection of requirements

-

-12

-00:00:34,280 --> 00:00:37,130

-and then design and so on, did we build a system that

-

-13

-00:00:37,130 --> 00:00:41,150

-actually implements the specification that we defined? And when we look

-

-14

-00:00:41,150 --> 00:00:44,600

-at verification there's many, many ways of doing verification and in fact

-

-15

-00:00:44,600 --> 00:00:48,430

-in the mini course number four we will cover verification extensively. The

-

-16

-00:00:48,430 --> 00:00:51,100

-only thing I want to mention here is the fact that verification

-

-17

-00:00:51,100 --> 00:00:54,110

-can be performed at different levels. In particular, it can be

-

-18

-00:00:54,110 --> 00:00:57,810

-performed at the unit level in which we test that the individual

-

-19

-00:00:57,810 --> 00:01:01,520

-units work as a expected. Can be performed in the integration level

-

-20

-00:01:01,520 --> 00:01:05,525

-in which what we test is the interaction between the different units.

-

-21

-00:01:05,525 --> 00:01:07,630

-So we want to make sure that the different modules talk

-

-22

-00:01:07,630 --> 00:01:10,720

-to each other in the right way. And finally, there is system

-

-23

-00:01:10,720 --> 00:01:13,440

-testing in which we test the system as a whole and we

-

-24

-00:01:13,440 --> 00:01:16,170

-want to make sure that all the system, all the different pieces

-

-25

-00:01:16,170 --> 00:01:18,010

-of the system work together in the right

-

-26

-00:01:18,010 --> 00:01:20,160

-way. And this is also the level at which

-

-27

-00:01:20,160 --> 00:01:22,360

-then we will apply validation and some other

-

-28

-00:01:22,360 --> 00:01:25,770

-testing techniques like stress testing or robustness testing and

-

-29

-00:01:25,770 --> 00:01:29,890

-so on. And as I said I'm not going to say anything more on this topic because

-

-30

-00:01:29,890 --> 00:01:32,760

-we will cover verification, and validation, and testing in

-

-31

-00:01:32,760 --> 00:01:35,667

-particular in great details in mini course number four.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/7 - Maintenance - lang_en_vs5.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/7 - Maintenance - lang_en_vs5.srt
deleted file mode 100644
index e3d95bf..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/7 - Maintenance - lang_en_vs5.srt
+++ /dev/null
@@ -1,167 +0,0 @@
-1

-00:00:00,012 --> 00:00:03,482

-As we discussed before software development efforts normally result

-

-2

-00:00:03,482 --> 00:00:06,127

-in the delivery of a software product that satisfies

-

-3

-00:00:06,127 --> 00:00:09,879

-the user requirements. So normally our software development organization

-

-4

-00:00:09,879 --> 00:00:13,127

-will release this application to its final users, however, once

-

-5

-00:00:13,127 --> 00:00:16,090

-the software is in operation many things can happen.

-

-6

-00:00:16,090 --> 00:00:18,950

-So, for example, the environment might change. There might be

-

-7

-00:00:18,950 --> 00:00:21,940

-new libraries. There might be new systems in which

-

-8

-00:00:21,940 --> 00:00:25,070

-our software has to operate. Or they may be future

-

-9

-00:00:25,070 --> 00:00:27,950

-requests, so the users may find out that, guess what,

-

-10

-00:00:27,950 --> 00:00:30,370

-they want to do something different with the problem that

-

-11

-00:00:30,370 --> 00:00:32,835

-we gave them. Or, again, and this is one of

-

-12

-00:00:32,835 --> 00:00:35,970

-the most common occurrences, users might find problems with the

-

-13

-00:00:35,970 --> 00:00:38,307

-software and may file bug reports and send the bug

-

-14

-00:00:38,307 --> 00:00:42,090

-reports back to the software developer. These are the reasons

-

-15

-00:00:42,090 --> 00:00:46,420

-why software maintenance is a necessary phase in software development.

-

-16

-00:00:46,420 --> 00:00:50,190

-Software maintenance is the activity that sustains the software product

-

-17

-00:00:50,190 --> 00:00:53,780

-as it evolves throughout its life cycle, specifically

-

-18

-00:00:53,780 --> 00:00:57,350

-in response to bug reports, feature requests and

-

-19

-00:00:57,350 --> 00:01:00,890

-environment changes. Development organisations perform three kinds of

-

-20

-00:01:00,890 --> 00:01:04,450

-maintenance activities: corrective maintenance to eliminate problems with the

-

-21

-00:01:04,450 --> 00:01:07,740

-code, perfective maintenance to accommodate feature request, and

-

-22

-00:01:07,740 --> 00:01:09,730

-in some cases just to improve the software, for

-

-23

-00:01:09,730 --> 00:01:12,230

-example, to make it more efficient, and finally,

-

-24

-00:01:12,230 --> 00:01:15,650

-adaptive maintenance, to take care of the environment changes.

-

-25

-00:01:15,650 --> 00:01:18,470

-And after this activities have been performed, the software developer

-

-26

-00:01:18,470 --> 00:01:21,540

-will produce a new version of the application, will release it

-

-27

-00:01:21,540 --> 00:01:24,150

-and the cycle will continue through out the lifetime of

-

-28

-00:01:24,150 --> 00:01:27,440

-the software. That's why maintenance is a fundamental activity and a

-

-29

-00:01:27,440 --> 00:01:30,420

-very expensive one. And one of the reasons why maintenance

-

-30

-00:01:30,420 --> 00:01:34,080

-is expensive, that I want to mention now, is regression testing.

-

-31

-00:01:34,080 --> 00:01:37,180

-During maintenance every time you modify your application you have

-

-32

-00:01:37,180 --> 00:01:41,120

-to regression test the application, where regression testing is the activity

-

-33

-00:01:41,120 --> 00:01:44,010

-of retesting software after it has been modified to make sure

-

-34

-00:01:44,010 --> 00:01:47,320

-that the changes you perform to the software work as expected,

-

-35

-00:01:47,320 --> 00:01:51,540

-and that your changes did not introduce any unforseen effect. I'm

-

-36

-00:01:51,540 --> 00:01:53,630

-pretty sure that you're familiar with the case of a new

-

-37

-00:01:53,630 --> 00:01:56,000

-version of the software being released and just a couple of

-

-38

-00:01:56,000 --> 00:01:59,260

-days later another version being released to fix some problems that

-

-39

-00:01:59,260 --> 00:02:02,000

-occor with the new version. These problems is what we call

-

-40

-00:02:02,000 --> 00:02:04,640

-regression errors and they're what regression

-

-41

-00:02:04,640 --> 00:02:06,560

-testing targets and tries to eliminate

-

-42

-00:02:06,560 --> 00:02:09,240

-before the new version of the software is released into the world.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/8 - Software Phases Quiz - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/8 - Software Phases Quiz - lang_en_vs4.srt
deleted file mode 100644
index e3fe74b..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/8 - Software Phases Quiz - lang_en_vs4.srt
+++ /dev/null
@@ -1,47 +0,0 @@
-1

-00:00:00,070 --> 00:00:02,590

-Okay. Now before we jump into the next

-

-2

-00:00:02,590 --> 00:00:04,780

-topic, I just want to take a very quick and

-

-3

-00:00:04,780 --> 00:00:06,630

-simple quiz just to make sure that you

-

-4

-00:00:06,630 --> 00:00:09,236

-guys paid attention to what I just discussed. So

-

-5

-00:00:09,236 --> 00:00:10,820

-I want to ask you what are the traditional

-

-6

-00:00:10,820 --> 00:00:13,200

-software phases. Requirements engineering,

-

-7

-00:00:13,200 --> 00:00:16,079

-design, abstraction, implementation, verification and

-

-8

-00:00:16,079 --> 00:00:18,020

-validation. Or maybe design,

-

-9

-00:00:18,020 --> 00:00:20,830

-optimization, implementation verification and validation

-

-10

-00:00:20,830 --> 00:00:22,448

-and maintenance. Or requirements

-

-11

-00:00:22,448 --> 00:00:24,892

-engineering, design, implementation, verification and

-

-12

-00:00:24,892 --> 00:00:26,290

-validation, and maintenance.

diff --git a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/9 - Software Phases Quiz Solution - lang_en_vs4.srt b/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/9 - Software Phases Quiz Solution - lang_en_vs4.srt
deleted file mode 100644
index ecb7a35..0000000
--- a/usth/ICT2.7/P1L2 Life Cycle Models Subtitles/9 - Software Phases Quiz Solution - lang_en_vs4.srt
+++ /dev/null
@@ -1,15 +0,0 @@
-1

-00:00:00,190 --> 00:00:04,000

-And the answer is the third one. The traditional software phases which are the

-

-2

-00:00:04,000 --> 00:00:05,960

-ones that we just discussed are requirements

-

-3

-00:00:05,960 --> 00:00:08,820

-engineering, design, implementation, verification

-

-4

-00:00:08,820 --> 00:00:10,630

-and validation, and maintenance.