SlideShare une entreprise Scribd logo
Squale
   Le portail qualimétrie open-source



29 janvier 2009
- Fabrice BELLINGARD -
• Qualixo
  – 2005, JEI spécialisée en qualité logicielle
  – Activités principales : audits, démarche qualimétrique,
    expertise qualité logicielle
  – Clientèle : Air France, PSA, GDF, EDF, BNP, Generali, …
  – http://www.qualixo.com


• Mon expérience
  – 7 années en architecture et développement des SI
  – ... et 7 années dans le monde de l’open-source
      •   Eclipse Core
      •   Eclipse Plugins
      •   Apache Software Fondation
      •   … et Squale !


    Squale aux Jeudis de l'Objet      20/01/2009              2
Plan

 • La qualimétrie

 • Introduction à Squale

 • Focus sur les modèles

 • Squale : le projet de recherche

 • Squale : le projet open-source

 • Synthèse


       Squale aux Jeudis de l'Objet   20/01/2009   3
La qualimétrie

« You can’t control what you can’t mesure »
                                  Tom DeMarco
La qualimétrie ?

 • qualimétrie = mesure de la qualité

 • Une démarche qualimétrie logicielle, c’est :
     – Un référentiel qualimétrique composé :
         • De données qualité brutes unitaires
         • De pratiques avec leur formule de notation
         • De critères et facteurs avec formules d’agrégation
     – Un outillage
         •   Pour la production de métriques et la récupération de données diverses
         •   Pour l’agrégation et le calcul des facteurs/critères pratiques
         •   Pour l’administration des audits et données qualimétriques
         •   Pour la restitution aux différents profils utilisateurs
     – Un processus
         • De définition des exigences qualimétriques (avec éventuellement une
           annexe au CCTP pour la contractualisation des forfaits)
         • De contrôles qualimétriques intégrables dans la méthodologie
            interne SI et dans les processus qualité (ex. CMMI)
         • L’organisation correspondante


       Squale aux Jeudis de l'Objet                 20/01/2009                        5
Introduction à Squale
Qu’est-ce que Squale ?

 • Un projet :
    – Open-source
         • Début 2009 : 10 committers et 10 contributeurs
    – De recherche
         • Pôle de compétitivité System@tic
         • Partenaires : Air France, PSA, INRIA, LIASD, Qualixo, Paqtigo


 • Concrètement : répond au métier de la qualimétrie !
    – 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é

       Squale aux Jeudis de l'Objet                 20/01/2009                   7
Squale – les modèles

 • Issus initialement de l’expérience de Qualixo
     – Démarches mises en place et validées chez de grands comptes
     – S’inspire de l’état de l’art :
           • Standard ISO 9126
           • Travaux McCall                                          Facteurs

           • Approche GQM
                                                                     Critères


 • Approche sur 4 niveaux :
                                                                     Pratiques
     –   Facteurs (6) : ex. « Maintenabilité »
                                                             Données qualité brutes
     –   Critères (13+) : ex. « Homogénéité »
     –   Pratiques (25+) : ex. « Règles de nommage »
     –   Données qualité brutes (ex. métriques de code)


 • Notes des facteurs/critères/pratiques normalisée :
     – Situées dans l’intervalle continu [ 0   3]
                                                                 0      1        2   3




         Squale aux Jeudis de l'Objet           20/01/2009                               8
Squale – le logiciel : 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é


                                                      Agrégation sur
                Génération des tableaux               plusieurs niveaux
                de bord et restitution via
                le portail Web




Elaboration du modèle … Validation projet pilotes … Déploiement démarche … Conduite du changement …
                                      Démarche qualimétrique

              Squale aux Jeudis de l'Objet                                20/01/2009                   9
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

         Squale aux Jeudis de l'Objet       20/01/2009   10
Squale : une démonstration ?




      Squale aux Jeudis de l'Objet   20/01/2009   11
Focus sur les
modèles
Modèle « Qualixo »

 • Facteurs : haut niveau (~ top management)
     –   Capacité fonctionnelle
     –   Architecture                          Moyenne pondérée
                                              des notes des critères          Facteurs

     –   Évolutivité
                                          Moyenne pondérée
     –   Maintenabilité                 des notes des pratiques               Critères

     –   Réutilisabilité
                                                                              Pratiques
     –   Fiabilité
                                                                       Données qualité brutes

 • Critères = vue boîte noire (~ chef de projet)

 • Pratiques = vue boîte blanche (~ développeur)
     – Automatisables
     – Non automatisables


 • Notes normalisées dans l’intervalle 0               3           0      1     2        3




         Squale aux Jeudis de l'Objet                 20/01/2009                                13
