You are on page 1of 45

GESTION DE PROJETS

GP031 v102a
2013-02-05

Gestion du temps Estimation de leffort (dveloppement de logiciels)


Luc LAVOIE Dpartement dinformatique Facult des sciences

Luc.Lavoie@USherbrooke.ca http://pages.usherbrooke.ca/llavoie

ESTIMATION DE LEFFORT PLAN


!! Mthode

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

analogique !! Mthodes paramtriques


!ad hoc! !! Halstead !! COCOMO !! FP
!! !!

!! Mthodes

synthtiques

!! Synthse

Mthode ascendante (le fleuve Saint-Laurent) !! Mthode descendante (le delta du Mkong) !! Mthode mixte (les basses terres dEurope)
2

ESTIMATION DE LEFFORT MTHODE ANALOGIQUE


!! Mettre

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

en relation des noeuds de la SDP du projet estimer avec ceux de la SDP dun projet analogue, bien document. !! Ajuster les quantits en fonction des facteurs diffrentiels. !! Recourir des sources gnralement bien informes pour complter (sic) :
votre petit doigt (thumbs rule), !! un vtran, !! des experts (Delphi).
!!
3

ESTIMATION DE LEFFORT
MTHODES PARAMTRIQUES
!! Toute

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

mthode fonde destimer leffort sur la base

!! !!

sur les expriences antrieures

!! Permettant

dune fonction mathmatique !! dont les paramtres


!! !! !!

macroscopiques sont simples valuer au moment de la dfinition de lactivit (ou de lartfact)

ESTIMATION DE LEFFORT
MTHODE PARAMTRIQUE !AD HOC!
!! Applicable

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!! !! !!

aux artfacts strotyps sur les expriences antrieures

!! Fonde !! Construite

(le plus souvent) par

la combinaison linaire !! de variables !! dont les coefficients


!! !!

empiriques sont issus des donnes historiques


5

ESTIMATION DE L'EFFORT HALSTEAD (1/2)


n1!= Nombre doprateurs distincts dun composant n2!= Nombre doprandes distincts dun composant N1!= Nombre total doccurrences des oprateurs au sein du composant N2!= Nombre total doccurrences des oprandes au sein du composant l = n1 + n2 Vocabulaire du programme L = N1 + N2 Longueur observe du programme Le = n1 (Log2 n1) + n2 (Log2 n2) Longueur estime du programme V = L!Log2 (n1 + n2) Volume du programme D = (n1/2) (N2/n2) Difficult du programme L1!= 1/D Niveau du programme E = V/L1 Effort (en del) del : discriminations lmentaires
6

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT HALSTEAD (2/2)


!! Erreurs

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!! !!

B = V/K

!! Effort

(seconde-personne)

T = E/S

!! o

S!est le nombre de Stroud (typiquement 18 del/seconde) !! K est le coefficient de fiabilit (typiquement 3000 del/erreur)
!!
7

ESTIMATION DE L'EFFORT MTHODE PARAMTRIQUE COCOMO


!! Modle de calcul !! empirique !! prvisionnel !! macroscopique !! Composants !! Formules de
!!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!! Hypothses !! Existence dune mesure


!!

uniforme du travail Ressources adquates et opportunes

!!

!! Prolongements !! Ventilation par phase !! valuation prvisionnelle


!!

normalisation !! Travail Formules destimation !! Effort !! Dure Tables paramtriques !! Mise lchelle (SF) !! Modularisation (EM) !! Conversion Guides de calibration !! Tables paramtriques Outils de calcul !! Guides !! Chiffriers !! Logiciels spcialiss
!!

(UFP KSLOC)

de la qualit valuation prvisionnelle des risques

!! !!

ESTIMATION DE L'EFFORT MTHODE PARAMTRIQUE COCOMO


Rfrences [a] COCOMO II Model Definition Manual, version 2.1 Center for Software Engineering, University of Southern California, 86 pages, 2000 [b] http://sunset.usc.edu/csse/research/ COCOMOII/cocomo_main.html Center for Software Engineering, University of Southern California, consult le 2010-01-26

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT MTHODE PARAMTRIQUE COCOMO I


!! Formules
!!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

simplifies

Effort : PM = A x KSLOCE !! Dure : TDEV = C x PMF

Type Autonome Coupl Embarqu

A E C F 2,40 1,05 2,50 0,38 3,00 1,12 2,50 0,35 3,60 1,20 2,50 0,32

10

ESTIMATION DE L'EFFORT MTHODE PARAMTRIQUE COCOMO II


!! Cheminement

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

1 - Points de fonction (FP) !! 2 - Travail (KSLOC) !! 3 - Effort (PM) !! 4 - Dure (TDEV)


!!

11

ESTIMATION DE L'EFFORT MTHODE PARAMTRIQUE COCOMO II


