Vous êtes sur la page 1sur 46

COCOMO et les AGLs :

Une approche pratique pour l'estimation des


coûts de développement de logiciels

Préparée par : Mariem SOUALHIA et Meriem CHABBOUH


Plan

Introduction Le modèle Relation entre COCOMO


COCOMO 2 et AGL

01 02 03 04 05 06

Le modèle
COCOMO 1 Exemple d’application de Conclusion
COCOMO
01 Introduction

1
1. 1. Qu’est ce qu’un coût ?

Une approche de la valorisation d’un effort de


transformation ente deux états

Achat des
équipements

Payement de Maintenance du
la main produit
d’œuvre
Idée initiale Logiciel final 2
2. Définition de l'estimation des coûts dans le développement de
logiciels

Un processus d'évaluation des coûts qui seront


nécessaires pour développer un logiciel.

Ressources humaines Technologies, aux Tests et à la


infrastructures, aux maintenance
outils, aux licences

3
3. Importance de l'estimation des coûts dans le développement de
logiciels

90% taux d’échec


Dépassement de
Abondons 1/3 3/4 budget (et/ou) délai

1/2

Objectif non atteint


4
3. Importance de l'estimation des coûts dans le développement de
logiciels

Pour un projet logiciel le coût est un paramètre essentiel et même vital pour la réussite du
projet.

Planification Priorisation des


financière activités

Estimation
des coûts

Gestion des Communication avec les


ressources parties prenantes
5
Le modèle
COCOMO 1 02
6
1. Le modèle COCOMO 1 : Définition et historique

Modèle COCOMO 1 Un modèle d’estimation des coûts de procédure


pour les projets logiciels, de régression basé sur
CO Constructive
LOC ( Ligne De Code ) dans un système.

CO Cost
Dr Barry Boehm en 1981 

Mo Model
63 projets 2000 à 100.000 lignes de
logiciels code
7
3. Sous-modèles COCOMO 1

Modèle de Base

Modèle Modèle
COCOMO 1 Intermédiaire

Modèle Expert

8
Modèle de base

9
Sous-modèles
COCOMO 1
Modèle de Base Définition

Utilisé pour les projets de petite taille et relativement simples, avec des
équipes de développement expérimentées.

Effort - Nombre de personnes requises pour


Temps
(personne- - Calcul de l’effort.
mener à bien la tâche. DEV
mois) - Nombre de lignes de code.

- Calcul de l’effort.
Productiv Facteur
- Calcul du temps de - Type de projet.
ité d’échelle
développement.
10
Sous-modèles
COCOMO 1
Modèle de Base Types de projets

Type de projet Taille Description

< 50 KLOC • Projets qui présente une complexité modérée.

• L'équipe de projet est petite et dispose d'une expérience

préalable.
Organique
• Le problème à résoudre est bien compris et a déjà été traité

avec succès dans le passé.

• Les exigences du projet ne sont pas strictes et peuvent être

adaptées au fil du temps.


11
Sous-modèles
COCOMO 1
Modèle de Base Types de projets

< 300 KLOC • Projets sont d'une certaine complexité.

• L'équipe de projet nécessite davantage d'expertise, de


Semi-détaché conseil et de créativité.

• Projets ayant une envergure moyenne et comportant des

exigences à la fois strictes et flexibles.

12
Sous-modèles
COCOMO 1
Modèle de Base Types de projets

 
• Projets nécessitent des ressources allouées de
> 300 KLOC
manière fixe.

• Le produit est développé dans un cadre de


contraintes très strictes.
Intégré
• Projets les plus complexes, exigeant un haut
niveau de créativité et d'expertise, appartiennent
à cette catégorie.

• Projets nécessitent une taille équipe plus


importante que les deux autres modes.

13
Sous-modèles
COCOMO 1
Modèle de Base Modèle mathématique

Etape 1 Identifier le mode de développement

Mode a b c
Etape 2 Effort = a x (KLOC)^b en homme-mois
Organique 2,4 1,05 0,38

Etape 3 TDEV = 2.5 x (effort)^c en mois


Semi-détaché 3,0 1,12 0,35

Intégré
Etape 4 3,6 Productivité = Taille
1,20 (en LOC) / Effort
0,32en LOC/hm

Etape 5 Taille de l’équipe = Effort /Temps en personne


14
Modèle intermédiaire

15
Sous-modèles Modèle intermédiaire
COCOMO 1 Définition et Modèle mathématique

 Utilisé pour estimer les projets de développement de logiciels plus complexes, avec des
