Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérification du respect des règles de codage, complexité du code, etc.).
La fonctionnalité phare de cette version est le remplacement du célèbre analyseur de code source JavaNCSS par un moteur maison : sonar-squid. L'intégration de sonar-squid permet à la fois de faire disparaître les problèmes de JavaNCSS à analyser le code utilisant les spécificités de Java 5, mais également de calculer un certain nombre de métriques de manière beaucoup plus précises (commentaires, lignes de code...) et surtout d'ouvrir de nouveaux axes d'analyse (documentation des API publiques, accesseurs...).
Sonar a pris le parti de séparer complètement les accesseurs (plus communément nommés getters et setters) des méthodes dans les mesures. Cela permet par exemple de réellement mesurer la complexité "fonctionnelle" en écartant le bruit généré par le code purement "technique" dans les applications.
Ceci a bien sûr un impact sur la manière dont doivent être interprétés les résultats ainsi que sur la continuité de l'historique des données et il est recommandé de lire l'article référencé ci-dessous "Pourquoi (ne) devriez-vous (pas) migrer à la version 1.9 ?" avant d'installer la nouvelle version. En plus de ces nouvelles fonctionnalités, la version 1.9 apporte une amélioration notable des performances ainsi qu'une compatibilité avec le moteur de base de données PostgreSQL.
La forge des plugins Sonar est opérationnelle
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérification du respect des règles de codage, etc.). Des plugins (greffons) permettent d'étendre l'utilisation de Sonar aux langages PHP et PL/SQL.
L'extensibilité est une qualité essentielle pour un logiciel open source qui a l'ambition d'être adopté massivement. En effet, cela permet à la communauté de contribuer en ajoutant de nouvelles fonctionnalités ou bien en améliorant l'existant et par conséquent de bénéficier d'un effet levier : c'est la magie de l'open source !
Sonar s'appuie sur un cœur qui est un mécanisme d'extension. Autour de ce cœur viennent se greffer des plugins qui contiennent les fonctionnalités de l'outil. Mais le fait d'avoir un tel mécanisme en place n'est pas suffisant pour se déclarer extensible. Il faut également répondre aux 4 points suivants :
Ces 4 conditions étant maintenant remplies par Sonar, tout un chacun peut se lancer dans l'écriture de plugins pour étendre l'outil.
NdM : la version 1.8 de Sonar est sortie il a 3 jours. Parmi les nouvelles fonctionnalités, on trouvera un récapitulatif des points chauds sur un projet, l'import/export des profils Findbugs et un changement concernant la publication des mesures sur les catégories ISO ; plus une ribambelle d'améliorations et de corrections par ailleurs.
L'extensibilité est une qualité essentielle pour un logiciel open source qui a l'ambition d'être adopté massivement. En effet, cela permet à la communauté de contribuer en ajoutant de nouvelles fonctionnalités ou bien en améliorant l'existant et par conséquent de bénéficier d'un effet levier : c'est la magie de l'open source !
Sonar s'appuie sur un cœur qui est un mécanisme d'extension. Autour de ce cœur viennent se greffer des plugins qui contiennent les fonctionnalités de l'outil. Mais le fait d'avoir un tel mécanisme en place n'est pas suffisant pour se déclarer extensible. Il faut également répondre aux 4 points suivants :
- Une API simple d'utilisation ;
- Une forge ;
- Une communauté active ;
- Une documentation et des exemples permettant de mettre le pied à l'étrier.
Ces 4 conditions étant maintenant remplies par Sonar, tout un chacun peut se lancer dans l'écriture de plugins pour étendre l'outil.
NdM : la version 1.8 de Sonar est sortie il a 3 jours. Parmi les nouvelles fonctionnalités, on trouvera un récapitulatif des points chauds sur un projet, l'import/export des profils Findbugs et un changement concernant la publication des mesures sur les catégories ISO ; plus une ribambelle d'améliorations et de corrections par ailleurs.
Sortie de la version 1.7 de Sonar
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java ou PHP (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérifications du respect des règles de codage, etc.). La version 1.7 de Sonar vient de sortir. Cette version apporte de nouvelles fonctionnalités et notamment :
- La possibilité d'exclure des classes ou des packages de l'analyse qualité ;
- L'élargissement du champ d'utilisation, en permettant d'injecter le résultat de la couverture de code et des tests unitaires depuis un build ant ;
- Extension du nuage de classes sur la couverture de code aux modules et packages ;
- Meilleure compatibilité avec IE6 ;
- Ajout d'une vue "résultats de tests unitaires" et d'une vue "code dupliqué" à l'outil de visualisation de code source.
Le prix Turing 2008 pour Barbara Liskov
À 69 ans, la professeure Barbara Liskov du MIT remporte la plus prestigieuse des récompenses en informatique. Largement considéré comme équivalent à un prix Nobel, le prix Turing est décerné chaque année par l'Association for Computing Machinery à une ou plusieurs personnes dont les contributions à l'informatique sont particulièrement brillantes.
Comme beaucoup de chercheurs de premier plan, Barbara Liskov a contribué à plusieurs domaines de l'informatique, principalement :
Comme beaucoup de chercheurs de premier plan, Barbara Liskov a contribué à plusieurs domaines de l'informatique, principalement :
- les langages de programmation, en particulier avec le support de la programmation répartie ;
- la théorie des types, où elle a défini une nouvelle notion de type dérivé (T est un type dérivé de S si toute propriété prouvable sur les objets de S est prouvable sur les objets de T) ;
- les bases de données, en particulier orientées objet ;
- l'algorithmique répartie avec tolérance aux défaillances, et en particulier les plus difficiles de toutes ces défaillances : les processus byzantins.
Journal La preuve de programme : où en est-on ?
3
mar.
2009