!! Points
!!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

de fonction

!! Effort
!! !!

!! !!

Dterminer !! Exigences !! Architecture !! Langages En dduire le travail Estimer !! Rutilisation !! volution (REVL) !! Automatisation En dduire leffort

Mettre lchelle (SF) Modulariser (EM) !! Pr-dveloppement !! Post-dveloppement Mettre lchelle Contextualiser

!! Travail

!! Dure
!! !!

!!

12

ESTIMATION DE L'EFFORT COCOMO II SITUATION !INITIALE!


!! Situation

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

initiale
5

!! !!

Dveloppement 100% chancier non contraint (NS : nominal schedule)


!! !!

PM NS = A # Size E # " EM i
i =1

A = 2,94 C = 3,67

B = 0,91 D = 0,28

where E = B + 0.01 # ! SFj


j=1

!! EM

(effort multiplier)

!! !!

pour moduler leffort

TDEVNS = C # (PM NS )

F 5

!! SF

(scale factor)

where F = D + 0.2 # 0.01 # ! SFj = D + 0.2 # (E $ B)


j=1

pour moduler le dlai

Rf.: [a], extraits des pages 9-15

13

ESTIMATION DE L'EFFORT COCOMO II SF (FACTEURS DCHELLE)


!!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!!

PREC - Precedentedness scale factor. Facteur dchelle prenant en compte lexprience de lquipe relativement des projets similaires (tant celle des membres que de lorganisation). FLEX - Development Flexibility scale factor. Facteur dchelle prenant en compte la flexibilit des exigences (soit la capacit de faire varier celles-ci dans la mesure o les objectifs du projet sont atteints). TEAM - Team Cohesion scale factor. Facteur de cohsion de lquipe prenant principalement en compte la qualit et la facilit de communication entre les membres de lquipe. RESL - Architecture and Risk Resolution scale factor. Facteur dchelle prenant en compte la capacit de traiter la complexit de larchitecture du produit et les autres risques techniques de projet. PMAT - Process Maturity scale factor. Facteur dchelle associ au niveau de maturit du processus de dveloppement logiciel selon la grille du CMM (CMMI).
14

!!

!!

!!

ESTIMATION DE L'EFFORT COCOMO II SF (LA MATRICE)


Table 10. Scale Factor Values, SFj, for COCOMO II Models
Scale Factors Very Low thoroughly unpreceden ted 6.20 rigorous 5.07 little (20%) 7.07 very difficult interactions TEAM SFj: PMAT SFj: 5.48 Low largely unpreceden ted 4.96 occasional relaxation 4.05 some (40%) 5.65 some difficult interactions 4.38 Nominal somewhat unpreceden ted 3.72 some relaxation 3.04 often (60%) 4.24 basically cooperative interactions 3.29 High generally familiar 2.48 general conformity 2.03 generally (75%) 2.83 largely cooperative 2.19 Very High largely familiar 1.24 some conformity 1.01 mostly (90%) 1.41 highly cooperative 1.10 Extra High thoroughly familiar 0.00 general goals 0.00 full (100%) 0.00 seamless interactions 0.00 SW-CMM Level 5 0.00

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

PREC SFj: FLEX SFj: RESL SFj:

The estimated Equivalent Process Maturity Level (EPML) or SW-CMM SW-CMM SW-CMM SW-CMM SW-CMM Level 1 Level 1 Level 2 Level 3 Level 4 Lower Upper 7.80 6.24 4.68 3.12 1.56

Rf.: [a], extraits des pages 18

15

ESTIMATION DE L'EFFORT COCOMO II EM (MULTIPLICATEURS DEFFORT)


!! Quatre

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

catgories de facteurs :

produit !! plateforme !! personnel !! projet


!!

16

ESTIMATION DE L'EFFORT COCOMO II EM : FACTEURS LIS AU PRODUIT


!!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

RELY niveau de fiabilit recherch DATA envergure des donnes rmanentes


!! !!

(semble inclure la validit)

!!

( partir du ratio D/P Ko/KSLOC) algorithmique, calcul, entres-sorties, gestion des donnes, IPM

!!

CPLX mesure intgratrice de la complexit du logiciel selon :


!! !! !! !! !!

RUSE dveloppement en vue dune rutilisation !! DOCU envergure, qualit et complexit de la documentation
!!
17

ESTIMATION DE L'EFFORT COCOMO II EM : FACTEURS LIS LA PLATE-FORME


!! TIME

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

exigence en temps relativement la


!!

capacit de la plate-forme vise

!! STOR

exigence en espace relativement la


!!

capacit de la plate-forme vise

!! PVOL

volatilit de la plate-forme relativement aux


!!

dlais entre les mises jour

18