Modèle qualité sous forme de grille : exemple
           Facte ur s               Critè re s                                                            Pratique s
                                                                         Pratique "Normes et standards" : mise en f orme
                                  Homogénéité                            Pratique "Normes et standards" : nommage
                                                                         Pratique "Normes et standards" : programmation
                                                                         Pratique "Documentation"
                                                                         Pratique "Prof ondeur héritage"
                                 Compréhension                           Pratique "Spécialisation de la classe"
    Maintenabilité                                                       Pratique "Qualité de la documentation"
                                                                         Pratique "Normes et standard" - documentation
                                                                         Pratique "Spaghetti code"
                                    Simplicité                           Pratique "Nombre de méthodes"
                                                                         Pratique "Taille procédure"
                                                                         Pratique "Couplage classe ef f érent"
                             Niveau d'interdépendance
                                                                         Pratique "Couplage classe af f érent"
                                      Déclinaison et notation du f acteur "Qualité" de la maintenabilité


           Facte ur s               Critè re s                                                            Pratique s
                                                                         Pratique "Normes et standards" : mise en f orme
                                  Homogénéité                            Pratique "Normes et standards" : nommage
                                                                         Pratique "Normes et standards" : programmation
                                                                         Pratique "Documentation"
                                                                         Pratique "Prof ondeur héritage"
                                 Compréhension                           Pratique "Spécialisation de la classe"
                                                                         Pratique "Qualité de la documentation"
                                                                         Pratique "Normes et standard" - documentation
     Evolutivité
                                                                         Pratique "Diagrammes de modélisation"
                                                                         Pratique "Pré-détection d'antipatterns"
                                   Modélisation
                                                                         Pratique "Conf ormité entre modélisation et implémentation"
                                                                         Pratique "Raisonnement par les modèles"
                                                                         Pratique "Couplage Classe ef f errent"
                                                                         Pratique "Copier-coller"
                                    Modularité
                                                                         Pratique "Cohésion Classe"
                                                                         Pratique "Couteau suisse"
                                         Déclinaison et notation du f acteur "Qualité" de l'évolutivité


             Squale aux Jeudis de l'Objet                                                      20/01/2009                              14
Les données qualité brutes

 • Caractéristiques
      – Accessibilité dans le temps
            • Cycle de vie du projet
      – Mode de mise à disposition
            • Automatique ou manuel ?
      – Traitement des données                                            Facteurs

            • Récupération directe ou issue
              de transformations multiples ?                              Critères



                                                                          Pratiques


                                               Données qualité brutes




 Spécifications … Conception … Développement … Intégration … Recette … Production … Maintenance …
                                     Cycle de vie du projet

          Squale aux Jeudis de l'Objet                       20/01/2009                             15
Exemple de données issues du code

 • Les pratiques liées à de l’analyse de code sont les
   plus automatisables
    – Analyse statique
        • Rule-checking
              – Vérification de règles (nommage, formatage, …etc)
        • Métriques de code
              – Métriques structurelles
              – Métriques orientées objet
              – Métriques d’architecture
    – Analyse dynamique
        • Métriques de couverture des tests


 • … mais attention : elles n’arrivent qu’au
   commencement du développement !
    – Défaut détecté plus tôt (ex. conception) = coût moindre
        • Ex. : pratique « Conception – modèle UML »


      Squale aux Jeudis de l'Objet                20/01/2009        16
Exemple 1 : métriques structurelles




                M : Méthode, C : Classe, P : Package, A : Application



•   v(g) : Complexité cyclomatique
     –   Nombre de chemins de tests
         indépendants
            •     Effort de test à fournir
            •     Poids de logique                           => v(G) = 3

•   ev(g) : Complexité cyclomatique essentielle
     –   V(g) du graphe simplifié
            •     Niveau de déstructuration
            •     Corrélé à la maintenabilité


•   iv(g) : Complexité d’intégration
     –   V(g) du graphe simplifié hors appel externe
            •     Niveau de déstructuration
            •     Corrélé à l’effort d’intégration
                                                                                 => ev(G) = 4
                Squale aux Jeudis de l'Objet                            20/01/2009              17
Exemple 1-bis : le plat de spaghetti

 • Exemple de méthode ayant donné lieu à refactoring




  Avant :      LOC : 167                   Après :   LOC : 22+30+26
               v(g) : 71                             v(g) : 7+13+14
               ev(g) : 41                            ev(g) : 1+9+7



            Squale aux Jeudis de l'Objet                    20/01/2009   18
Exemple 2 : métriques d’architecture


                                                                               Définition des contraintes
                                                                                     d’architecture


                                                                                       Fichier
                                                                                          de
                                                                                    configuration
             Organisation souhaitée de l’architecture                                    XML
                           en couche




                                                                                       Sources




                                                                                 Analyse des sources


  Synthèse des violations détectées avec si besoin la référence
                   aux méthodes incriminées


           Squale aux Jeudis de l'Objet                           20/01/2009                                19