exigences moins claires.

Type= a x (EAF)
Effort a x (KLOC)^b
b c = c x (Effort)^d
TDEV d

Organique 3.2 1.05 2.5 0.38


Effort Factor
Adjustment
Jumelé 3.0 1.12 2.5 0.35
• 1 dans le modèle de base.
• Inclus à partir de 152.8
Calculé facteurs de 1.20 2.5 0.32
productivité « Cost Drivers » regroupés
16
en 4 catégories. 
Sous-modèles Classification des inducteurs de coûts et de leurs attributs
COCOMO 1
Modèle intermédiaire

Attributs du projet
Attributs personnels
- MODP: Pratique de développement
- ECAP: Aptitude de l'équipe . évoluées.
- AEXP: Expérience du domaine. - TOOL: Utilisation d'outils logiciels.
- VEXP: Expérience de la machine virtuelle. - SCED: Contraintes de délais.
- LEXP: Maîtrise du langage.

Attributs du produit Attributs matériels

- RELY: Fiabilité requise


- TIME: Contraintes de temps
- DATA: Volume des données manipulées.
d'exécution.
- CPLX: Complexité du produit
- STOR : Contrainte de mémoire.
- VIRT : Instabilité de la mémoire.
17
Sous-modèles
COCOMO 1
Modèle intermédiaire Etapes du modèle intermédiaire

Etape 6
Etape 5
Etape 4
Etape 3
Etape 2
Etape 1
Multiplier l’effort Calculer le temps
Estimer les 15 Calculer le facteur
« nominal » par le de développement
Estimer le nombre facteurs de d’ajustement (EAF)
facteur d’ajustement
 Identifier le mode du de LOC productivité 
développement 
18
Modèle détaillé

19
Sous-modèles
COCOMO 1
Modèle détaillé Définition et principe

 Ce modèle intègre toutes les caractéristiques des stratégies COCOMO de base et intermédiaire dans
chaque processus d'ingénierie logicielle.

Appliquer COCOMO
Diviser l’ensemble du Réduire la marge
dans différents Additionner l’effort.
logiciel en différents
modules pour estimer d’erreur dans
modules.
l’effort. l’estimation finale.

20
Sous-modèles
COCOMO 1
Modèle Détaillé Phases de COCOMO détaillé

Planification et Code et test du module


exigences 1 4

Conception du système
COCOMO Intégration et test
2 5
détaillé
Conception 3 6 Modèle constructif en
détaillée matière de coûts

21
03 Le modèle
COCOMO 2

22
1. Le modèle COCOMO 2 : Définition et historique

Estimer le coût, l’effort et le calendrier lors de


Dr Barry Boehm
la planification d’une nouvelle activité de
développement logiciel.

1998 Université de
Californie du Sud Examiner les effets des améliorations de la
technologie logicielle sur le coût du cycle de
vie du développement logiciel.
161 projets
logiciels
Adapté à la réutilisation de composants logiciels.

23
2. Sous-modèles de COCOMO 2

Modèle de
Modèle post-architecture Modèle 1
composition
d'application

Modèle 4 Modèle 2

Modèle 3 Modèle de conception


Modèle de réutilisation précoce

24
Sous-modèles Modèle de composition Définition et modèle mathématique
COCOMO 2
d’application

Utilisé pour générer des estimations du développement de prototypes et fonctionne sur


la base de points d’objet.

Les points d’objet sont le nombre


d’instances d’objet qui pourraient être nécessaires
pour développer des écrans ou des rapports.

25
Sous-modèles Modèle de composition Etapes d’estimation de l’effort totale
COCOMO 2
d’application

Identifier le nombre de
Calculer les points
Etape 1 Etape 4 points d’objet
d’objet Expérience des développeurs et la PROD
maturité de l’environnement  Nbre instances *poids

Très lent 2
Calculer de nouveaux points
Instances de Effort = d’objet (NOP)
Lent 7
classification des Etape 2 NOP/ Etape 5
Nominal PROD 13 NOP = (Nombre de points
objets  d’objet)x[(100 –
Elevé 25 %réutilisation)/100]
Très élevé 50
Attribuer un poids de Taux de
productivité
complexité à chaque Etape 3 Etape 6
dérivée (PROD)
instance d’objet
26
Sous-modèles Modèle de conception Définition et modèle mathématique
COCOMO 2
précoce

Ses estimations sont créées sur la base de points de fonction qui sont ensuite traduits en
plusieurs lignes de code source.

