SlideShare une entreprise Scribd logo
1  sur  21
La mesure logicielle
LAJOUAD Rachid
Lignes de codes
• Mesure directe sur le code :
• KLOC
• KLOCM
• Standard :
• LOC : 62 / fonction
• LOCM : 60% par fonction
Complexité cyclomatique
• Établir le graphe de McCabe
• Compter le nombre d’arcs : a
• Compter le nombre de nœuds : n
C = a – n + 2
Notation de McCabe
Sequence
If-then-else
While
Do .. While
• Trouver le graphe de flux de McCabe pour la portion du code
suivante :
scanf("%d",&a);
if(a > 10) {
printf("Hello");
if(b < a){
printf("Partie 1");
if(c > a) {
printf ("Partie 2");
}
} else {
printf ("Partie 3");
}
}
Méthode rapide pour calculer C
1. Compter le nombre de décision : .
Une décision = if, while, case, goto, for
C =  + 1
Science informatique de Halstead
• Déterminer le nombre d’opérateurs ‘sans
répétitions’ (1) et le nombre d’opérandes
‘sans répétitions’ (2). [Nombre de jetons : 
= 1 + 2 ].
• Le nombre d’opérandes potentiels : nombre
d’opérandes sans initialisation (2
*).
• On détermine la longueur N = N1+N2 avec :
N1 =  1i*fi et N2 =  2i*fi
Mesures de Halstead
• Volume V (en octets) : V = N*log2(1 + 2)
• Volume potentiel V* (Volume d’implémentation
théorique minimale):
V* = (2+2*)*log2(1 + 2*)
• Niveau d’implémentation : L = V*/V
• Effort mental : E = V/L
• Temps, T (S = 18 « nombre de Stroud »)
T = E/S
• Nombre de Bugs : B = (E^(2/3))/3000
Métriques de Henry-Kafura
• Mesurer la complexité entre module :
Hki = Poidsi * (Ini * Outi)2
i : index du module dans le code.
Méthode GQM
Vic Basili et David Rombach
Goal – Question – Metrics
Evaluation en utilisant des check-lists
Métriques pour l’OO
Méthodes pondérées par classes : WMC.
Profondeur de l’arbre d’héritage : DIT
Nombre d’enfants : NOC.
Métriques : MOOD (encapsulation,
héritage, polymorphisme, couplage)
Mesure : WMC
C’est la seule métrique à calculer en moyenne
sur toutes les classes :
WMC = (1/n)*(i=0 a n) ci*Mi
Profondeur de l’arbre d’héritage DIT
Distance maximale
entre le nœud et
la racine de
l’arbre d’héritage.
A
B
C
Nombre d’enfants : NOC
A
B C
Métriques MOOD
• Nombre total de classesTC
• Nombre de méthode de classe Ci (i
entre 1 et TC)Md(Ci)
• méthode m de la classe i.Mm,i
• = 1 si i  j et Cj peut appeler Mm,i.
• = 0 sinon
EstVisible(Mm,i , Cj)
La visibilité d’une méthode
Encapsulation
Fourchette préconisée: [10%,30%]
Fourchette préconisée: [70%,100%]
Facteurs d’héritage
Mi(Ci) : nombre de méthodes
hérités et non surchargées
Md(Ci) : Nombre de méthodes
définis dans la classe
Ma(Ci) = Md(Ci) + Mi(Ci)
Ai(Ci) : nombre d’attributs
hérités
Ad(Ci) : Nombre d’attributs
définis dans la classe
Aa(Ci) = Ad(Ci) + Ai(Ci)
Fourchette préconisée: [65%,80%]
Fourchette préconisée: [50%,60%]
Facteur de couplage
CF (Coupling Factor)
Fourchette préconisée: [4%,20%]
Facteur de polymorphisme
PF (Polymorphism Factor)
Fourchette préconisée: [3.5%,10%]
Quelques références MOOD
pour comparaison
System MFC GNU ET+ Motif
MHF 24.6% 13.3% 9.6% 39.2%
AHF 68.4% 84.1% 69.4% 100.0%
MIF 83.2% 63.1% 83.9% 64.3%
AIF 59.6% 62.6% 51.8% 50.3%
PF 2.7% 3.5% 4.5% 9.8%
CF 9.0% 2.8% 7.7% 7.6%

