2. 2
Sommaire
• Présentation d’Air France
• Qualimétrie à Air France
• Présentation de Squale
– Fonctionnalités
– La boîte à outils utilisés
– La feuille de route
– Les premiers retours d’expérience
– Les perspectives : Un portail Qualité 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
(1) Passager Kilomètre Transporté
4. 4
Informatique d’Air France
• 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 : un millier de projets dont plus de la
moitié en phase de maintenance
– Principalement Java / C++
– Peu d’outsourcing
• Localisé sur plusieurs sites
– En France : Paris, Nice, Toulouse, …
– …et en Europe : Amsterdam !
• Fournisseur de solutions logicielles et d’hébergement
pour les autres compagnies aériennes et aéroport, tels
que :
– KLM, SkyTeam, Royal Air Maroc, TunisAir, …
– Aéroports de Paris
5. 5
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
6. 6
Rappels sur la qualimétrie - Méthodologie AF
• La grille qualité
– Retour d’expérience des audits
manuels
– Approche multi-niveaux
• Facteurs : vision externe de la
qualité
• Critères : vision interne de la
qualité
• Pratiques : qualifient les différents
aspects concrets du projet
• Métriques et règles : mesures
objectives
• Notation
– Normalisée
– Basée sur l’ISO 9126
0 21 3
Refusé Accepté
0 21 3
Refusé Accepté
7. 7
Squale : les objectifs
• 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 et des managers (CDP, RP, LDP)
– Basé sur le principe du volontariat : portail en libre-service
• Création d’un référentiel qualité
• Le portail Squale permet de réaliser une analyse statique complète
et automatique des projets
– code source
– modèles UML
8. 8
Squale : Fonctionnalités
• Analyse statique de code source (Java / Jsp, C++)
• Analyses disponibles
– Métriques
– « Rules checking »
– Détection de copier/coller
– Vérification de l’architecture
• Analyse des modèles UML (basée sur le format XMI)
• Résultats dans la lignée des audits manuels
– Graphiques
– Textuels
– Agrégés
– Détaillés
• Visualisation des résultats suivant plusieurs axes
– Démarche qualité : Facteur / critère / pratique Qualité
– Technique par composants
– Tops
– Temporel
• Revue de code décidée par le projet
– fréquence prédéfinie
– sur pose de label (jalon/milestone)
9. 9
Squale : Dynamique
Extraction
du code
Dé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
0 21 3
Consulte du
rapport final
Revue de code à fréquence prédéfinie :
• hebdomadaire
• mensuelle
• sur pose de jalon
Equipe projet
Visualisation suivant plusieurs axes :
• Facteur / critère / pratique
• Top
• Composants
10. 10
Squale : La boîte à outils
• En batch pour les audits
– McCabe
• analyse statique du code :
productions de métriques
– Checkstyle
• « Rules Checking » Java
– C++test
• « Rules Checking » C++,
–Macker, JDepend
• analyse et respect de
l’architecture en Java
– UML Quality
• outil d’analyse statique des
modèles UML
• Dans l’environnement du développeur :
– Checkstyle : plug-in WSAD
– C++test : client lourd
– Macker : via une tâche Ant
– Jdepend : plug-in WSAD
11. 11
Squale : Feuille de route
• Lot 0 en septembre 2005
– Prototype pour étude de faisabilité
• Lot 1 en mars 2006
– Industrialisation pour mise en production
– Fonctionnalités limitées aux métriques Java
– Validation de la chaîne de traitement sur site pilote
– 1 à 2 projets uniquement
• Lot 2 en septembre 2006
– Ajout du C++ et d’outils d’audit Java (transgressions/architecture)
– Phase de déploiement
• Lot 2.1 en novembre 2006
– Ajout de statistiques
• Lot 2.2 en janvier 2007
– Réglage des formules de calcul suite au démarrage du
déploiement
• Lot 3 prévu début avril 2007
– Nouvelles fonctionnalités orientées utilisateurs (plus de pratiques)
2005
2006
2007
12. 12
Quelques statistiques au 20 mars 2007
• 33 applications utilisatrices (majoritairement Java / J2EE)
• Plus 1 700 000 lignes de codes sous contrôle de Squale
• Plus de 220 audits automatiques réalisés
Déploiement de SQUALE
0
50
100
150
200
250
2/2/06
24/3/06
13/5/06
2/7/06
21/8/06
10/10/06
29/11/06
18/1/07
9/3/07
28/4/07
Nombred'audits
0
5
10
15
20
25
30
Nombred'applications
Audits Applications
14. 14
Exemple de rapport et d’export
Adobe Acrobat 7.0
Document
Rapport Projets Plan d’action Adobe Acrobat
Document
15. 15
Justification par composant
• Possible pour chaque composant d’un projet
• Horodatage automatique possible
• Possibilité d’exclusion du plan d’action du composant
16. 16
Aide en ligne
• Disponible au niveau de chaque
pratique
– Description
– Formule
– Pistes de correction
17. 17
Graphique : Kiviat
• Redimensionnement possible en fonction du nombre de facteurs
évalués
18. 18
Graphique : Scatterplot
• Taille du point fonction du nombre de composant impactés
• Cliquer sur un point amène directement à une des méthodes
incriminées
• Calcul de la répartition
20. 20
Comparaison d’audits
• Tout par défaut
• Classement par
– Pratiques d’abord
– Composant d’abord
• Filtre sur
– Les composants
améliorés
– Les composants
dégradés
– La note d’un
composant
– Les pratiques
21. 21
Impressions des premiers utilisateurs
• Mode d’utilisation en fonction de la typologie du projet :
– Nouveaux développements : contrôle continu de la qualité
logicielle
– TMA : photo qualité pour ne pas dégrader la situation actuelle
(comparaison d’audit)
– Outsourcing : contractualisation sur les notes des pratiques de
qualité
• Pertinence des résultats
– Les problèmes remontés sur les applications en maintenance
sont connus et réalistes
– Mise en place de règles transverses à toutes les applications
• Ergonomie / Facilité d’utilisation
– Envoi d’email automatique
– Vision selon plusieurs niveaux / axes
– Comparaison possible entre deux versions auditées
22. 22
Forces de SQUALE
• Architecture ouverte
– Portabilité facilitée via l’utilisation de Java
– Ajout de connecteurs sur d’autres outils relativement aisée
– Fortes possibilités de paramétrage
• Capable de fonctionner en environnement clusterisé
• Utilisation privilégiée de l’open source
• Dynamique interne Air France et crédibilité :
– Utilisation à grande échelle
– Club utilisateur interne
– Bon retour d’expérience
23. 23
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 » permettrait de limiter les coûts
de maintenance
– Licence et « réceptacle » en cours de choix
• Planning
– Nécessite une « remise à niveau » du code
– Basculement prévu d’ici juin 2007