20080610 05 - Squale portail qualimétrie en open source
1. Squale : un projet open-
source, un projet de
recherche, un produit
10 juin 2008
- Fabrice BELLINGARD -
2. 2Club Qualimétrie : Squale 10/06/2008
Plan
• Présentation et historique
– Rappel : présentation rapide de Squale
– Naissance de Squale : une coopération Qualixo – AF
• Squale : le projet de recherche
– Le FUI et les pôles de compétitivité
– Détails du projet de recherche
– Roadmap et livrables
• Squale : le produit
– Timeline
• Synthèse sur l’écosystème Squale
4. 4Club Qualimétrie : Squale 10/06/2008
Squale : les grands concepts
• Squale est un projet qui :
– s’appuie sur des standards (ISO-9126, GQM, McCall),
– afin de proposer un modèle qualimétrique qui,
– à partir de données qualité brutes récupérées de différents
outils ou systèmes,
• en analysant le code source principalement
– Métriques de code
– Rule checking
• … mais aussi des modèles UML ou du code compilé,
• … voire toute autre information qualité (ex. : bug tracker)
– sait agréger en différentes pratiques, critères et facteurs de
haut niveaux,
– visant ainsi à fournir :
• des tableaux de bord synthétiques de la qualité du logiciel,
• une évolution de cette qualité au cours du temps,
• des indicateurs économiques de rentabilité de la qualimétrie.
5. 5Club Qualimétrie : Squale 10/06/2008
Extraction
du code
Développeur
Récupération données
qualité (application des
outils)
Gère son code dans
le référentiel
Agrégation des
résultats en utilisant
le modèle qualité
Calcul des
notes
0 21 3
Consulte le
rapport final
Revue de code à fréquence prédéfinie :
• hebdomadaire
• mensuelle
• sur pose de jalon
Visualisation suivant plusieurs axes :
• Facteur / critère / pratique
• Top
• Composants
Squale : concrètement
Equipe projet
6. 6Club Qualimétrie : Squale 10/06/2008
Squale : la boîte à outils
Outils de production de métriques
– McCabe, JavaNCSS, CKJM
productions de métriques
– Checkstyle, PMD
« Rules Checking » Java
– C++ test
« Rules Checking » C++
– Macker, JDepend
analyse et respect de l’architecture
en couche Java
– UML Quality
outil d’analyse de modèle UML
– Quality Center
Récupération des résultats des
campagnes de tests
Certains de ces outils peuvent aussi être installés dans l’environnement du développeur :
– Checkstyle, PMD, JDepend : plug-in Eclipse
– C++test : client lourd
– Macker, JavaNCSS : via une tâche Ant
7. 7Club Qualimétrie : Squale 10/06/2008
Squale : restitutions à plusieurs niveaux
Plan
d’action
9. 9Club Qualimétrie : Squale 10/06/2008
Historique de Squale (1/2)
• Depuis 2002
– réalisation d’audits de code par Qualixo chez Air France
• 2005
– décision de co-développer un portail qualimétrique prenant
en compte les contraintes AF
• 2006 : première mise en production chez AF
– 2006 : versions 1.0, 2.0 et 2.1
– 2007 : versions 2.2, 3.0, 3.1, 3.2 et 3.3
• T4 2007 : décision de passer Squale en open-source
– 2008 : version 3.4
• dernière version « non open-source » mise en production
• la prochaine version mise en production (T3 2008) sera basée
sur le code du Squale OS
10. 10Club Qualimétrie : Squale 10/06/2008
Historique de Squale (2/2)
• Chez Air France, au 31/03/2008:
– 79 applications dans le portail
• + 45 nouvelles applications sur l’exercice écoulé
• 48 en audit régulier de suivi, le reste en audit de jalon
• 150+ audits réalisés par mois
• 4.85 millions de lignes de code sous contrôle régulier
– Prise en compte des plans d’amélioration de la qualité de
code
• 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
11. 11Club Qualimétrie : Squale 10/06/2008
Pourquoi ouvrir les sources de Squale ?
• Pour Air France :
– Squale n’est pas une application stratégique pour l’entreprise
– Intérêt financier
• Les coûts de maintenance et d’évolution seront supportés par les
acteurs de la communauté, non plus seulement par AF
– Image de marque
• Pour Qualixo :
– Produits commerciaux visuellement aboutis mais techniquement
pauvres
• Tendent à décrédibiliser la qualimétrie
– Aucun standard dans le domaine de la qualimétrie
– Bénéfice du retour de la communauté open-source
• Communauté en attente d’un logiciel de ce type
– Aller dans le sens du marché logiciel
• L’open-source devient une composante incontournable
12. Squale : le projet de
recherche
Le FUI et les pôles de compétitivité
– Détails du projet de recherche
– Roadmap et livrables
13. 13Club Qualimétrie : Squale 10/06/2008
Le FUI et les pôles de compétitivité (1/2)
• Fonds Unique Interministériel
– Fonds pour financer des projets de recherche labellisés par
des pôles de compétitivité
• Projets collaboratifs impliquant entreprises et labo de recherche
– Logé au sein du FCE (fonds de compétitivité des entreprises)
– 5 Ministères contributeurs :
• Écologie, Développement et Aménagement durables
• Économie, Finances et Emploi
• Agriculture et Pêche
• Défense
• Santé, Jeunesse et Sports
– Coordination par la DGE (Direction Générale des Entreprises)
– FUI doté de 720 M€ sur la période 2006-2008
Infos sur http://www.competitivite.gouv.fr
14. 14Club Qualimétrie : Squale 10/06/2008
Le FUI et les pôles de compétitivité (2/2)
• Le Pôle de compétitivité System@tic Paris – Région
– 1 des 7 pôles de compétitivité mondiaux labellisé par le FUI
(qui compte en tout 71 pôles)
– Objectif affiché :
• « Faire de l’Ile-de-France l’un des quelques territoires visibles
au niveau mondial sur le thème de la conception, de la
réalisation et de la maîtrise des systèmes complexes. »
• Dynamiser l’économie de la région, attirer des investisseurs,
créer des emplois durables, développer les centres de
recherche et les synergies avec les entreprises
– 5 groupes thématiques, dont « Logiciels Libres »
– Quelques chiffres :
• ~ 340 établissements impliqués dans le réseau du Pôle
• 100.000+ emplois directement impliqués, 330.000+ concernés
• Budget 2006 des projets de R&D du Pôle : > 280 M€/an
Infos sur http://www.systematic-paris-region.org
15. 15Club Qualimétrie : Squale 10/06/2008
Et Squale dans tout ça ?
• Squale :
– A été présenté au bureau exécutif du groupe thématique
Logiciel Libre de System@tic, et a reçu son soutien
• début 11-2007
– Puis a été labellisé par le directoire du pôle System@tic
• 28-11-2007
– Avant d’être analysé par les soins de la DGE
• Q1 2008
– Pour finalement être accepté pour financement dans le
cadre du 5ème appel à projets du FUI
• mai 2008
– Aujourd’hui :
• les conventions vont être signées avec les financeurs
• le projet de recherche a officiellement commencé
16. Squale : le projet de
recherche
– Le FUI et les pôles de compétitivité
Détails du projet de recherche
– Roadmap et livrables
17. 17Club Qualimétrie : Squale 10/06/2008
Les différents partenaires
• Industriels
– Air France – DSI
• Arnaud Poivre, responsable du centre de compétences Tests et qualité
logicielle
– PSA Peugeot Citroën – DSI
• Thierry Bey, responsable entité Langages, Qualité et Processus de
Développement
• PME
– Qualixo (pilote du projet)
• Philippe Vaillergues, expertise en qualimétrie
– Paqtigo
• Amin Popote, expertise en gouvernance du SI
• Académiques
– INRIA – Lille
• Stéphane Ducasse, spécialiste en maintenance et génie logiciel
– Laboratoire LIASD – Université Paris 8
• Françoise Balmas, spécialiste en compréhension, représentation et
animation de programmes
18. 18Club Qualimétrie : Squale 10/06/2008
Organisation : rôles des partenaires et work packages
Modèle de
qualimétrie simple
Bases de connaissances
Coûts, qualité
Modèle technico-
économique
Développement
Communauté utilisateurs
++ €
€
WP-3
WP-1
WP-2
Modèle de
qualimétrie élaboré
Animation,
dissémination
WP-4
19. 19Club Qualimétrie : Squale 10/06/2008
WP 1 : Modèles qualimétriques
• Acteurs : INRIA (pilote), LIASD, Qualixo
• Objectif :
Améliorer les modèles qualimétriques existants et leur mode de
visualisation / représentation
• Découpage :
– WP 1.1 : Caractérisation des pratiques sensibles via métriques pour
Java et C++
• Étendre la liste des métriques existantes et les caractériser
– WP 1.2 : Visualisation graphique pratiques
• Représentation donnant un sens immédiat à la pratique
– WP 1.3 : Modèle enrichi d’agrégation des pratiques pour Java et C++
• Améliorer les formules d’agrégation permettant de passer des métriques
aux facteurs de haut niveau
20. 20Club Qualimétrie : Squale 10/06/2008
WP 2 : Modèles technico-économiques
• Acteurs : INRIA (pilote), LIASD, Qualixo, Paqtigo
• Objectif :
Définir les modèles permettant de corréler les indicateurs techniques
à des indicateurs économiques
• Découpage :
– WP 2.1 : Modèle de « l'effort » de création/modification de
composants à partir de métriques
– WP 2.2 : Modèle d’estimation de l’effort d’amélioration de la qualité
suite à un diagnostic qualimétrique
• Permettant de déterminer des plans d’action de remédiation
– WP 2.3 : Modèle d’estimation du retour sur investissement de la
qualimétrie
• Suffisamment générique pour devenir un standard mais suffisamment
paramétrable pour s’adapter aisément
21. 21Club Qualimétrie : Squale 10/06/2008
WP 3 : Développement en open-source
• Acteurs : Qualixo (pilote), AF, PSA, INRIA, LIASD
• Objectif :
Améliorer l’application Squale existante en se basant sur :
- les travaux de recherche des WP 1 et 2
- les besoins exprimés par les grands comptes
• Découpage :
– WP 3.1 : Ordonnanceur et interfaces récupération de métriques
– WP 3.2 : Implémentation modèles de calcul et d’agrégation
– WP 3.3 : IHM administration paramétrage
– WP 3.4 : IHM de restitution : navigation, tableaux de bords, …
– WP 3.5 : Moteur de visualisations graphiques des pratiques
– WP 3.6 : Moteur de plan de remédiation avec charges
– WP 3.7 : Interface avec le projet System@tic « Helios »
– WP 3.8 : Animation communauté développeurs
22. 22Club Qualimétrie : Squale 10/06/2008
WP 4 : Dissémination et animation
communauté utilisateurs
• Acteurs : Qualixo (pilote), Paqtigo
• Objectif :
Faire valider largement les résultats des 3 premiers WP par les
utilisateurs, bénéficier de leur retour et de leurs données
• Découpage :
– WP 4.1 : Animation communauté
• Mettre en place les moyens de communication
• Assurer la bonne dissémination des résultats du projet
– WP 4.2 : Constitution base de connaissances partagée
• Sauvegarder, dans une base de donnée centralisée, les
données brutes et agrégées générées par Squale
• Utiliser ces données pour :
– comparer des applications entre elles
– alimenter la recherche sur les modèles (WP1 et WP2)
23. Squale : le projet de
recherche
– Le FUI et les pôles de compétitivité
– Détails du projet de recherche
Roadmap et livrables
24. 24Club Qualimétrie : Squale 10/06/2008
Roadmap et livrables du projet de recherche
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
26. 26Club Qualimétrie : Squale 10/06/2008
Timeline
200820092010 Version 4.0
Version 4.1
Version 5.0
Version 5.1
Version 6.0
Version 6.1
Version 7.0
Squale
ASP / SaaS
En production
chez PSA
En production
chez Air France
: alignement sur le projet
de recherche
28. 28Club Qualimétrie : Squale 10/06/2008
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.
• Licence approuvé par l’OSI
• Première version officielle fin 2008
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