Présentation_Maintenance et évolution de systèmes

Embed Size (px)

Citation preview

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    1/16

    1

    Ralis par Encadr par

    Adnane AL ECHCHEIKH EL ALOUI M. Salah Sadou

    Anne Universitaire 2012/2013

    Matires :

    Maintenance et volution de systmes

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    2/16

    I. Introduction .II. Prsentation de l'outil JVLTIII. Choix et Installation doutils de mtrique Bad smell tool .

    I. PMDII. JdependIII. STAN

    IV. Analyse et volution dapplication.I. Identification des Bad smellsII. Correction des bad smells.III. Evolution de lapplication.

    V. DmonstrationVI. Conclusion

    Plan

    2

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    3/16

    3

    Maintenance du logiciel : dsigne les modifications apportes un logiciel, aprssa mise en uvre, pour :

    Introduction

    Corriger les fautes

    Amliorer l'efficacit

    Adapter un environnement

    Processus

    L'implmentation

    L'analyse et larsolution de

    problmes

    La modificationdu logiciel

    L'acceptation dela modification

    par ledemandeur

    La migration

    la mise la

    retraite

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    4/16

    4

    Prsentation de l'outil JVLT

    Outil dapprentissage du vocabulaire

    jVLT peut galement produire des quiz utilisant unsystme de support visuel par cartes (flash cards).

    Vous pouvez dfinir des exemples pour vous aider mmoriser lusage des mots.

    jVLT est un outil qui permet de grer et dapprendre

    votre vocabulaire.

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    5/16

    180 classes

    Dossier data

    Dossier images

    5

    LArchitecture de jVLT

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    6/16

    6

    PMD scanne le code source Java et recherche les problmes potentiels

    Choix l'outil Bad smell tool

    ventuels bugs : empty try/catch/finally/switch statements

    Le code mort - les variables locales inutilises, les paramtres et lesmthodes prives

    Code sous-optimale - inutile String / StringBuffer utilisation

    Expressions trop compliques - si les dclarations inutiles, pour lesboucles qui pourraient tre tout en boucles

    Dupliquer du code - copi / coll du code signifie bogues copis / colls

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    7/16

    7

    JDepend

    Choix l'outil Bad smell tool

    Un outil dvelopp en Java qui analyse le code source dun projet Java et calculedes mtriques de qualit pour chaque package.

    Critres de qualit

    Mesurer la qualit de conception inverser Dpendances Isoler dpendances d'un package tiers

    Identifier les cycles de dpendance de l'emballage ..

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    8/16

    8

    Choix l'outil Bad smell tool

    Dependency Analysis

    Quality Metrics

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    9/16

    9

    Analyse et volution dapplication.

    PMDIdentification des Bad smells

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    10/16

    10

    Problmes rencontrs

    5534

    Analyse et volution dapplication.

    Identification des Bad smells

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    11/16

    11

    Analyse et volution dapplication.

    Exemple des Messages

    Correction des bad smells.

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    12/16

    12

    JDepend

    Critres de qualit CC, ACLe nombre de classes abstraites (AC) etconcrtes (CC) est un indicateurdextensibilit dun package. Plus cenombre est important, plus les entitsquelles implmentent peuvent tretendues indpendamment les unes des

    autres

    Critres de qualit Ca

    Afferent coupling (Ca) o couplage pardpendance descendante.Le nombre de packages qui utilisent lesclasses du package analys peut tre unindicateur de mauvaise gestion desdpendances ou tre le signe que lepackage est le centre de lapplication. Plusce nombre est grand, plus il est ncessairede fragmenter le package.

    Analyse et volution dapplication.

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    13/16

    13

    Critres de qualit A

    Abstractness (A) o degr dabstraction.Pourcentage de classes concrtes par rapport aux classes abstraites. Proche de 0 : package concret, proche de 1: package abstrait.Le degr dabstraction dun package doit tendre vers lune ou lautre des deux borne : 0 ou 1. Une valeurprochede 0.5 montrerait une mauvaise criture du code.

    Critres de qualit I

    Instability (I) o degr de stabilit.Indicateur de rsilience du package : proprit de stabilit par rapport la mise jour dautres packages.

    Critres de qualit D

    Distance du main Sequence (D)

    Analyse et volution dapplication.

    Identification des Bad smells

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    14/16

    14

    Analyse et volution dapplication.

    Proche de 0 : package concret, proche de 1 : package abstrait.

    Evolution de lapplication.

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    15/16

    15

    Dmonstration

  • 7/29/2019 Prsentation_Maintenance et volution de systmes

    16/16

    Conclusion

    ltape de maintenance et volution est trs importante pourassur lefficacit dun logiciel .Ainsi, cette tape est le plus

    couteux.

    16