Passage des métriques aux pratiques

 • Note d’une pratique = formule basée sur une ou
   plusieurs métriques                                       Note affectée à la classe en fonction du couplage afférent
                                                    3

                                                   2,5

                                                    2

    – Formules continues                    Note
                                                   1,5



        • Éviter les effets de seuils               1

                                                   0,5

                                                    0
                                                         0       10                                 20          30        40         50       60         70   80
                                                                                                                          Ca

                                                                                                                Fonction de pondération
                                                                                               3



    – Formules paramétrables                                                                  2,5




                                                                      Espace de pondération
        • Durcir ou assouplir le calcul d’une note                                             2




                  Espace de pondération                                                       1,5




                                                                                                1




                                                                                              0,5




                                                                                               0
                                                                                                    0    0,32 0,5     1        1,5        2        2,5    3


    – Formules mathématiques élaborées                                                                               Espace de notation



        • Limiter les effets de bords
                                                                                                                     1              N
                                                                                                                                                  
                                                                                                                                          P( NCn )
                                                                                                                −1
                                                     Note = P                                                        
                                                                                                                     N
                                                                                                                                     ∑
                                                                                                                                     n =1         
      Squale aux Jeudis de l'Objet                  20/01/2009                                                                                                     20
La pratique = point fort du modèle

 • Une pratique :
                                                                     Facteurs
    – A un sens concret
        • Facile à comprendre par un programmeur                     Critères

        • Très « pragmatique »
                                                                     Pratiques


    – Tente de combiner plusieurs métriques                    Données qualité brutes

      pour aider à détecter des cas suspects
        • Exemple : on souhaite s’assurer que les parties les plus
          complexe d’un code soient aussi celles qui soient le plus
          testées
           Pratique « Tests unitaires » combinant :
              – Taux de couverture de tests
              – Complexité cyclomatique ou essentielle


    – Utilise des formules mathématiques élaborées
        • Pas une simple moyenne pondérée !

      Squale aux Jeudis de l'Objet                20/01/2009                            21
Squale : le projet de
recherche
Le FUI et les pôles de compétitivité

 • 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
    – Coordination par la DGE (Direction Générale des Entreprises)
    – FUI doté de 720 M€ sur la période 2006-2008


 • Le Pôle de compétitivité System@tic Paris – Région
    –   1 des 71 pôles de compétitivité labellisés par le FUI
    –   Dimension internationale
    –   5 groupes thématiques, dont « Logiciels Libres »
    –   Budget 2006 des projets de R&D du Pôle : > 280 M€/an




        Squale aux Jeudis de l'Objet             20/01/2009                     23
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


    – Le projet de recherche Squale a officiellement démarré en
      juin 2008
        • Pour une période initiale de 2 ans

      Squale aux Jeudis de l'Objet             20/01/2009         24
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 et Fabrice Bellingard, 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


       Squale aux Jeudis de l'Objet                 20/01/2009                    25
Squale : le projet de recherche System@tic

                                                                                     €
                  Modèle de                                 Bases de connaissances
                  qualimétrie simple                        Coûts, qualité




       ++

                                       WP-1



                                                     WP-2
            Modèle de                                        Modèle technico-
                                                                                     €
            qualimétrie élaboré                              économique




                                              WP-3
  Animation,                                            Développement
  dissémination
                  WP-4

                                  Communauté utilisateurs




        Squale aux Jeudis de l'Objet                              20/01/2009             26
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




       Squale aux Jeudis de l'Objet                  20/01/2009                     27
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


        Squale aux Jeudis de l'Objet               20/01/2009                   28
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


         Squale aux Jeudis de l'Objet           20/01/2009                29
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)

       Squale aux Jeudis de l'Objet               20/01/2009           30
Roadmap du projet Squale




                                                                         Travaux sur Squale
                Sortie de Squale OSS                                     - Amélioration de la visualisation
 26 janvier     - Application fonctionnelle                              - Intégration des modèles technico-
                                                                         économiques
  2009 !!       Documents sur la caractérisation
                des pratiques et la visualisation
                                                                         - 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                 Finalisation de Squale
                                                                                    - Application fonctionnellement complète
                        Document du modèle enrichi d’agrégation en                  - Interface avec le projet Thales
                        première version
                                                                                    Tous les modèles qualimétriques et
                        Documents des modèles technico-économiques                  technico-économiques sont validés
                        en première version


       Squale aux Jeudis de l'Objet                                   20/01/2009                                               31
Squale : le projet
open-source
Le projet open-source et les licences

 • Les livrables du projet de recherche 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


 • Le projet open-source est donc le réceptacle des résultats du
   projet de recherche
     – Mais il aura sa propre vie, comme tout projet open-source

       Squale aux Jeudis de l'Objet                    20/01/2009                  33
La première version open-source de Squale

 • Livrée le 26 janvier 2009 !

 • Périmètres couverts par le code open-source
     – Java : OK
          • Basé sur des outils d’analyse de code open-source
     – C/C++ : OK
          • Nécessite des outils d’analyse de code commerciaux pour le moment
     – 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

        Squale aux Jeudis de l'Objet               20/01/2009                   34
Squale : le projet OSS

 • Equipe
    – Actuellement
        • Membres du projet de recherche
        • Gestion et décisions par Qualixo et Air France
    – Demain
        • Gouvernance « classique » d’un projet OSS « à la Apache »
              – 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                               Périmètre équipe

              – Utilisateur          Contributeur   Committer      PMC




      Squale aux Jeudis de l'Objet                       20/01/2009            35