Contenu connexe

Tendances (8)

Serie2
Serie2Serie2
Serie2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
exercices en C
exercices en Cexercices en C
exercices en C
 
Correction
CorrectionCorrection
Correction
 
Formation OCJP
Formation OCJPFormation OCJP
Formation OCJP
 
Serie
SerieSerie
Serie
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de données
 

En vedette

Plantes tinctoriales medicinal - verville
Plantes tinctoriales   medicinal - vervillePlantes tinctoriales   medicinal - verville
Plantes tinctoriales medicinal - vervilleMunoz Isabelle
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbcRachid Lajouad
 
Les métriques en ligne et les réseaux / médias sociaux
Les métriques en ligne et les réseaux / médias sociauxLes métriques en ligne et les réseaux / médias sociaux
Les métriques en ligne et les réseaux / médias sociauxAude Ducret
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes PratiquesEmmanuel Hugonnet
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Assurance Qualité S O A
Assurance Qualité  S O AAssurance Qualité  S O A
Assurance Qualité S O Aguestb55335
 
La mesure, ce n'est pas que pour le devops
La mesure, ce n'est pas que pour le devopsLa mesure, ce n'est pas que pour le devops
La mesure, ce n'est pas que pour le devopsOlivier Garcia
 
Fonds de Tube emboutis ISO NFA 49185 et Métriques
Fonds de Tube emboutis ISO NFA 49185 et MétriquesFonds de Tube emboutis ISO NFA 49185 et Métriques
Fonds de Tube emboutis ISO NFA 49185 et MétriquesDVAI
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Normalisation des exigences système / logiciel
Normalisation des exigences système / logicielNormalisation des exigences système / logiciel
Normalisation des exigences système / logicielPierre
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsPierre
 
Management du contenu du projet
Management du contenu du projetManagement du contenu du projet
Management du contenu du projetyounes elhaiba
 
Management de la qualité
Management de la qualitéManagement de la qualité
Management de la qualitéyounes elhaiba
 

En vedette (20)

Tests unitaires
Tests unitairesTests unitaires
Tests unitaires
 
Qualite1
Qualite1Qualite1
Qualite1
 
Plantes tinctoriales medicinal - verville
Plantes tinctoriales   medicinal - vervillePlantes tinctoriales   medicinal - verville
Plantes tinctoriales medicinal - verville
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Tableau de bord
Tableau de bordTableau de bord
Tableau de bord
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbc
 
Metrique
MetriqueMetrique
Metrique
 
Chap2 clientsrvr
Chap2 clientsrvrChap2 clientsrvr
Chap2 clientsrvr
 
Les métriques en ligne et les réseaux / médias sociaux
Les métriques en ligne et les réseaux / médias sociauxLes métriques en ligne et les réseaux / médias sociaux
Les métriques en ligne et les réseaux / médias sociaux
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Assurance Qualité S O A
Assurance Qualité  S O AAssurance Qualité  S O A
Assurance Qualité S O A
 
La mesure, ce n'est pas que pour le devops
La mesure, ce n'est pas que pour le devopsLa mesure, ce n'est pas que pour le devops
La mesure, ce n'est pas que pour le devops
 
Fonds de Tube emboutis ISO NFA 49185 et Métriques
Fonds de Tube emboutis ISO NFA 49185 et MétriquesFonds de Tube emboutis ISO NFA 49185 et Métriques
Fonds de Tube emboutis ISO NFA 49185 et Métriques
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Tone and mood ppt
Tone and mood pptTone and mood ppt
Tone and mood ppt
 
