SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Club Qualimétrie
25 septembre 2007
Arnaud Poivre
Portail Qualimétrie
2
Sommaire
• Présentation d’Air France
– IT AF/KLM
– Centre de compétence tests
• Présentation de Squale
– Objectifs
– Fonctionnalités
– Statistiques
– Caractéristiques
• Architecture
– Fonctionnelle
– Données
– Technique
• Passage en open source
3
Présentation du Groupe Air France / KLM
• Air France KLM : 1er groupe aérien en PKT(1)
– 1 groupe, 2 compagnies, 3 métiers
– Membre de l’alliance SkyTeam
– 21,4 Md€ de chiffre d'affaires
– 70 millions de passagers
– 561 avions exploités
– 102 000 salariés dans le groupe
– 107 destinations long-courriers
• L’informatique AF est une entité dédiée
– 1400 agents
– La majorité des applications métiers sont conçues et
développés en interne (principalement en Java / C++)
• un millier de projets dont plus de la moitié en phase de
maintenance
– Peu d’outsourcing
– Localisé sur plusieurs sites (France + Pays Bas)
– Fournisseur de solutions logicielles et d’hébergement pour
• D’autres compagnies aériennes
• Autorités aéroportuaires
(1) Passager Kilomètre Transporté
4
Présentation du centre de compétence tests
Une équipe d’experts
multi-sites
Support aux
activités de tests
Salles de tests
Jeux de données
Middleware
Tierce recette applicative
Administration /
Support aux outils /
Réalisation des tests
Accompagnement
Infrastructures
Nos clients :
AMO
MOE
Formation
Tests unitaires
Qualimétrie
Tests de charge
Tests de non régression
Tests de validation
5
Objectifs de Squale
• Retours sur les audits manuels
– Positifs
– Mise en place de plans d’actions priorisés
– Beaucoup de demandes non satisfaites
• manque de disponibilité
• délais importants
– Coût non négligeable
– Consommateur de temps
• Passer d’une démarche d’audit manuel à des audits pro-actifs
avec mesure de l’évolution de la qualité
– Automatisation des audits
– Consolidation des résultats à travers un « portail » de Qualimétrie à
destination des
• Développeurs
• Managers
– Basé sur le principe du volontariat : portail en libre-service
• Création d’un référentiel qualité
• Abstraction de la notion d’outils
– analyse statique complète et automatique des projets
• code source
• modèles UML
6
Fonctionnalités de Squale
• Outil de
– Notation des résultats
– Reporting avancé
• Graphiques
• Textuels
• Agrégés
• Détaillés
– Génération de plans d'actions
• Visualisation des résultats suivant plusieurs axes
– Démarche qualité : Facteur / critère / pratique Qualité
– Technique par composants
– Tops
– Temporel
• S’appuie sur les outils du marché
– open source
– commerciaux
• Ordonnancement
– Revue de code décidée par le projet
• fréquence prédéfinie
• Pose de label (milestone)
7
Quelques statistiques au début d’août 2007
• 44+ applications utilisatrices (majoritairement Java /
J2EE)
• Plus 4 700 000 lignes de codes sous contrôle de Squale
• Plus de 600 audits automatiques réalisés
8
Caractéristiques de SQUALE
• Architecture ouverte
– Portabilité facilitée via l’utilisation de Java + Jython
– Ajout de connecteurs sur d’autres outils relativement aisée
– Fortes possibilités de paramétrage
• Tout en clair en base de donnée
• Chargement via des fichiers XML avec Schémas disponibles
• Capable de fonctionner en environnement clusterisé
• Utilisation privilégiée de l’open source
• Implémente par défaut une démarche normalisée basée
sur l’ISO 9126 et GQM
9
Architecture générale de Squale
Profil des
applications
Grilles
Qualité
Paramétrage
outils
Custom°
IHM + i18n
+ PDF
Tout est
stocké en
Base de
donnée
Squalix
SqualeWeb
Extensions en cours
10
Squale : Dynamique
Extraction
du codeDéveloppeur
Application
des outils
Enregistre
une version
dans le référentiel
ClearCase
Agrégation des
résultats en utilisant
le modèle qualité
Calcul des
notes
Consulte le
rapport final
Équipe projet
Profil des
applications
Grilles
Qualité
Paramétrage
outils
Custom°
IHM + i18n
+ PDF
11
Configuration des profils
• Liste d’outils et paramètres fonction des technologies
utilisées
– Langages (C++, Java, JSP, etc.)
– Architectures des projets (clients légers, riches, etc.)
Profils
applis
params
outils
12
Grilles Qualité : Notation des composants
• Notation des composants (classe / méthode / etc.)
– Note du Composant n NCn = fonction(métriques)
• Continue : + difficile d’approche mais notation plus fine
• Discrète : compréhension facilitée mais soucis de
pertinence sur le long terme
– f(métrique) ⊂ [0;3]
• Exemple de formule pour la pratique « Couplage afférent »
Grilles
Qualité
13
Grilles Qualité : Notation des pratiques
• Notation des pratiques
– Fonction de pondération p : donner plus d’importance aux
composants mal notés
– Détecter plus rapidement les composants problématiques
Fonction de pondération
0,32
0
0,5
1
1,5
2
2,5
3
0 0,5 1 1,5 2 2,5 3
Espace de notation
Espacedepondération
( )