Les ressources du projet Squale (1/2)

 • Le site officiel du projet open-source
    – URL : http://www.squale.org
    – Point d’entrée pour tout le reste


 • Référentiel de source Subversion
    – URL : https://svn.squale.org/squale/

 • Outil de gestion de projet Trac
    – URL : https://project.squale.org
    – Contenu : Wiki, Bug and issue tracker, Timeline et roadmap

 • Serveur d’intégration continue Hudson
    – URL : http://hudson.squale.org



       Squale aux Jeudis de l'Objet          20/01/2009            36
Les ressources du projet Squale (2/2)

 • Principales mailing lists :
    – users@squale.org
         • Liste de discussion et d’aide entre utilisateurs de Squale
    – announce@squale.org
         • Liste de diffusion des principales informations du projet
               – Ex. : nouvelles releases, évènement autour de Squale, …
    – 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




       Squale aux Jeudis de l'Objet                20/01/2009              37
En synthèse…
Ecosystème Squale
Squale – projet open-source                                           Squale – projet de recherche
http://www.squale.org                                                 http://recherche.squale.org

• Projet communautaire ouvert à tous                                  • Dédié aux partenaires du projet de recherche
        • Utilisateurs                                                • Espace de communication nécessaire à l’équipe
        • Contributeurs et committers                                        • CR de réunions
• Infrastructure nécessaire au développement                                 • Documents de gestion
du projet open-source :                                                      • Détails des WP
        • Bug tracker et Wiki                                                       • Planning
        • Serveur d’intégration continue                                            • Livrables
        • Référentiel Maven                                                         • Brainstorming
        • Mailing-listes                                                            •…
        • …etc.                                                       • Résultats déversés dans le projet
• Licences LGPL v3 et CC                                              open-source lors de leur livraison
• Première version officielle 26-01-2009




                             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



            Squale aux Jeudis de l'Objet                                20/01/2009                                  39
En synthèse…

 • Squale, c’est :
     – Des modèles qualimétriques
          • issus de plusieurs années d’expérience chez des grands comptes
          • améliorés/validés par des travaux de recherche
     – Un logiciel « Portail qualimétrie »
          • open-source
          • disponible tout de suite
       inscrivez-vous à announce@squale.org !

 • Les modèles et le logiciel vont évoluer et s’enrichir en fonction
   des besoins exprimés par les grands comptes
     – Les efforts des uns seront récompensés par les apports des autres
     – Air France et PSA sont déjà entrés dans ce cercle vertueux

 • Ambition affichée :
     – Devenir le standard « de facto » dans le domaine de la qualimétrie



        Squale aux Jeudis de l'Objet              20/01/2009                 40
Merci de votre attention !



       Des
    questions ?




       Squale aux Jeudis de l'Objet   20/01/2009   41

Contenu connexe

Tendances

20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
LeClubQualiteLogicielle
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
LeClubQualiteLogicielle
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
LeClubQualiteLogicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
LeClubQualiteLogicielle
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succès
Agile Tour 2009 Québec
 
20110125 04 - Présentation Squash
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation Squash
LeClubQualiteLogicielle
 

Tendances (6)

20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succès
 
20110125 04 - Présentation Squash
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation Squash
 

En vedette

Ryerson 2015-2016 guide
Ryerson 2015-2016 guideRyerson 2015-2016 guide
Ryerson 2015-2016 guide
Jesse Gerva
 
The Edge - Management at Work 051112.pdf
The Edge - Management at Work 051112.pdfThe Edge - Management at Work 051112.pdf
The Edge - Management at Work 051112.pdfDaniel Del Re
 
Wishesh Magazine June 2016
Wishesh Magazine June 2016Wishesh Magazine June 2016
Wishesh Magazine June 2016
Wishesh Digital Media
 
Aditya Paras Mol Walk Through
Aditya Paras Mol Walk ThroughAditya Paras Mol Walk Through
Aditya Paras Mol Walk Through
Aditya Infracomp Pvt. Ltd.
 
A an short answers
A an short answersA an short answers
A an short answers
Anabel Milagros Montes Miranda
 
สินค้าOTOP
สินค้าOTOPสินค้าOTOP
สินค้าOTOP
SUNUSA_GUEST
 
Report 160226130731 (1)
Report 160226130731 (1)Report 160226130731 (1)
Report 160226130731 (1)
lawchang
 
Past tense 6to
Past tense 6toPast tense 6to
Ed ing adjectives about jobs 4
 Ed ing adjectives about jobs 4 Ed ing adjectives about jobs 4
Ed ing adjectives about jobs 4
Anabel Milagros Montes Miranda
 
Video Ad Spending vs TV Ad Spending 2014 by Augustine Fou
Video Ad Spending vs TV Ad Spending 2014 by Augustine FouVideo Ad Spending vs TV Ad Spending 2014 by Augustine Fou
Video Ad Spending vs TV Ad Spending 2014 by Augustine Fou
Dr. Augustine Fou - Independent Ad Fraud Researcher
 
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
Bồi Dưỡng HSG Toán Lớp 3
 

