Une usine logicielle est un ensemble d’outils pré-configurés, de frameworks, de conventions, de processus, de documentations et de modèles de projets qui structurent les développeurs et leurs développements.
L’objectif est d’automatiser au maximum la production et la maintenance des applications afin d’améliorer leur qualité et le « time to market ».
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
Scub Foundation est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements. Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Plus d'informations à http://www.scub-foundation.org
Objectifs du socle
- Ne pas réinventer la roue ! (Intégration d'Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…).
- Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques.
- Avoir des tâches automatisées pour l'ensemble du cycle de vie du projet (compilation, packaging, test…).
- Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation).
- Gestion automatique des dépendances / librairies.
- Gérer les différents environnements (Test / Développement / Pré production / Production…).
Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.
Une usine logicielle est un ensemble d’outils pré-configurés, de frameworks, de conventions, de processus, de documentations et de modèles de projets qui structurent les développeurs et leurs développements.
L’objectif est d’automatiser au maximum la production et la maintenance des applications afin d’améliorer leur qualité et le « time to market ».
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
Scub Foundation est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements. Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Plus d'informations à http://www.scub-foundation.org
Objectifs du socle
- Ne pas réinventer la roue ! (Intégration d'Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…).
- Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques.
- Avoir des tâches automatisées pour l'ensemble du cycle de vie du projet (compilation, packaging, test…).
- Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation).
- Gestion automatique des dépendances / librairies.
- Gérer les différents environnements (Test / Développement / Pré production / Production…).
Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.
Conférence: L'assurance qualité au-delà de la qualité logiciellegeosaa
www.focusintelligence.ca
blog.focusintelligence.ca
Conférence donné par
Georges Saad de Focus Intelligence sur l'assurance qualité en mode Agile.
Le 12-05-2009 Pour la communauté Agile de Québec.
AddInn Tunisie - Nos offres de stage 2020Aymen ZNAIDI
Chers étudiants,
Dans le cadre de notre recrutement annuel de stagiaires, nous proposons les projets détaillés ci-dessous !
Si vous souhaitez postulez, n'hésitez pas à me communiquer vos CVs sur mon adresse mail : aymen.znaidi@addinn.com
Chaque industrie possède un élément clé dans son modèle économique. Dans l'industrie du développement, le facteur de succès est sans conteste le capital humain. Savoir recruter les meilleurs développeurs est une chose difficile mais les amener à réaliser leur plein potentiel l'est tout autant. En ouvrant le code à d'autres développeurs, les revues de code permettent de rompre l'isolement et de partager les connaissances afin de créer des émulations positives au sein des équipes. Nous verrons les gains qu'on peut attendre de cette pratique, les différentes formes (formelles, itératives, pair programming, etc.) qu'elle peut prendre ainsi que les écueils à éviter pour en tirer pleinement parti.
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
Conférence: L'assurance qualité au-delà de la qualité logiciellegeosaa
www.focusintelligence.ca
blog.focusintelligence.ca
Conférence donné par
Georges Saad de Focus Intelligence sur l'assurance qualité en mode Agile.
Le 12-05-2009 Pour la communauté Agile de Québec.
AddInn Tunisie - Nos offres de stage 2020Aymen ZNAIDI
Chers étudiants,
Dans le cadre de notre recrutement annuel de stagiaires, nous proposons les projets détaillés ci-dessous !
Si vous souhaitez postulez, n'hésitez pas à me communiquer vos CVs sur mon adresse mail : aymen.znaidi@addinn.com
Chaque industrie possède un élément clé dans son modèle économique. Dans l'industrie du développement, le facteur de succès est sans conteste le capital humain. Savoir recruter les meilleurs développeurs est une chose difficile mais les amener à réaliser leur plein potentiel l'est tout autant. En ouvrant le code à d'autres développeurs, les revues de code permettent de rompre l'isolement et de partager les connaissances afin de créer des émulations positives au sein des équipes. Nous verrons les gains qu'on peut attendre de cette pratique, les différentes formes (formelles, itératives, pair programming, etc.) qu'elle peut prendre ainsi que les écueils à éviter pour en tirer pleinement parti.
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Xavier NOPRE
Diaporama de ma présentation "Agilistes : n'oubliez pas la technique" le 25/04/2013 à Mix-IT 2013. N'hésitez pas à me faire des retours et me contacter !
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
Présentation en français
Comment évaluer la qualité d'un logiciel ?
Quels outils de qualimétrie logiciel choisir ?
Entreprise Software Analitic
Comment valider les livrables de vos fournisseurs avec le support d'ALL4TEST et de ces outils de qualimétrie ?
Oracle Cloud Toolbox :
- Une boite à outils de migration des environnements Java & Oracle Middleware On-Premise vers le Cloud Oracle.
- Une solution Lift & Shift 100% automatisée.
- Repose sur les API et les standards Oracle.
- Compatible DevOps
- Implémente les normes de production et les bonnes pratiques d’administration, d’exploitation et de sécurité.
Similaire à Solutions Linux2008 Construire Sa Vision Qualite (20)
1. Construire sa vision qualité Java avec
des logiciels libres
Salon Solution Linux 2008
2. Nous
✔François Le Droff :
✔francois.le.droff@gmail.com
✔http://www.droff.com
✔Romain Pelisse
✔belaran@gmail.com
✔http://belaran.eu/
Salon Solution Linux 2008
3. La Qualité Logicielle : Définition
✔Pas de définition universelle
✔La qualité, c’est l’aptitude d’un ensemble de caractéristiques
intrinsèques d’un produit, d’un système ou d’un processus à
satisfaire les exigences des clients et autres parties
intéressées (ISO 9000-2000).
✔ quot;la qualité, c'est l'aptitude à l'emploiquot;
✔ quot;la qualité, c'est la conformité aux spécificationsquot;
Salon Solution Linux 2008
4. Hors Sujet
✔Cette présentation n'est pas sur
✔Le modèle CMM
✔Les modèles Qualité ISO :ISO 9000-2000, ISO 9126,
quot;Technologies de l’Information : Qualités des produits logicielsquot;
✔Les modèles Mc Call (US Air Force: 23 Facteurs de qualité, 300
métriques) et ses nombreux dérivés : Boehm, FORSE, QUIM
✔La qualité en terme de quot;conformité aux besoinsquot;
Salon Solution Linux 2008
5. Agenda :
✔ Le contrôle qualité de code (Java)
✔Pourquoi ?
✔Qui ?
✔Quand ?
✔Quoi ?
✔Comment ?
✔ Industrialiser et automatiser
✔ Comment agréger, historiser, analyser, synthétiser et communiquer vos rapports de
contrôle ?
✔ Trouver votre niveau d'exigence, affiner et capitaliser vos critères et vos contrôles de
qualité ?
Salon Solution Linux 2008
6. Pourquoi ? Les statistiques
✔ 80% des entreprises négligent la qualité logicielle
✔1 projet sur 3 n'est pas livré, 2/3 ne passent pas la recette
✔9/10 sont livrés en retard
✔70% du budget : maintenance
✔40% de cette maintenance à la réécriture
✔ (source compureware)
Salon Solution Linux 2008
7. Pourquoi ?
une obligation professionnelle
Salon Solution Linux 2008
8. Quelques citations
«“Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.”
~M. Fowler
“You can't control what you can't measure.quot;
~Tom DeMarco
“Controlling complexity is the essence of computer programming.”
~Brian Kernighan.
“There does not now, nor will there ever exist, a programming language
in which it is the least bit hard to write bad programs.”
~Lawrence Flon
“Programs for sale: fast, reliable, cheap - choose two.”
~Author Unknown
Salon Solution Linux 2008
9. Pourquoi ? La qualité c'est fun !
✔La qualité c'est fun, enrichissant, c'est à la mode, c'est
sexy ... c'est agile, c'est scrum et tdt friendly, c'est web2.0
c'est SOA c'est la QOA !
Salon Solution Linux 2008
10. Pourquoi ? Votre code : c'est votre
réputation, votre publicité
✔Programmer c'est « publier » (une API)
✔« APIs are for ever »
✔Une API de qualité :
✔ simple
✔addictif !
Une fois adoptée,
on refuse d'en changer !
Salon Solution Linux 2008
12. Pourquoi s'en priver ?
✔En un mot : la qualité c'est bon, mangez-en
Salon Solution Linux 2008
13. Qui ? Cibler tous les métiers
✔ L'architecte :
✔ Facilite le respect de l'ensemble des règles ;
✔ Définit les contraintes d'architecture spécifiques
✔ Le développeur :
✔ Assisté par les outils, intégré à l'IDE
✔ Qualité garantie à la source (démarche proactive)
✔ L'intégrateur/recetteur :
✔ veille au respect des règles au quotidien (intégration continue)
✔ assure la recevabilité technique.
✔ Le chef de projet de la MOE :
✔ planifie et prend les mesures nécessaires au respect des exigences qualité
Salon Solution Linux 2008
14. Quand ?
✔ Tout au long du cycle du vie du projet
✔Éviter l'effet tunnel
✔Contractualiser les exigences
✔Mode itératif
✔ Contrôle qualité continu
✔Au cours du développement
✔Build, intégration continue
✔Recette
Salon Solution Linux 2008
15. Quoi ?
Les Axes du contrôle Qualité du code
✔Contrôle de :
✔Taille/métrique du code
✔Lisibilité du code (cohérence du style et nommage, organisation
des sources :rendre une copie propre)
✔Documentation
✔Respect des règles de programmation (nombreux sous domaines)
✔Respect des règles de paquetages, de modularité, de dépendances
et d'architecture en couche
✔Test et couverture de test
Salon Solution Linux 2008
16. Quoi ? Les indicateurs recherchés
✔Usabilité / Lisibilité
✔Maintenabilité
✔Efficacité / Performance
✔Portabilité
✔Fiabilité
✔Testabilité
✔ Ne pas mesurer pour mesurer
Salon Solution Linux 2008
17. Quoi ? Faites votre marché
Salon Solution Linux 2008
27. la taille du code : le pire ennemi ?
✔Nombre de lignes de code
✔total
✔par fichier/classe
✔par méthode
✔Détection de copié-collé
✔La complexité cyclomatique
Salon Solution Linux 2008
28. Comment ?
✔« c’est à ses outils qu’on reconnait un bon ouvrier »
Salon Solution Linux 2008
29. Analyse statique de code source Java
✔ Les Contrôleur de code ✔ Pré requis unique : un code syntaxiquement correct
✔ PMD, ✔ ré-utilise l'arbre syntaxique abstrait (AST) fourni par
javacc
✔ CheckStyle (bluecheckstyle, ✔ Fonctionnalités: contrôlent
jjguidelines), ✔ le style et les règles de nommage,
✔ Hammurapi, ✔ les erreurs d'encapsulation,
✔ les erreurs de programmations, de design,
✔ FindBugs, ✔ les erreurs de gestion et l'utilisation des exceptions,
✔ PatternTesting, ✔ les erreurs de gestion mémoire,
✔ les erreurs de synchronisation défectueuses
✔ lint4j, jcsc, ✔ et détecte une partie du code mort/inutile
✔ QJ-Pro
✔ Contrôle et refactoring:
✔ Eclipse : Spoon, TPTP
✔ Netbeans : Jackpot
Salon Solution Linux 2008
34. Analyse de byte code Java
✔ Gestion des dépendances externes
✔ Connaissance et maîtrise des dépendances
✔transitivité
✔ Détection des incompatibilités
✔ Quelques outils :
✔ Clirr, Maven, Ivy
Salon Solution Linux 2008
35. Analyse de byte code Java
✔ Indicateurs métriques 00 et architecture :
✔ JDepend, Classycle, CKJM, Macker
✔ Eclipse plugins : CAP, Metrics, ByeCycle
✔ Exemple :
✔ calcul et graphe de dépendances
Salon Solution Linux 2008
36. Analyse de byte code Java
✔ Métriques de package
✔ Nombres de classes concrètes, abstraites, publiques
✔ Nombres d'interfaces
✔ Graphe de dépendances de packages :
✔ couplage afférent et efférent
✔ Détection de dépendances cycliques
✔ Degré d’abstraction
✔ Degré d'instabilité
✔ Distance normale
Salon Solution Linux 2008
38. Tests et couverture de test
✔ Test unitaires ✔ Couverture des tests
✔ JUnit, testNG, JMockit, DbUnit, ✔ Cobertura, Emma avec ant parmaven,
et
Unitils.... ✔ Plugins eclipse : EclEmma exemple
Salon Solution Linux 2008
40. Build et intégration continue
✔Outils de build systématique, unifié et standardisé
✔Ant ✔Maven
✔Intégrer le contrôle qualité et les tests au cycle de vie du
build
✔ Règles d 'échec au build (au commit ?)
✔ Production de rapports, de synthèses
✔Machine dédiée
✔ Build
✔Intégration continue
✔Historisation des résultats
Salon Solution Linux 2008
41. Démo : intégration au build
✔maven et son écosystème
✔Démo
PS: on peut aussi le faire avec ant (plus de scripts à
développer)
Salon Solution Linux 2008
42. Outils d'agrégation, de synthèse et
d'historisation ?
✔Option 1: construisez le vôtre :
✔Rapport html / excel
Salon Solution Linux 2008
43. Outils d'agrégation, de synthèse et
d'historisation ?
✔Exemple de rapport excel
Salon Solution Linux 2008
47. XRadar
✔Caractéristiques techniques
- Pas de base de données, simple fichiers - Sortie HTML (ou XML)
- Performant, peu d'exigence matérielle
- Intégration dans les builds
Oui
Partielle
- Moteur à base de transformation XML
Q2 2008
Salon Solution Linux 2008
48. XRadar
✔« Killing Features »
✔ Agrège les résulats de nombreux outils d'analyses de code OSS
✔ Intégration dans les outils de builds Ant et Maven
✔ Historisation, analyse de la tendance qualité du projet:
✔ Synthèse graphique:
✔ Analyse complète, du plus bas niveau ( code) au plus haut (architecture)
Salon Solution Linux 2008
50. Autres Outils OS
✔Historisation
✔QALab ✔Maven Dashboard
Salon Solution Linux 2008
51. Facteurs clés de réussite:
une qualité active
✔ Implication des sponsors
✔ Adhésion des développeurs,
✔chacun des acteurs du projet
✔ Ne pas repousser les tests et mesures en fin de projet
✔ Formaliser ses exigences
✔ne pas mesurer pour mesurer
✔intégrer la qualité à la recette aux contrats
✔ Outillage intégré et adapté
✔ Communiquer et fournir des rapports synthétiques aux décideurs.
Salon Solution Linux 2008
54. Références : biblio
✔ «Charte de Développement Java/J2EEquot;» (Réf. : CharteDevJavaJ2EE - août 2006) , François Le Droff,
Xavier Chatelain
✔ réalisé pour le compte de la DGI par « Atos Origin Open Source Center »
✔ « Effective Java: Programming Language Guide », Joshua Bloch
✔ « OO Design Quality Metrics », Robert Martin
✔ « Langage Java », Philippe Prados
✔ http://lil.univ-littoral.fr/~oumoumsack/qualite/
✔ http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf
✔ http://www.infoq.com/presentations/effective-api-design
✔ http://www.infoq.com/news/Ken-Schwaber-Sacrificing-Quality
✔ http://www.quotegarden.com/programming.html
Salon Solution Linux 2008