SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
13 October 2011
1
Introduction à la méthode SQALE
Jean-Louis LETOUZEY
Club Qualité Logicielle, 4 Octobre 2011
Agenda
DNV et la qualimétrie
La méthode SQALE
Exemples d’implémentation
Evolution et Conclusion
2
13 October 2011
2
DNV et la qualimétrie
DNV a développé ses compétences en Qualimétrie depuis plusieurs années en
complément des projets d’amélioration
DNV pense que les outils doivent supporter une méthode et non l’inverse
Les outils actuels du marché sont perçus par nos clients comme
• Couteux à mettre en place (licences, formation, personnalisation, support…)
• Générant des résultats entachés de bruit (il faut vérifier visuellement des
résultats automatiques et les rapports souvent trop détaillés !)
Globalement, les indicateurs générés :
• Cachent de graves défauts : Utilisation abusives des moyennes et
pondérations
• Sont trop complexe à comprendre
• N’aident pas à optimiser les décisions
• Sont difficiles à consolider dans une vue synthétique juste
=> Notre expérience et nos travaux dans le domaine nous ont permis de mettre
au point une méthode (modèle et mesure) innovante pour la qualimétrie :
SQALE (Software Quality Assesment based on Lifecycle Expectations)
3
Positionnement de DNV
DNV n’est pas vendeur d’outils => DNV est indépendant
DNV accompagne des grands comptes dans leur démarche de mise en œuvre de
l’analyse de code (Ericsson, Renault, Schneider, Volvo, MAAF, BNPP, SG, Natixis...) avec
SQALE :
• Définition de Modèles Qualité basés sur SQALE (Java, C++, C#, COBOL, Pacbase
…)
• Définition de Modèles d’Analyse basés sur SQALE
• Cahier des charges pour une plate-forme d’analyse automatisée ( « open source »
ou outils du marché)
• Support au développement ou à la personnalisation de la solution technique
retenue
• Définition et/ou ajustement de processus de mesure ou organisationnels
• Déploiement
DNV intervient ponctuellement pour des évaluations indépendantes selon la méthode
SQALE : DNV évalue l’application cible et présente les résultats et ses recommandations
DNV a publié la méthode en open-source sur www.sqale.org . 4 éditeurs on déjà
implémenté la méthode (des milliers de projets, des centaines de millions de lignes)
4
13 October 2011
3
Agenda
DNV et la qualimétrie
La méthode SQALE
Exemples d’implémentation
Evolution et Conclusion
5
Un besoin pourtant simple à exprimer
6
Une Arborescence de car.
et sous-car. Qualité
AQ
Q
Mesure/règle
Sous-caractéristique
Caractéristique
Maintenabilité
Une Arborescence
d’élements
Logiciels
A
Composant
AppliA
AL
Besoin:
Pouvoir donner une
“mesure” liée à la qualité
pour chaque paire de
positions dans les 2
hiérarchies
Deux hiérarchies en présence :
Fichier
Obtenir une mesure, une note qui caractérise, qui
représente le concept évalué
Patrimoine
Domaine
Qualité
13 October 2011
4
Les quatre concepts de la méthode SQALE
7
Code
Source
Outil(s) d’analyse
Table des
constats
Table des
coûts de
remédiation
Règles
d’agrégation
SQI
STI
SRI
…
SQID
…
1 Modèle Qualité 2 Modèle d’Analyse Indicateurs43 Index
Liste
d’exigences
relatives au
code source
Fonction
deremédiation
Testabilité Fiabilité Evolutivité Efficacité Maintenabilité
Maintenabilité 589
Efficacité 248 248
Evolutivité 1 480 1 480 1 480
Fiabilité 548 548 548 548
Testabilité 6 535 6 535 6 535 6 535 6 535
6 535 7 083 8 563 8 811 9 400
Le Modèle Qualité SQALE
8
Testabilité
Fiabilité
Evolutivité
Efficacité
Maintenabilité
Reutilisabilité
Impact à long terme
Impact à court terme
Des exigences organisées selon les besoins du cycle de vie
Les caractéristiques qualité du modèle SQALE sont priorisées par construction
On peut insérer 2 autres caractéristiques : sécurité, portabilité
13 October 2011
5
Le Modèle Qualité SQALE
9
Testabilité
Fiabilité
Evolutivité
Efficacité
Maintenabilité
Réutilisabilité
Pas d’instr. 'continue'
Taux de comment > 20%
…
6+ Caractéristiques 17+ Sous Car. 25 à 80 exigences qualité
Lisibilité
Compréhensibilité
Les points de contrôle qui sont des exigences n’apparaisent qu’une seule fois
dans le modèle : au niveau où on en a besoin en premier
Une décomposition en 2 autres niveaux plus détaillés
…
…
Détails des points de contrôle
10
Exemples pour un cas
particulier en C++
Maintainability Maint_Und Method Essentiel Complexity ev(G) <=5
Maintainability Maint_Und No 'continue' instruction
Maintainability Maint_Und No 'break' is used outside a 'switch"
Maintainability Maint_Und All files have a comment ratio > 20 %
Maintainability Maint_Und No goto instruction
Maintainability Maint_Und No '?' operator
Maintainability Maint_Und No double pointers
Maintainability Maint_Rea File size does not exceed 1000 lines
Maintainability Maint_Rea The closing brace '}' is on a standalone line
Maintainability Maint_Rea Variable name start with a lower case letter
Efficiency Eff_Mem No 'realloc' function
Efficiency Eff_Mem Files have equal count of new and delete key word
Efficiency Eff_Rom Class Depth of inheritance DIT <=7
Changeability Chg_Archi Class specification does not contains public data
Changeability Chg_Archi Class weighted complexity WMC < 100
Changeability Chg_Archi Number of class methods NOM <=30
Changeability Chg_Archi Number of derived class <=10
Changeability Chg_Logic If, else, for, while are bound by scope
Changeability Chg_Data No variable assignement to a literal number
Changeability Chg_Data No direct assignement to a litteral value (except 0,1)
Reliability Fault_Tol Switch' statement have a 'default' condition
Reliability Rel_Archi No friend class
Reliability Rel_Logic No missing break within the code
Reliability Rel_Inst No assignement ' =' within 'if' statement
Reliability Rel_Inst No assignement ' =' within 'while' statement
Reliability Rel_Inst No '…' within parameter declaration
Reliability Rel_Inst No decrementer, '--' within a statement
Reliability Rel_Inst No incrementer, '++' within a statement
Reliability Rel_Inst No Void *
Testability Test_Int No "Swiss Army Knife" class antipattern
Testability Test_Int Coupling between object CBO < 7
Testability Test_Unit Method Cyclomatic Complexity v(G) <16
Testability Test_Unit Number of method parameters <7
Testability Test_Unit No duplicate part of 100+ tokens
13 October 2011
6
2° concept : le Modèle d’Analyse SQALE
Pour chaque couple {A,Q}, SQALE définit une règle simple pour calculer
le score associé
11
Req_1 Req_2 Req_3 Req_4 Req_5 Req_6 … … … … Req_99
File_1
File_2
File_3
File_4
…
…
…
…
…
File_99999
Table des coûts de remédiation
A
Composant
AppliA
Fichier
Patrimoine
Domaine
Q
Mesure/règle
Sous-caractéristique
CaractéristiqueMaintainability
Qualité
La position dans les deux arborescences définit le périmètre des coûts à additionner
Σ
Utilisation des index
12
- Maintenabilité
- Efficacité
- Evolutivité
- Fiabilité
- Testabilité
- …
Index
Indicateurs
- Densité d’index
- Quotation (A, B, C, D, E)
Mesures dérivées
From To Rating
0 1% A
1% 2% B
2% 4% C
4% 8% D
16% ∞∞∞∞ E
From To Rating
0 1% A
1% 2% B
2% 4% C
4% 8% D
16% ∞∞∞∞ E
13 October 2011
7
Agenda
DNV et la qualimétrie
La méthode SQALE
Exemples d’implémentation
Evolution et Conclusion
13
SQALE : Implémentation
Index SQALE
Rating SQALE
Tableau de bord
SQALE
….
Navigation
Filtrage
Tendances
14
13 October 2011
8
SQALE : Implémentation
15
Agenda
DNV et la qualimétrie
La méthode SQALE
Exemples de restitution
Evolution et Conclusion
16
13 October 2011
9
Evolution de la méthode
En théorie, au même titre que les exigences fonctionnelles, toutes les exigences
techniques dont celles relatives au code source devraient être satisfaites
En pratique,
• Il y a une certaine habitude à prendre la qualité comme variable d’ajustement (c’est facile
tant que la non qualité n’est pas facilement mesurable)
• On hérite souvent d’une situation existante (code Legacy) avec une dette certaine
Si le budget, le temps imparti est limité, par ou commencer ?
SQALE 1.0 introduit les concepts de “coût de non remédiation” et de “business
debt”
17
Fonctionnalités
MOE MOA
Estimation de coût Business value
A faire
Arbitrage
Qualité du code
MOE MOA
Technical debt Business debt
A fixer
Arbitrage
Les bénéfices de SQALE
Des synthèses objectives et fiables
• L’évaluation est faite en regard d’exigences qualité formalisées
• Des résultats sûrs (pas de faux positif) économisant un temps
considérable en vérifications et discussions
Des index compréhensibles
• Les règles d’agrégation sont simples et justifiables
• La signification des index est claire, c’est une charge de remédiation
Des constats organisés et des recommandations priorisées
• Découlant de leur impact sur le cycle de vie
• Refactorer en suivant la chronologie des charactéristiques
• Optimiser en fonction de la dette business
Une logique générique applicable à tous les contextes et domaines
• Adaptation du modèle qualité
• Adaptation du modèle d’analyse
18
Du fait que SQALE ne viole pas la clause de représentation, SQALE c’est :
SQALE donne du sens à vos mesures logicielles !
13 October 2011
10
SQALE, un changement de paradigme
SQALE sort la “qualimétrie” de son monde d’expert
• 30.000 utilisateurs dans la même banque (4.000+ projet,
11.000 consultations par jour)
C’est plus un problème de déploiement, qu’un problème
technique
19
Merci pour votre
attention
Questions ?
Contact : jean-louis.letouzey@dnv.com
Infos, biblio. : www.sqale.org
13 October 2011
11
Annexe : La clause de représentation
21
Monde Réel Monde Mathématique
A1
A2
Mes(A1)
Mes(A2)
Fonction de Mesure
Impact sur :
- Le choix des mesures
- Les fonctions de
normalisation
- Les règles d’agrégation
Si une entitée logicielle est évaluée inférieure à un autre pour un certain
attribut, alors la mesure de cet attribut doit associer à la première entité
une mesure inférieure à la seconde (Computer Science)
A3
Attribut
Mes(A3)
Artifacts
Mes(A1) > Mes(A2)
Mes(A2) > Mes(A3)
Une mesure
représentative
garde les relations
établies dans le
monde réelA1 >> A2 >> A3