En vedette (12)

Ryerson 2015-2016 guide
Ryerson 2015-2016 guideRyerson 2015-2016 guide
Ryerson 2015-2016 guide
 
The Edge - Management at Work 051112.pdf
The Edge - Management at Work 051112.pdfThe Edge - Management at Work 051112.pdf
The Edge - Management at Work 051112.pdf
 
Wishesh Magazine June 2016
Wishesh Magazine June 2016Wishesh Magazine June 2016
Wishesh Magazine June 2016
 
Aditya Paras Mol Walk Through
Aditya Paras Mol Walk ThroughAditya Paras Mol Walk Through
Aditya Paras Mol Walk Through
 
A an short answers
A an short answersA an short answers
A an short answers
 
สินค้าOTOP
สินค้าOTOPสินค้าOTOP
สินค้าOTOP
 
Report 160226130731 (1)
Report 160226130731 (1)Report 160226130731 (1)
Report 160226130731 (1)
 
Past tense 6to
Past tense 6toPast tense 6to
Past tense 6to
 
cilex 2015 cert
cilex 2015 certcilex 2015 cert
cilex 2015 cert
 
Ed ing adjectives about jobs 4
 Ed ing adjectives about jobs 4 Ed ing adjectives about jobs 4
Ed ing adjectives about jobs 4
 
Video Ad Spending vs TV Ad Spending 2014 by Augustine Fou
Video Ad Spending vs TV Ad Spending 2014 by Augustine FouVideo Ad Spending vs TV Ad Spending 2014 by Augustine Fou
Video Ad Spending vs TV Ad Spending 2014 by Augustine Fou
 
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
Tuyển tập 36 đề thi hkII môn toán và 5 đề thi tv lớp 3
 

Similaire à 2009-01-29 Squale aux Jeudis de l'Objet

20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
CARA_Lyon
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
Fabrice Bellingard
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie
LeClubQualiteLogicielle
 
QSOS 2.0 Solutions Linux 2009
QSOS 2.0 Solutions Linux 2009QSOS 2.0 Solutions Linux 2009
QSOS 2.0 Solutions Linux 2009
Raphaël Semeteys
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
FatiMa243348
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
Agile Montréal
 
Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Xavier Warzee
 
Altics Tests Utilisateurs
Altics Tests UtilisateursAltics Tests Utilisateurs
Altics Tests UtilisateursALTICS
 
20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale
LeClubQualiteLogicielle
 
20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source
LeClubQualiteLogicielle
 
20070925 05 - Un portail qualimétrie en Open Source
20070925 05 - Un portail qualimétrie en Open Source20070925 05 - Un portail qualimétrie en Open Source
20070925 05 - Un portail qualimétrie en Open Source
LeClubQualiteLogicielle
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
LeClubQualiteLogicielle
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom Valley
Marc Hage Chahine
 
20111004 02 - Présentation Sqale
20111004 02 - Présentation Sqale20111004 02 - Présentation Sqale
20111004 02 - Présentation Sqale
LeClubQualiteLogicielle
 
Vue rapide évolution des normes iso 900x sept 2010
Vue rapide évolution des normes iso 900x   sept 2010Vue rapide évolution des normes iso 900x   sept 2010
Vue rapide évolution des normes iso 900x sept 2010Patrice Bock
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
ATDD Visuel
ATDD VisuelATDD Visuel
ATDD Visuel
Marc Hage Chahine
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De PerformanceCabinet Openi
 

Similaire à 2009-01-29 Squale aux Jeudis de l'Objet (20)

20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie
 
QSOS 2.0 Solutions Linux 2009
QSOS 2.0 Solutions Linux 2009QSOS 2.0 Solutions Linux 2009
QSOS 2.0 Solutions Linux 2009
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
 
Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...
 
Altics Tests Utilisateurs
Altics Tests UtilisateursAltics Tests Utilisateurs
Altics Tests Utilisateurs
 
20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale20100608 03 - Retour d'experience PSA Squale
20100608 03 - Retour d'experience PSA Squale
 
20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source
 
Hands on Sonar
Hands on SonarHands on Sonar
Hands on Sonar
 
20070925 05 - Un portail qualimétrie en Open Source
20070925 05 - Un portail qualimétrie en Open Source20070925 05 - Un portail qualimétrie en Open Source
20070925 05 - Un portail qualimétrie en Open Source
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom Valley
 
20111004 02 - Présentation Sqale
20111004 02 - Présentation Sqale20111004 02 - Présentation Sqale
20111004 02 - Présentation Sqale
 
Vue rapide évolution des normes iso 900x sept 2010
Vue rapide évolution des normes iso 900x   sept 2010Vue rapide évolution des normes iso 900x   sept 2010
Vue rapide évolution des normes iso 900x sept 2010
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
ATDD Visuel
ATDD VisuelATDD Visuel
ATDD Visuel
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De Performance
 

