Estimation COCOMO
Introduction:
Combien pèse un projet ?
- La charge ou effort est la quantité de travail nécessaire mesurée en moisxhommes (ou joursxhommes ou annéesxhommes) dans de telles unités .
- Il faut prendre en compte le fait qu’un mois correspond à 20 jours si les week-ends ne sont pas des périodes de travail .
- Connaissant la charge et le coût unitaire du moisxhomme.
→ On peut avoir une estimation du coût en ressources humaines d’un projet
- En se limitant au projets de type informatique, ou le coût d’un programmeur est estimé à environ 400 Dh HT par jour
- La durée ce calcul à partir de la charge lorsque l’on sait combien de personnes sont affectées au projet.
Exemple :
- Une charge de 6 moisxhommes
- Une durée de 6 mois si on ne dispose que d’une seule personne.
- 1 mois si on dispose de 6 personnes
- Toutefois ce mode de calcul est relativement théorique car toutes les personnes ne sont pas équivalentes ( et n’ont pas la même spécialité ) et les tâches sont en général interdépendantes.
- Il existe un certain nombre de méthodes.
- Il existe aussi des trucs (malheureusement plus courants qu’on ne le croit) qui sont des agissements ni scientifiques, ni honnêtes :- La méthode de la dilatation consiste à ajuster le temps de développement d'un projet au temps disponible (“ Le travail se dilate jusqu'à remplir le temps disponible”)
- La méthode du marché consiste à ajuster la charge au prix proposé ( dans un appel d’offres par exemple)
 
- Plus sérieusement, les méthodes employées sont :- La méthode Delphi.
- La méthode de la répartition proportionnelle.
- La méthode d'évaluation analytique
- La méthode COCOMO
- la méthode des points fonctionnels
 
COCOMO: Objectif :
COCOMO :(COnstructive COst Model)
- la méthode a été développée par Dr.Barry Boehm pour:- Estimer l’effort
- Estimer le temps
 
de développement d’un produit logiciel.
- A l’origine elle a été construite à partir d’une analyse des données par régression pratiquée sur 63 projets logiciels (gestion et informatique industrielle ) comprenant de 2000 à 100.000 lignes de code dans l’entreprise TRW (USA).
- Aujourd’hui, COCOMO est un nouveau produit beaucoup plus adapté à l’aspect réutilisation des composants (modules existants ).
- Le modèle COCOMO 81 est en fait constitué de trois modèles :
1- le modèle de base
2- Le modèle intermediaire
3- Le modèle expert détaillé
- Objectif du COCOMO. Évaluer les critères de projet :- Effort
- Durée
- Effectif
- Productivité
 
- Cette méthode, qui ne s’applique qu'à l'étape de réalisation, suppose l'existence d’une corrélation entre la taille (en instructions source ) d’un programme et la charge consommée .
Principe de COCOMO :
Les trois types de projet identifiés sont :
| Type | Taille | Description | 
| Organique | < 50 KLOC | Projets simples ménès avec de petites équipes | 
| Médian (Semi-detached) | < 300 KLOC | Projets intermédiaires menés avec des équipes mixtes | 
| Imbriqué (Embedded) | > 300 KLOC | Projets complexes devant obéir à des ensembles de contraintes | 
KLOC représente le nombre, en milliers, de lignes de code (LOC = Lines Of Code); en fait il s’agit du nombre d’instructions source .
Modèle de base :
Il faut identifier le mode de développement : organique, médian ou imbriqué.
Le résultat s’exprime par la formule suivante dans le modèle de base Cocomo81:
Effort = ax(KLOC)^b en homme mois
TDEV = 2.5 X (effort)^C en mois
Boehem a déterminé les valeurs a, b et c a à partir des résultats d’analyse statistique sur un échantillon significatif de projets.
| Mode(Type) | a | b | c | 
| Organique | 2.4 | 1.05 | 0.38 | 
| Semi-detached | 3.0 | 1.12 | 0.35 | 
| Imbriqué | 3.6 | 1.20 | 0.32 | 
Equations pour calculer l’effort de la productivité selon le type de projet:
| Types de projet | Effort | Productivité | 
| Organique | MM=2,4*(KLOC)^1,05 | TDEV=2,5*(MM)^0,38 | 
| Semi-détaché | MM=3*(KLOC)^1,12 | TDEV=2,5*(MM)^0,35 | 
| Imbriqué | MM=3,6*(KLOC)^1,20 | TDEV=2,5*(MM)^0,32 | 
Exemple1 :
Soit un projet estimé à 32000 lignes de code.
Effort ?
→Effort=Charge=2.4*(32)^1.05=91 hm
Temps de développement ?
→TDEV=Delais=2,5*(91)^0.38=14 mois
Productivité ?
→Productivité = Taille(en LOC)/Effort =32000/91 = 352 LOC/hm
Nombre Moyen de personnel?
→ Taille de l'equipe = Effort/Temps =91/14 = 7 personnes
 
| Taille | Effort | Productivité | Moyen de personnel | 
| 8 KLOC | |||
| 128 KLOC | 
Modèle intermediaire :
Le modèle intermédiaire Cocomo81 est plus élaboré et prend en compte des facteurs d’ajustement intégrant les conditions de développement. L'équation donnant la charge est alors :
Effort=a*(EAF)x(KLOC)^b en homme mois
ou EAF (Effort Adjustment Factor), qui vaut 1 dans le modèle de base, est calculé à partir de 15 critères regroupés en 4 catégories : Produit, ordinateur, personnel et projet.
- Produit (Logiciel)
- Matériels(Ordinateur)
- Personnel
- Projet
Le tableau ci-après donne les valeurs affectées à chaque paramètre suivant son importance. EAF est le produit de toutes ces valeurs.
Par ailleurs, les valeurs de a,b et c sont données par le tableau ci-dessous :
| Mode (Type) | a | b | c | 
| Organique | 3.2 | 1.05 | 0.38 | 
| Semi-detached | 3.0 | 1.12 | 0.35 | 
| Impriqué | 2.8 | 1.20 | 0.32 | 
Exemple :
- RELY : fiabilité requise pour le logiciel
- Projet de 10 KLOC.
Effort?
→Effort=Charge=3.2*(10)^1.05=36 hm
Choix du facteur correcteur:
- Très faible fiabilité :Effort * 0.75 =27 hm
- Très forte fiabilité : Effort * 1.4 =50.4 hm
Etapes d’utilisation
Les étapes
- Identifier le mode du développement
- Estimer le nombre de LOC
- Calculer La charge (effort) en nombre de mois.hommes
- Estimer les 15 facteurs de productivité
- Calculer le facteur d’ajustement (EAF)
- Multiplier l’effort nominal par le facteur d’ajustement.
Méthode de répartition proportionnelle:
Cette méthode est basée sur l’observation d’une proportionnalité entre les charges de réalisation des diverses étapes du cycle de vie d’un projet.
Les ratios habituellement observés sont :
| Etape | Ratio | 
| Etude préalable | 10% du projet | 
| Etude détaillé | 23% du projet | 
| Etude technique | 10% de la charge de réalisation | 
| Réalisation | 2 fois la charge de l'étude detaillée | 
| Mise en oeuvre | 35% de la charge de réalisation | 
Les charges complémentaires:
| Etape | Charge complementaire | 
| Encadrement réalisation | (20 % de la charge de réalisation) | 
| Encadrement autres étapes | (10 % de la charge totale des autres étapes) | 
| Recette | (20 % de la charge de réalisation ) | 
| Documentation utilisateur | (5% de la charge de réalisation) | 
Référence : ISAE(Genie Logiciel: Fehmi Ben Rejab )