20090113 04 - Avancement du projet de recherche en qualimétrie Squale
1. Squale : le portail
qualimétrie open-source
Avancement et nouveautés
13 janvier 2009
- Fabrice BELLINGARD -
2. 2Club Qualimétrie : Squale 13/01/2009
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
4. 4Club Qualimétrie : Squale 13/01/2009
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é
5. 5Club Qualimétrie : Squale 13/01/2009
Squale : principe de fonctionnement
Spécifications … Conception … Développement … Intégration … Recette … Production … Maintenance …
Cycle de vie du projet
Elaboration du modèle … Validation projet pilotes … Déploiement démarche … Conduite du changement …
Démarche qualimétrique
Extraction du
code source
Exécution outils qualité et
récupération des données qualité
Calcul des notes
0 21 3
Agrégation sur
plusieurs niveauxGénération des tableaux
de bord et restitution via
le portail Web
Développeur,
chef de projet,
auditeur,
responsables, …
Qualité
6. 6Club Qualimétrie : Squale 13/01/2009
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
8. 8Club Qualimétrie : Squale 13/01/2009
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 open-
source 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
9. 9Club Qualimétrie : Squale 13/01/2009
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
10. 10Club Qualimétrie : Squale 13/01/2009
WP-3
WP-2
WP-1
Squale : le projet de recherche System@tic
Modèle de
qualimétrie simple
Bases de connaissances
Coûts, qualité
Modèle technico-
économique
Développement
Communauté utilisateurs
++ €
€
Modèle de
qualimétrie élaboré
Animation,
dissémination
WP-4
11. 11Club Qualimétrie : Squale 13/01/2009
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
13. 13Club Qualimétrie : Squale 13/01/2009
Roadmap du projet Squale
Sortie de Squale OSS
- Application fonctionnelle
Documents sur la caractérisation
des pratiques et la visualisation
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
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
Finalisation de Squale
- Application fonctionnellement complète
- Interface avec le projet Thales
Tous les modèles qualimétriques et
technico-économiques sont validés
14. 14Club Qualimétrie : Squale 13/01/2009
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
15. 15Club Qualimétrie : Squale 13/01/2009
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
16. 16Club Qualimétrie : Squale 13/01/2009
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
17. 17Club Qualimétrie : Squale 13/01/2009
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
18. 18Club Qualimétrie : Squale 13/01/2009
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
19. 19Club Qualimétrie : Squale 13/01/2009
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
20. 20Club Qualimétrie : Squale 13/01/2009
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
21. 21Club Qualimétrie : Squale 13/01/2009
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
23. 23Club Qualimétrie : Squale 13/01/2009
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
24. 24Club Qualimétrie : Squale 13/01/2009
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
25. 25Club Qualimétrie : Squale 13/01/2009
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
26. 26Club Qualimétrie : Squale 13/01/2009
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 !
28. 28Club Qualimétrie : Squale 13/01/2009
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 ! ;-)
29. 29Club Qualimétrie : Squale 13/01/2009
Merci de votre attention !
Des
questions ?