Je suis en train (d'essayer) de lire la thèse de J-C Filliâtre http://www.lri.fr/~filliatr/ftp/publis/these.ps.gz intitulée Preuve de programmes impératifs en théorie des types
L'objectif est simple : on pose des contrat pre et post sur un morceaux de code, on peut aussi poser des invariants au sein d'une boucle, et le logiciel ( http://why.lri.fr/index.fr.html ) qui est tiré de cette thèse :
Plus fort que (…)
L'objectif est simple : on pose des contrat pre et post sur un morceaux de code, on peut aussi poser des invariants au sein d'une boucle, et le logiciel ( http://why.lri.fr/index.fr.html ) qui est tiré de cette thèse :
- Prouve la complétude et l'adéquation des contrats au code
- Prouve que le code respecte les contrats
Plus fort que (…)
MeriseAcide, un outil d'aide à la modélisation Merise
MeriseAcide, programme sous licence GPL3, permet de faciliter la modélisation et la création de base de données en exploitant la méthode Merise.
Ce programme en interface console prend en entrée un fichier texte définissant un MCD (Modèle Conceptuel de Données) avec une syntaxe très simple. Il est possible d'obtenir le MCD et le MPD (Modèle Physique des Données) sous forme graphique, les éléments étant positionnés de manière entièrement automatique.
Enfin, le dictionnaire des données et le script SQL de création de la base de données peuvent aussi être générés.
MeriseAcide génère les diagrammes graphiques en PNG ou PDF, et positionne les éléments de manière entièrement automatique, grâce à l'utilisation de la bibliothèque Graphviz.
Ce programme en interface console prend en entrée un fichier texte définissant un MCD (Modèle Conceptuel de Données) avec une syntaxe très simple. Il est possible d'obtenir le MCD et le MPD (Modèle Physique des Données) sous forme graphique, les éléments étant positionnés de manière entièrement automatique.
Enfin, le dictionnaire des données et le script SQL de création de la base de données peuvent aussi être générés.
MeriseAcide génère les diagrammes graphiques en PNG ou PDF, et positionne les éléments de manière entièrement automatique, grâce à l'utilisation de la bibliothèque Graphviz.
Sortie du greffon Maven2 pour XRadar
XRadar est un outil de « reporting » qualité ciblant les projets Java/JEE. Il est publié sous licence BSD.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
Le greffon maven-xradar-plugin est maintenant disponible dans les dépôts Maven 2. Pour utiliser ce greffon, juste quelques lignes sont à ajouter à votre pom.xml.
Mais ce n'est pas tout : la version dynamique du greffon est déja en développement, une version release sera disponible sous peu.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
- PMD : outil de vérification de code ;
- Checkstyle : outil de vérification de formatage et présentation du code ;
- JavaNCSS : outil de métrique de code Java (nombre de lignes de code, de commentaires...) ;
- JDepend : outil d'analyse des dépendances entre classes et packages ;
- Ckjm : détermine les métriques issues des travaux de Chidamber et Kemerer tel que nombre de méthodes, couplages afférents, etc.
Le greffon maven-xradar-plugin est maintenant disponible dans les dépôts Maven 2. Pour utiliser ce greffon, juste quelques lignes sont à ajouter à votre pom.xml.
Mais ce n'est pas tout : la version dynamique du greffon est déja en développement, une version release sera disponible sous peu.
Codendi 3.6 : forge de Xerox
La version 3.6 de la plate-forme de développement collaboratif Codendi, éditée par XEROX et délivrée sous licence GPLv2, est sortie fin Juin. Développée à partir de la feuille de route qui avait été définie avec les clients, elle marque une évolution importante de la plate-forme puisqu’elle comprend une migration vers PHP5 et RedHat Enterprise Linux 5.
Pour mieux organiser la gestion des plans de tests, la nouvelle version intègre le gestionnaire de tests Salomé TMF. Les tests, qui peuvent être manuels ou automatiques, sont organisés en campagnes et exécutés, avec différents jeux de données, sur des environnements différents.
Codendi avance également dans le domaine de la collaboration en offrant un outil de messagerie instantanée. Basé sur le protocole XMPP (Jabber), il permet de mettre immédiatement en relation les membres d'un même projet.
Côté gestion de projet, il est désormais possible de créer des graphiques à partir des outils de suivi de Codendi. Les résultats pourront être affichés sous forme de camemberts, de barres ou de diagrammes de Gantt. Ces nouveaux modes de visualisation vont être utiles pour comprendre d'un coup d'œil la répartition des artefacts en fonction de certains critères. On peut afficher la répartition des anomalies en fonction de leur criticité, du composant impacté, ou des personnes qui les ont soumises. De même, les diagrammes de Gantt associés à la gestion de tâches permettent de visualiser facilement le plan de développement du projet, ainsi que son avancement par rapport au plan. L'ensemble de ces graphiques est complètement paramétrable par le chef de projet.
NdM : sur les forges logicielles libres de manière générale, voir aussi Planetforge.org.
Pour mieux organiser la gestion des plans de tests, la nouvelle version intègre le gestionnaire de tests Salomé TMF. Les tests, qui peuvent être manuels ou automatiques, sont organisés en campagnes et exécutés, avec différents jeux de données, sur des environnements différents.
Codendi avance également dans le domaine de la collaboration en offrant un outil de messagerie instantanée. Basé sur le protocole XMPP (Jabber), il permet de mettre immédiatement en relation les membres d'un même projet.
Côté gestion de projet, il est désormais possible de créer des graphiques à partir des outils de suivi de Codendi. Les résultats pourront être affichés sous forme de camemberts, de barres ou de diagrammes de Gantt. Ces nouveaux modes de visualisation vont être utiles pour comprendre d'un coup d'œil la répartition des artefacts en fonction de certains critères. On peut afficher la répartition des anomalies en fonction de leur criticité, du composant impacté, ou des personnes qui les ont soumises. De même, les diagrammes de Gantt associés à la gestion de tâches permettent de visualiser facilement le plan de développement du projet, ainsi que son avancement par rapport au plan. L'ensemble de ces graphiques est complètement paramétrable par le chef de projet.
NdM : sur les forges logicielles libres de manière générale, voir aussi Planetforge.org.
Topcased 2.0 est sorti
Le logiciel Topcased vient de sortir dans sa version 2.0.
Topcased est un atelier de développement pour les systèmes embarqués et/ou critiques (c'est-à-dire à très haute qualité de service, comme les avions ou fusées) basé sur l'ingénierie des modèles. Il est développé par un large consortium d'industriels, de sociétés de services et d'académiques. Tous les composants sont sous licences libres (essentiellement EPL 1.0) et se présentent majoritairement sous la forme de greffons Eclipse.
Topcased comprend notamment des ateliers de modélisation (UML 2.0, SysML, Ecore...), des générateurs de code (C, Java, Python), des frameworks de transformation de modèles, un générateur de documentation, un outil de traçabilité d'exigences, etc. Plus d'informations dans les release notes.
Des versions préassemblées ("RCP") de Topcased sont disponibles sur la page de téléchargement pour l'essayer directement.
Topcased a déjà été utilisé de façon opérationnelle pour des projets aéronautiques et spatiaux. N'hésitez pas vous aussi à tester Topcased et à nous faire part de vos retours et, nous l'espérons, de vos contributions !
Topcased est un atelier de développement pour les systèmes embarqués et/ou critiques (c'est-à-dire à très haute qualité de service, comme les avions ou fusées) basé sur l'ingénierie des modèles. Il est développé par un large consortium d'industriels, de sociétés de services et d'académiques. Tous les composants sont sous licences libres (essentiellement EPL 1.0) et se présentent majoritairement sous la forme de greffons Eclipse.
Topcased comprend notamment des ateliers de modélisation (UML 2.0, SysML, Ecore...), des générateurs de code (C, Java, Python), des frameworks de transformation de modèles, un générateur de documentation, un outil de traçabilité d'exigences, etc. Plus d'informations dans les release notes.
Des versions préassemblées ("RCP") de Topcased sont disponibles sur la page de téléchargement pour l'essayer directement.
Topcased a déjà été utilisé de façon opérationnelle pour des projets aéronautiques et spatiaux. N'hésitez pas vous aussi à tester Topcased et à nous faire part de vos retours et, nous l'espérons, de vos contributions !
Sortie de Netbeans 6.0
Netbeans, l'environnement de développement intégré multi-plate-forme développé par Sun, est sorti le 3 décembre dernier dans sa version 6. Cette nouvelle version de Netbeans est disponible sous une double licence : CDDL et GPL 2.0 avec exception classpath.
Tout comme Eclipse, Netbeans est un environnement de développement mais aussi une plate-forme ayant pour but de faciliter le développement des applications pour le bureau.
Bien sûr, cette nouvelle version apporte son lot d'améliorations et de nouveautés. Alors que jusqu'à présent Netbeans restait très orienté développement Java, une réécriture de l'éditeur a ouvert la porte à d'autres langages comme le C, C++, Ruby ou encore PHP. En outre de nombreuses fonctionnalités qui étaient fournies sous forme de plugins sont désormais incluses directement telles que le support de subversion ou le profiler d'applications Java.
Netbeans est téléchargeable sous forme de packs qui intègrent la base de l'IDE plus un certain nombre de plugins en fonction des objectifs du développeur : développement de services web, Ruby, J2ME, etc.
Tout comme Eclipse, Netbeans est un environnement de développement mais aussi une plate-forme ayant pour but de faciliter le développement des applications pour le bureau.
Bien sûr, cette nouvelle version apporte son lot d'améliorations et de nouveautés. Alors que jusqu'à présent Netbeans restait très orienté développement Java, une réécriture de l'éditeur a ouvert la porte à d'autres langages comme le C, C++, Ruby ou encore PHP. En outre de nombreuses fonctionnalités qui étaient fournies sous forme de plugins sont désormais incluses directement telles que le support de subversion ou le profiler d'applications Java.
Netbeans est téléchargeable sous forme de packs qui intègrent la base de l'IDE plus un certain nombre de plugins en fonction des objectifs du développeur : développement de services web, Ruby, J2ME, etc.
L'équipe de XRadar est heureuse et fière de vous annoncer la sortie de XRadar-0.99.2
XRadar est un outil de « reporting » qualité ciblant les projets Java/JEE, publié sous licence BSD.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
Ce projet offre une architecture, simple, légère, entièrement ouverte et facile à personnaliser, elle repose massivement sur XSLT et XPath pour générer son rendu HTML/SVG à partir de simples transformations.
Après une période d'activité réduite, les développements ont récemment repris activement, sous l'impulsion de nouvelle recrues (françaises). La carte de route du projet est en cours de rédaction, et de nombreuses nouvelles fonctionnalités sont à l'étude. Outre la correction de bogues, cette nouvelle version, avant la release 1.0, apporte principalement le support de JDK5 et la mise à jour de nombreuses dépendances.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
- PMD : outil de vérification de code
- Checkstyle : outil de vérification de formatage et présentation du code
- JavaNCSS : outil de métrique de code Java : nombre de lignes de code, de commentaires, etc.
- JDepend : outil d'analyse des dépendances entre classes et packages
- Ckjm : détermine les métriques issues des travaux de Chidamber et Kemerer tel que nombre de méthodes, couplages afférents, etc.
Ce projet offre une architecture, simple, légère, entièrement ouverte et facile à personnaliser, elle repose massivement sur XSLT et XPath pour générer son rendu HTML/SVG à partir de simples transformations.
Après une période d'activité réduite, les développements ont récemment repris activement, sous l'impulsion de nouvelle recrues (françaises). La carte de route du projet est en cours de rédaction, et de nombreuses nouvelles fonctionnalités sont à l'étude. Outre la correction de bogues, cette nouvelle version, avant la release 1.0, apporte principalement le support de JDK5 et la mise à jour de nombreuses dépendances.
Forum général.cherche-logiciel Gestion des exigences
31
oct.
2006
Bonjour,
Je suis à la recherche d'un logiciel de gestion des exigences.
J'ai vu que Salomé-TMF a un module de gestion des exigences, mais il ne me paraît pas assez complet à mon goût : En effet, j'aimerais pouvoir parcourir des documents de spécifications du client (MS Word par exemple) pour en déduire des exigences. Il semble que certains outils proprio sachent faire cela, mais existe-t-il des outils libres ?
Je suis à la recherche d'un logiciel de gestion des exigences.
J'ai vu que Salomé-TMF a un module de gestion des exigences, mais il ne me paraît pas assez complet à mon goût : En effet, j'aimerais pouvoir parcourir des documents de spécifications du client (MS Word par exemple) pour en déduire des exigences. Il semble que certains outils proprio sachent faire cela, mais existe-t-il des outils libres ?
Salome-TMF un outil de gestion de tests open source
Vous cherchez un outil de gestion de tests pour organiser la validation de vos projets, vous avez besoin d'automatiser les programmes de tests ou tout simplement vous avez besoin d'une solution libre pour travailler avec vos partenaires, alors Salomé-TMF peut correspondre à vos attentes.
La gestion de tests est une activité à part entière qui requiert un cadre organisationnel et l'utilisation d'outils spécifiques. Pour encadrer cette phase de test, il existe principalement sur le marché l’offre commerciale TestDirector de Mercury Interactive mais, peu de solutions libres. Salomé-TMF vise donc à combler ce vide.
Salomé-TMF est un outil de gestion de tests simple et puissant dont l'utilisation offre des gains immédiats en temps et en qualité grâce à la création d'un unique référentiel de tests pour le projet et à l'automatisation de l'exécution des tests.
La gestion de tests est une activité à part entière qui requiert un cadre organisationnel et l'utilisation d'outils spécifiques. Pour encadrer cette phase de test, il existe principalement sur le marché l’offre commerciale TestDirector de Mercury Interactive mais, peu de solutions libres. Salomé-TMF vise donc à combler ce vide.
Salomé-TMF est un outil de gestion de tests simple et puissant dont l'utilisation offre des gains immédiats en temps et en qualité grâce à la création d'un unique référentiel de tests pour le projet et à l'automatisation de l'exécution des tests.
Journal Conversions MySql / PostgreSQL et MCD/MPD
26
fév.
2005

Cher journal, je viens de (re-)trouver SQL::Translator pour effectuer des conversions entre PostgreSQL et MySQL [1] que je vais de ce pas essayer.
Mon objectif est de pouvoir générer des MCD (Modèle Conceptuel de Données) à partir des commandes de création de tables.
J'ai bien essayé DBDesigner4 pour générer automatiquement le MPD (Modèle Physique de Données) avec l'option Menu Database / Reverse Engineering mais cela ne fonctionne qu'avec des bases MySQL (pas PostgreSQL ou alors je n'ai pas trouvé...). D'ailleurs, (…)
Mon objectif est de pouvoir générer des MCD (Modèle Conceptuel de Données) à partir des commandes de création de tables.
J'ai bien essayé DBDesigner4 pour générer automatiquement le MPD (Modèle Physique de Données) avec l'option Menu Database / Reverse Engineering mais cela ne fonctionne qu'avec des bases MySQL (pas PostgreSQL ou alors je n'ai pas trouvé...). D'ailleurs, (…)
Objecteering/UML 5.3.0 est sorti sous Linux x86
Objecteering/UML, l'atelier de génie logiciel UML est à nouveau disponible sous Linux. Cette nouvelle version apporte notamment la gestion des phases amont, grâce à un nouveau module de recueil d'exigence entièrement refondu et un nouvel éditeur de traçabilité.
Et toujours, Objecteering/UML, basé sur la démarche MDA, vous propose ses générateurs de code C++, Java, Visual Basic, son module metric pour l'audit de modèle, et une intégration avec Eclipse.
À noter que la "personal edition" est gratuite pour usage non commercial.
NdM : côté logiciels libres, Umbrello UML Modeller 1.3.1 et Gaphor 0.7 sont parus en novembre.
Et toujours, Objecteering/UML, basé sur la démarche MDA, vous propose ses générateurs de code C++, Java, Visual Basic, son module metric pour l'audit de modèle, et une intégration avec Eclipse.
À noter que la "personal edition" est gratuite pour usage non commercial.
NdM : côté logiciels libres, Umbrello UML Modeller 1.3.1 et Gaphor 0.7 sont parus en novembre.