Contenu connexe

Tendances

Automatiser la qualite
Automatiser la qualiteAutomatiser la qualite
Automatiser la qualiteDamien Seguy
 
Introduction à la qualité
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualitéCharles Duchêne
 
Appréhender tous les enjeux de la qualité
Appréhender tous les enjeux de la qualitéAppréhender tous les enjeux de la qualité
Appréhender tous les enjeux de la qualitéEvenements01
 
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de SquashLeClubQualiteLogicielle
 
Introduction à la qualité
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualitéCharles Duchêne
 
20070320 01 - Démarche qualité logicielle et outillage (SNCF)
20070320 01 - Démarche qualité logicielle et outillage (SNCF)20070320 01 - Démarche qualité logicielle et outillage (SNCF)
20070320 01 - Démarche qualité logicielle et outillage (SNCF)LeClubQualiteLogicielle
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de testLeClubQualiteLogicielle
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17Marc Hage Chahine
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logicielSylvain Leroy
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...LeClubQualiteLogicielle
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielleYouness Boukouchi
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitésoregh
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologieLeClubQualiteLogicielle
 
Neolians testing offer
Neolians testing offerNeolians testing offer
Neolians testing offerryad_o
 
management qualité
management qualitémanagement qualité
management qualitéIhab Anfawi
 

