Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20070925 05 - Un portail qualimétrie en Open Source

43 views

Published on

Un portail qualimétrie en Open Source

Published in: Software
  • Be the first to comment

  • Be the first to like this

20070925 05 - Un portail qualimétrie en Open Source

  1. 1. Club Qualimétrie 25 septembre 2007 Arnaud Poivre Portail Qualimétrie
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 14 Grilles Qualité : Notation des facteurs/critères Grilles Qualité
  15. 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. 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. 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. 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. 19 Merci de votre attention
  20. 20. Annexes
  21. 21. 21 Squale reporting examples : Synthesis charts
  22. 22. 22 Squale reporting examples : detailed components
  23. 23. 23 Squale reporting examples : detailed charts
  24. 24. 24 Squale reporting example : generated action plan
  25. 25. 25 Squale reporting example : summary and trends
  26. 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

×