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.
|