Mardi Gras – CSIM2 – 2 juin 2010 Pietro Descombes
Plan CSIM2 en bref
Utilisation de l'outil
Fonctionnement
Approfondissement
Questions
Demos
En bref – CSIM2 QESACO? CSIM2   ? partenariat Moyen Analyse dynamique du code (exécution) Analyse dynamique du code (exécution) moyen se réapproprier le code oublié  but appariement entre les éléments recherchés et les composants du code source résultat Compréhension de Systèmes d'Information Basé sur la Modélisation Métier concours pour trouver un nom plus sexy signification technologies
En bref – Partenariat Jérôme Layat Julien Repond Prof. Philippe Dugerdil Pietro Descombes
En bref – Problématique : la réappropriation ~ 50-90%  du   coût de  maintenance [source: Standish group]
En bref – Problématique : fossé entre le code et le domaine métier la technique comble le fossé entre le code et le domaine conceptuel
En bref – Appariement (résultat) Diagramme de robustesse ( ≈ MVC) Code source if ( IsTrue ) { doSomething(); }
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 résultat
Utilisation – Instrumentation du code class C1 { méthode1() { // corps } méthode2() { // corps } } class C1 { méthode1() { sondeDébut(C1.class,  " méthode1 ");   // corps sondeFin(C1.class,  " méthode1 ") ; } méthode2() { sondeDébut(C1.class,  " méthode2 "); // corps sondeFin(C1.class,  " méthode2 ");   } } instrumentation sondeDébut(Class c, String méthode) { // génération de la trace } sondeFin(Class c, String méthode) { // génération de la trace } appels trace 12123 entrée C1.méthode1() 12255 entrée C1.méthode2() 12325 sortie C1.méthode2() 13003 sortie C1.méthode1() exécution
Utilisation – Exécution de l'application ( + traçage) trace étape description 1 clic sur le bouton 2 calcul 3 affichage du résultat
Fonctionnement – Ressources ↔ analyseurs cas d'util. scénario robustesse code source trace
Fonctionnement – Ressources -> faits les faits de base : fait de base fait généré depuis un analyseur (une ressource) analyseurs de ressources fait fait fait fait (de base)
Fonctionnement – Trouver un fait de base ? Exemple... oui analyseur de code source étend JFrame? ClassHasStereotype designClass = C stereotype = boundary certitude = élevée class C extends JFrame { // contenu } Code source
Fonctionnement – Inférence fait inféré fait fait fait fait moteur d'inférence règle

Mardi gras du 2 juin 2010 : CSIM2

  • 1.
    Mardi Gras –CSIM2 – 2 juin 2010 Pietro Descombes
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    En bref –CSIM2 QESACO? CSIM2   ? partenariat Moyen Analyse dynamique du code (exécution) Analyse dynamique du code (exécution) moyen se réapproprier le code oublié but appariement entre les éléments recherchés et les composants du code source résultat Compréhension de Systèmes d'Information Basé sur la Modélisation Métier concours pour trouver un nom plus sexy signification technologies
  • 9.
    En bref –Partenariat Jérôme Layat Julien Repond Prof. Philippe Dugerdil Pietro Descombes
  • 10.
    En bref –Problématique : la réappropriation ~ 50-90% du coût de maintenance [source: Standish group]
  • 11.
    En bref –Problématique : fossé entre le code et le domaine métier la technique comble le fossé entre le code et le domaine conceptuel
  • 12.
    En bref –Appariement (résultat) Diagramme de robustesse ( ≈ MVC) Code source if ( IsTrue ) { doSomething(); }
  • 13.
    Utilisation – Editiondes diagrammes Cas d'utilisation (use-case) Diagramme de robustesse ( ≈ MVC) étape description 1 clic sur le bouton 2 calcul 3 affichage du résultat
  • 14.
    Utilisation – Instrumentationdu code class C1 { méthode1() { // corps } méthode2() { // corps } } class C1 { méthode1() { sondeDébut(C1.class, " méthode1 "); // corps sondeFin(C1.class, " méthode1 ") ; } méthode2() { sondeDébut(C1.class, " méthode2 "); // corps sondeFin(C1.class, " méthode2 "); } } instrumentation sondeDébut(Class c, String méthode) { // génération de la trace } sondeFin(Class c, String méthode) { // génération de la trace } appels trace 12123 entrée C1.méthode1() 12255 entrée C1.méthode2() 12325 sortie C1.méthode2() 13003 sortie C1.méthode1() exécution
  • 15.
    Utilisation – Exécutionde l'application ( + traçage) trace étape description 1 clic sur le bouton 2 calcul 3 affichage du résultat
  • 16.
    Fonctionnement – Ressources↔ analyseurs cas d'util. scénario robustesse code source trace
  • 17.
    Fonctionnement – Ressources-> faits les faits de base : fait de base fait généré depuis un analyseur (une ressource) analyseurs de ressources fait fait fait fait (de base)
  • 18.
    Fonctionnement – Trouverun fait de base ? Exemple... oui analyseur de code source étend JFrame? ClassHasStereotype designClass = C stereotype = boundary certitude = élevée class C extends JFrame { // contenu } Code source
  • 19.
    Fonctionnement – Inférencefait inféré fait fait fait fait moteur d'inférence règle