ESTIMATION DE L'EFFORT COCOMO II EM : FACTEURS LIS AU PERSONNEL


ACAP valuation de lquipe danalyse (en percentile) !! PCAP valuation de lquipe de programmation (en percentile) !! PCON valuation de la stabilit du personnel (relativement au pourcentage de mobilit annuelle) !! APEX valuation de lexprience relative au domaine dapplication !! PLEX valuation de lexprience relative la plate-forme !! LTEX valuation de lexprience relative lenvironnement de dveloppement
!!
19

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II EM : FACTEURS LIS AU PROJET


!! TOOL

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

qualit, couverture et ergonomie de lenvironnement de dveloppement !! SITE Collaboration infrastructure de soutien au travail collaboratif !! SITE Communication infrastructure de communication !! SCED facteur de compression (ou dexpansion) de lchancier (en pourcentage)
20

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II EM : SYNTHSE (1/3)

21

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II EM : SYNTHSE (2/3)

22

ESTIMATION DE L'EFFORT COCOMO II EM : SYNTHSE (3/3)

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

Cost Drivers SITE: Collocation SITE: Communication SCED

Very Low International

Low Multi-city and multicompany Individual phone, FAX

Nominal Multi-city or multicompany Narrow-band email

High Same city or metro area

Very High Same building or complex Wide-band elect. comm, occasional video conf. 160% of nominal

Extra High Fully collocated

Some phone, mail

Wide-band electronic communication. 130% of nominal

Interactive multimedia

75% of nominal

85% of nominal

100% of nominal

23

ESTIMATION DE L'EFFORT COCOMO II CORRIGER LA SITUATION!INITIALE!


!! Rutilisation

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!!

ajuster le travail (KSLOCEQ KSLOCNA)

!! Automatisation

!!

scinder le calcul de leffort en deux


!! !!

travail automatis (PMauto) travail non automatis (PMNS)

!!

PM = PMNS + PMauto

24

ESTIMATION DE L'EFFORT COCOMO II RUTILISATION


, AT ) Equivalent KSLOC = Adapted KSLOC ! *1 ' ! AAM 100 ( + % AA + AAF ! (1 + [0.02 ! SU ! UNFM ]) , for AAF & 50 " " 100 where AAM = $ " AA + AAF + (SU ! UNFM) , for AAF > 50 " 100 # AAF = (0.4 ! DM )+ (0.3 ! CM ) + (0.3 ! IM )

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

AA : Assessment and assimilation increment AT : Portion automatisable du travail SU : Understanding increment UNFM : Programmer unfamiliarity DM : Design modified proportion CM : Code modified proportion IM : Integration required proportion
25

ESTIMATION DE L'EFFORT COCOMO II RUTILISATION (SU)


Table 5. Rating Scale for Software Understanding Increment SU
Low Moderately low cohesion, high coupling. Nominal Reasonably well-structured; some weak areas. Moderate correlation between program and application. Moderate level of code commentary, headers, documentation. High High cohesion, low coupling. Very High Strong modularity, information hiding in data / control structures. Clear match between program and application world-views. Self-descriptive code; documentation up-to-date, well-organized, with design rationale. 10 Very Low Very low cohesion, high coupling, spaghetti code. No match between program and application world-views. Obscure code; documentation missing, obscure or obsolete.

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

Structure

Application Clarity SelfDescriptiveness

Some correlation between program and application. Some code commentary and headers; some useful documentation.

Good correlation between program and application. Good code commentary and headers; useful documentation; some weak areas. 20

SU Increment to ESLOC

50

40

30

26

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II RUTILISATION (AA ET UNFM)

27

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II RUTILISATION (DM, CM, IM)

28

ESTIMATION DE L'EFFORT COCOMO II AUTOMATISATION

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

AT : portion automatisable du travail ATPROD : travail automatis produit par mois-personne AUTO : automatisation

Rf.: [a], extraits des pages 9-15 29

ESTIMATION DE L'EFFORT COCOMO II ET LE RESTE


!! Volatilit

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

des exigences

!! Compression

dchancier

!!

voir le manuel du modle

30

ESTIMATION DE L'EFFORT FP LIDE


!! Objectif

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!!

dterminer la taille dune application sur une base fonctionnelle

!! Corollaires

lestimation est ralisable sur la base des seules exigences fonctionnelles !! lestimation peut tre affine par la suite sur la base des
!!
!! !! !!

exigences non fonctionnelles architecture conception globale


31

ESTIMATION DE L'EFFORT FP LES MTHODES


!! FP,

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

version 0 Boehm !! FP, version 1 IFPUG !! FP, version 2 COSMIC !! FP, version 3 ISO !! CFP, version 3.01 COSMIC

32

ESTIMATION DE L'EFFORT FP0 LA MTHODE