Normalisation des exigences système / logiciel
Normalisation des exigences système / logicielNormalisation des exigences système / logiciel
Normalisation des exigences système / logiciel
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logiciels
 
Management du contenu du projet
Management du contenu du projetManagement du contenu du projet
Management du contenu du projet
 
Management de la qualité
Management de la qualitéManagement de la qualité
Management de la qualité
 

Similaire à La mesure logicielle

Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2hortis
 
20090929 02 - Dependency structural matrix (Inria)
20090929 02 - Dependency structural matrix (Inria)20090929 02 - Dependency structural matrix (Inria)
20090929 02 - Dependency structural matrix (Inria)LeClubQualiteLogicielle
 
Turbo code
Turbo codeTurbo code
Turbo coden allali
 
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !ochafik
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11Microsoft
 
seminaires_crytage_vision compression video
seminaires_crytage_vision compression videoseminaires_crytage_vision compression video
seminaires_crytage_vision compression videoKibeyaHassan1
 
Introduction à MacRuby - OSDC.fr 2009
Introduction à MacRuby - OSDC.fr 2009Introduction à MacRuby - OSDC.fr 2009
Introduction à MacRuby - OSDC.fr 2009guest60b8020b
 
La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications Ibrahim Chegrane
 
Manipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARManipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARMahdi Smida ✔
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMALoic Yon
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfZizoAziz
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfssuseref253b1
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs javaJérémy Sevellec
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfHouBou3
 
Présentation extia optimisation_cfd
Présentation extia optimisation_cfdPrésentation extia optimisation_cfd
Présentation extia optimisation_cfdSteven DAIX
 

Similaire à La mesure logicielle (20)

Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Introduction à MacRuby
Introduction à MacRubyIntroduction à MacRuby
Introduction à MacRuby
 
20090929 02 - Dependency structural matrix (Inria)
20090929 02 - Dependency structural matrix (Inria)20090929 02 - Dependency structural matrix (Inria)
20090929 02 - Dependency structural matrix (Inria)
 
Cours de c
Cours de cCours de c
Cours de c
 
Turbo code
Turbo codeTurbo code
Turbo code
 
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
 
seminaires_crytage_vision compression video
seminaires_crytage_vision compression videoseminaires_crytage_vision compression video
seminaires_crytage_vision compression video
 
Introduction à MacRuby - OSDC.fr 2009
Introduction à MacRuby - OSDC.fr 2009Introduction à MacRuby - OSDC.fr 2009
Introduction à MacRuby - OSDC.fr 2009
 
La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
Manipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARManipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDAR
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdf
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs java
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdf
 
Présentation extia optimisation_cfd
Présentation extia optimisation_cfdPrésentation extia optimisation_cfd
Présentation extia optimisation_cfd
 

Plus de Rachid Lajouad

4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversionRachid Lajouad
 
3 identification des systèmes
3 identification des systèmes3 identification des systèmes
3 identification des systèmesRachid Lajouad
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservisRachid Lajouad
 
1 asservissements linéaires continus
1 asservissements linéaires continus1 asservissements linéaires continus
1 asservissements linéaires continusRachid Lajouad
 

Plus de Rachid Lajouad (10)

4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion
 
3 identification des systèmes
3 identification des systèmes3 identification des systèmes
3 identification des systèmes
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
 
1 asservissements linéaires continus
1 asservissements linéaires continus1 asservissements linéaires continus
1 asservissements linéaires continus
 
Chap4 cliserrmi
Chap4 cliserrmiChap4 cliserrmi
Chap4 cliserrmi
 
Chap3 clientsrvr
Chap3 clientsrvrChap3 clientsrvr
Chap3 clientsrvr
 
Planifier projet
Planifier projetPlanifier projet
Planifier projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
 

Dernier

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdfMariaClaraAlves46
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfGamal Mansour
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 

Dernier (20)

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 