= ∑=
−
N
n
nNCP
N
Note P 1
1 1
Grilles
Qualité
14
Grilles Qualité : Notation des facteurs/critères Grilles
Qualité
15
Modèle de données simplifié
ANALYSIS_TASK
Task that launch a qualimetric tool
(ouput measure)
AUDITBO
Audit description (date, type,
status...)
AUDITGRIDBO
Quality grid (set of factors, criteria
and practices)
COMPONENT
Components tree:
. application
. project
. package
. class
. method
FORMULA
Formula to compute
factor's results.
MARK
Note of each (concerned) components for
a given practice.
MEASURE
Measure computed by a tool for a
component (set of metrics)
METRIC
Unit named metric (string, boolean or
number)
PROJECTPARAMETER
Porject parameters, could be list, map
or scalaie
QUALITYGRID
Quality grid that contain the set of
quality rule to apply for project.
QUALITYRULE
Rule to be applied on a quality grid to
compute quality results.
RULECHECKINGTRANSGRESSIONITEM
Transgression found by rule checking
tools
TASKS_USER
Used profile and source management for
each project
QUALITYRESULT
Note of a quality result for each qualty
rule (i.e. factors, criteria, practice) for
compoent of project type.
16
Intégration de Squale au SI d’Air France
Clearcase ClearcaseClearcase Clearcase
Serveurs de développement répartis sur les différents sites AF/KLM
Serveur de production
• mutualisé
• clusterisé
Postes Utilisateurs
• Développeurs
• Responsables/décideurs
Paris Toulouse Valbonne 1 Valbonne 2
Squalix
Batchs nocturnes
Consultation
asynchrone via
client léger
Commit d’une
nouvelle version
17
Squale : Un portail Qualité en open source
• Étude pour passer Squale en open source
– Squale n’est pas un « outil différenciant » pour l’activité AF
– Le passage en « open source » permettra de limiter les coûts
de maintenance
• Planning
– Nécessite une « remise à niveau » du code
– Basculement prévu d’ici fin 2007
• Problématiques en cours d’instruction
– Choix d’une Licence pour le code source libéré
– Choix d’un « réceptacle » / organisme
– Gouvernance du projet
– Choix de la version initiale
18
Instruction du passage en open source
• Choix d’une licence
– Briques logicielles utilisées ont des licences d’horizon variés
• GPL, LGPL, Apache, propriétaires, etc.
– Incompatibilité de certaines licences utilisées
– Choix de la LGPL semble se dessiner
• Minimise les conflits
• Choix d’une forge d’accueil
• Gouvernance
– Mise en place de comités d’architecture et de règles de
décisions et de votes
• Version initiale
– Prochaine version de maintenance 3.3 sera celle qui sera
ouverte
19
Merci de votre attention
Annexes
21
Squale reporting examples : Synthesis charts
22
Squale reporting examples : detailed components
23
Squale reporting examples : detailed charts
24
Squale reporting example : generated action plan
25
Squale reporting example : summary and trends
26
Squale reporting example : version comparison
• Comparison by
– Quality practices first
– Components first
• Available filters on
– Improved components
– Degraded
components
– Components notation
– Quality practices

Contenu connexe

Similaire à 20070925 05 - Un portail qualimétrie en Open Source

20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développementsLeClubQualiteLogicielle
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
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
 
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
 
Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCLudovic A
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open SourceIppon
 
Think tank présentation
Think tank   présentationThink tank   présentation
Think tank présentationJacky Galicher
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Cyril Reinhard
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 

Similaire à 20070925 05 - Un portail qualimétrie en Open Source (20)

Mobilité && SAP
Mobilité && SAPMobilité && SAP
Mobilité && SAP
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
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
 
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
 
