20111004 02 - Présentation Sqale

Introduction à la méthode Sqale

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

Recommended

20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next by
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI NextLeClubQualiteLogicielle
1.4K views24 slides
Assurance Qualité S O A by
Assurance Qualité  S O AAssurance Qualité  S O A
Assurance Qualité S O Aguestb55335
1.1K views30 slides
Exigences de qualité des systèmes / logiciels by
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsPierre
7.6K views28 slides
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse by
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyseLeClubQualiteLogicielle
521 views21 slides
20171122 03 - Les tests de performance en environnement DevOps by
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOpsLeClubQualiteLogicielle
2.3K views30 slides
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test by
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
968 views11 slides

More Related Content

What's hot

Automatiser la qualite by
Automatiser la qualiteAutomatiser la qualite
Automatiser la qualiteDamien Seguy
1K views36 slides
Introduction à la qualité by
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualitéCharles Duchêne
4.4K views56 slides
Appréhender tous les enjeux de la qualité by
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
1.5K views58 slides
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash by
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
545 views20 slides
Introduction à la qualité by
Introduction à la qualitéIntroduction à la qualité
Introduction à la qualitéCharles Duchêne
7.7K views14 slides
20070320 01 - Démarche qualité logicielle et outillage (SNCF) by
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
317 views33 slides

What's hot(20)

Appréhender tous les enjeux de la qualité by Evenements01
Appréhender tous les enjeux de la qualitéAppréhender tous les enjeux de la qualité
Appréhender tous les enjeux de la qualité
Evenements011.5K views
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash by LeClubQualiteLogicielle
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
Altran soirée du test logiciel - assez des c 05-10-17 by Marc Hage Chahine
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
Marc Hage Chahine1.6K views
Contrôle de la qualité logiciel by Sylvain Leroy
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
Sylvain Leroy1.8K views
20120612 02 - Automatisation des tests avec squash TA en environnement bancai... by LeClubQualiteLogicielle
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...
les metriques de processus, de produit et de qualité by soregh
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é
soregh5.9K views
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie by LeClubQualiteLogicielle
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 by ryad_o
Neolians testing offerNeolians testing offer
Neolians testing offer
ryad_o1.9K views
management qualité by Ihab Anfawi
management qualitémanagement qualité
management qualité
Ihab Anfawi2.1K views

Similar to 20111004 02 - Présentation Sqale

Tra optimiser preparation_tests_v1 by
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1SQLI
1.6K views28 slides
Cours Génie Logiciel 2016 by
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
2.1K views49 slides
ATDD Visuel by
ATDD VisuelATDD Visuel
ATDD VisuelMarc Hage Chahine
773 views23 slides
formation istqb.pdf by
formation istqb.pdfformation istqb.pdf
formation istqb.pdfmido04
1.9K views118 slides
Accélérer les tests d’acceptation avec un DSL et du refactoring by
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
2.3K views36 slides
20090609 04 - Calcul du ROI by
20090609 04 - Calcul du ROI20090609 04 - Calcul du ROI
20090609 04 - Calcul du ROILeClubQualiteLogicielle
166 views11 slides

Similar to 20111004 02 - Présentation Sqale(20)

Tra optimiser preparation_tests_v1 by SQLI
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
SQLI1.6K views
Cours Génie Logiciel 2016 by Erradi Mohamed
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Erradi Mohamed2.1K views
formation istqb.pdf by mido04
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
mido041.9K views
Accélérer les tests d’acceptation avec un DSL et du refactoring by Laurent PY
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
Laurent PY2.3K views
20110125 02 - Retour d'experience en qualimétrie informatique (CDC) by LeClubQualiteLogicielle
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 by Agile Montréal
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
Agile Montréal37 views
Expression des besoins pour le SI by Nouhaila ALAMI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SI
Nouhaila ALAMI138 views
Qu'est ce que le pilotage de la performance dans un laboratoire d'analyse et ... by Yvon Gervaise
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 Gervaise13K views
Agilite togo jug_final by agnes_crepet
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_final
agnes_crepet1.2K views
Présentation Itil Club des DSI Abidjan 2009 by SOGETI
Présentation Itil Club des DSI Abidjan 2009Présentation Itil Club des DSI Abidjan 2009
Présentation Itil Club des DSI Abidjan 2009
SOGETI2.9K views
Lean IT et TRS - Pilotage de la performance opérationnelle by Antoine Vigneron
Lean IT et TRS - Pilotage de la performance opérationnelleLean IT et TRS - Pilotage de la performance opérationnelle
Lean IT et TRS - Pilotage de la performance opérationnelle
Antoine Vigneron3.2K views

More from LeClubQualiteLogicielle

20171122 01 - REX : Intégration et déploiement continu chez Engie by
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
1.1K views30 slides
20171122 02 - Engage developers to use better coding practices by
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
269 views21 slides
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des... by
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
460 views23 slides
20151013 - Agirc arrco : Behavior driven development by
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven developmentLeClubQualiteLogicielle
414 views30 slides
20151013 - Réduire les coûts des tests de performance ? by
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
180 views19 slides
20151013 - Accueil Club Qualité Logicielle by
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
135 views11 slides

More from LeClubQualiteLogicielle(20)

20171122 01 - REX : Intégration et déploiement continu chez Engie by LeClubQualiteLogicielle
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
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des... by LeClubQualiteLogicielle
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...
20140410 - Cartographie applicative multi-technologies et analyse d'impact by LeClubQualiteLogicielle
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... by LeClubQualiteLogicielle
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... by 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 04 - Tests d'integration et virtualisation - La vision IBM by LeClubQualiteLogicielle
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 ... by LeClubQualiteLogicielle
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 ...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC... by LeClubQualiteLogicielle
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... by 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...
20120124 02 - Enjeux et défis de l'integration de composants open source dans... by 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...

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