Processus de développement

911 vues

Publié le

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

Publié dans : Technologie
3 commentaires
1 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
911
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
0
Commentaires
3
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Processus de développement

  1. 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. 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. 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. 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. 5. Institut et objectifsEvolution de la chirurgie → J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 5 / 72
  6. 6. Institut et objectifs1987 France : Chirurgie mini-invasive J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 6 / 72
  7. 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. 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. 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. 10. Institut et objectifsIRCAD : 600 chirurgiens par an J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 10 / 72
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22. Production et m´thodes eGestion des sources J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 22 / 72
  23. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 66. Prototypes et explorationsPyMetris - Tracking d’endoscope : Aurora J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 66 / 72
  67. 67. Prototypes et explorationspyMetris - visuel J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 67 / 72
  68. 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. 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. 70. Un peu de pub ...J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 70 / 72
  71. 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. 72. J. Moreau (IRCAD) La production de logiciels ` l’IRCAD a 24 septembre 2012 72 / 72

×