Squale : le portail qualimétrie open-source Avancement et nouveautés 13 janvier 2009 - Fabrice BELLINGARD -
Plan Présentation de Squale Rappel Principe et architecture Historique avec Air France System@tic et l écosystème Squale Le point début 2009 Situation par rapport à la roadmap du projet de recherche Détails sur le projet de recherche Détails sur le projet open-source Les fonctionnalités en cours et à venir Synthèse 2
Présentation de Squale
Qu est-ce que Squale? Un projet : Open-source Fin 2008 : 10 committers et 10 contributeurs De recherche Pôle de compétitivité System@tic Partenaires : Air France, PSA, INRIA, LIASD, Qualixo, Paqtigo Concrètement : Des modèles Qualimétriques multi-langages Technico-économiques Un logiciel Récupération de données diverses (ex. : métriques de code) Connecteurs vers outils commerciaux, open-source, autres,... Agrégation basée sur les modèles choisis Portail Web de restitution des indicateurs qualité 4
Squale : principe de fonctionnement Cycle de vie du projet Spécifications Conception Développement Intégration Recette Production Maintenance Exécution outils qualité et récupération des données qualité Extraction du code source 0 1 2 3 Calcul des notes Développeur, chef de projet, auditeur, responsables, Qualité Génération des tableaux de bord et restitution via le portail Web Agrégation sur plusieurs niveaux Elaboration du modèle Validation projet pilotes Déploiement démarche Conduite du changement Démarche qualimétrique 5
Squale : un logiciel ouvert et extensible Adresse plusieurs langages Java, C/C++, Cobol Autres à venir Serveur compliant JEE 1.3 Bases de données Oracle et MySql actuellement supportées Ajout simple d autres SGBD Mécanisme de connecteur extensible Connecteur GCL CVS, SVN, ClearCase, Archive, Connecteur outils génération de métriques Commerciaux (ex. McCabe) Open-source (ex. Checkstyle, JavaNCSS, CKJM, Macker, ) Connecteur systèmes tiers 6
Squale : exemple d écran 7
Historique de Squale 2005 Début collaboration Air France Qualixo pour le développement d une solution de qualimétrie 2006 Mise en production chez Air France des premières versions 2007 Décision de faire de cette solution un projet de recherche opensource dans le cadre d un pôle de compétitivité 2008 : Labellisation System@tic et validation du projet par la DGE Juin : démarrage officiel du projet de recherche 2009 : Passage officiel en open-source en début d année Version open-source en production chez Air France et chez PSA 8
Squale chez Air France Chez Air France, début 2009 : 96 applications dans le portail + 30 nouvelles applications sur l exercice écoulé 53 en audit régulier de suivi, le reste en audit de jalon 130 audits réalisés par mois 5,17 millions de lignes de code sous contrôle régulier Prise en compte des plans d amélioration de la qualité de code (chiffres 2008) 23 projets les ont pris en compte activement + de 10 améliorations de métriques dans l année entre 2 audits réussis un total de 6058 améliorations de métriques dans l année soit une moyenne de 263 par projet actif 9
Squale : le projet de recherche System@tic Modèle de qualimétrie simple Bases de connaissances Coûts, qualité ++ Modèle de qualimétrie élaboré WP-1 WP-2 Modèle technicoéconomique Animation, dissémination WP-4 WP-3 Développement Communauté utilisateurs 10
Ecosystème Squale Squale projet open-source http://www.squale.org Projet communautaire ouvert à tous Utilisateurs Contributeurs et committers Infrastructure nécessaire au développement du projet open-source : Bug tracker et Wiki Serveur d intégration continue Référentiel Maven Mailing-listes etc. Licences LGPL v3 et CC Première version officielle 26-01-2009 Squale projet de recherche http://recherche.squale.org Dédié aux partenaires du projet de recherche Espace de communication nécessaire à l équipe CR de réunions Documents de gestion Détails des WP Planning Livrables Brainstorming Résultats déversés dans le projet open-source lors de leur livraison Squale produit Qualixo http://www.qualixo.com Société offrant des services autour de Squale : Implantatation du logiciel dans une démarche qualimétrique Support et maintenance Offre ASP / SaaS Assure l évolution de Squale en y implantant : son expertise du domaine de la qualimétrie les besoins des grands comptes 11
Squale : le point au début 2009
Roadmap du projet Squale Sortie de Squale OSS - Application fonctionnelle Documents sur la caractérisation des pratiques et la visualisation Travaux sur Squale - Amélioration de la visualisation - Intégration des modèles technicoéconomiques - Intégration des travaux sur l agrégation des métriques Document du modèle d estimation du ROI en première version Travaux sur Squale - Intégration des travaux sur les métriques Document du modèle enrichi d agrégation en première version Documents des modèles technico-économiques en première version Finalisation de Squale - Application fonctionnellement complète - Interface avec le projet Thales Tous les modèles qualimétriques et technico-économiques sont validés 13
Les premiers livrables Date officielle : 26 janvier 2009 Livrables : Document de référencement des métriques pertinentes pour la caractérisation des pratiques sensibles Java et C/C++ Méta-modèle de métriques Listing des métriques existantes Caractéristiques Analyse et critique de leur pertinence Proposition de nouvelles métriques Notamment sur les packages Première version du document sur les visualisations Etat de l art et présentation des visualisations existantes Nécessite le démarrage du WP 1.3 pour choisir les visualisations pertinentes en fonction des pratiques retenues 14
Les premiers livrables Livrables : (suite) Première version open-source de l application Squale Périmètres couverts par le code open-source Java : OK» Basé sur des outils d analyse de code open-source C/C++ : OK» Basé sur des outils d analyse de code commerciaux Cobol : en cours» Sera basé sur des outils d analyse commerciaux Distribution disponible : optimale pour le périmètre Java Embarque toutes les technologies open-source nécessaires Infos supplémentaires Site officiel du projet open-source : http://www.squale.org Démonstration : http://saas.qualixo.com/demo-squale/» user/user ou squaleadmin/admin 15
Les licences Les livrables doivent être disponibles sous licence de type «libre» Imposé par la charte du groupe thématique «Logiciel Libre» du pôle System@tic Pour Squale Partie recherche (WP1 et WP2) : Creative Commons Attribution-Noncommercial-Share Alike 3.0 Partie logiciel Squale (WP3) : GNU Lesser General Public License version 3 Concrètement : Squale peut être utilisé librement Toute modification de Squale doit être redistribuée sous licence LGPL 16
Squale : le projet de recherche Equipe 6 entités différentes, plus de 20 participants Communication Jusqu à présent plutôt restreinte Club Qualimétrie Évènements System@tic Pôle de compétitivité CSMR 2009 (13th European Conference on Software Maintenance and Reengineering) Va vraiment commencer avec la mise à disposition des premiers livrables Communiqués de presse via System@tic Jeudi de l Objet, Ecole des Mines de Nantes Ressources : Restreintes aux membres Seuls les livrables sont rendus publics via le site du projet OSS 17
Squale : le projet OSS Equipe Actuellement Membres du projet de recherche Gestion et décisions par Qualixo et Air France Demain Gestion «classique» d un projet OSS Par vote Décisions par les «PMC» de l équipe Adhésion à l équipe Squale : Ouverte à tous, mais requiert un vote interne des PMC Basée sur la méritocratie Evolution classique Utilisateur Contributeur Committer PMC Communication Idem projet de recherche Périmètre équipe 18
Les ressources du projet Squale (1/3) Le site officiel du projet open-source URL : http://www.squale.org Contenu : Infos générales, news, téléchargements, Documentation utilisateur Squale Documentation développeur Squale Déjà disponible Référentiel de source Subversion URL : https://svn.squale.org/squale/ Contenu : Code source de l application Squale Ouvert à partir du 26/01/2009 19
Les ressources du projet Squale (2/3) Outil de gestion de projet Trac URL : https://project.squale.org Contenu : Wiki Bug and issue tracker Timeline et roadmap Déjà disponible Serveur d intégration continue Hudson URL : http://hudson.squale.org/ Contenu : Historique des derniers builds Déjà disponible 20
Les ressources du projet Squale (3/3) Principales mailing lists : users@squale.org Liste de discussion et d aide entre utilisateurs de Squale Pas encore ouverte announce@squale.org Liste de diffusion des principales informations du projet Ex. : nouvelles releases, évènement autour de Squale, Déjà disponible et utilisée Autres listes destinées à l équipe Squale Une démo live : URL : https://saas.qualixo.com/demo-squale/ user/user ou squaleadmin/admin Exemple concret de l offre Squale as a Service de Qualixo 21
Squale : les fonctionnalités à venir
Les fonctionnalités en cours (1/3) Page d accueil personnalisable Détails : Possibilité de sélectionner les éléments à afficher (listes des audits réalisés, synthèse en kiviat, météo des composants, ) Finalisé et livré sur le référentiel source Déployé sur le serveur pilote chez PSA Support du langage Cobol Détails : Adaptation de l interface de Squale Web à ce langage Connecteur vers l outil McCabe En cours de finalisation Mise en production prochaine chez Air France Nécessite fusion avec le code principal de Squale 23
Les fonctionnalités en cours (2/3) Support de la couverture de test en Java Détails : Basé sur JUnit et Cobertura (OSS) En cours de finalisation Déploiement prochain en pilote chez PSA Connecteur Squale «générique» Détails : Faciliter la récupération de données externes à Squale À partir du résultat d exécution d un programme À partir d une URI quelconque Réduire le coup de développement d un connecteur En cours de finalisation Déploiement prochain en pilote chez PSA 24
Les fonctionnalités en cours (3/3) Saisie de notes manuelles et évolution du moteur de consolidation Détails: Interface permettant de spécifier manuellement une note pour une pratique non automatisable Ex. : audit manuel d un dossier de conception Gérer la péremption d une note de pratique non automatisable Ex. : qualité documentation technique En cours de spécification 25
Les fonctionnalités à venir Référentiel Mutualisé Item du WP 4 de System@tic Objectifs : Permettre à Squale de positionner une application par rapport à la qualité moyenne d autres applications externes Disposer d un ensemble conséquent de données pour valider les travaux du WP 1 sur les modèles d agrégation enrichis Nécessite une base de données centrale où Squale envoie des données anonymisées Groupe de travail de cet après-midi! Différents connecteurs vers d autres technologies Vos propositions, vos avis nous intéressent! 26
En synthèse
En synthèse Ne ratez pas le 26 janvier prochain! Ouverture du code de Squale sous licence LGPL v3 Premiers documents de recherche sous licence CC inscrivez-vous à announce@squale.org Squale : une application qui évolue et s enrichit au grès des besoins exprimés par les grands comptes Les efforts des uns sont récompensés par les apports des autres Air France et PSA sont déjà entrés dans ce cercle vertueux Entre un petit Sonar et un gros Cast, il y a de la place pour un bon Squale! ;-) 28
Merci de votre attention! Des questions? 29