Estimation du coût de développement UML à partir du

Transcription

Estimation du coût de développement UML à partir du
Estimation du coût de
développement UML
à partir du cahier des charges
Philippe Larvet
Estimation des projets logiciels - CNAM/CMSL page n° 1
Frédérique Vallée
All rights reserved © 2001, Alcatel, Paris.
Plan de la présentation
❶
Introduction
❷
Choix de la caractéristique de coût
❸
Choix des caractéristiques de projets
❹
Données disponibles
❺
Modélisations
❻
Conclusion et perspectives
Estimation des projets logiciels - CNAM/CMSL - page n° 2
All rights reserved © 2001, Alcatel, Paris.
1 - Introduction
!
Maîtriser les coûts de développement
!
Le plus en amont possible
et pour cela :
!
S'appuyer sur une bonne estimation initiale du coût de
développement total
Estimation des projets logiciels - CNAM/CMSL - page n° 3
All rights reserved © 2001, Alcatel, Paris.
Démarche employée
Démarche en 4 étapes :
!
Définition de la caractéristique de coût à évaluer
◗
!
variable à expliquer
Définition des caractéristiques de projet potentiellement
utiles et connues en amont
◗
variables explicatives
!
Collecte des données
!
Analyse des données et construction d'un modèle de coût
Estimation des projets logiciels - CNAM/CMSL - page n° 4
All rights reserved © 2001, Alcatel, Paris.
2 - Choix de la caractéristique de coût
!
Caractéristique de coût visée = coût de développement total
◗
!
spécification + conception + codage + documentation +
management
Ramenée à l'évaluation du coût de codage par la formule :
coût de développement = coût de codage / 17%
Estimation des projets logiciels - CNAM/CMSL - page n° 5
All rights reserved © 2001, Alcatel, Paris.
Justification de la formule
Distribution du ratio coût de codage sur coût total
pour l'échantillon de modélisation :
8
6
4
2
0
14
15
16
Estimation des projets logiciels - CNAM/CMSL - page n° 6
17
18
19
20
All rights reserved © 2001, Alcatel, Paris.
3 - Choix des caractéristiques de projets
!
Objectif principal : pouvoir évaluer le nombre de classes
métiers à concevoir
!
Métriques textuelles candidates :
◗
nombre total de mots, nombre de mots conservés
◗
nombre de classes candidates automatiquement
calculées (directement par l'analyseur linguistique)
◗
nombre de classes candidates revues manuellement
(après relecture de l'évaluation automatique)
◗
nombre de « vraies classes » (déterminé manuellement)
Estimation des projets logiciels - CNAM/CMSL - page n° 7
All rights reserved © 2001, Alcatel, Paris.
3 - Choix des caractéristiques de projets
!
Objectif secondaire : voir l'impact d'autres caractéristiques
du projet
!
Métriques projet candidates :
◗
nombre de fonctions à développer
◗
nombre d'exigences à couvrir
◗
nombre de use cases de 1er niveau
◗
taux de réutilisation
◗
langage de développement
◗
méthode de développement
Estimation des projets logiciels - CNAM/CMSL - page n° 8
All rights reserved © 2001, Alcatel, Paris.
4 - Données disponibles :
métriques textuelles
Document
Nbre total Nbre de mots
Candidats
Candidats
"Vraies" classes
de mots conservés (sans classes (auto) classes(revu madoublon)
nuellement)
Projet 1 Société A
380
77
33
27
Projet 2 Société A
903
163
98
43
Projet 3 Société A
3179
323
151
67
Projet 4 Société A
2440
547
236
102
Projet 5 Société A
2448
406
243
103
Projet 6 Société A
4434
537
371
223
80
Projet 7 Société A
4075
646
385
92
Projet 8 Société A
3839
701
400
192
Projet 9 Société A
13528
707
443
262
82
Projet 10 Société A
6311
753
527
318
120
Projet 11 Société A
16201
1542
1072
467
233
Projet 12 Société A
49246
2981
2135
720
300
Estimation des projets logiciels - CNAM/CMSL - page n° 9
All rights reserved © 2001, Alcatel, Paris.
Autres métriques de projet (1/2)
Nom du projet
Projet 1 Société B
Projet 2 Société B
Projet 3 Société B
Projet 4 Société B
Projet 5 Société B
Projet 6 Société B
Projet 7 Société B
Projet 8 Société B
Projet 9 Société B
Projet 10 Société B
Projet 11 Société B
Projet 12 Société B
Projet 1 Société C
Projet 2 Société C
Projet 3 Société C
Projet 4 Société C
Projet 5 Société C
Projet 6 Société C
Projet 7 Société C
Projet 8 Société C
Projet 9 Société C
Nb de Use Taux Langage
Nb
Nb de
de dévt
de
fonctions à d'exigences Cases de
développer à couvrir 1er niveau reuse
25
72
52
15% C/C++
37
145
75
25% C/C++
75
280
90
40% C++
18
60
27
12% C++
20
47
32
20% Java
38
75
82
12% C++
15
67
55
15% C/C++
140
760
225
10% C/C++
70
420
420
25% C/C++
45
92
67
40% C++
150
625
280
8% C++
70
320
120
10% C++
65
27
5% C/C++
75
32
10% C++
125
50
10% C++
25
12
15% Java
20
80
32
20% Java
360
450
7% C/C++
250
70
135
12% C/C++
190
285
5% C++
20
20
15% Java
Estimation des projets logiciels - CNAM/CMSL - page n° 10
Méthode Nb de Charge de
de dévt classes codage
(j/h)
métier
en V
125
212
en V
240
420
en Y
700
1240
en Y
121
245
itératif
67
97
en V
325
712
en Y
215
380
en V
1850
3400
en V
435
720
en Y
90
150
en Y
560
1025
itératif
440
780
en V
65
121
en Y
70
125
en V
280
465
itératif
27
42
itératif
65
72
en V
850
1680
en Y
620
980
itératif
780
1750
itératif
42
65
All rights reserved © 2001, Alcatel, Paris.
Autres métriques de projet (2/2)
N o m d u p ro jet
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
P r o je t
1 S o c ié té B
2 S o c ié té B
3 S o c ié té B
4 S o c ié té B
5 S o c ié té B
6 S o c ié té B
7 S o c ié té B
8 S o c ié té B
9 S o c ié té B
1 0 S o c ié té B
1 1 S o c ié té B
1 2 S o c ié té B
1 S o c ié té C
2 S o c ié té C
3 S o c ié té C
4 S o c ié té C
5 S o c ié té C
6 S o c ié té C
7 S o c ié té C
8 S o c ié té C
9 S o c ié té C
1 3 S o c ié té A
C harge C harge de C harge de C harge de C harge de
codage
t o t a le d u
s p é c if ic o n c e p t io n d o c u m e n ( j /h )
t a t io n
( j /h )
p r o je t
c a t io n
( j /h )
( j /h )
( j /h )
1250
570
162
296
212
2410
1025
350
598
420
6900
2850
1055
1735
1240
1670
808
214
395
245
500
205
75
120
97
4760
2422
522
1090
712
2220
998
285
545
380
19100
7450
3080
5020
3400
4090
1735
592
1015
720
870
395
112
206
150
6310
2648
970
1646
1025
4560
1975
690
1100
780
720
328
114
150
121
745
327
108
180
125
2700
1060
438
724
465
266
120
36
67
42
445
202
62
107
72
9150
4118
1260
2017
1680
4865
2115
620
1135
980
10680
4670
1362
2820
1750
348
140
52
89
65
7020
3025
1135
1760
1070
Estimation des projets logiciels - CNAM/CMSL - page n° 11
R a t io
co d a g e su r
co û t to ta l
17%
17%
18%
15%
19%
15%
17%
18%
18%
17%
16%
17%
17%
17%
17%
16%
16%
18%
20%
16%
19%
15%
All rights reserved © 2001, Alcatel, Paris.
5 - Modélisations
1er temps : modélisation du nombre de classes métier à partir des
R égression linéaire et logarithmique
métriques
textuelles
350
Nombre de classe s ré e lle s
!
300
250
200
150
100
50
0
0
500
1000
1500
2000
2500
N ombre de classe s candidate s (auto)
Vraies c lass es
Class es linéaires estim ées
C las ses log estim ées
Nombre de classes métier = 3,42 * Nombre de classes candidates0,584
Estimation des projets logiciels - CNAM/CMSL - page n° 12
All rights reserved © 2001, Alcatel, Paris.
Modélisations (suite)
!
2ème temps : modélisation du coût de codage à partir du nombre
de classes métier
R égression linéaire C lasses/C oût
Cha rge de coda ge
4000
3500
3000
2500
2000
1500
1000
500
0
0
500
1000
1500
2000
Nom bre de cla sse s m é tie r
V aleur réelle
Rés ultat de c alc ul
Coût de codage (en h.j) = 1,88 * Nombre de classes métier + 2,02
Estimation des projets logiciels - CNAM/CMSL - page n° 13
All rights reserved © 2001, Alcatel, Paris.
Modélisations (fin)
!
Qualités des modélisations :
◗
erreur moyenne sur 1ère formule (calcul du nombre de
classes métiers) : 18,9%
◗
erreur moyenne sur 2ème formule (calcul du coût de
codage) : 15,7%
◗
erreur moyenne sur 3ème formule (calcul du coût total) :
0,9%
Estimation des projets logiciels - CNAM/CMSL - page n° 14
All rights reserved © 2001, Alcatel, Paris.
6 - Conclusion et perspectives
!
Les premiers résultats sont encourageants
!
Les 2 modèles par régression doivent être affinés à l'aide :
!
◗
de nouvelles métriques,
◗
d'un échantillon plus important,
◗
d'autres techniques de modélisation statistiques,
de manière à diminuer l'erreur globale.
Attention : Les modèles ont été construits à partir d'un retour
d'expérience et sont SPECIFIQUES de ce retour d'expérience.
Estimation des projets logiciels - CNAM/CMSL - page n° 15
All rights reserved © 2001, Alcatel, Paris.