mardi gras du 2 juin 2010 : csim2

Download Mardi gras du 2 juin 2010 : CSIM2

If you can't read please download the document

Upload: hortis

Post on 21-Jun-2015

828 views

Category:

Technology


0 download

DESCRIPTION

présentation de l'outil de réappropriation de code legacy

TRANSCRIPT

  • 1. Mardi Gras CSIM2 2 juin 2010 Pietro Descombes

2. Plan

  • CSIM2 en bref

3. Utilisation de l'outil 4. Fonctionnement 5. Approfondissement 6. Questions 7. Demos 8. En bref CSIM2 QESACO? CSIM2 ? partenariat Moyen Analyse dynamique du code (excution) Analyse dynamique du code (excution) moyen se rapproprier le code oublibut appariement entre les lments recherchs et les composants du code source rsultat Comprhension de Systmes d'Information Bas sur la Modlisation Mtier concours pour trouver un nom plus sexy signification technologies 9. En bref Partenariat Jrme Layat Julien Repond Prof. Philippe Dugerdil Pietro Descombes 10. En bref Problmatique: la rappropriation ~ 50-90%du cot demaintenance

  • [source: Standish group]

11. En bref Problmatique: foss entre le code et le domaine mtier

  • la technique comble le foss entre le code et le domaine conceptuel

12. En bref Appariement (rsultat) Diagramme de robustesse ( MVC) Code source if ( IsTrue ) { doSomething(); } 13. Utilisation Edition des diagrammes Cas d'utilisation (use-case) Diagramme de robustesse ( MVC) tape description 1 clic sur le bouton 2 calcul 3 affichage du rsultat 14. Utilisation Instrumentation du code class C1 { mthode1() { // corps } mthode2() { // corps } } class C1 { mthode1() { sondeDbut(C1.class," mthode1 "); // corps sondeFin(C1.class," mthode1 "); } mthode2() { sondeDbut(C1.class," mthode2 "); // corps sondeFin(C1.class," mthode2 "); } } instrumentation sondeDbut(Class c, String mthode) { // gnration de la trace } sondeFin(Class c, String mthode) { // gnration de la trace } appels trace 12123 entre C1.mthode1() 12255 entre C1.mthode2() 12325 sortie C1.mthode2() 13003 sortie C1.mthode1() excution 15. Utilisation Excution de l'application ( + traage) trace tape description 1 clic sur le bouton 2 calcul 3 affichage du rsultat 16. Fonctionnement Ressources analyseurs cas d'util. scnario robustesse code source trace 17. Fonctionnement Ressources -> faits les faits de base : fait de base fait gnr depuis un analyseur (une ressource) analyseurs de ressources fait fait fait fait (de base) 18. Fonctionnement Trouver un fait de base? Exemple... oui analyseur de code source tend JFrame? ClassHasStereotype designClass = C stereotype = boundary certitude = leve class C extends JFrame { // contenu } Code source 19. Fonctionnement Infrence fait infr fait fait fait fait moteur d'infrence rgle 20. Fonctionnement Rgles robustnessClassIsIn Step(R, i) classIsIn Step(C, i) & joint Occurrence (R, C) Rgle" ex " Rgle"topo" match (C1, B1) robustnessCollaborate (B1, B2) & clases Collaborate (C1, C2) & joint Occurrence (C2, B2) ... & si match (C2, B2) alors 21. Approfondissement Cration de nouveaux faits rgle 1 fait f2 fait f1 formule de certitude1 fait f5 fait f5 fait f3 fait f2 rgle 2 formule de certitude2 formule de fusion 3 fait f5 cor-rla-tion 22. Approfondissement Appariement temporel 23. Approfondissement Appariement structurel 24. Suite

  • diteur de cas d'utilisations

25. Cas concret

  • Un nom prononable et parlant !
  • aussi par mail: [email_address]

Dmos Questions ? Apro ! Concours