about summary refs log tree commit diff
path: root/usth/ICT2.7/P3L4 Unified Software Process Subtitles/10 - Iterative and Incremental - lang_en_vs6.srt
blob: e5426601f06edbc22fa582f2f0c1219b79149e8d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
1
00:00:00,190 --> 00:00:03,100
We just saw two of the three distinguishing aspects of

2
00:00:03,100 --> 00:00:05,800
the rational unified process. The fact that it is used

3
00:00:05,800 --> 00:00:08,810
case driven and the fact that it is architecture centric.

4
00:00:08,810 --> 00:00:11,950
The third and final distinguished aspect of R.U.P. is that

5
00:00:11,950 --> 00:00:15,210
it is iterative and incremental. So let's see what that

6
00:00:15,210 --> 00:00:18,870
means by considering the lifetime of a software project. Basically,

7
00:00:18,870 --> 00:00:22,120
the lifetime of a rational unified process consists of a

8
00:00:22,120 --> 00:00:24,920
series of cycles, such as the ones that are represented here.

9
00:00:24,920 --> 00:00:28,070
Cycle one, cycle two, through cycle n. And as

10
00:00:28,070 --> 00:00:30,990
you can see, these cycles can also be called increments.

11
00:00:30,990 --> 00:00:33,280
And each one of the cycles involves all of

12
00:00:33,280 --> 00:00:36,700
the main phases of software development. In addition, each cycle

13
00:00:36,700 --> 00:00:39,700
results in a product release which can be internal

14
00:00:39,700 --> 00:00:43,210
or external. More precisely, each cycle terminates with a product

15
00:00:43,210 --> 00:00:46,340
release that includes a complete set of artifacts for

16
00:00:46,340 --> 00:00:50,150
the project. That means code, manuals, use cases, non-functional

17
00:00:50,150 --> 00:00:52,840
specification, test cases, and so on. So, I've just

18
00:00:52,840 --> 00:00:55,760
said, that each cycle involves all of the main phases

19
00:00:55,760 --> 00:00:59,440
of software development. Specifically, each cycle is further divided

20
00:00:59,440 --> 00:01:04,040
in four phases. Inception, elaboration, construction and transition. In a

21
00:01:04,040 --> 00:01:06,290
minute, we will look at each one of these

22
00:01:06,290 --> 00:01:08,840
phases in detail and see how they relate to the

23
00:01:08,840 --> 00:01:12,150
traditional activities of software development. Before that, I want

24
00:01:12,150 --> 00:01:15,760
to mention the last level of these iterations, which happens

25
00:01:15,760 --> 00:01:20,330
within these individual phases More precisely, inside each of these

26
00:01:20,330 --> 00:01:24,230
phases, there might be multiple iterations. So what are these

27
00:01:24,230 --> 00:01:28,070
iterations? Well, basically, each iteration corresponds to a group of

28
00:01:28,070 --> 00:01:30,550
use cases that are selected so as to deal with

29
00:01:30,550 --> 00:01:33,200
the most important risks first. So if you have a

30
00:01:33,200 --> 00:01:35,510
set of use cases that you're considering, which means that

31
00:01:35,510 --> 00:01:37,450
you have a set of features that you need to

32
00:01:37,450 --> 00:01:41,260
implement, you will select for each iteration the most risky

33
00:01:41,260 --> 00:01:44,720
ones that you still haven't realized, and realize them in that

34
00:01:44,720 --> 00:01:47,720
iteration. And then continue in the following iterations with less and

35
00:01:47,720 --> 00:01:50,980
less risky ones. So basically what happens in the end is

36
00:01:50,980 --> 00:01:52,960
that essentially each iteration extends

37
00:01:52,960 --> 00:01:55,220
the functionality beyond the previous iteration.