2009-01-29 Squale aux Jeudis de l'Objet

  • 1. Squale Le portail qualimétrie open-source 29 janvier 2009 - Fabrice BELLINGARD -
  • 2. • Qualixo – 2005, JEI spécialisée en qualité logicielle – Activités principales : audits, démarche qualimétrique, expertise qualité logicielle – Clientèle : Air France, PSA, GDF, EDF, BNP, Generali, … – http://www.qualixo.com • Mon expérience – 7 années en architecture et développement des SI – ... et 7 années dans le monde de l’open-source • Eclipse Core • Eclipse Plugins • Apache Software Fondation • … et Squale ! Squale aux Jeudis de l'Objet 20/01/2009 2
  • 3. Plan • La qualimétrie • Introduction à Squale • Focus sur les modèles • Squale : le projet de recherche • Squale : le projet open-source • Synthèse Squale aux Jeudis de l'Objet 20/01/2009 3
  • 4. La qualimétrie « You can’t control what you can’t mesure » Tom DeMarco
  • 5. La qualimétrie ? • qualimétrie = mesure de la qualité • Une démarche qualimétrie logicielle, c’est : – Un référentiel qualimétrique composé : • De données qualité brutes unitaires • De pratiques avec leur formule de notation • De critères et facteurs avec formules d’agrégation – Un outillage • Pour la production de métriques et la récupération de données diverses • Pour l’agrégation et le calcul des facteurs/critères pratiques • Pour l’administration des audits et données qualimétriques • Pour la restitution aux différents profils utilisateurs – Un processus • De définition des exigences qualimétriques (avec éventuellement une annexe au CCTP pour la contractualisation des forfaits) • De contrôles qualimétriques intégrables dans la méthodologie interne SI et dans les processus qualité (ex. CMMI) • L’organisation correspondante Squale aux Jeudis de l'Objet 20/01/2009 5
  • 7. Qu’est-ce que Squale ? • Un projet : – Open-source • Début 2009 : 10 committers et 10 contributeurs – De recherche • Pôle de compétitivité System@tic • Partenaires : Air France, PSA, INRIA, LIASD, Qualixo, Paqtigo • Concrètement : répond au métier de la qualimétrie ! – 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é Squale aux Jeudis de l'Objet 20/01/2009 7
  • 8. Squale – les modèles • Issus initialement de l’expérience de Qualixo – Démarches mises en place et validées chez de grands comptes – S’inspire de l’état de l’art : • Standard ISO 9126 • Travaux McCall Facteurs • Approche GQM Critères • Approche sur 4 niveaux : Pratiques – Facteurs (6) : ex. « Maintenabilité » Données qualité brutes – Critères (13+) : ex. « Homogénéité » – Pratiques (25+) : ex. « Règles de nommage » – Données qualité brutes (ex. métriques de code) • Notes des facteurs/critères/pratiques normalisée : – Situées dans l’intervalle continu [ 0 3] 0 1 2 3 Squale aux Jeudis de l'Objet 20/01/2009 8
  • 9. Squale – le logiciel : 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é Agrégation sur Génération des tableaux plusieurs niveaux de bord et restitution via le portail Web Elaboration du modèle … Validation projet pilotes … Déploiement démarche … Conduite du changement … Démarche qualimétrique Squale aux Jeudis de l'Objet 20/01/2009 9
  • 10. 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 Squale aux Jeudis de l'Objet 20/01/2009 10
  • 11. Squale : une démonstration ? Squale aux Jeudis de l'Objet 20/01/2009 11
  • 13. Modèle « Qualixo » • Facteurs : haut niveau (~ top management) – Capacité fonctionnelle – Architecture Moyenne pondérée des notes des critères Facteurs – Évolutivité Moyenne pondérée – Maintenabilité des notes des pratiques Critères – Réutilisabilité Pratiques – Fiabilité Données qualité brutes • Critères = vue boîte noire (~ chef de projet) • Pratiques = vue boîte blanche (~ développeur) – Automatisables – Non automatisables • Notes normalisées dans l’intervalle 0 3 0 1 2 3 Squale aux Jeudis de l'Objet 20/01/2009 13
  • 14. Modèle qualité sous forme de grille : exemple Facte ur s Critè re s Pratique s Pratique "Normes et standards" : mise en f orme Homogénéité Pratique "Normes et standards" : nommage Pratique "Normes et standards" : programmation Pratique "Documentation" Pratique "Prof ondeur héritage" Compréhension Pratique "Spécialisation de la classe" Maintenabilité Pratique "Qualité de la documentation" Pratique "Normes et standard" - documentation Pratique "Spaghetti code" Simplicité Pratique "Nombre de méthodes" Pratique "Taille procédure" Pratique "Couplage classe ef f érent" Niveau d'interdépendance Pratique "Couplage classe af f érent" Déclinaison et notation du f acteur "Qualité" de la maintenabilité Facte ur s Critè re s Pratique s Pratique "Normes et standards" : mise en f orme Homogénéité Pratique "Normes et standards" : nommage Pratique "Normes et standards" : programmation Pratique "Documentation" Pratique "Prof ondeur héritage" Compréhension Pratique "Spécialisation de la classe" Pratique "Qualité de la documentation" Pratique "Normes et standard" - documentation Evolutivité Pratique "Diagrammes de modélisation" Pratique "Pré-détection d'antipatterns" Modélisation Pratique "Conf ormité entre modélisation et implémentation" Pratique "Raisonnement par les modèles" Pratique "Couplage Classe ef f errent" Pratique "Copier-coller" Modularité Pratique "Cohésion Classe" Pratique "Couteau suisse" Déclinaison et notation du f acteur "Qualité" de l'évolutivité Squale aux Jeudis de l'Objet 20/01/2009 14
  • 15. Les données qualité brutes • Caractéristiques – Accessibilité dans le temps • Cycle de vie du projet – Mode de mise à disposition • Automatique ou manuel ? – Traitement des données Facteurs • Récupération directe ou issue de transformations multiples ? Critères Pratiques Données qualité brutes Spécifications … Conception … Développement … Intégration … Recette … Production … Maintenance … Cycle de vie du projet Squale aux Jeudis de l'Objet 20/01/2009 15
  • 16. Exemple de données issues du code • Les pratiques liées à de l’analyse de code sont les plus automatisables – Analyse statique • Rule-checking – Vérification de règles (nommage, formatage, …etc) • Métriques de code – Métriques structurelles – Métriques orientées objet – Métriques d’architecture – Analyse dynamique • Métriques de couverture des tests • … mais attention : elles n’arrivent qu’au commencement du développement ! – Défaut détecté plus tôt (ex. conception) = coût moindre • Ex. : pratique « Conception – modèle UML » Squale aux Jeudis de l'Objet 20/01/2009 16
  • 17. Exemple 1 : métriques structurelles M : Méthode, C : Classe, P : Package, A : Application • v(g) : Complexité cyclomatique – Nombre de chemins de tests indépendants • Effort de test à fournir • Poids de logique => v(G) = 3 • ev(g) : Complexité cyclomatique essentielle – V(g) du graphe simplifié • Niveau de déstructuration • Corrélé à la maintenabilité • iv(g) : Complexité d’intégration – V(g) du graphe simplifié hors appel externe • Niveau de déstructuration • Corrélé à l’effort d’intégration => ev(G) = 4 Squale aux Jeudis de l'Objet 20/01/2009 17
  • 18. Exemple 1-bis : le plat de spaghetti • Exemple de méthode ayant donné lieu à refactoring Avant : LOC : 167 Après : LOC : 22+30+26 v(g) : 71 v(g) : 7+13+14 ev(g) : 41 ev(g) : 1+9+7 Squale aux Jeudis de l'Objet 20/01/2009 18
  • 19. Exemple 2 : métriques d’architecture Définition des contraintes d’architecture Fichier de configuration Organisation souhaitée de l’architecture XML en couche Sources Analyse des sources Synthèse des violations détectées avec si besoin la référence aux méthodes incriminées Squale aux Jeudis de l'Objet 20/01/2009 19
  • 20. Passage des métriques aux pratiques • Note d’une pratique = formule basée sur une ou plusieurs métriques Note affectée à la classe en fonction du couplage afférent 3 2,5 2 – Formules continues Note 1,5 • Éviter les effets de seuils 1 0,5 0 0 10 20 30 40 50 60 70 80 Ca Fonction de pondération 3 – Formules paramétrables 2,5 Espace de pondération • Durcir ou assouplir le calcul d’une note 2 Espace de pondération 1,5 1 0,5 0 0 0,32 0,5 1 1,5 2 2,5 3 – Formules mathématiques élaborées Espace de notation • Limiter les effets de bords 1 N  P( NCn ) −1 Note = P  N ∑ n =1  Squale aux Jeudis de l'Objet 20/01/2009 20
  • 21. La pratique = point fort du modèle • Une pratique : Facteurs – A un sens concret • Facile à comprendre par un programmeur Critères • Très « pragmatique » Pratiques – Tente de combiner plusieurs métriques Données qualité brutes pour aider à détecter des cas suspects • Exemple : on souhaite s’assurer que les parties les plus complexe d’un code soient aussi celles qui soient le plus testées Pratique « Tests unitaires » combinant : – Taux de couverture de tests – Complexité cyclomatique ou essentielle – Utilise des formules mathématiques élaborées • Pas une simple moyenne pondérée ! Squale aux Jeudis de l'Objet 20/01/2009 21
  • 22. Squale : le projet de recherche
  • 23. Le FUI et les pôles de compétitivité • 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 – Coordination par la DGE (Direction Générale des Entreprises) – FUI doté de 720 M€ sur la période 2006-2008 • Le Pôle de compétitivité System@tic Paris – Région – 1 des 71 pôles de compétitivité labellisés par le FUI – Dimension internationale – 5 groupes thématiques, dont « Logiciels Libres » – Budget 2006 des projets de R&D du Pôle : > 280 M€/an Squale aux Jeudis de l'Objet 20/01/2009 23
  • 24. 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 – Le projet de recherche Squale a officiellement démarré en juin 2008 • Pour une période initiale de 2 ans Squale aux Jeudis de l'Objet 20/01/2009 24
  • 25. 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 et Fabrice Bellingard, 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 Squale aux Jeudis de l'Objet 20/01/2009 25
  • 26. Squale : le projet de recherche System@tic € Modèle de Bases de connaissances qualimétrie simple Coûts, qualité ++ WP-1 WP-2 Modèle de Modèle technico- € qualimétrie élaboré économique WP-3 Animation, Développement dissémination WP-4 Communauté utilisateurs Squale aux Jeudis de l'Objet 20/01/2009 26
  • 27. 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 Squale aux Jeudis de l'Objet 20/01/2009 27
  • 28. 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 Squale aux Jeudis de l'Objet 20/01/2009 28
  • 29. 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 Squale aux Jeudis de l'Objet 20/01/2009 29
  • 30. 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) Squale aux Jeudis de l'Objet 20/01/2009 30
  • 31. Roadmap du projet Squale Travaux sur Squale Sortie de Squale OSS - Amélioration de la visualisation 26 janvier - Application fonctionnelle - Intégration des modèles technico- économiques 2009 !! Documents sur la caractérisation des pratiques et la visualisation - 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 Finalisation de Squale - Application fonctionnellement complète Document du modèle enrichi d’agrégation en - Interface avec le projet Thales première version Tous les modèles qualimétriques et Documents des modèles technico-économiques technico-économiques sont validés en première version Squale aux Jeudis de l'Objet 20/01/2009 31
  • 32. Squale : le projet open-source
  • 33. Le projet open-source et les licences • Les livrables du projet de recherche 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 • Le projet open-source est donc le réceptacle des résultats du projet de recherche – Mais il aura sa propre vie, comme tout projet open-source Squale aux Jeudis de l'Objet 20/01/2009 33
  • 34. La première version open-source de Squale • Livrée le 26 janvier 2009 ! • Périmètres couverts par le code open-source – Java : OK • Basé sur des outils d’analyse de code open-source – C/C++ : OK • Nécessite des outils d’analyse de code commerciaux pour le moment – 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 Squale aux Jeudis de l'Objet 20/01/2009 34
  • 35. Squale : le projet OSS • Equipe – Actuellement • Membres du projet de recherche • Gestion et décisions par Qualixo et Air France – Demain • Gouvernance « classique » d’un projet OSS « à la Apache » – 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 Périmètre équipe – Utilisateur Contributeur Committer PMC Squale aux Jeudis de l'Objet 20/01/2009 35
  • 36. Les ressources du projet Squale (1/2) • Le site officiel du projet open-source – URL : http://www.squale.org – Point d’entrée pour tout le reste • Référentiel de source Subversion – URL : https://svn.squale.org/squale/ • Outil de gestion de projet Trac – URL : https://project.squale.org – Contenu : Wiki, Bug and issue tracker, Timeline et roadmap • Serveur d’intégration continue Hudson – URL : http://hudson.squale.org Squale aux Jeudis de l'Objet 20/01/2009 36
  • 37. Les ressources du projet Squale (2/2) • Principales mailing lists : – users@squale.org • Liste de discussion et d’aide entre utilisateurs de Squale – announce@squale.org • Liste de diffusion des principales informations du projet – Ex. : nouvelles releases, évènement autour de Squale, … – 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 Squale aux Jeudis de l'Objet 20/01/2009 37
  • 39. Ecosystème Squale Squale – projet open-source Squale – projet de recherche http://www.squale.org http://recherche.squale.org • Projet communautaire ouvert à tous • Dédié aux partenaires du projet de recherche • Utilisateurs • Espace de communication nécessaire à l’équipe • Contributeurs et committers • CR de réunions • Infrastructure nécessaire au développement • Documents de gestion du projet open-source : • Détails des WP • Bug tracker et Wiki • Planning • Serveur d’intégration continue • Livrables • Référentiel Maven • Brainstorming • Mailing-listes •… • …etc. • Résultats déversés dans le projet • Licences LGPL v3 et CC open-source lors de leur livraison • Première version officielle 26-01-2009 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 Squale aux Jeudis de l'Objet 20/01/2009 39
  • 40. En synthèse… • Squale, c’est : – Des modèles qualimétriques • issus de plusieurs années d’expérience chez des grands comptes • améliorés/validés par des travaux de recherche – Un logiciel « Portail qualimétrie » • open-source • disponible tout de suite inscrivez-vous à announce@squale.org ! • Les modèles et le logiciel vont évoluer et s’enrichir en fonction des besoins exprimés par les grands comptes – Les efforts des uns seront récompensés par les apports des autres – Air France et PSA sont déjà entrés dans ce cercle vertueux • Ambition affichée : – Devenir le standard « de facto » dans le domaine de la qualimétrie Squale aux Jeudis de l'Objet 20/01/2009 40
  • 41. Merci de votre attention ! Des questions ? Squale aux Jeudis de l'Objet 20/01/2009 41