Tendances (20)

Automatiser la qualite
Automatiser la qualiteAutomatiser la qualite
Automatiser la qualite
 
Introduction à la qualité
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualité
 
Appréhender tous les enjeux de la qualité
Appréhender tous les enjeux de la qualitéAppréhender tous les enjeux de la qualité
Appréhender tous les enjeux de la qualité
 
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
 
Introduction à la qualité
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualité
 
20070320 01 - Démarche qualité logicielle et outillage (SNCF)
20070320 01 - Démarche qualité logicielle et outillage (SNCF)20070320 01 - Démarche qualité logicielle et outillage (SNCF)
20070320 01 - Démarche qualité logicielle et outillage (SNCF)
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
Assurance qualité
Assurance qualitéAssurance qualité
Assurance qualité
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
Gestion qualité
Gestion qualitéGestion qualité
Gestion qualité
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
 
Neolians testing offer
Neolians testing offerNeolians testing offer
Neolians testing offer
 
management qualité
management qualitémanagement qualité
management qualité
 

Similaire à 20111004 02 - Présentation Sqale

ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...Agile Montréal
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1SQLI
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdfmido04
 
Accélérer les tests d’acceptation avec un DSL et du refactoring
Accélérer les tests d’acceptation avec un DSL et du refactoringAccélérer les tests d’acceptation avec un DSL et du refactoring
Accélérer les tests d’acceptation avec un DSL et du refactoringLaurent PY
 
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)20110125 02 - Retour d'experience en qualimétrie informatique (CDC)
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)LeClubQualiteLogicielle
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
 
