Your SlideShare is downloading. ×
  • Like
  • Save
Processus de développement
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Processus de développement

  • 559 views
Published

Présentation du processus de développement dans la R&D IRCAD FR lors d'une journée XStra-dev à Strasbourg

Présentation du processus de développement dans la R&D IRCAD FR lors d'une journée XStra-dev à Strasbourg

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
559
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. La production de logiciels ` l’IRCAD a J. Moreau IRCAD 24 septembre 2012J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 1 / 72
  • 2. Qui suis-je ? Johan Moreau @ : Johan.Moreau sur gmail.com R.S.I de l’Institut de Recherche contre les Cancers de l’Appareil Digestif Ing´nieur d´veloppement et r´seaux dans l’´quipe R&D e e e e http://www.ircad.fr/ Membre du bureau des associations Clusir-Est et Elsass-JUG Participation ` divers projets opensource (nagios-i18n, kosmos-i18n, a SConspiracy, FW4SPL, RMLL, ...) Enseignements : G´nie logiciel/POO, SSI/SSR, ... e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 2 / 72
  • 3. Objectif de cette pr´sentation e Pr´senter l’environnement, les objectifs et les processus e Pr´senter les architectures choisies et les outils e Pr´senter les r´alisations e e Partager l’exp´rience et d´battre sur les choix e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 3 / 72
  • 4. Institut et objectifsPlan1 Institut et objectifs2 Production et m´thodes e3 Framework de d´veloppement : FW4SPL e4 Logiciels bas´s sur FW4SPL e5 Prototypes et explorations J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 4 / 72
  • 5. Institut et objectifsEvolution de la chirurgie → J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 5 / 72
  • 6. Institut et objectifs1987 France : Chirurgie mini-invasive J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 6 / 72
  • 7. Institut et objectifsIRCAD : 4100 chirurgiens par an, 92 pays J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 7 / 72
  • 8. Institut et objectifsIRCAD : 17 tables d’op´rations e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 8 / 72
  • 9. Institut et objectifs2`me ´volution de la chirurgie e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 9 / 72
  • 10. Institut et objectifsIRCAD : 600 chirurgiens par an J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 10 / 72
  • 11. Institut et objectifsIRCAD : Enseignement en ligne >250 000 membres J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 11 / 72
  • 12. Institut et objectifsIHU : Chirurgie mini-invasive hybride guid´e par l’image e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 12 / 72
  • 13. Institut et objectifsIHU : Chirurgie mini-invasive hybride guid´e par l’image e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 13 / 72
  • 14. Institut et objectifsIHU : Le bloc op´ratoire de demain e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 14 / 72
  • 15. Production et m´thodes ePlan1 Institut et objectifs2 Production et m´thodes e3 Framework de d´veloppement : FW4SPL e4 Logiciels bas´s sur FW4SPL e5 Prototypes et explorations J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 15 / 72
  • 16. Production et m´thodes eProduction logiciel en g´n´ral e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 16 / 72
  • 17. Production et m´thodes eM´thodologie Scrum e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 17 / 72
  • 18. Production et m´thodes eProbl´matique ´quipe Recherche et D´veloppement e e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 18 / 72
  • 19. Production et m´thodes eConception logiciel ` l’IRCAD a J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 19 / 72
  • 20. Production et m´thodes eDu macroplanning ` la ligne de code a J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 20 / 72
  • 21. Production et m´thodes eDu macroplanning ` la ligne de code : les outils a J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 21 / 72
  • 22. Production et m´thodes eGestion des sources J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 22 / 72
  • 23. Production et m´thodes eGestion des sources avec des partenaires J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 23 / 72
  • 24. Production et m´thodes ePolitique de branches et d´pˆts e o J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 24 / 72
  • 25. Production et m´thodes eR´partition sources publiques/priv´es : trac e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 25 / 72
  • 26. Production et m´thodes eZone de collaborations : Co’Lab J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 26 / 72
  • 27. Production et m´thodes eZone publique : Google Code J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 27 / 72
  • 28. Production et m´thodes eR´partition code d´velopp´/code utilis´ e e e eLibrairies utilis´es dans les projets : eann, apr, aprutil, boost, camp, cfitsio, cppunit, dbghelp, dcmtk, expat,fits2itk, freetype, gdcm, glew, glext, glut, graphviz, icu4c, itk, jpeg, lib3ds,libiconv, libpng, libxml2, log4cxx, mathplotlib, numpy, ogre, opencv,openssl, python, qt, sofa, tiff, uuid, vmtk, vtk, vtkinria3d, vxl, wxwidgets,zlib, ...Ceci repr´sente : e 4,5 Go de donn´es en comparaison de 66 Mo pour FW4SPL e Rapport de 1 pour 60 ! J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 28 / 72
  • 29. Production et m´thodes eLes tests : cppunit, sikuli, testlink, ...Pour les tests : Les tests unitaires avec cppunit Les tests fonctionnels automatiques avec sikuli Les tests fonctionnels manuels avec testlinkPour les aspects qualit´/qualim´trie : e e La qualit´ C++ avec cppcheck e La gestion m´moire avec Valgrind e CCCC pour la complexit´ ePour les documents des d´veloppeurs : e Convention de codage Convention de niveau de log et d’exception Documentation sur Mercurial et SConspiracy, etc ... J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 29 / 72
  • 30. Framework de d´veloppement : FW4SPL ePlan1 Institut et objectifs2 Production et m´thodes e3 Framework de d´veloppement : FW4SPL e4 Logiciels bas´s sur FW4SPL e5 Prototypes et explorations J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 30 / 72
  • 31. Framework de d´veloppement : FW4SPL ePASSPORTPatient-Specific Simulation for Pre-Operative Realistic Training of Liver Surgery FP7, ICT-2007.5.3 : 2008-2011 J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 31 / 72
  • 32. Framework de d´veloppement : FW4SPL eProcessus IRCAD : bas´ sur FW4SPL e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 32 / 72
  • 33. Framework de d´veloppement : FW4SPL eObjectifs D´veloppement rapide pour cr´er des applications/prototypes e e m´dicaux en multi OS, multi architecture e R´utilisation maximale du code source e Int´grer les travaux des collaborations (priv´e/open) et des stagiaires, e e th´sards et chercheurs e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 33 / 72
  • 34. Framework de d´veloppement : FW4SPL eFrameWork for Software Production Line Architecture bas´e composant et centr´e sur les donn´es e e e C++/Python - LGPL 1 OSX/Linux/Windows - iOS/Meego/Android en cours Utilisation maximale des FLOSS (gdcm, Qt, wxWidgets, VTK/ITK, Ogre, openni, sofa, ...) 1. http://code.google.com/p/fw4spl J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 34 / 72
  • 35. Framework de d´veloppement : FW4SPL eHistorique 2004-2007 : projet FW4SPL (non FLOSS) 2007-2009 : VRRender (freeware) 09/2009 : FW4SPL en FLOSS 2010 : Sofa, VRRender WLE 2 (freeware) 2011 : Kinect, VRRender 0.9 (FLOSS) 2012 : Ogre, multithread, ... 2. www.websurg.com/softwares/vr-render/ J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 35 / 72
  • 36. Framework de d´veloppement : FW4SPL eArchitecture centr´e sur les donn´es e e Design traditionnel : les besoins fonctionnels et structurels sont stock´s dans la mˆme classe e e Design FW4SPL : Les structures sont atomiques (les plus petites possibles) avec un syst`me d’extension dynamique 3 e D´j` pr´sent dans des langages de haut-niveau (Python, Ruby, etc ea e ...), mais plus complexe sur du C++ 3. A design pattern coupling role and component concepts : Application to medicalsoftware. Jean-Baptiste Fasquel, Johan Moreau J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 36 / 72
  • 37. Framework de d´veloppement : FW4SPL eArchitecture bas´e composants e Design traditionnel : logiciel monolithique (ou avec 1 syst`me de e point d’entr´e : plugin) e Design FW4SPL : Toutes les parties des logiciels bas´s sur FW4SPL e peuvent ˆtre ´tendues e e 4Autres exemple de CBSE (Component-based software engineering) XP-Com (Mozilla), OSGi (Eclipse), Unity3D 4. A modular and evolutive component oriented software architecture for patient mo-deling. Jean-Baptiste Fasquel, Guillaume Brocker, Johan Moreau J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 37 / 72
  • 38. Framework de d´veloppement : FW4SPL eB´n´fice de l’architecture e e Am´liore l’extensibilit´ (fonctionnelle et technique) e e Simplifie la maintenance (tests simples toujours possible) Facilit´ le remaniement (ajout de nouveau concept dans le noyau avec e un effort correct) J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 38 / 72
  • 39. Framework de d´veloppement : FW4SPL eVisualisation et diagramme OSRApplication basique centr´e sur un maillage avec 3 services e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 39 / 72
  • 40. Framework de d´veloppement : FW4SPL eVisualisation et diagramme OSRMˆme exemple avec 2 donn´es : maillage et image e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 40 / 72
  • 41. Framework de d´veloppement : FW4SPL eDossier d’un composant Fichier de description XML ( plugin.xml ) pour d´crire le contenu de e la librairie dynamique Librarie dynamique ( .so, .dll, .dylib) Autres ressources ( icones, fichier xsd, sons, ... ) J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 41 / 72
  • 42. Framework de d´veloppement : FW4SPL eExemples de composants Exemples de composants J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 42 / 72
  • 43. Framework de d´veloppement : FW4SPL eExemples de composants Composants utilis´s e VR-Render (open-source) J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 43 / 72
  • 44. Framework de d´veloppement : FW4SPL eExemples de composants Composants utilis´s e AR-Surg (close-source) J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 44 / 72
  • 45. Framework de d´veloppement : FW4SPL eExemples de composants Composants utilis´s e VR-Anat (closed-source) J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 45 / 72
  • 46. Framework de d´veloppement : FW4SPL eFonctionnalit´s ” coeur” e du Configuration de l’application (IHM inclue) via XML Synchronisation d’´v`nement e e S´rialisation de donn´es en XML/ZIP e e Gestion de la m´moire intra-application e Scene 2D/3D g´n´rique (VTK/Ogre/Qt) e e Python embarqu´ e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 46 / 72
  • 47. Framework de d´veloppement : FW4SPL eFonctionnalit´s ” e utilisateur” Gestion des donn´es chirurgicales et radiologiques e Visualisation d’image 2D/3D et de maillages Rendu volumique GPU/CPU Rendu mixte volumique et surfacique Lecture/Ecriture d’images et de maillages dans de nombreux formats Interaction 2D/3D (lab´lisation, mesures, ...) e ”Tracking” calibration, recalage, traitement d’images, ... , J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 47 / 72
  • 48. Framework de d´veloppement : FW4SPL eExemple de rendu J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 48 / 72
  • 49. Framework de d´veloppement : FW4SPL eExemple de rendu J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 49 / 72
  • 50. Framework de d´veloppement : FW4SPL eExemple de rendu J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 50 / 72
  • 51. Framework de d´veloppement : FW4SPL eRecalage automatique du mod`le 3D et des vues r´elles e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 51 / 72
  • 52. Framework de d´veloppement : FW4SPL eSofa et Kinect J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 52 / 72
  • 53. Framework de d´veloppement : FW4SPL eM´triques e Augmentation de 100% des KLOC en 2011 Estimation ohloh.net : 4 400 k$ (sans d´pendances externes) e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 53 / 72
  • 54. Framework de d´veloppement : FW4SPL eAvenir Finir l’int´gration du multithread dans le coeur, graphe de sc`ne, ... e e Remaniement des structures de donn´es (introspection) et de la e s´rialisation e Am´lioration des performances et du support vid´o e e Ajout du traitement d’image avanc´ (support OpenCL) e Int´gration dans les distributions Linux (via Debian-med) e Internationalisation Am´lioration des tests unitaires et fonctionnels et couverture e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 54 / 72
  • 55. Framework de d´veloppement : FW4SPL eAutres FLOSS @ IRCAD : Pr´c´demment e e vgSDK : moteur 3D http ://code.google.com/p/vgsdk LGPL depuis 2004 - a ´volu´ vers d’autres horizons e e yams++ : Syst`me de construction (cible C++) / BSD e fork vers SConspiracy BSD depuis 2004 - projet abandonn´e dicomLib : Librairie Dicom / LGPL Uniquement CT-Scan LGPL depuis 2004 - projet abandonn´ e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 55 / 72
  • 56. Framework de d´veloppement : FW4SPL eAutres FLOSS @ IRCAD : SConspiracy Syst`me de construction (cible C++) e Gestion des cibles simplifi´es (´xecutable, librairie, etc ...) e e Gestion des d´pendances simplifi´es e e Gestion des librairies externes (Boost, Qt, VTK, ITK, ...) Syst`me de plugin (color, cppunit, qt, doxygen, qtcreator, eclipse, ...) e Licence BSD, Python 2.7, SCons >= 1.3 J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 56 / 72
  • 57. Framework de d´veloppement : FW4SPL eAutres FLOSS @ IRCAD : IRCADb Base de donn´es m´dicale en licence e e Creative Commons Tumeurs h´patiques du e foie (20 cas) Mod`le patient (10 cas) e Image m´dicale + e Image m´dicale + mod`les 3D e e segmentaton + mod`les e Mod`le de respiration (1 cas) e 3D Image m´dicale + segmentations + e En cours mod`les 3D e parathyroides(20), foies(30), ... J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 57 / 72
  • 58. Logiciels bas´s sur FW4SPL ePlan1 Institut et objectifs2 Production et m´thodes e3 Framework de d´veloppement : FW4SPL e4 Logiciels bas´s sur FW4SPL e5 Prototypes et explorations J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 58 / 72
  • 59. Logiciels bas´s sur FW4SPL eTraitement d’images : VR-Anat 5 5. An interactive medical image segmentation system based on the optimal manage-ment of regions of interest using topological medical knowledge. Jean-Baptiste Fasquel,Vincent Agnus, Johan Moreau J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 59 / 72
  • 60. Logiciels bas´s sur FW4SPL eTraitement d’images : VR-Anat J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 60 / 72
  • 61. Logiciels bas´s sur FW4SPL eTraitement d’images : VR-Anat J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 61 / 72
  • 62. Logiciels bas´s sur FW4SPL eLes autres sujets Traitement d’images interactif R´alit´ augment´e (tracking, calibration, ...) e e e Simulation ... J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 62 / 72
  • 63. Logiciels bas´s sur FW4SPL eVisible Patient Lite Smartphone avec OpenGL ES via Web avec WebGL dans MIDAS VES J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 63 / 72
  • 64. Prototypes et explorationsPlan1 Institut et objectifs2 Production et m´thodes e3 Framework de d´veloppement : FW4SPL e4 Logiciels bas´s sur FW4SPL e5 Prototypes et explorations J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 64 / 72
  • 65. Prototypes et explorationsPrototype Python stagiaires th´sards e exp´rimentation particuli`re e e outils p´riph´riques (build, ticket, ...) e e J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 65 / 72
  • 66. Prototypes et explorationsPyMetris - Tracking d’endoscope : Aurora J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 66 / 72
  • 67. Prototypes et explorationspyMetris - visuel J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 67 / 72
  • 68. Prototypes et explorationspyMetris - Utilisations des packages pour pyMetris Tracking Rendering pyMetris Softwares Analysis IPython NumPy + SciPy Eric IDE Serialization cPickle J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 68 / 72
  • 69. Prototypes et explorationsAutres usages de Python Stage en cours Traitement d’images m´dicales e LINC-IPB / Julien Lamy http ://code.google.com/p/medipy/ Interconnexion FW4SL - medipy J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 69 / 72
  • 70. Un peu de pub ...J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 70 / 72
  • 71. elsassjug et elsassaug 11 octobre - OSGI 18 octobre - Agile Tour Strasbourg 24 octobre - Plus belle la vie avec HTML5 et CSS3 J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 71 / 72
  • 72. J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 72 / 72