Sei sulla pagina 1di 41

Strategia di sviluppo e ciclo

di vita del software


Come scegliere la strategia di sviluppo pi adatta in base
alle caratteristiche del prodotto, alle modalit di rilascio,
al coinvolgimento del cliente nel progetto ed ai costi del
progetto software

Ercole F. Colonese
Versione 1.0 - Aprile 2006

!
!

"

!
#

!
!

!
!

" #

!
%
&
*
0
2
9
7
8
&
*
0
$

' ( )
+
,
+
1
$345$6+ 7 80
:
)
;
;
<
)
$
+))$
3< 6=4>
:
=

/,

?
55

&

8
&
6

8
88
8&
8*
&
,
&
&8
&&
&*
&&0
&2
*
)
*
*8
*&
**
**0
*2
$
-8
=

2
2
7

$
@
.
+
)
+
+
3
3
3
3
3
3
A

"

+
)
)
)
)
)
)
3
+
'

'

;'

*
*
*
0
2
9
7
8
8
88
8&
80
82
89
87
&
&
&8
&&
&*
&*
&0
&9

'

B
B
B
7 80
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B

.
8 '
& +
8
* +
- 3
03
2 3
9 3
7 3
3
+
8 )
& )
* )
- )
0)
2 )
9 +
7 3
8 +
8 4
88 '

,
7 80
,
,
,
,
,
,

+
8
8 +
& +
* +
- 3
0+
2 4

$345$6+ 88 2?
8 &
$345$6+
$345$6+ 7 80
C4 3 D
"
C)
3 D
6
E
C'
D
C'
E D
C$
D
C<
D
C3
D
C'
E D
C$
D
C3 D
/
C$

/$

5
.;'

<

8
2
9
7
8
8
88
8*
82
89
87
&
&
&8
&&
&*
&&&2

$345$6+
$345$6+ 7 80

8
8*
&&
&*
&&-

$
$
F
!
D 6

FC

$
!

$
!

"

D!

"

!
G

"

3
$

!
$
!

H
!

!
C

!
C

C
D

D
C
!
D

!
D
D

!
C

D
!

"

D $
!
C

!
1
!

.@A

H
!

"

I@

!
F
!

"

*
.

$+
,$
$
.

*
+
,$
(
$
/0 .

?
@

C
!'
C

!+
$

!
D
!$

!6
D
!

"

+
!@
!

#
A

!
!

!
!

!
A

!
!

!
!

!
!

$
/

"

!
!

La strategia di sviluppo deve permettere di selezionare pi modelli di


sviluppo nelle diverse fasi del progetto:
'

!
!

!
#

$
?
$345$6+ 88 2?8 & C,
D#

K '

$345$6+ 7 80/ ?8
C3
'
?1
E)
D

K '

$345$6+ 88 2?8 &

E K

!
!
!

L
! F
!

$
?
3

D!

$
3

!
!

!
!
!

!
!

!
!

# $%#
&

'(

*$ & # *# +*#
+/

*$ & #,# -

$*.$

0
+

1
(
1
(

)
)) )

0
*
0

#
*

*$ & #$*1+ #
44+.# #
1

#
0

))

0 2 -32

$345$6+ 7 80/ ?
8
/
!
,

!
C

D
!

!
D
?

!
C

D!

/
!
)

0 2 -32

2-+6#
.+7# .&* +&, & .&* +,&6 $ .8+*&
- 4#
$ +6#
.+7 + #
,+9#
6#
.+7
+

))

))

,
/

0 ,
,

6 ,

0 ,
7 6 ,

+ -.& #
9#
6#
.+7

$*.+9#
6#
.+7
+
2

6 ,

6 ,
6 ,
)

6 ,

0 ,
)
0

)) 6 ,
6 ,

8 ))

6 ,

0 ,
7
6 ,

& ##
& 4+

6 ,

6 ,

6 ,
))

- +9#
6#
.+7

6 ,

0 ,
6 ,

0 ,
6 ,

0 2 -32

2-+6#
.+7# - $ ,&6 $ .8+*&
1

'
C
.
'

D
;

'

.;' 6
D

.
+

- C$

"

:
"
C

D! C
C

D!
D

#
4
6
!

!
!

/
!
!

/!
,
C

!
!

!
!

#
!

!
!

!
"

"
!

M
&

#
$

!
?

!
!

!
J

&

#
$
4
#

!
$

DI

C
'

D
D

G
!
!
C

!
N D?

D
O

'

'
J
2

3
3
3
3
3
3

C4 3 D #
"
C)
3 D#
C6
ED #
C'
D#
C'
E D#
C$
D

C
C

D
%#

"

F!
!
!

!
!

!
3

C4

D
,
6
!
G
A

!
!
3
:

<

*9-

# :.

1
!
!

(
C)
+

"

<

,
+

<

,
.

*9

# :.

!
C
C

D!

C6

ED !
6
$
!

<

<

<

'

"
.

3
!
$
!

&
1

F
"
C'

D!
+
C

<

"

*/

<

>

*91#

:.

<

)
,

C'

!
C

<

<

*91

"

:.

"

6
!
!
!

*
C$

"
+

! H
+
C4
4
!
<

<

*/

<

<

*92

:.

H
D

,
A

!
"
J

"

!@
? .

?.

!+
!+

!J

8 J
& J

"
G

? G

!
"

C4

!
G

"

1
"
J

!
!

!
!

0
"

* /
5
1

*
5

0
1

2
+

&

'

&

;
;

"
C

D
6

$
< =3 / <

P=

'
P

#
1