La mesure logicielle

  • 2. Lignes de codes • Mesure directe sur le code : • KLOC • KLOCM • Standard : • LOC : 62 / fonction • LOCM : 60% par fonction
  • 3. Complexité cyclomatique • Établir le graphe de McCabe • Compter le nombre d’arcs : a • Compter le nombre de nœuds : n C = a – n + 2
  • 5. • Trouver le graphe de flux de McCabe pour la portion du code suivante : scanf("%d",&a); if(a > 10) { printf("Hello"); if(b < a){ printf("Partie 1"); if(c > a) { printf ("Partie 2"); } } else { printf ("Partie 3"); } }
  • 6. Méthode rapide pour calculer C 1. Compter le nombre de décision : . Une décision = if, while, case, goto, for C =  + 1
  • 7. Science informatique de Halstead • Déterminer le nombre d’opérateurs ‘sans répétitions’ (1) et le nombre d’opérandes ‘sans répétitions’ (2). [Nombre de jetons :  = 1 + 2 ]. • Le nombre d’opérandes potentiels : nombre d’opérandes sans initialisation (2 *). • On détermine la longueur N = N1+N2 avec : N1 =  1i*fi et N2 =  2i*fi
  • 8. Mesures de Halstead • Volume V (en octets) : V = N*log2(1 + 2) • Volume potentiel V* (Volume d’implémentation théorique minimale): V* = (2+2*)*log2(1 + 2*) • Niveau d’implémentation : L = V*/V • Effort mental : E = V/L • Temps, T (S = 18 « nombre de Stroud ») T = E/S • Nombre de Bugs : B = (E^(2/3))/3000
  • 9. Métriques de Henry-Kafura • Mesurer la complexité entre module : Hki = Poidsi * (Ini * Outi)2 i : index du module dans le code.
  • 10. Méthode GQM Vic Basili et David Rombach Goal – Question – Metrics Evaluation en utilisant des check-lists
  • 11. Métriques pour l’OO Méthodes pondérées par classes : WMC. Profondeur de l’arbre d’héritage : DIT Nombre d’enfants : NOC. Métriques : MOOD (encapsulation, héritage, polymorphisme, couplage)
  • 12. Mesure : WMC C’est la seule métrique à calculer en moyenne sur toutes les classes : WMC = (1/n)*(i=0 a n) ci*Mi
  • 13. Profondeur de l’arbre d’héritage DIT Distance maximale entre le nœud et la racine de l’arbre d’héritage. A B C
  • 14. Nombre d’enfants : NOC A B C
  • 15. Métriques MOOD • Nombre total de classesTC • Nombre de méthode de classe Ci (i entre 1 et TC)Md(Ci) • méthode m de la classe i.Mm,i • = 1 si i  j et Cj peut appeler Mm,i. • = 0 sinon EstVisible(Mm,i , Cj)
  • 18. Facteurs d’héritage Mi(Ci) : nombre de méthodes hérités et non surchargées Md(Ci) : Nombre de méthodes définis dans la classe Ma(Ci) = Md(Ci) + Mi(Ci) Ai(Ci) : nombre d’attributs hérités Ad(Ci) : Nombre d’attributs définis dans la classe Aa(Ci) = Ad(Ci) + Ai(Ci) Fourchette préconisée: [65%,80%] Fourchette préconisée: [50%,60%]
  • 19. Facteur de couplage CF (Coupling Factor) Fourchette préconisée: [4%,20%]
  • 20. Facteur de polymorphisme PF (Polymorphism Factor) Fourchette préconisée: [3.5%,10%]
  • 21. Quelques références MOOD pour comparaison System MFC GNU ET+ Motif MHF 24.6% 13.3% 9.6% 39.2% AHF 68.4% 84.1% 69.4% 100.0% MIF 83.2% 63.1% 83.9% 64.3% AIF 59.6% 62.6% 51.8% 50.3% PF 2.7% 3.5% 4.5% 9.8% CF 9.0% 2.8% 7.7% 7.6%