20111004 05 - Présentation Squash
20111004 05 - Présentation Squash20111004 05 - Présentation Squash
20111004 05 - Présentation Squash
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
 
Think tank présentation
Think tank   présentationThink tank   présentation
Think tank présentation
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Objectif fluid<fab />
Objectif fluid<fab />Objectif fluid<fab />
Objectif fluid<fab />
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 

Plus de LeClubQualiteLogicielle

20171122 03 - Les tests de performance en environnement DevOps
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
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
 
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
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 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...
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 - 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 - 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
 
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
 
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
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...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 04 - Grille d'évaluation - Gestion du patrimoine de test
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
 

Plus de LeClubQualiteLogicielle (20)

20171122 03 - Les tests de performance en environnement DevOps
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 DevOps
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
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
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
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 - 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 - 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
 
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...
 
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
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
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 04 - Grille d'évaluation - Gestion du patrimoine de test
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 test
 

20070925 05 - Un portail qualimétrie en Open Source

  • 1. Club Qualimétrie 25 septembre 2007 Arnaud Poivre Portail Qualimétrie
  • 2. 2 Sommaire • Présentation d’Air France – IT AF/KLM – Centre de compétence tests • Présentation de Squale – Objectifs – Fonctionnalités – Statistiques – Caractéristiques • Architecture – Fonctionnelle – Données – Technique • Passage en open source
  • 3. 3 Présentation du Groupe Air France / KLM • Air France KLM : 1er groupe aérien en PKT(1) – 1 groupe, 2 compagnies, 3 métiers – Membre de l’alliance SkyTeam – 21,4 Md€ de chiffre d'affaires – 70 millions de passagers – 561 avions exploités – 102 000 salariés dans le groupe – 107 destinations long-courriers • L’informatique AF est une entité dédiée – 1400 agents – La majorité des applications métiers sont conçues et développés en interne (principalement en Java / C++) • un millier de projets dont plus de la moitié en phase de maintenance – Peu d’outsourcing – Localisé sur plusieurs sites (France + Pays Bas) – Fournisseur de solutions logicielles et d’hébergement pour • D’autres compagnies aériennes • Autorités aéroportuaires (1) Passager Kilomètre Transporté
  • 4. 4 Présentation du centre de compétence tests Une équipe d’experts multi-sites Support aux activités de tests Salles de tests Jeux de données Middleware Tierce recette applicative Administration / Support aux outils / Réalisation des tests Accompagnement Infrastructures Nos clients : AMO MOE Formation Tests unitaires Qualimétrie Tests de charge Tests de non régression Tests de validation
  • 5. 5 Objectifs de Squale • Retours sur les audits manuels – Positifs – Mise en place de plans d’actions priorisés – Beaucoup de demandes non satisfaites • manque de disponibilité • délais importants – Coût non négligeable – Consommateur de temps • Passer d’une démarche d’audit manuel à des audits pro-actifs avec mesure de l’évolution de la qualité – Automatisation des audits – Consolidation des résultats à travers un « portail » de Qualimétrie à destination des • Développeurs • Managers – Basé sur le principe du volontariat : portail en libre-service • Création d’un référentiel qualité • Abstraction de la notion d’outils – analyse statique complète et automatique des projets • code source • modèles UML
  • 6. 6 Fonctionnalités de Squale • Outil de – Notation des résultats – Reporting avancé • Graphiques • Textuels • Agrégés • Détaillés – Génération de plans d'actions • Visualisation des résultats suivant plusieurs axes – Démarche qualité : Facteur / critère / pratique Qualité – Technique par composants – Tops – Temporel • S’appuie sur les outils du marché – open source – commerciaux • Ordonnancement – Revue de code décidée par le projet • fréquence prédéfinie • Pose de label (milestone)
  • 7. 7 Quelques statistiques au début d’août 2007 • 44+ applications utilisatrices (majoritairement Java / J2EE) • Plus 4 700 000 lignes de codes sous contrôle de Squale • Plus de 600 audits automatiques réalisés
  • 8. 8 Caractéristiques de SQUALE • Architecture ouverte – Portabilité facilitée via l’utilisation de Java + Jython – Ajout de connecteurs sur d’autres outils relativement aisée – Fortes possibilités de paramétrage • Tout en clair en base de donnée • Chargement via des fichiers XML avec Schémas disponibles • Capable de fonctionner en environnement clusterisé • Utilisation privilégiée de l’open source • Implémente par défaut une démarche normalisée basée sur l’ISO 9126 et GQM
  • 9. 9 Architecture générale de Squale Profil des applications Grilles Qualité Paramétrage outils Custom° IHM + i18n + PDF Tout est stocké en Base de donnée Squalix SqualeWeb Extensions en cours
  • 10. 10 Squale : Dynamique Extraction du codeDéveloppeur Application des outils Enregistre une version dans le référentiel ClearCase Agrégation des résultats en utilisant le modèle qualité Calcul des notes Consulte le rapport final Équipe projet Profil des applications Grilles Qualité Paramétrage outils Custom° IHM + i18n + PDF
  • 11. 11 Configuration des profils • Liste d’outils et paramètres fonction des technologies utilisées – Langages (C++, Java, JSP, etc.) – Architectures des projets (clients légers, riches, etc.) Profils applis params outils
  • 12. 12 Grilles Qualité : Notation des composants • Notation des composants (classe / méthode / etc.) – Note du Composant n NCn = fonction(métriques) • Continue : + difficile d’approche mais notation plus fine • Discrète : compréhension facilitée mais soucis de pertinence sur le long terme – f(métrique) ⊂ [0;3] • Exemple de formule pour la pratique « Couplage afférent » Grilles Qualité
  • 13. 13 Grilles Qualité : Notation des pratiques • Notation des pratiques – Fonction de pondération p : donner plus d’importance aux composants mal notés – Détecter plus rapidement les composants problématiques Fonction de pondération 0,32 0 0,5 1 1,5 2 2,5 3 0 0,5 1 1,5 2 2,5 3 Espace de notation Espacedepondération ( )      = ∑= − N n nNCP N Note P 1 1 1 Grilles Qualité
  • 14. 14 Grilles Qualité : Notation des facteurs/critères Grilles Qualité
  • 15. 15 Modèle de données simplifié ANALYSIS_TASK Task that launch a qualimetric tool (ouput measure) AUDITBO Audit description (date, type, status...) AUDITGRIDBO Quality grid (set of factors, criteria and practices) COMPONENT Components tree: . application . project . package . class . method FORMULA Formula to compute factor's results. MARK Note of each (concerned) components for a given practice. MEASURE Measure computed by a tool for a component (set of metrics) METRIC Unit named metric (string, boolean or number) PROJECTPARAMETER Porject parameters, could be list, map or scalaie QUALITYGRID Quality grid that contain the set of quality rule to apply for project. QUALITYRULE Rule to be applied on a quality grid to compute quality results. RULECHECKINGTRANSGRESSIONITEM Transgression found by rule checking tools TASKS_USER Used profile and source management for each project QUALITYRESULT Note of a quality result for each qualty rule (i.e. factors, criteria, practice) for compoent of project type.
  • 16. 16 Intégration de Squale au SI d’Air France Clearcase ClearcaseClearcase Clearcase Serveurs de développement répartis sur les différents sites AF/KLM Serveur de production • mutualisé • clusterisé Postes Utilisateurs • Développeurs • Responsables/décideurs Paris Toulouse Valbonne 1 Valbonne 2 Squalix Batchs nocturnes Consultation asynchrone via client léger Commit d’une nouvelle version
  • 17. 17 Squale : Un portail Qualité en open source • Étude pour passer Squale en open source – Squale n’est pas un « outil différenciant » pour l’activité AF – Le passage en « open source » permettra de limiter les coûts de maintenance • Planning – Nécessite une « remise à niveau » du code – Basculement prévu d’ici fin 2007 • Problématiques en cours d’instruction – Choix d’une Licence pour le code source libéré – Choix d’un « réceptacle » / organisme – Gouvernance du projet – Choix de la version initiale
  • 18. 18 Instruction du passage en open source • Choix d’une licence – Briques logicielles utilisées ont des licences d’horizon variés • GPL, LGPL, Apache, propriétaires, etc. – Incompatibilité de certaines licences utilisées – Choix de la LGPL semble se dessiner • Minimise les conflits • Choix d’une forge d’accueil • Gouvernance – Mise en place de comités d’architecture et de règles de décisions et de votes • Version initiale – Prochaine version de maintenance 3.3 sera celle qui sera ouverte
  • 19. 19 Merci de votre attention
  • 21. 21 Squale reporting examples : Synthesis charts
  • 22. 22 Squale reporting examples : detailed components
  • 23. 23 Squale reporting examples : detailed charts
  • 24. 24 Squale reporting example : generated action plan
  • 25. 25 Squale reporting example : summary and trends
  • 26. 26 Squale reporting example : version comparison • Comparison by – Quality practices first – Components first • Available filters on – Improved components – Degraded components – Components notation – Quality practices