Effort = A x Taille^B x M

Une constante dont la valeur Exposant qui représente la relation entre la Dépend des inducteurs de

doit être de 2,94  taille du projet et l'effort nécessaire pour le coûts ou des caractéristiques
développer, varie dans la plage de 1,1 à 1,24 du projet

27
Sous-modèles
COCOMO 2 Modèle de réutilisation Définition et modèle mathématique

Calculer l’effort nécessaire pour combiner des composants réutilisables.

E = (ALOC x AT/100)/ATPROD

Nombre de LOC à adapter dans un  Pourcentage de code adapté généré  Productivité de l'équipe dans la
composant automatiquement combinaison du code

28
Sous-modèles Modèle post-architecture
COCOMO 2 Définition et modèle mathématique

Ce modèle est considéré comme le modèle le plus détaillé parmi tous les modèles qui
peuvent produire l’estimation la plus détaillée et la plus précise. 

E = A x taille^B x M

Dépend des attributs

29
3. Etapes de COCOMO 2

Il prend en charge l’estimation du


01 Etape 1
prototypage.

Il soutient l’estimation au début de la


02 Etape 2
phase de conception du projet, lorsque
nous le savons moins. 

03 Etape 3 Il prend en charge l’estimation dans la


phase de post-architecture d’un projet.
30
Exemple
04
d’application de
COCOMO
31
Exemple d’application de
COCOMO

Client Equipe de
développement

Système de gestion de
base de données Liste des
fonctionnalités

32
Exemple d’application de COCOMO

Estimation de la Identification des


taille du système 01 04 outils de
50 000 KLOC développement

Calcul du
Estimation de la
coefficient
complexité 02 05
d'échelle
1,2
1,09

Estimation des Calcul de


compétences de 03 06 l'estimation de
l'équipe base

33
Exemple d’application de COCOMO

EB = a * (KLOC)^b
Avec :

a = 2,94
b = 1,09
KLOC = 50 000

EB = 2,94 * (50)^1,09 = 315 000


personnes-moins 34
Relation entre
05
AGL et
COCOMO
35
1. Atelier de Génie Logiciel : C’est quoi?

Un logiciel aidant à la réalisation Ensemble d’outils permettant de

de logiciels couvrir le cycle de vie du logiciel

Un système utilisé pour le Inclus les méthodologies qui


développement logiciel assisté formalisent le processus logiciel
par ordinateur

36
2. Objectifs des AGLs

Améliorer la productivité Améliorer le suivi

Améliorer la qualité Fiabilité

Maintenance Evolutivité

37
2. Catégories d’AGLs

Richesse du support Type de problèmes


Type de projet d’ingénierie
logicielle

Ampleur du projet Gestion des ressources Phase du cycle de


du projet développement

38
3. Classification basée sur le cycle de développement

AGL de conception (Upper Case)


• Des outils pour l'édition de diagrammes
• Des dictionnaires de données
• Des outils pour l'édition de rapports
• Des outils pour le prototypage,...

AGL de développement (Lower Case)


• Editeur
• Debugger
• Compilateur
• SGBD
• Des générateurs d'interfaces 39
4. Bénéfices observés par les entreprises

1 2 3

Augmentation de la
Gains de productivité Gains de qualité
documentation

5 4

Amélioration de la
Bien évaluer le coût réel
communication

40
5. La prise en compte de l'AGL dans l'estimation des coûts avec
COCOMO
Amélioration de la qualité Augmentation de la
du code productivité

01 - Réduire les coûts de - Réduire les temps 03


maintenance à long morts et les coûts de
La prise en compte
terme. de l'AGL (Atelier de Génie Logiciel) dansmain-d'œuvre.
l'estimation des coûts avec
COCOMO peut avoir une influence significative sur les facteurs de coût.
Réduction du temps de
Meilleure gestion de projet
développement

02 04
- Respecter les délais et les
- Réduire des coûts de main-
budgets fixés.
d'œuvre et une accélération de
la mise sur le marché. 41
06
Conclusion

42
Conclusion

Les modèles COCOMO ont été développés La combinaison de COCOMO et d'un AGL

à différentes époques en fonction des peut aider les développeurs de logiciels à

progrès de la programmation et du estimer plus précisément les coûts et les

développement de logiciels et des temps nécessaires pour développer un

techniques d’ingénierie. logiciel.

43
Merci pour votre
attention !

Vous aimerez peut-être aussi