2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'ObjetFabrice Bellingard
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUGFabrice Bellingard
 
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.jkebbab
 
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SINouhaila ALAMI
 
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...Yvon Gervaise
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Elapse Technologies
 
Retour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéRetour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéAgile Partner S.A.
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_finalagnes_crepet
 
20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA SqualeLeClubQualiteLogicielle
 

Similaire à 20111004 02 - Présentation Sqale (20)

ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
ATDD Visuel
ATDD VisuelATDD Visuel
ATDD Visuel
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 
Accélérer les tests d’acceptation avec un DSL et du refactoring
Accélérer les tests d’acceptation avec un DSL et du refactoringAccélérer les tests d’acceptation avec un DSL et du refactoring
Accélérer les tests d’acceptation avec un DSL et du refactoring
 
20090609 04 - Calcul du ROI
20090609 04 - Calcul du ROI20090609 04 - Calcul du ROI
20090609 04 - Calcul du ROI
 
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)20110125 02 - Retour d'experience en qualimétrie informatique (CDC)
20110125 02 - Retour d'experience en qualimétrie informatique (CDC)
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
 
Contrats Agiles
Contrats AgilesContrats Agiles
Contrats Agiles
 
2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
 
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
 
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SI
 
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ...
 
devops-ruche.pptx.pdf
devops-ruche.pptx.pdfdevops-ruche.pptx.pdf
devops-ruche.pptx.pdf
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Retour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéRetour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilité
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_final
 
20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale
 

Plus de LeClubQualiteLogicielle

20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
 