?
)
)
)
)
)

C<
D#
C3
D#
C'
E
C$
D#
C3
D

D#

3
$

?
)

C$

/$

1
!

!
!

!
G
"

'

.;'

&

$
$

D C<

#
$

!
C'

D '

!
'

C@

D @

!
G

C'

D A
C+

+
G

C+

D ,

3
C6

D ;

C.

D $

!
1
C)

<

#
-

*9<

:.

&

$
$
C'

C3

D!
D

C@

"

#
!
*/

<

<,

,
,

,
.
.
#

#
-

*9

:.

3
+

"

!
$
!

&

$
$

C'

?
#

@
!

$
!

!
!

,
F

@
!
@

<

<

9
,

&

*91

"

:.

&&

$
$
C
+

C$
D

P
!

!
,
( /

$
#
$
!

D!

!
+

<

&A

&A

5
.

&A

*92

:.

&)

$
$

C3

"

!
!
"
&

&

<

<
&
<

*9

:.

$
!

&*

C$

/$

6
C

D!

@
)

!
$

D!

C
E !
A

3
+

+
3

;
!

"

!
$
.

<

,
,

>

#
-

*
/

8 .

Single iteration

'

*92

=2

:.

$
!
+
M
$
!

!
!

&+
6
4

"
!

>

0
0

*<

20

?
)
)

7)

6
+

20

0
)
)

$ 0

7
7)
*1

20

)
)
#

0
*2

20

0
+

20

=2

5
5

5
0

0
0

20

0
0

6 $

*2

66
0

#
)

7 )
)

6 ,
;

%%

)
)

0
1

!
6

M
C

D
'

0
$

(5

0
)

,
*

(5
+

1
,

>
#

00 0

)
0

%&

)
3

,3

1
>

2
0
2

0
)

$0

$
0

0
B

0
*
#
.

)
0

2
0

>
0

:
-

)
$

+
6 ,

(5

9
0

0
0

0
5

4
5

0 *

0
#

$
$

.
1

0 4

)
*

0
5

1
,

(5
*

0 4

)
0

*
1

)
5

$
,

0
0

.
)

1
*

0
0

>

>

)
))

>
#

.
#

%'

$ '

2!

;' F
!
!

$ '
Q
.
3
R

!
!
.
R

$
;

'

!:

E=
.

.;' $ .;'
!

$
&

'

!
?

?
$

!
!

.;'

Organizzazione
secondo contenuto
Workflows portanti

Fasi
Concezione

Elaborazione

Costruzione

Transizione

Modellazione aziendale
Requisiti
Analisi e Progettazione
Implementazione
Test
Ripartizione
Workflow ausiliari
Gestione di configurazione
Gestione di progetto
Ambiente

Iterazioni
Iter
preliminari
#1
Milestone

(81

Iter
Iter
#2
#n
Milestone

# 0

Iter
#n+1

Iterazion
i
*

Iter
Iter
#n+2
#m
Milestone

Iter
#m+1
Milestone

< 6.

3
A
6

?1

!$
F

2
S 6:@ 0T

! +) ) $!

3
.

/8 0
#

) (* +

S 64G@ T 6 P
'
$ 3 8*4

/8
, - ./000, 1

S=@.=@79T B
+=
- ./000
$ 3 8*4
S'$GA670T

! $347
6

) P'

U3

!6 P
'

/ 779

) @

/ 770

Q P
S);G.7*T

E)
(
Q P

S'@ @7*T

/B
2
'
#

B
S=@G+$7&T

!)

/B

/ 77*

/ 77&

/ 77*
3

!:
4

SG4+6G7&T 3
G
6,@3 $=.$

/ 77&
4

S< V66 7&T A


Q<
&
5
3'+ '

/ 77&
, 1 6 %1 $

SW6$,V 7 T J

!@ '

@W

) :

=+

) :

= E/ 77

/V

S.;)) 7 T : E@ .
Q E/= '
S+.43=90T '

'

'=

/ 77

E/ 790

/V

# $?
S$347

?8

T
(

$345$6+ 7
%$

?8
%

,7

%$

,8

%$

,9

S$347 &?8 *T

$347 80/ ?8

$345$6+ 7 &?8 *
4
%
4
T

$347 80/8?8 8T
$347 80/&?8 8T
$347 80/*?8 8T
S$34 88 2?8 &T
-

$345$6+ 7 80/ ?8
4
,#

,9

- . /00:2
;000

%#

:2(

$345$6+ 7 80/8?8 8
4
,#
(

%#

;2 "

$345$6+ 7 80/&?8 8
4
,#
(

%#

<2-

$345$6+ 7 80/*?8 8
4
,#
(

%#

=2(

$345$6+ 88 2?8 &


1
%,
4

%$
$
$
%- & $

% #

S$34

0?8 -T
-

S$34 -82 ?79T


S$34 0&80?77T

$345$6+
1

0?8 %,
4

# > $

$345$6+ ,. -82 ? 779


1
%, 9
- .!- ' :;;0?
$345$6+ ,. 0&80? 777
4
,9

% #

- .!- ' :;;0? # > $

&

+
#
$
@

A-

A-

B
4
)

2C

B
E

1
F

&
7
0

D
0

)
)
0

0
$0
0

, )
)
$
)* A $
)
))

"
5

2
,

66

=0 4

0
0
* 2
=

0
,
2
.

D
.D

)
7
8

2
B
2-

66 #
0B

0
0

) ?0
)
0

#
0 5

6 "

) 0

5 ,
0
$#
2
B D
0
?

, (0 /

&