!! Identifier

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

les fonctions !! Dterminer les points de fonction !! Pondrer les points de fonction !! Caractriser les points de fonction !! Pour chaque fonction, calculer
!! !!

AFP[f] = UFP[f] x (0,65 + 0,01 * TGC[f])

AFP : adjusted function point !! UFP : unadjusted function point !! TGC : total global complexity
33

ESTIMATION DE L'EFFORT FP0 DTERMINATION (UFP[F])


Table 1.
Function Point External Input (EI) External Output (EO) Internal Logical File (ILF) External Interface Files (EIF) External Inquiry (EQ)

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

User Function Types


Description

Count each unique user data or user control input type that enters the external boundary of the software system being measured. Count each unique user data or control output type that leaves the external boundary of the software system being measured. Count each major logical group of user data or control information in the software system as a logical internal file type. Include each logical file (e.g., each logical group of data) that is generated, used, or maintained by the software system. Files passed or shared between software systems should be counted as external interface file types within each system. Count each unique input-output combination, where input causes and generates an immediate output, as an external inquiry type.

34

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT FP0 CATGORISATION (UFP[F])

35

ESTIMATION DE L'EFFORT FP0 CARACTRISATION (TGC)


1.! 2.! 3.! 4.! 5.! 6.! 7.! 8.! 9.! 10.! 11.! 12.! 13.! 14.!

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

sauvegarde/restauration communication processus distribu criticit de performance environnement existant et achaland saisie en ligne multiplicit des contextes de saisie mise jour en ligne complexit gnrale des paramtres (!) complexit gnrale du traitement dveloppement en vue de la rutilisation migration et mise en exploitation dploiements multiples prise en charge ergonomique

... raison de 5 points par critre


36

2013-02-05

GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

ESTIMATION DE L'EFFORT COCOMO II (FP -> TRAVAIL) : SLOC / UFP

37

ESTIMATION DE L'EFFORT FP0 LA MTHODE DTAILLE


!! Identifier

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

les fonctions !! Dterminer les points de fonction !! Pondrer les points de fonction !! Caractriser les points de fonction !! Pour chaque fonction, calculer
!! !!

AFP[f] = UFP[f] x (0,65 + 0,01 * TGC[f])

AFP : adjusted function point !! UFP : unadjusted function point !! TGC : total global complexity
38

ESTIMATION DE L'EFFORT FP - RFRENCES


!! Rfrences

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

!! !! !! !!

Functional measurement meta-standard


!!

ISO 12143-1 www.ifpug.org/ ISO 19761 http://www.cosmicon.com/

IFPUG
!!

COSMIC 3.0 et ISO


!!

COSMIC 3.01
!!

39

ESTIMATION DE LEFFORT MTHODE ASCENDANTE


!! La

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

somme des quantits associes aux descendants est associe lanctre. !! La subdivision de tches ntant gnralement pas cout nul, une estimation du cout induit doit tre ajoute :
le cout est principalement dtermin par les tches de synchronisation des participants et dassemblage des artfacts ; !! en gnral, ce cout crot en fonction du carr du nombre des parties.
!!

40

ESTIMATION DE LEFFORT MTHODE DESCENDANTE


!! Rpartir

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

itrativement la quantit associe un noeud entre ses descendants. !! La subdivision de tches ntant gnralement pas cout nul, une estimation du cout induit doit tre ajoute :
le cout est principalement dtermin par les tches de synchronisation des participants et dassemblage des artfacts ; !! en gnral, ce cout crot en fonction du carr du nombre des parties.
!!

41

ESTIMATION DE LEFFORT MTHODE MIXTE


!! Utiliser

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

une mthode destimation pour quantifier les composants dune architecture. !! Utiliser la mthode ascendante pour estimer le cout du systme (la racine). !! Utiliser la mthode descendante pour estimer le cout des sous-composants (les feuilles).

42

SYNTHSE CONSTATS
!! Non-linarit

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

de la compression !! La fabrication dun chancier requiert au moins un degr de libert

43

SYNTHSE PRINCIPES
!! Une

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

estimation est une projection fonde sur des expriences passes prenant en compte les diffrences entre les cas passs et le cas vis. !! Toute estimation repose sur un ensemble dhypothses et de contraintes. !! R-estimation priodique (suivi de projet) et apriodique (modification aux hypothses, aux contraintes, aux risques ou aux exigences)

44

SYNTHSE
!! Pas

2013-02-05 GP031 : Estimation de l'effort (v102a) L. Lavoie (UdeS)

destimation

sans marge derreur !! sans donnes historiques !! sans r-estimation


!!
!! Complmentarit

des mthodes

FP Cocomo descendante !! Analogique PERT ascendante !! Analogique Monte-Carlo mixte !! ...


!!

45

You might also like