20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practicesLeClubQualiteLogicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...LeClubQualiteLogicielle
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven developmentLeClubQualiteLogicielle
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continueLeClubQualiteLogicielle
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impactLeClubQualiteLogicielle
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...LeClubQualiteLogicielle
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...LeClubQualiteLogicielle
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013LeClubQualiteLogicielle
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBMLeClubQualiteLogicielle
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...LeClubQualiteLogicielle
 
20130523 02 - BREDForge foundations - Gense et perspectives
20130523 02 - BREDForge foundations -  Gense et perspectives20130523 02 - BREDForge foundations -  Gense et perspectives
20130523 02 - BREDForge foundations - Gense et perspectivesLeClubQualiteLogicielle
 
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...LeClubQualiteLogicielle
 
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...LeClubQualiteLogicielle
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...LeClubQualiteLogicielle
 
20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)LeClubQualiteLogicielle
 

Plus de LeClubQualiteLogicielle (20)

20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
20130523 02 - BREDForge foundations - Gense et perspectives
20130523 02 - BREDForge foundations -  Gense et perspectives20130523 02 - BREDForge foundations -  Gense et perspectives
20130523 02 - BREDForge foundations - Gense et perspectives
 
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
 
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
 
20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)
 

20111004 02 - Présentation Sqale

  • 1. 13 October 2011 1 Introduction à la méthode SQALE Jean-Louis LETOUZEY Club Qualité Logicielle, 4 Octobre 2011 Agenda DNV et la qualimétrie La méthode SQALE Exemples d’implémentation Evolution et Conclusion 2
  • 2. 13 October 2011 2 DNV et la qualimétrie DNV a développé ses compétences en Qualimétrie depuis plusieurs années en complément des projets d’amélioration DNV pense que les outils doivent supporter une méthode et non l’inverse Les outils actuels du marché sont perçus par nos clients comme • Couteux à mettre en place (licences, formation, personnalisation, support…) • Générant des résultats entachés de bruit (il faut vérifier visuellement des résultats automatiques et les rapports souvent trop détaillés !) Globalement, les indicateurs générés : • Cachent de graves défauts : Utilisation abusives des moyennes et pondérations • Sont trop complexe à comprendre • N’aident pas à optimiser les décisions • Sont difficiles à consolider dans une vue synthétique juste => Notre expérience et nos travaux dans le domaine nous ont permis de mettre au point une méthode (modèle et mesure) innovante pour la qualimétrie : SQALE (Software Quality Assesment based on Lifecycle Expectations) 3 Positionnement de DNV DNV n’est pas vendeur d’outils => DNV est indépendant DNV accompagne des grands comptes dans leur démarche de mise en œuvre de l’analyse de code (Ericsson, Renault, Schneider, Volvo, MAAF, BNPP, SG, Natixis...) avec SQALE : • Définition de Modèles Qualité basés sur SQALE (Java, C++, C#, COBOL, Pacbase …) • Définition de Modèles d’Analyse basés sur SQALE • Cahier des charges pour une plate-forme d’analyse automatisée ( « open source » ou outils du marché) • Support au développement ou à la personnalisation de la solution technique retenue • Définition et/ou ajustement de processus de mesure ou organisationnels • Déploiement DNV intervient ponctuellement pour des évaluations indépendantes selon la méthode SQALE : DNV évalue l’application cible et présente les résultats et ses recommandations DNV a publié la méthode en open-source sur www.sqale.org . 4 éditeurs on déjà implémenté la méthode (des milliers de projets, des centaines de millions de lignes) 4
  • 3. 13 October 2011 3 Agenda DNV et la qualimétrie La méthode SQALE Exemples d’implémentation Evolution et Conclusion 5 Un besoin pourtant simple à exprimer 6 Une Arborescence de car. et sous-car. Qualité AQ Q Mesure/règle Sous-caractéristique Caractéristique Maintenabilité Une Arborescence d’élements Logiciels A Composant AppliA AL Besoin: Pouvoir donner une “mesure” liée à la qualité pour chaque paire de positions dans les 2 hiérarchies Deux hiérarchies en présence : Fichier Obtenir une mesure, une note qui caractérise, qui représente le concept évalué Patrimoine Domaine Qualité
  • 4. 13 October 2011 4 Les quatre concepts de la méthode SQALE 7 Code Source Outil(s) d’analyse Table des constats Table des coûts de remédiation Règles d’agrégation SQI STI SRI … SQID … 1 Modèle Qualité 2 Modèle d’Analyse Indicateurs43 Index Liste d’exigences relatives au code source Fonction deremédiation Testabilité Fiabilité Evolutivité Efficacité Maintenabilité Maintenabilité 589 Efficacité 248 248 Evolutivité 1 480 1 480 1 480 Fiabilité 548 548 548 548 Testabilité 6 535 6 535 6 535 6 535 6 535 6 535 7 083 8 563 8 811 9 400 Le Modèle Qualité SQALE 8 Testabilité Fiabilité Evolutivité Efficacité Maintenabilité Reutilisabilité Impact à long terme Impact à court terme Des exigences organisées selon les besoins du cycle de vie Les caractéristiques qualité du modèle SQALE sont priorisées par construction On peut insérer 2 autres caractéristiques : sécurité, portabilité
  • 5. 13 October 2011 5 Le Modèle Qualité SQALE 9 Testabilité Fiabilité Evolutivité Efficacité Maintenabilité Réutilisabilité Pas d’instr. 'continue' Taux de comment > 20% … 6+ Caractéristiques 17+ Sous Car. 25 à 80 exigences qualité Lisibilité Compréhensibilité Les points de contrôle qui sont des exigences n’apparaisent qu’une seule fois dans le modèle : au niveau où on en a besoin en premier Une décomposition en 2 autres niveaux plus détaillés … … Détails des points de contrôle 10 Exemples pour un cas particulier en C++ Maintainability Maint_Und Method Essentiel Complexity ev(G) <=5 Maintainability Maint_Und No 'continue' instruction Maintainability Maint_Und No 'break' is used outside a 'switch" Maintainability Maint_Und All files have a comment ratio > 20 % Maintainability Maint_Und No goto instruction Maintainability Maint_Und No '?' operator Maintainability Maint_Und No double pointers Maintainability Maint_Rea File size does not exceed 1000 lines Maintainability Maint_Rea The closing brace '}' is on a standalone line Maintainability Maint_Rea Variable name start with a lower case letter Efficiency Eff_Mem No 'realloc' function Efficiency Eff_Mem Files have equal count of new and delete key word Efficiency Eff_Rom Class Depth of inheritance DIT <=7 Changeability Chg_Archi Class specification does not contains public data Changeability Chg_Archi Class weighted complexity WMC < 100 Changeability Chg_Archi Number of class methods NOM <=30 Changeability Chg_Archi Number of derived class <=10 Changeability Chg_Logic If, else, for, while are bound by scope Changeability Chg_Data No variable assignement to a literal number Changeability Chg_Data No direct assignement to a litteral value (except 0,1) Reliability Fault_Tol Switch' statement have a 'default' condition Reliability Rel_Archi No friend class Reliability Rel_Logic No missing break within the code Reliability Rel_Inst No assignement ' =' within 'if' statement Reliability Rel_Inst No assignement ' =' within 'while' statement Reliability Rel_Inst No '…' within parameter declaration Reliability Rel_Inst No decrementer, '--' within a statement Reliability Rel_Inst No incrementer, '++' within a statement Reliability Rel_Inst No Void * Testability Test_Int No "Swiss Army Knife" class antipattern Testability Test_Int Coupling between object CBO < 7 Testability Test_Unit Method Cyclomatic Complexity v(G) <16 Testability Test_Unit Number of method parameters <7 Testability Test_Unit No duplicate part of 100+ tokens
  • 6. 13 October 2011 6 2° concept : le Modèle d’Analyse SQALE Pour chaque couple {A,Q}, SQALE définit une règle simple pour calculer le score associé 11 Req_1 Req_2 Req_3 Req_4 Req_5 Req_6 … … … … Req_99 File_1 File_2 File_3 File_4 … … … … … File_99999 Table des coûts de remédiation A Composant AppliA Fichier Patrimoine Domaine Q Mesure/règle Sous-caractéristique CaractéristiqueMaintainability Qualité La position dans les deux arborescences définit le périmètre des coûts à additionner Σ Utilisation des index 12 - Maintenabilité - Efficacité - Evolutivité - Fiabilité - Testabilité - … Index Indicateurs - Densité d’index - Quotation (A, B, C, D, E) Mesures dérivées From To Rating 0 1% A 1% 2% B 2% 4% C 4% 8% D 16% ∞∞∞∞ E From To Rating 0 1% A 1% 2% B 2% 4% C 4% 8% D 16% ∞∞∞∞ E
  • 7. 13 October 2011 7 Agenda DNV et la qualimétrie La méthode SQALE Exemples d’implémentation Evolution et Conclusion 13 SQALE : Implémentation Index SQALE Rating SQALE Tableau de bord SQALE …. Navigation Filtrage Tendances 14
  • 8. 13 October 2011 8 SQALE : Implémentation 15 Agenda DNV et la qualimétrie La méthode SQALE Exemples de restitution Evolution et Conclusion 16
  • 9. 13 October 2011 9 Evolution de la méthode En théorie, au même titre que les exigences fonctionnelles, toutes les exigences techniques dont celles relatives au code source devraient être satisfaites En pratique, • Il y a une certaine habitude à prendre la qualité comme variable d’ajustement (c’est facile tant que la non qualité n’est pas facilement mesurable) • On hérite souvent d’une situation existante (code Legacy) avec une dette certaine Si le budget, le temps imparti est limité, par ou commencer ? SQALE 1.0 introduit les concepts de “coût de non remédiation” et de “business debt” 17 Fonctionnalités MOE MOA Estimation de coût Business value A faire Arbitrage Qualité du code MOE MOA Technical debt Business debt A fixer Arbitrage Les bénéfices de SQALE Des synthèses objectives et fiables • L’évaluation est faite en regard d’exigences qualité formalisées • Des résultats sûrs (pas de faux positif) économisant un temps considérable en vérifications et discussions Des index compréhensibles • Les règles d’agrégation sont simples et justifiables • La signification des index est claire, c’est une charge de remédiation Des constats organisés et des recommandations priorisées • Découlant de leur impact sur le cycle de vie • Refactorer en suivant la chronologie des charactéristiques • Optimiser en fonction de la dette business Une logique générique applicable à tous les contextes et domaines • Adaptation du modèle qualité • Adaptation du modèle d’analyse 18 Du fait que SQALE ne viole pas la clause de représentation, SQALE c’est : SQALE donne du sens à vos mesures logicielles !
  • 10. 13 October 2011 10 SQALE, un changement de paradigme SQALE sort la “qualimétrie” de son monde d’expert • 30.000 utilisateurs dans la même banque (4.000+ projet, 11.000 consultations par jour) C’est plus un problème de déploiement, qu’un problème technique 19 Merci pour votre attention Questions ? Contact : jean-louis.letouzey@dnv.com Infos, biblio. : www.sqale.org
  • 11. 13 October 2011 11 Annexe : La clause de représentation 21 Monde Réel Monde Mathématique A1 A2 Mes(A1) Mes(A2) Fonction de Mesure Impact sur : - Le choix des mesures - Les fonctions de normalisation - Les règles d’agrégation Si une entitée logicielle est évaluée inférieure à un autre pour un certain attribut, alors la mesure de cet attribut doit associer à la première entité une mesure inférieure à la seconde (Computer Science) A3 Attribut Mes(A3) Artifacts Mes(A1) > Mes(A2) Mes(A2) > Mes(A3) Une mesure représentative garde les relations établies dans le monde réelA1 >> A2 >> A3