SlideShare une entreprise Scribd logo
COURS IGL

                                      COURS 5
                                      ANALYSE     Cours 5 :
                                                  Analyse




Mostefai Mohammed Amine – m_mostefai@esi.dz
Batata Sofiane – s_batata@esi.dz              1
Cours 5 – Analyse                     OBJECTIFS DU COURS



      Objectifs du cours

 Appréhender l’activité d’analyse
 Se familiariser avec les pratiques et les livrables de




                                                                 Cours IGL, Copyright © 2011, ESI
  l’analyse
 Utiliser UML pour exprimer les résultats de l’analyse
 Découverte des diagrammes de classe, d’activité, de
  séquence et d’état




                                                            2
INTRODUCTION
     Section 1 :                   Section 2 : Les    Section 3 : Les    AU GÉNIE
    Introduction                      classes        classes d’analyse   LOGICIEL

                                                                         Cours 5
                                                                         Analyse
    Section 4 :                      Section 5 :        Section 6 :
  réalisation des                  Diagrammes de       Diagrammes
        cas                           séquence          d’activité


                                    Section 7 :
                                    Diagramme
                                      d’états-
                                    transitions
                                                                              3




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                            Cours N° 5
                                            Analyse
                 Section 1 : Introduction



                                                 4




Cours IGL, Copyright © 2011, ESI
SECTION 1 -
      Cours 5 – Analyse                      INTRODUCTION


      L’activité d’analyse
 L’analyse et l’expression de besoins sont très dépendants
 Il y a une ambiguïté entre l’analyse et l’expression de
  besoins




                                                                 Cours IGL, Copyright © 2011, ESI
 L’analyse permet de clarifier les besoins d’une manière
  détaillée
 Il y a une ambiguïté entre l’analyse et la conception
 L’analyse et la conception répondent à la question
  «comment »
 L’analyse se focalise sur l’aspect métier des
  fonctionnalités tandis que la conception se focalise sur
  l’aspect technique
 Dans UP, le gros de l’analyse se fait durant la phase
  d’analyse de besoins et d’élaboration
                                                             5
SECTION 1 -
   Cours 5 – Analyse                    INTRODUCTION


  L’activité d’analyse

                                   Modèle d’analyse

                                   Classes(Vocabulair




                                                             Cours IGL, Copyright © 2011, ESI
                                   e, aspect statique)



L’analyse                Produit




                                       Interactions
                                         (aspect
                                       dynamique)


                                                         6
SECTION 1 -
       Cours 5 – Analyse                     INTRODUCTION


       L’activité d’analyse

 L’analyse produit un modèle appelé modèle d’analyse
 Le modèle est composé de deux sous -modèles : le




                                                                 Cours IGL, Copyright © 2011, ESI
  vocabulaire et les interactions
 Le vocabulaire désigne les concepts du domaine. Il
  concerne tous les acteurs et entités manipulées par ou
  dans le systèmes
 Le vocabulaire ne concerne pas uniquement les concepts
  mais aussi les relations entre concepts
 Les interactions représentent les activités impliquant
  plusieurs entités ou acteurs (du vocabulaire) afin de
  réaliser un objectif métier précis. Généralement, les
  interactions détaillent les cas d’utilisation.

                                                             7
SECTION 1 -
        Cours 5 – Analyse                     INTRODUCTION


   L’activité d’analyse - Exemple

« à l’ESI, pour effectuer un stage, l’étudiant doit
chercher un encadreur interne ou dans une entreprise




                                                                  Cours IGL, Copyright © 2011, ESI
externe et un sujet à réaliser. Une fois le sujet trouvé,
l’étudiant le dépose au niveau du service des stages. Ce
dernier s’occupe de la validation du sujet en faisant
appel à un enseignant de l’ESI ».




                                                              8
SECTION 1 -
        Cours 5 – Analyse                        INTRODUCTION


   L’activité d’analyse - Exemple

 Le vocabulaire devra contenir les concepts suivants :
  enseignant, étudiant, encadreur, entreprise, sujet, service




                                                                     Cours IGL, Copyright © 2011, ESI
  de stage et stage
 Il y a plusieurs interactions à souligner : l’interaction de
  recherche de sujet qui implique l’étudiant, l’entreprise, le
  sujet et l’encadreur. L’interaction de validation qui
  implique l’étudiant, le service de stages et l’enseignant.




                                                                 9
SECTION 1 -
         Cours 5 – Analyse                    INTRODUCTION


Construire le modèle d’analyse - Règles


 Se limiter aux concepts métier, s’éloigner des
  considérations techniques




                                                                   Cours IGL, Copyright © 2011, ESI
 Le langage du modèle d’analyse utilise le même langage
  que le métier
 Le modèle capture une vision globale sur un concept ou
  un processus, ne pas aller trop dans le détail
 Le modèle doit toujours être compréhensible et utile au
  client
 Plus le modèle est simple, plus il est meilleur




                                                              10
SECTION 1 -
        Cours 5 – Analyse                      INTRODUCTION


Formalisation du modèle d’analyse

 Le vocabulaire et les interactions peuvent être formalisés
  de plusieurs manière (par exemple, en langage naturel)




                                                                    Cours IGL, Copyright © 2011, ESI
 UML est un excellent moyen de formaliser le modèle
  d’analyse
 Le diagramme de classes et le diagramme d’objets
  permettent de formaliser le vocabulaire
 Les diagrammes d’interaction peuvent formaliser les
  interactions




                                                               11
COURS IGL

                                               Cours N° 5
                                               Analyse
                              Débat (05 Mns)



                                                    12




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                           Cours N° 5
                                           Analyse
           Section 2 : Objets et classes



                                                13




Cours IGL, Copyright © 2011, ESI
SECTION 2 – OBJETS
Cours 5 – Analyse                      ET CLASSES


       L’objet




                                                        Cours IGL, Copyright © 2011, ESI
Etat                Comportement         Objet




                                                   14
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


             L’objet

 Rumbaugh définit l’objet comme étant une entité discrète
  ayant une limite bien définie qui possède un état et un




                                                                  Cours IGL, Copyright © 2011, ESI
  comportement
 Un objet représente une entité du monde réel
 L’état de l’objet est l’ensemble des valeurs de ses
  attributs
 Le comportement d’un objet est représenté par les
  opérations qu’il peut effectuer. Souvent les opérations
  conduisent à un changement de l’état d’un objet
 L’objet a un identifiant unique qui permet de le
  distinguer des autres objets.


                                                             15
SECTION 2 – OBJETS
       Cours 5 – Analyse                                 ET CLASSES


              L’objet




                                                                          Cours IGL, Copyright © 2011, ESI
Etat                                Comportement
•   Numéro de série (Identifiant)   •   Allumer()
•   Marque                          •   Eteindre()
•   Modèle                          •   Connecter()
•   Allumée                         •   Filmer()
•   Mode (Photo / Vidéo)            •   PrendreUnePhoto()
•   Connectée à un ordinateur
•   Liste des photos en mémoire
•   Capacité
•   Photo en cours
                                                                     16
SECTION 2 – OBJETS
        Cours 5 – Analyse                        ET CLASSES


         Notation UML

 Le diagramme qui est utilisé pour la représentation des
  objets est le diagramme d’objets




                                                                  Cours IGL, Copyright © 2011, ESI
                                                             17
SECTION 2 – OBJETS
   Cours 5 – Analyse                                  ET CLASSES


Notation UML des objets




                                                                       Cours IGL, Copyright © 2011, ESI
 Nom de l’instance   compteTest :Compte
                       Cle = 80
                       Numero = 11256
     Attributs         Proprietaire = [Mokhtar]
                       Solde = 150000




                                                                  18
SECTION 2 – OBJETS
        Cours 5 – Analyse                        ET CLASSES


     Notation UML des objets

 Les noms sont écrits en souligné
 Les noms des objets commencent par une minuscule. Si




                                                                  Cours IGL, Copyright © 2011, ESI
  c’est un nom composé, le début de chaque mot suivant
  commence par une majuscule. Par exemple :
  compte11256:Compte ou clientFavori:Client. Le symbole
  « : » sépare le nom de l’instance du nom de sa classe.
 Le nom de l’objet peut être anonyme (ne comporte que le
  nom de la classe. Par exemple : :Compte ou :Client.
 L’objet peut ne pas avoir de classe : par exemple amine ou
  compteTest.



                                                             19
SECTION 2 – OBJETS
        Cours 5 – Analyse                          ET CLASSES


 Notation UML des objets - Liens

 Un lien lie deux instances entre objets
 L’objet est une instance d’une classe et le lien est une




                                                                    Cours IGL, Copyright © 2011, ESI
  instance d’une association




                                                               20
SECTION 2 – OBJETS
      Cours 5 – Analyse                              ET CLASSES


Notation UML des objets - Liens

                                                        Objets
       compteTest :Compte




                                                                      Cours IGL, Copyright © 2011, ESI
        Cle = 80
        Numero = 11256
        Proprietaire = [Mokhtar]
        Solde = 150000


                                   Possède




                                             amine :Personne


     Lien


                                                                 21
SECTION 2 – OBJETS
           Cours 5 – Analyse                                          ET CLASSES


Notation UML des objets - Exemple




                                                                                                Cours IGL, Copyright © 2011, ESI
                                                                     azouaou :Enseignant
                   mostefai :Enseignant
                  Nom = Mostefai
                  Prenom = Mohammed Amine




   igl :Module                              conduiteDeProj et :        mcsi :Module
   Annee = 3csc                                  Module




                                                                                           22
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


Objets – Notation UML - Diagrammes


 Un diagramme d’objets présente des objets et leurs
  relations à un instant T




                                                                 Cours IGL, Copyright © 2011, ESI
 Le diagramme d’objets est idéal pour donner des
  exemples sur des situations particulières
 Les liens bidirectionnels entre A B quand A et B
  s’envoient des messages
 Un lien unidirectionnel entre A vers B indique que A
  peut envoyer un message vers B mais pas l’inverse




                                                            23
SECTION 2 – OBJETS
        Cours 5 – Analyse                                                   ET CLASSES


Objets – Notation UML - Diagrammes
                                                               Grade


EXEMPLE




                                                                                             Cours IGL, Copyright © 2011, ESI
                                                   EstGradé

                            Employe
                                              Emploie

                                          *
                                                              Departement
                                                         1


                                                         *


                                                   EstConstituéeDe

                            Ecole     1




                                                                                        24
SECTION 2 – OBJETS
                Cours 5 – Analyse                                                              ET CLASSES


  Objets – Notation UML - Diagrammes                                                           Diagramme

 object Pédagogie                               Nom du diagramme

                                                                  mca :Grade
                                                                                             Lien Unidirectionnel




                                                                                                                         Cours IGL, Copyright © 2011, ESI
                        cherid :Employe                         balla :Employe                  mostefai :Employe

                      +Directrice Etudes                                +Responsable CPI     +Enseignant

              pg :Departement                           directionDesEtudes :Departement



                                           esi :Ecole




Lien Bidiectionnel                                                                            Rôle
                                                                                                                    25
SECTION 2 – OBJETS
         Cours 5 – Analyse                       ET CLASSES


Diagramme d’objet – Quand l’utiliser ?


 Les diagrammes d’objets sont utilisés pour donner des
  exemples sur des situations complexes mettant en




                                                                  Cours IGL, Copyright © 2011, ESI
  relation plusieurs concepts

 Les diagrammes d’objet sont facultatifs et souvent les
  diagrammes de classes sont suffisants pour décrire le
  domaine.




                                                             26
SECTION 2 – OBJETS
        Cours 5 – Analyse                          ET CLASSES


            Les classes


 Rumbaugh définit la classe comme étant un descripteur
  d’un ensemble d’objets qui partagent les mêmes




                                                                     Cours IGL, Copyright © 2011, ESI
  attributs, méthodes, relations et comportement
 La classe est le modèle d’un ensemble d’objets similaires
 Dans l’exemple précédent : Mostefai et Azouaou sont
  deux instances de la classe « Enseignant »
 Un objet appartient à une seule classe
 La classe définit la structure d’un objet (aspect statique)
  , son comportement (aspect dynamique) et ses relations




                                                                27
SECTION 2 – OBJETS
        Cours 5 – Analyse                          ET CLASSES


            Les classes


 Rumbaugh définit la classe comme étant un descripteur
  d’un ensemble d’objets qui partagent les mêmes




                                                                     Cours IGL, Copyright © 2011, ESI
  attributs, méthodes, relations et comportement
 La classe est le modèle d’un ensemble d’objets similaires
 Dans l’exemple précédent : Mostefai et Azouaou sont
  deux instances de la classe « Enseignant »
 Un objet appartient à une seule classe
 La classe définit la structure d’un objet (aspect statique)
  , son comportement (aspect dynamique) et ses relations




                                                                28
SECTION 2 – OBJETS
    Cours 5 – Analyse                                  ET CLASSES


Modélisation orientée objet




                                                                        Cours IGL, Copyright © 2011, ESI
                Comment classifier ces animaux ?                   29
SECTION 2 – OBJETS
        Cours 5 – Analyse                        ET CLASSES


    Modélisation orientée objet


 Ce n’est pas facile d’avoir une conception objet du monde
  réel




                                                                   Cours IGL, Copyright © 2011, ESI
 Les classes résultantes proviennent du point de vue de
  travail
 Les classes de l’exemples précédent peuvent être :
  (Animal) ou (AnimalTerrestre / AnimalMarin) ou
  (AnimalDomestique / AnimalSauvage) ou
  (AnimalComestible / AnimalNonComestible) ou (Poisson
  / Mammifière / Crustacé …)




                                                              30
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


         Classes et objets


 L’objet instancie la classe
 UML définit l’instanciation comme une relation de




                                                                 Cours IGL, Copyright © 2011, ESI
  dépendance avec le stéréotype « instantiate »




                                                            31
SECTION 2 – OBJETS
Cours 5 – Analyse                                                        ET CLASSES


 Classes et objets



                                      Module




                                                                                                    Cours IGL, Copyright © 2011, ESI
                           -     Annee: string
                           -     AssurePar: Enseignant
                           -     Nom: string




                 «instantiate»         «instantiate»     «instantiate»




  mcsi :Module                             igl :Module                   conduiteDeProj et :
                                                                              Module
                                          Annee = 3csc




                                                                                               32
SECTION 2 – OBJETS
           Cours 5 – Analyse                                     ET CLASSES


         Classes – Notation UML

  Stéréotype

                                                        «entity»
Nom de la classe                                        Compte




                                                                                  Cours IGL, Copyright © 2011, ESI
                                  -   cle: string
                                  -   numero: string
    Attributs                     -   proprietaire: Personne
                                  -   solde: double = 0

  Opérations                      +   retirer(double) : boolean
                                  +   verser(double) : boolean
                                                         tags
 Métadonnées                      Auteur = Amine
                                  Date = Octobre 2011




                                                                             33
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


   Classes – Notation UML - Nom


 De préférence, utiliser la convention UpperCamelCase. Le
  nom de classe est en minuscules et la première lettre en




                                                                  Cours IGL, Copyright © 2011, ESI
  majuscules. Si le nom de la classe est composite, le nom
  de chaque mot composant est en minuscule et la
  première lettre en majuscule. Par exemple : Agent,
  Compte, LigneFacture, MandatPostalValide.
 Eviter les abbrévitiations : par exemple utiliser
  FactureValideDetaillee au lieu de FactureVD.
 Ne pas utiliser des noms verbaux car les classes
  représentent des « choses ».



                                                             34
SECTION 2 – OBJETS
         Cours 5 – Analyse                         ET CLASSES


  Classes – Notation UML - Visibilité


 La visibilité s’applique aussi bien aux attributs qu’aux
  opérations




                                                                    Cours IGL, Copyright © 2011, ESI
 Durant la phase d’analyse, la visibilité n’est pas
  importante
 Les langages de programmation peuvent avoir une
  interprétation différente de la visibilité




                                                               35
SECTION 2 – OBJETS
             Cours 5 – Analyse                                        ET CLASSES


  Classes – Notation UML - Visibilité


 Le tableau suivant liste les visibilités utilisées dans UML
     Visibilité          Nom                            Description




                                                                                             Cours IGL, Copyright © 2011, ESI
 +                Visibilité          Accès depuis la même classe et à l’extérieur de
                  publique            la classe
 -                Visibilité privée   Accès depuis la même classe uniquement


 #                Visibilité          Accès depuis la même classe et les classes
                  protégée            descendantes
 ~                Visibilité paquet   Accès depuis la même classe et toutes les
                                      classes appartenant au même paquet


                                                                                        36
SECTION 2 – OBJETS
        Cours 5 – Analyse                          ET CLASSES


   Classes – Notation UML - Types


 Le type peut être un type défini par UML ou l’un des
  types suivants : boolean, byte, char, double, float, int,




                                                                    Cours IGL, Copyright © 2011, ESI
  long, short




                                                               37
SECTION 2 – OBJETS
         Cours 5 – Analyse                          ET CLASSES


  Classes – Notation UML - Attributs


 Les attributs sont formulés en utilisant la syntaxe
  suivante :




                                                                       Cours IGL, Copyright © 2011, ESI
Visibilité Nom_Attribut : type [multiplicité] = valeur_initiale




                                                                  38
SECTION 2 – OBJETS
         Cours 5 – Analyse                          ET CLASSES


  Classes – Notation UML - Attributs


 Le type peut être un type défini par UML ou l’un des
  types suivants : boolean, byte, char, double, float, int,




                                                                       Cours IGL, Copyright © 2011, ESI
  long, short
 La valeur initiale indique la valeur de l’attribut quand
  une instance de la classe est créée
 Un attribut est dit statique s’il appartient à la classe, pas
  à une instance en particulier. Les attributs statiques sont
  noté en souligné.




                                                                  39
SECTION 2 – OBJETS
                    Cours 5 – Analyse                                                   ET CLASSES


C l a s s e s – N o t a t i o n U M L – At t r i b u t s , m u l t i p l i c i té



 La multiplicité indique les attributs multiples.
 Les multiplicités sont équivalentes aux tableaux mais ont




                                                                                                         Cours IGL, Copyright © 2011, ESI
  plus de sémantique.
 Exemple 1 : int valeurs[7]. La classe contient exactement
  7 valeurs.
 Exemple 2 : int valeurs[2..*] : la classe contient au moins
  2 valeurs.
 Exemple 3 : int valeurs[2..7] la classe contient au
  minimum 2 valeurs et au maximum 7 valeurs.
 Exemple 4 : int valeurs [0..1] la classe contient une
  valeur ou null.


                                                                                                    40
SECTION 2 – OBJETS
        Cours 5 – Analyse                             ET CLASSES


 Classes – Notation UML - Attributs


EXEMPLE




                                                                       Cours IGL, Copyright © 2011, ESI
                                      Etudiant
            + matricule : int
            # nom : string
            # prenom : string
            ~modules : int [2..9]
            - age :int = 18
            - chambreAffectee : Chambre [0..1]
            + tuteursDeSuivi : Tuteur [2]
            + nombreEtudiants : int
            + inscriptions : Inscription [1..*]




                                                                  41
SECTION 2 – OBJETS
         Cours 5 – Analyse                       ET CLASSES


 Classes – Notation UML - Opérations


 Les opérations sont formulés en utilisant la syntaxe
  suivante :




                                                                  Cours IGL, Copyright © 2011, ESI
Visibilité Nom_Operation (direction nom_paramètre:
type = valeur_défaut,….) : type_retour




                                                             42
SECTION 2 – OBJETS
         Cours 5 – Analyse                          ET CLASSES


 Classes – Notation UML - Opérations


 Les opérations sont nommées en utilisant une formulation
  lowerCamelCase




                                                                      Cours IGL, Copyright © 2011, ESI
 De préférence, utiliser des expressions verbales pour les
  opérations
 Les paramètres sont nommés en utilisant lowerCamelCase
 Ne pas utiliser des expressions verbales pour les paramètres
 Des valeurs par défaut peuvent être renseignées pour une
  opération.
 Les opérations statiques sont soulignées




                                                                 43
SECTION 2 – OBJETS
            Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Opérations


DIRECTION DES PARAMÈTRES
   Direction                                Description




                                                                                          Cours IGL, Copyright © 2011, ESI
 in p             Le paramètre p est un paramètre d’entrée. p est utilisé par
                  l’opération mais n’est pas modifié par l’opération.
 inout p          Le paramètre p est un paramètre d’entrée / sortie. p est utilisé
                  par l’opération et sa valeur peut être changée par l’opération.
 out p            Le paramètre p est un paramètre de sortie. La valeur de p
                  pourrait être modifiée par l’opération.
 return p         Le paramètre p est un paramètre de retour. L’opération doit
                  retourner la valeur de p.


                                                                                     44
SECTION 2 – OBJETS
        Cours 5 – Analyse                                 ET CLASSES


Classes – Notation UML - Opérations


EXEMPLE




                                                                             Cours IGL, Copyright © 2011, ESI
                                Compte

    +   verser(montant :double, soldeApres :double*) : void
    +   retirer(montantOperation :double, soldeApres :double*) : void
    ~   caclulerCharges(tauxCalcul :double) : double




                                                                        45
SECTION 2 – OBJETS
        Cours 5 – Analyse                         ET CLASSES


Classes – Notation UML - Stéréotypes


 Les stéréotypes représentent un mécanisme pouvant
  étendre UML




                                                                    Cours IGL, Copyright © 2011, ESI
 Un stéréotype peut cibler une classe, un attribut ou une
  opération
 Plusieurs dizaines de stéréotypes sont utilisés mais les
  plus connus sont : actor, boundary, entity et control.
 Le stéréotype « acteur » représente un acteur
 Le stéréotype « entity » représente une entité. Une entité
  est un concept métier, par exemple
  « Compte », « Client », « Fournisseur »,…



                                                               46
SECTION 2 – OBJETS
        Cours 5 – Analyse                         ET CLASSES


Classes – Notation UML - Stéréotypes


 Le stéréotype « control » représente un contrôleur. Un
  contrôleur est un intermédiaire entre les limites et les




                                                                   Cours IGL, Copyright © 2011, ESI
  entités. Le contrôleur se charge de l’exécution des
  commandes provenant de la limite.
 Le stéréotype « boundary » représente une limite du
  système qui s’interface avec l’acteur. Par exemple,
  interface utilisateur.




                                                              47
SECTION 2 – OBJETS
         Cours 5 – Analyse                                   ET CLASSES


Classes – Notation UML - Stéréotypes




                                                                                 Cours IGL, Copyright © 2011, ESI
  InterfaceWeb      GestionnaireCommandes    Commande       Utilisateur


                            «control»
                                              «entity»         «actor»
   «boundary»        GestionnaireCommandes
  InterfaceWeb                               Commande         Utilisateur




                                                                            48
SECTION 2 – OBJETS
        Cours 5 – Analyse                                         ET CLASSES


Classes – Notation UML - Stéréotypes



                     Commande   LigneCommande       Produit    Client




                                                                                   Cours IGL, Copyright © 2011, ESI
                                     GestionnaireCommandes




                                         InterfaceWeb




                                           Utilisateur                        49
SECTION 2 – OBJETS
         Cours 5 – Analyse                       ET CLASSES


Classes – Notation UML - Associations


 Une association est une relation entre deux classes
 Une association entre deux classes se traduit par un lien




                                                                   Cours IGL, Copyright © 2011, ESI
  entre deux instances de ces classes
 Une association décrit une relation qui a une
  sémantique entre les deux classes
 Une association peut être entre une classe et elle -même.
  L’association est dite réflexive.
 La direction détermine la navigation d’un objet vers un
  autre.




                                                              50
SECTION 2 – OBJETS
         Cours 5 – Analyse                                 ET CLASSES


Classes – Notation UML - Associations


EXEMPLE
                                        Enseigne




                                                                            Cours IGL, Copyright © 2011, ESI
                 Enseignant                              Module

                                    *              *




                «instantiate»                          «instantiate»


             Mostefai :Enseignant                       IGL :Module




                                                                       51
SECTION 2 – OBJETS
          Cours 5 – Analyse                                    ET CLASSES


Classes – Notation UML - Associations
                                                       Direction
Nom de l’association




                                                                                 Cours IGL, Copyright © 2011, ESI
         Employe                                                   Module
                                 Enseigne
                       *                                     *




                                        Multiplicité
                                                                            52
SECTION 2 – OBJETS
         Cours 5 – Analyse                            ET CLASSES


Classes – Notation UML - Associations




                                                                       Cours IGL, Copyright © 2011, ESI
      Societe     +Employeur               +Employé   Personne

                  1                               *




                                        Rôle
                                                                  53
SECTION 2 – OBJETS
         Cours 5 – Analyse                        ET CLASSES


Classes – Notation UML - Associations


NOMS DES ASSOCIATIONS
 Utiliser des phrases verbales




                                                                   Cours IGL, Copyright © 2011, ESI
 Il n’est pas recommandé d’utiliser les noms et les rôles.
  Utiliser soit le nom soit le rôle.
 Donner des noms explicites et lisibles.




                                                              54
SECTION 2 – OBJETS
            Cours 5 – Analyse                                    ET CLASSES


Classes – Notation UML - Associations


MULTIPLICITÉ
     Multiplicité                            Signification




                                                                                  Cours IGL, Copyright © 2011, ESI
 0..1               Zéro ou 1
 1                  Exactement 1
 0..*               Zéro ou plusieurs
 *                  Zéro ou plusieurs
 1..*               1 ou plusieurs
 1..9               1à9
 9                  Exactement 9
 1.5, 8, 20..*      1 à 5, exactement 8 ou plus de 20
                                                                             55
SECTION 2 – OBJETS
         Cours 5 – Analyse                      ET CLASSES


Classes – Notation UML - Associations


MULTIPLICITÉ
 La multiplicité détermine le nombre d’objets impliqué




                                                                 Cours IGL, Copyright © 2011, ESI
  dans une association à un instant T




                                                            56
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 1




                                                                                Cours IGL, Copyright © 2011, ESI
                  Une voiture possède exactement 4 pneus




        Voiture                                             Pneu

                       1                            4




                  Un pneu appartient à exactement une voiture

                                                                           57
SECTION 2 – OBJETS
         Cours 5 – Analyse                                      ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 2




                                                                                 Cours IGL, Copyright © 2011, ESI
            Une société peut avoir 0, 1 ou plusieurs employés




           Société                                              Employe

                        1                               *




              Un employé est employé par exactement 1 société

                                                                            58
SECTION 2 – OBJETS
         Cours 5 – Analyse                                       ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 3




                                                                                  Cours IGL, Copyright © 2011, ESI
                Une société doit avoir au moins un employé



              Société                                            Employe

                           0..1                        1..*




        Un employé peut être employé dans une seule société ou aucune

                                                                             59
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 4




                                                                                Cours IGL, Copyright © 2011, ESI
           Une société peut avoir plusieurs employés (ou zéro)



      Société                                                    Employe

                    1..*                               *




           Un employé peut être employé dans au moins une société

                                                                           60
SECTION 2 – OBJETS
         Cours 5 – Analyse                                          ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 5

             Université                                     Enseignant




                                                                                              Cours IGL, Copyright © 2011, ESI
                               Emploie
                          1                       *

                                                        1                1


                                         AssurerCours                        AssurerTD



                                                        0..3             0..4

                                                            Module




                                                                                         61
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 6
                    Un employé a un ou 0 supérieur




                                                                                Cours IGL, Copyright © 2011, ESI
                             Employe
                                                     +Subordonnes 0..*




                                                      +Superieur 0..1



             Un employé peut avoir 0 ou plusieurs subordonnés

                                                                           62
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 6
                    Un employé a un ou 0 supérieur




                                                                                Cours IGL, Copyright © 2011, ESI
                             Employe
                                                     +Subordonnes 0..*




                                                      +Superieur 0..1



             Un employé peut avoir 0 ou plusieurs subordonnés

                                                                           63
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

MULTIPLICITÉ – EXEMPLE 6
                                 koudil :Employe




                                                                                     Cours IGL, Copyright © 2011, ESI
                                 balla :Employe




             mostefai :Employe           batata :Employe     azouaou :Employe




                                                                                64
SECTION 2 – OBJETS
         Cours 5 – Analyse                                   ET CLASSES


Classes – Notation UML - Associations

Navigation – Exemple 1
                   Société vers Employé est navigable




                                                                              Cours IGL, Copyright © 2011, ESI
         Societe                                         Employe

                     1                             *




                    Employé vers Société est navigable

                                                                         65
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

Navigation – Exemple 2
                   Employé vers Grade est navigable




                                                                                Cours IGL, Copyright © 2011, ESI
     Employe                                                   Grade

                    *                                 1




                  Grade vers Employé n’est pas navigable

                                                                           66
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

Navigation – Exemple 3
                   Employé vers Grade est navigable




                                                                                Cours IGL, Copyright © 2011, ESI
             Employe                                       Grade

                        *
                            X                    1




                  Grade vers Employé n’est pas navigable

                                                                           67
SECTION 2 – OBJETS
         Cours 5 – Analyse                                     ET CLASSES


Classes – Notation UML - Associations

Navigation – Exemple 4
                     Société vers Employé est navigable




                                                                                Cours IGL, Copyright © 2011, ESI
           Societe                                         Employe

                         1                            *




                      Employé vers Société est navigable

                                                                           68
SECTION 2 – OBJETS
         Cours 5 – Analyse                      ET CLASSES


Classes – Notation UML - Associations


Associations et attributs
 Les attributs peuvent être un autre moyen de représenter




                                                                  Cours IGL, Copyright © 2011, ESI
  une association
 Les associations à multiplicité multiple peuvent être
  représentées par des tableaux ou des collections
 Lors de la génération de code, les associations sont
  générées en tant qu’attributs




                                                             69
SECTION 2 – OBJETS
           Cours 5 – Analyse                ET CLASSES


Classes – Notation UML - Associations

Associations et attributs – Exemple 1
                                             Employe




                                                                 Cours IGL, Copyright © 2011, ESI
                                         +   grade: Grade


 Employe                       Grade

           *              1
                                              Grade




                                                            70
SECTION 2 – OBJETS
                 Cours 5 – Analyse                    ET CLASSES


Classes – Notation UML - Associations

Associations et attributs – Exemple                    Employe
                                                  +   grade: Grade




                                                                              Cours IGL, Copyright © 2011, ESI
       Employe               +grade   Grade       +   societe: Societe
                    *            1

+employes    *
                                                       Grade




  +societe   1

       Societe
                                                        Societe
                                              +   employes: Employe [0..*]


                                                                         71
SECTION 2 – OBJETS
         Cours 5 – Analyse                          ET CLASSES


Classes – Notation UML - Associations


Classes d’association
 Parfois, quand il y a une association entre deux classes,




                                                                     Cours IGL, Copyright © 2011, ESI
  l’attribut ne peut être dans aucune des classes.
 Exemple ci-dessous : où mettre la note ?



           Etudiant                                Module

                       *                    *




                                                                72
SECTION 2 – OBJETS
         Cours 5 – Analyse                                   ET CLASSES


Classes – Notation UML - Associations


Classes d’association
 Les classes d’association sont de vraies classes qui




                                                                              Cours IGL, Copyright © 2011, ESI
  peuvent avoir des attributs, opérations et même d’autres
  opérations
                  Etudiant                                      Module

                             *                              *




                                          Note
                                   +    valeur: double


                                                                         73
SECTION 2 – OBJETS
         Cours 5 – Analyse                                       ET CLASSES


Classes – Notation UML - Associations


Classes d’association - Exemple




                                                                                   Cours IGL, Copyright © 2011, ESI
      Etudiant                                      Module

                 *                              *




                             Note                                Enseignant
                       +   valeur: double
                                            *                *




                                                                              74
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


Classes – Notation UML - Dépendance


 En plus des associations, les classes peuvent être liées
  par des relation de dépendance




                                                                  Cours IGL, Copyright © 2011, ESI
 Plusieurs cas peuvent induire à une dépendance entre
  une classe A et une classe B : A manipule B dans une
  opération, B est un paramètre dans une opération de A, B
  est le type de retour d’une opération, A appelle une
  méthode B, …etc.
 La dépendance n’est pas réservée aux classes, elle peut
  être utilisée avec les paquets et les cas d’utilisation




                                                             75
SECTION 2 – OBJETS
           Cours 5 – Analyse              ET CLASSES


Classes – Notation UML - Dépendance




                                                           Cours IGL, Copyright © 2011, ESI
       A

                                           B




                                                      76
SECTION 2 – OBJETS
         Cours 5 – Analyse                        ET CLASSES


  Classes – Notation UML - Héritage


 L’héritage est une relation entre une classe générale et
  une classe plus spécifique




                                                                   Cours IGL, Copyright © 2011, ESI
 Entre les deux, une relation de substitution : on peut
  substituer toute utilisation de l’élément général par
  l’élément plus spécifique
 L’héritage est symbolisé par le lien de généralisation
 La classe spécialisée hérite de tous les attributs et les
  opérations de la classe parente




                                                              77
SECTION 2 – OBJETS
         Cours 5 – Analyse                                                  ET CLASSES


 Classes – Notation UML - Héritage


EXEMPLE 1
                                                                Engin
                                                        +   marque: string




                                                                                               Cours IGL, Copyright © 2011, ESI
                                                        +   modele: string
  Généralisation
                                                        +   getPoids() : double



                                      Voiture                  Camion               Bus
                              +   nombrePlaces: int




         VoitureTouristique       VoitureUtilitaire
                              +   chargeUtile: double




                                                                                          78
SECTION 2 – OBJETS
         Cours 5 – Analyse                        ET CLASSES


  Classes – Notation UML - Héritage


 Parfois une classe ne peut exister que par l’existence des
  classes descendantes




                                                                    Cours IGL, Copyright © 2011, ESI
 Une classe peut aussi déférer l’implémentation d’une
  opération à ses classes descendantes
 Une opération qui est sans implémentation dans la classe
  actuelle est une opération abstraite
 Une classe qui contient une ou plusieurs opérations
  abstraites est dite classe abstraite




                                                               79
SECTION 2 – OBJETS
          Cours 5 – Analyse                                                             ET CLASSES


   Classes – Notation UML - Héritage

                                                                                    Méthodes abstraites
EXEMPLE – Classes abstraites




                                                                                                                    Cours IGL, Copyright © 2011, ESI
                                                Photo
                                    +    points: Point [1..*]
Méthodes concrètes
                                    +    getNombrePoints() : int
                                    +    Dessiner() : void
                                    +    getTaille() : int




                     PhotoJPEG                                  PhotoPNG                         PhotoTIFF
                +    Dessiner() : void                   +      Dessiner() : void           +   Dessiner() : void
                +    getTaille() : int                   +      getTaille() : int           +   getTaille() : int

                                                                                                             80
SECTION 2 – OBJETS
         Cours 5 – Analyse                       ET CLASSES


  Classes – Notation UML - Héritage


LE POLYMORPHISME
 Une opération polymorphique est une opération qui




                                                                  Cours IGL, Copyright © 2011, ESI
  possède plusieurs implémentations
 Par exemple, n’importe quel compte accepte les retraits
  et les versements. Par contre, les comptes entreprises ont
  un comportement différent des comptes particuliers. Les
  comptes entreprises acceptent les soldes négatifs.




                                                             81
SECTION 2 – OBJETS
        Cours 5 – Analyse                                                   ET CLASSES


 Classes – Notation UML - Héritage


EXEMPLE – Polymorphisme




                                                                                             Cours IGL, Copyright © 2011, ESI
                                           Compte

                                  +       Verser() : void
                                  +       Retirer() : void




                  CompteParticulier                          CompteEntreprise

                   +   Verser() : void                       +   Verser() : void
                   +   Retirer() : void                      +   Retirer() : void


                                                                                        82
SECTION 2 – OBJETS
       Cours 5 – Analyse                       ET CLASSES


            Paquets


QU’EST-CE QU’UN PAQUET ?
 Un paquet UML est un élément de groupage qui contient




                                                                Cours IGL, Copyright © 2011, ESI
  plusieurs éléments UML dont éventuellement d’autres
  paquets
 Les paquets servent à organiser les éléments UML
 Les paquets définissent des « frontières sémantiques »
  du modèle
 Chaque élément UML appartient à exactement un paquet.
  Les éléments de haut niveau appartiennent à un paquet
  implicite appelé « root » ou « topLevel »



                                                           83
SECTION 2 – OBJETS
  Cours 5 – Analyse          ET CLASSES


Paquets – Notation UML



            Paquet




                                              Cours IGL, Copyright © 2011, ESI
                                         84
SECTION 2 – OBJETS
  Cours 5 – Analyse          ET CLASSES


Paquets – Notation UML




                                              Cours IGL, Copyright © 2011, ESI
                                         85
SECTION 2 – OBJETS
        Cours 5 – Analyse                         ET CLASSES


     Paquets – Espaces de noms


 Le paquet définit une frontière où les noms des éléments
  doivent être uniques




                                                                     Cours IGL, Copyright © 2011, ESI
 Si un élément doit référer à un autre élément se trouvant
  dans un autre paquet, il doit utiliser un « nom qualifié ».
 Le nom qualifié se fait en préfixant le nom de l’élément
  par les noms des paquets qui le contiennent
 Par exemple, si un paquet P1 contient un sous -paquet P2
  contenant une classe C1, le nom qualifié de C1 est
  P1:P2:C1.




                                                                86
SECTION 2 – OBJETS
        Cours 5 – Analyse                       ET CLASSES


      Paquets – Dépendance


 Un paquet P1 dépend de P2 si un élément de P1 utilise
  d’une manière ou d’une autre un élément de P2




                                                                 Cours IGL, Copyright © 2011, ESI
                                                            87
SECTION 2 – OBJETS
 Cours 5 – Analyse              ET CLASSES


Paquets – Dépendance




                       Commun::Personne




                                                 Cours IGL, Copyright © 2011, ESI
    Employe




                                            88
COURS IGL

                                           Cours N° 5
           Section 2, Classes et Objets,   Analyse

                 Débat (05 mns)



                                                89




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                          Cours N° 5
                                          Analyse
          Section 3 : Classes d’analyse



                                               90




Cours IGL, Copyright © 2011, ESI
SECTION 3 –CLASSES
        Cours 5 – Analyse                         D ’A N A LY S E


       Les classes d’analyse


 Les classes d’analyse sont les classes découvertes durant
  l’activité d’analyse




                                                                     Cours IGL, Copyright © 2011, ESI
 Les classes d’analyse correspondent à des concepts
  « réels »
 L’analyse fait ressortir les éléments suivants d’une classe
  : Nom, Attributs les plus importants, Opérations les plus
  importantes, stéréotypes (non techniques)
 Les éléments suivants ne sont pas importants dans
  l’analyse : métadonnées, paramètres des opérations,
  visibilité



                                                                91
SECTION 3 – CLASSES
  Cours 5 – Analyse                      D ’A N A LY S E


Sources de recensement




      Modèle de            Modèle des cas




                                                           Cours IGL, Copyright © 2011, ESI
    spécifications          d’utilisation



               Toute autre source
                 d’information
                   relative au
                    domaine


                                                     92
SECTION 3 –CLASSES
         Cours 5 – Analyse                        D ’A N A LY S E


Représentation d’une classe d’analyse


 Les classes d’analyse sont représentés en utilisant le
  diagramme des classes




                                                                    Cours IGL, Copyright © 2011, ESI
 L’ensemble des classes sont appelés « vocabulaire »,
  « glossaire métier » ou « taxonomie du domaine »
 Les classes d’analyse sont une représentation de haut
  niveau : elles sont caractérisées par un nom, des attributs
  et éventuellement des opérations.
 Le nom de la classe est obligatoire.
 Les noms des attributs sont obligatoires. Leurs types
  facultatifs.
 Les paramètres et les types de retour des opérations ne
  sont montrés que s’ils apportent une compréhension au
  système
                                                               93
SECTION 3 – CLASSES
         Cours 5 – Analyse                      D ’A N A LY S E


Représentation d’une classe d’analyse


 La visibilité est généralement omise
 Les stéréotypes ne sont montrés que s’ils augmentent la




                                                                  Cours IGL, Copyright © 2011, ESI
  représentativité
 Les métadonnées ne sont montrés que s’ils augmentent
  la représentativité




                                                            94
SECTION 3 –CLASSES
         Cours 5 – Analyse                  D ’A N A LY S E


Représentation d’une classe d’analyse


EXEMPLE




                                                              Cours IGL, Copyright © 2011, ESI
                              Compte
       numero
       proprietaire
       solde
       verser()
       retirer()




                                                         95
SECTION 3 – CLASSES
         Cours 5 – Analyse                    D ’A N A LY S E


Représentation d’une classe d’analyse


CARACTÉRISTIQUES D’UNE BONNE CLASSE D’ANALYSE
 Son nom reflète son objectif




                                                                Cours IGL, Copyright © 2011, ESI
 C’est une abstraction d’un élément clairement
  identifiable dans le domaine
 A un ensemble limité et clair de responsabilités
 A une grosse cohésion
 A un faible couplage




                                                          96
SECTION 3 – CLASSES
   Cours 5 – Analyse                 D ’A N A LY S E


Techniques de recensement




                                                       Cours IGL, Copyright © 2011, ESI
Technique                    Technique
des noms /                      des
  verbes                    stéréotypes


                                                 97
SECTION 3 – CLASSES
        Cours 5 – Analyse                           D ’A N A LY S E


    Technique des noms / verbes


 Technique simple qui analyse du texte pour trouver des
  classes, des attributs et des opérations




                                                                      Cours IGL, Copyright © 2011, ESI
 Les noms et les phrases nominales représentent les
  classes et les attributs
 Les verbes et les phrases verbales représentent les
  opérations
 Difficultés avec les termes difficiles, les synonymes et les
  homonymes
 Difficulté à trouver les classes « cachées »
 S’il y a des termes qui ne sont pas compris, voir avec les
  experts du domaine


                                                                 98
SECTION 3 – CLASSES
        Cours 5 – Analyse                      D ’A N A LY S E


   Technique des noms / verbes




                                                                 Cours IGL, Copyright © 2011, ESI
Collecte d’information           Analyse des
• Spécifications formelles       informations
• Cas d’utilisation              • Noms et phrases
• …                                nominales
                                 • Verbes et phrases verbales




                                                            99
SECTION 3 – CLASSES
            Cours 5 – Analyse                                  D ’A N A LY S E


Technique des noms / verbes - Exemple




                                                                                 Cours IGL, Copyright © 2011, ESI
Spécifications
Le système doit permettre à
                                Noms
l’utilisateur de consulter le
solde de son compte             Système
                                              Verbes
Le système doit permettre à     Compte
                                              Verser
l’utilisateur de verser de      Utilisateur
l’argent dans son compte                      Retirer
                                Argent
Le système doit permettre à                   Consulter
l’utilisateur de retirer
l’argent de son compte




                                                                           100
SECTION 3 – CLASSES
          Cours 5 – Analyse                  D ’A N A LY S E


Technique des noms / verbes - Exemple




              Compte




                                                               Cours IGL, Copyright © 2011, ESI
      +   solde: double

      +   verser(double) : void
      +   retirer(double) : void
      +   consulter() : double
                                         «Actor»
                                        Utilisateur




                                                         101
SECTION 3 – CLASSES
        Cours 5 – Analyse                       D ’A N A LY S E


     Technique des stéréotypes


 Cette technique se concentre sur trois stéréotypes :
  « boundary », « entity » et « control »




                                                                  Cours IGL, Copyright © 2011, ESI
 Cette technique est complémentaire avec la technique
  des verbes / noms




                                                            102
SECTION 3 – CLASSES
     Cours 5 – Analyse                  D ’A N A LY S E


  Technique des stéréotypes




                                                          Cours IGL, Copyright © 2011, ESI
Trouver les
                     Trouver les   Trouver les
  limites
                     contrôleurs     entités
(boundary)



                                                    103
SECTION 3 – CLASSES
        Cours 5 – Analyse                         D ’A N A LY S E


 Technique des stéréotypes - Limites


 Les classes « boundary » représentent les limites du
  système




                                                                    Cours IGL, Copyright © 2011, ESI
 Ces classes communiquent avec les acteurs
 Trois types de classes « boundary » : classes d’interface
  utilisateur, classes qui s’interfacent avec d’autres
  systèmes et des classes qui s’interfacent avec un
  matériel externe (périphérique,…)
 Ces classes doivent rester de haut niveau (ne pas
  s’occuper des détails)




                                                              104
SECTION 3 – CLASSES
          Cours 5 – Analyse                       D ’A N A LY S E


Technique des stéréotypes - Contrôleurs


 Les contrôleurs sont responsable de la coordination des
  action permettant d’accomplir un cas d’utilisation




                                                                    Cours IGL, Copyright © 2011, ESI
 Si un contrôleur est trop compliqué, il est suggéré de le
  diviser en plusieurs contrôleurs




                                                              105
SECTION 3 – CLASSES
        Cours 5 – Analyse                        D ’A N A LY S E


 Technique des stéréotypes - Entités


 Représentent les concepts manipulés par le système
 Utilisés par plusieurs cas d’utilisation et plusieurs




                                                                   Cours IGL, Copyright © 2011, ESI
  contrôleurs
 Ces classes sont souvent persistantes (enregistrées dans
  des fichiers ou des BDD)




                                                             106
SECTION 3 – CLASSES
         Cours 5 – Analyse                         D ’A N A LY S E


 Technique des stéréotypes - Exemple


1. Le système doit permettre à l’utilisateur de s’inscrire
2. Le système doit permettre à l’utilisateur connecté de




                                                                     Cours IGL, Copyright © 2011, ESI
   consulter les formations assurés, leurs dates et les
   formateurs associés
3. Le système doit envoyer un message mensuellement qui
   avertit les utilisateurs inscrits des nouvelles formations




                                                               107
SECTION 3 – CLASSES
          Cours 5 – Analyse                                      D ’A N A LY S E


Technique des stéréotypes - Exemple




Acteurs           Entités         Contrôleurs                Limites




                                                                                             Cours IGL, Copyright © 2011, ESI
                                      InscriptionManager
                      Formation

    Utilisateur
                                                                InterfaceInscription


                                      NotificationManager
                      Formateur




                                                                                       108
SECTION 3 – CLASSES
       Cours 5 – Analyse                        D ’A N A LY S E


        Paquets d’analyse


 Les classes d’analyse sont regroupées dans des « paquets
  d’analyse »




                                                                  Cours IGL, Copyright © 2011, ESI
 Les classes se trouvant dans le même paquet sont des
  classes ayant un certain lien sémantique
 Un bon regroupement des paquets produit une haute
  « cohésion » à l’intérieur d’un paquet et un faible
  « couplage » entre paquets




                                                            109
SECTION 3 – CLASSES
    Cours 5 – Analyse              D ’A N A LY S E


Paquets d’analyse - Exemple




                                                     Cours IGL, Copyright © 2011, ESI
                                               110
COURS IGL

                                          Cours N° 5
          Section 3 : Classes d’analyse   Analyse

                – Débat (05 Mns)



                                               111




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                             Cours N° 5
                                             Analyse
                  Section 4 : Interactions



                                                  112




Cours IGL, Copyright © 2011, ESI
SECTION 4 –
        Cours 5 – Analyse                     INTERACTIONS


           Introduction


 Les classes d’analyse représentent la structure statique
  du système




                                                                   Cours IGL, Copyright © 2011, ESI
 Les interactions expriment comment les instances de ces
  classes interagissent pour réaliser une fonction du
  système
 Les interactions expriment l’aspect dynamique du
  système




                                                             113
SECTION 4 –
        Cours 5 – Analyse                        INTERACTIONS


     Objectifs des interactions


 Trouver quelles classes qui interagissent pour un cas
  d’utilisation donné




                                                                      Cours IGL, Copyright © 2011, ESI
 Trouver les messages envoyés entre les classes pour
  réaliser un certain comportement (attributs, opérations,
  relations)
 Eventuellement, mettre à jour les modèles de besoins et
  d’analyse
 Ne pas créer d’interactions pour tous les cas d’utilisation,
  Uniquement pour les CUs les plus importants et les plus
  complexes



                                                                114
SECTION 4 –
       Cours 5 – Analyse                   R É A L I S AT I O N D E S C A S
                                                D ’ U T I L I S AT I O N


   Diagrammes comportementaux


 Les diagrammes comportementaux est la meilleure
  façon de représenter les interactions




                                                                              Cours IGL, Copyright © 2011, ESI
 Les diagrammes de séquence illustrent une séquence de
  messages ordonnée dans le temps
 Le diagramme de communication décrit les relations
  entre objets dans un contexte donné
 Le diagramme d’activité décrit le flux d’actions menant
  à la réalisation d’une fonction métier
 Le diagramme d’état démontre le changement d’état
  d’une entité dans le temps



                                                                      115
COURS IGL

                                             Cours N° 5
                 Section 4 : Interactions,   Analyse

                     débat (05 mns)



                                                  116




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                         Cours N° 5
             Section 5 : Diagrammes de   Analyse

                      séquence



                                              117




Cours IGL, Copyright © 2011, ESI
SECTION 5 –
        Cours 5 – Analyse                    DIAGRAMMES DE
                                                SÉQUENCE


           Présentation


 Les diagrammes de séquence (DSQ) décrivent une action
  ordonnée dans le temps




                                                                   Cours IGL, Copyright © 2011, ESI
 Les DSQ document les CU et font partie du modèle
  d’analyse
 Les DSQ sont composés de trois concepts principaux : les
  lignes de vie, les messages et les fragments




                                                             118
SECTION 5 –
        Cours 5 – Analyse                    DIAGRAMMES DE
                                                SÉQUENCE


           Lignes de vie


 Une ligne de vie représente un seul participant dans une
  interaction




                                                               Cours IGL, Copyright © 2011, ESI
 Une ligne de vie peut représenter un objet, une instance
  d’une classe ou un acteur
 Pour représenter une interaction, des messages lient les
  lignes de vie




                                                         119
SECTION 5 –
       Cours 5 – Analyse                      DIAGRAMMES DE
                                                 SÉQUENCE


Lignes de vie – Représentation UML


                Objet                         :Employe

                                Utilisateur




                                                                Cours IGL, Copyright © 2011, ESI
                                                          120
SECTION 5 –
        Cours 5 – Analyse                    DIAGRAMMES DE
                                                SÉQUENCE


            Messages


 Un message représente une communication entre deux
  lignes de vie durant une interaction




                                                                  Cours IGL, Copyright © 2011, ESI
 Un message peut s’agir de l’appel d’une opération
 Un message peut s’agir de la création ou de la
  destruction d’instance
 Un message peut s’agir d’envoi d’un signal
 Quand une ligne de vie reçoit un message, ça correspond
  généralement à l’appel d’une opération ayant la même
  signature
 Quand une ligne de vie reçoit un message, elle obtient
  sont activation. L’activation change de ligne de vie à
  travers le temps.
                                                            121
SECTION 5 –
       Cours 5 – Analyse                                       DIAGRAMMES DE
                                                                  SÉQUENCE


               Messages

  Type de message                               Description

Message synchrone         L’émetteur attend que le récepteur termine l’opération




                                                                                       Cours IGL, Copyright © 2011, ESI
                          pour passer à l’étape suivante
Message asynchrone        L’émetteur envoie le message puis continue son
                          exécution sans attendre la fin chez le récepteur
Message de retour         L’émetteur récupère l’activation suite à l’avoir perdu en
                          envoyant un message au destinataire
Message de création       Le message provoque la création du destinataire

Message de destruction Le message provoque la destruction du destinataire

Message found             L’émetteur de ce message ne fait pas partie de
                          l’interaction.
Message lost              Le destinataire ne reçoit jamais ce message. Peut
                          indiquer des situation d’erreur.                       122
SECTION 5 –
        Cours 5 – Analyse                                    DIAGRAMMES DE
                                                                SÉQUENCE


             Messages

                        LV1                                       LV2
 Message
Synchrone




                                                                               Cours IGL, Copyright © 2011, ESI
                              MessageSynchrone(P1, P2, P3)

Message de
  retour
                                    MessageRetour()



 Message
Asynchrone                     MessageAsynchrone(P4, P5)




                                         Activation

                                                                         123
SECTION 5 –
         Cours 5 – Analyse                           DIAGRAMMES DE
                                                        SÉQUENCE


              Messages
                             LV

Message De
 Création




                                                                             Cours IGL, Copyright © 2011, ESI
                                                       object:Classe




                                  AppelOperation()
Message De
Destruction


                                   Suppression()




                                                                       124
SECTION 5 –
         Cours 5 – Analyse                                 DIAGRAMMES DE
                                                              SÉQUENCE


                Messages

                                     LV1             LV2
Message Found




                                                                                Cours IGL, Copyright © 2011, ESI
                    AppelExterne()


                                           Appel()




Message Lost
                                                           AppelPerdu()




                                                                          125
SECTION 5 –
Cours 5 – Analyse                                DIAGRAMMES DE
                                                    SÉQUENCE


  DSQ - Exemple

                              AppliquerUnEffet




                                                                   Cours IGL, Copyright © 2011, ESI
   Utilisateur               AjouterUnAlbum




                               ConsulterUnAlbum




                    DupliquerAlbum


                                                             126
SECTION 5 –
Cours 5 – Analyse               DIAGRAMMES DE
                                   SÉQUENCE


  DSQ - Exemple




                                                       Cours IGL, Copyright © 2011, ESI
                    MiseAjourStatistiqueAlbums




Temps




                                                 127
SECTION 5 –
      Cours 5 – Analyse                             DIAGRAMMES DE
                                                       SÉQUENCE


          DSQ - Exemple

            «actor»
           Utilisateur




                                                                      Cours IGL, Copyright © 2011, ESI
                                   Album




                                            1   *

                                                    Photo

AlbumManager




                          InterfaceAlbums



           StatManager



                                                                128
SECTION 5 –
           Cours 5 – Analyse                                                DIAGRAMMES DE
                                                                               SÉQUENCE


Diagrammes de séquences - Exemple

 CU: AppliquerUnEffet
 ID: 1
 Description brève : Appliquer un effet spécial à une photo d’un album. Chaque effet est identifié




                                                                                                       Cours IGL, Copyright © 2011, ESI
 par un numéro.
 Acteurs primaires : Utilisateurs
 Acteurs secondaires : Aucun
 Préconditions : le client doit être authentifié
 Enchaînement principal
 1. L’utilisateur sélectionne un album
 2. L’utilisateur sélectionne la photo désirée de l’album
 3. L’utilisateur applique l’effet désiré en indiquant son numéro.

 Postconditions :
 Enchaînement s alternatifs :



                                                                                                 129
SECTION 5 –
        Cours 5 – Analyse                                                   DIAGRAMMES DE
                                                                               SÉQUENCE


    DSQ – Appliquer un effet
                                                                Lignes de vie


                                                          :Album                :Photo




                                                                                                      Cours IGL, Copyright © 2011, ESI
Utilisateur
                       AlbumManager
        getAlbum(id:int)

              :Album                                                               Activation

                  getPhoto(idPhoto :int) :Photo

                              :Photo

                                 appliquerEffet(idEffet :int)



                                                                Messages
                                                                                                130
SECTION 5 –
   Cours 5 – Analyse                                               DIAGRAMMES DE
                                                                      SÉQUENCE


DSQ – Appliquer un effet


                                                          :Album        :Photo




                                                                                       Cours IGL, Copyright © 2011, ESI
Utilisateur
                       AlbumManager
        getAlbum(id:int)

              :Album


                  getPhoto(idPhoto :int) :Photo

                              :Photo

                                 appliquerEffet(idEffet :int)




                                                                                 131
SECTION 5 –
          Cours 5 – Analyse                                             DIAGRAMMES DE
                                                                           SÉQUENCE


        DSQ – Ajouter un album

CU: AjouterUnAlbum
ID: 2
Description brève : Création d’un nouvel album par l’utilisateur




                                                                                          Cours IGL, Copyright © 2011, ESI
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur le bouton « nouveau »
2. L’utilisateur donne un nom à l’album
3. L’utilisateur enregistre l’album

Postconditions :
Enchaînement s alternatifs :




                                                                                    132
SECTION 5 –
  Cours 5 – Analyse                             DIAGRAMMES DE
                                                   SÉQUENCE


DSQ – Ajouter un album




                                                                  Cours IGL, Copyright © 2011, ESI
     Utilisateur
                             AlbumManager
             ajouterAlbum() :Album

                                                :Album

                    :Album


                             renommer(String)

            enregistrerAlbum(Album)




                                                            133
SECTION 5 –
           Cours 5 – Analyse                                              DIAGRAMMES DE
                                                                             SÉQUENCE


        DSQ – Consulter un album

CU: Consulter un album
ID: 3
Description brève : L’utilisateur consulte un album et les photos qui le composent




                                                                                            Cours IGL, Copyright © 2011, ESI
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur l’album sélectionné
2. L’album adapte son affichage selon la résolution
3. L’album affiche les photos le composant selon la résolution

Postconditions :
Enchaînement s alternatifs :




                                                                                      134
SECTION 5 –
              Cours 5 – Analyse                                                   DIAGRAMMES DE
                                                                                     SÉQUENCE


     DSQ – Consulter un album


                                                                         :Album




                                                                                                               Cours IGL, Copyright © 2011, ESI
Utilisateur
                   InterfaceAlbums                  AlbumManager
       clic(album :Album)

                              getAlbum(id :int) :Album
                                                                                         Activations
                                        :Album                                            réflexives

                                     getResolution() :int


                                             afficher(resolution :int)


                                                                                    adapter(resolution :int)




                                                                                                         135
SECTION 5 –
              Cours 5 – Analyse                                                   DIAGRAMMES DE
                                                                                     SÉQUENCE


     DSQ – Consulter un album


                                                                         :Album




                                                                                                               Cours IGL, Copyright © 2011, ESI
Utilisateur
                   InterfaceAlbums                  AlbumManager
       clic(album :Album)

                              getAlbum(id :int) :Album

                                        :Album


                                     getResolution() :int


                                             afficher(resolution :int)


                                                                                    adapter(resolution :int)




                                                                                                         136
SECTION 5 –
        Cours 5 – Analyse                    DIAGRAMMES DE
                                                SÉQUENCE


            Fragments


 Un DSQ peut être composé de plusieurs fragments
 Un fragment est caractérisé par un nom




                                                                 Cours IGL, Copyright © 2011, ESI
 Un fragment peut contenir un ou plusieurs messages
 Un fragment est composé d’un opérateur et de un ou
  plusieurs opérandes
 L’opérateur décide comment les opérandes sont
  exécutées
 Un fragment peut être caractérisé par une ou plusieurs
  conditions
 Les fragments peuvent être imbriqués


                                                           137
SECTION 5 –
          Cours 5 – Analyse                              DIAGRAMMES DE
                                                            SÉQUENCE


        Fragments – Opérateurs


      Opérateurs         Nom                     Description




                                                                                    Cours IGL, Copyright © 2011, ESI
opt                optionnel      L’opérande n’est exécutée que si la
                                  condition est vérifiée
alt                Alternatives   Plusieurs alternatives. Uniquement
                                  l’opérande dont la condition est vérifiée
                                  s’exécute
loop               Itération      Itère l’ exécution tant que la condition est
                                  vérifiée
ref                Référence      Réfère à une autre interaction




                                                                              138
SECTION 5 –
           Cours 5 – Analyse                                              DIAGRAMMES DE
                                                                             SÉQUENCE


        DSQ – Dupliquer un album

CU: DupliquerUnAlbum
ID: 4
Description brève : L’utilisateur crée un nouvel album portant le même nom et contenant les




                                                                                                    Cours IGL, Copyright © 2011, ESI
mêmes photos
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur le bouton dupliquer
2. Le système crée un nouvel album
3. Le système donne le même nom au nouvel album
4. Si l’album original contient des photos et s’il n’est pas verrouillé
           4.1 Copier les photos de l’album original vers la copie
Postconditions :
Enchaînement s alternatifs :


                                                                                              139
SECTION 5 –
       Cours 5 – Analyse                                                             DIAGRAMMES DE
                                                                                        SÉQUENCE


    DSQ – Dupliquer un album

                                                                   original :Album
                                                                                              Nom
       Utilisateur
                              AlbumManager




                                                                                                                Cours IGL, Copyright © 2011, ESI
             dupliquerAlbum(int)


                                                getAlbum(int) :
Opérateur                                       Album                                                Fragment
                                             getPhotos() :Photo[*]
                                                liste= :Photo[*]

                                                                                      Copie :Album
Condition
                                                              renommer(String)

                     opt Copier

Opérande             [Si liste n'est pas vide est si l'album n'est pas verrouillé]
                                                             copierPhotos(liste)




                                                                                                          140
SECTION 5 –
   Cours 5 – Analyse                                                            DIAGRAMMES DE
                                                                                   SÉQUENCE


DSQ – Dupliquer un album

                                                              original :Album

  Utilisateur
                         AlbumManager




                                                                                                      Cours IGL, Copyright © 2011, ESI
        dupliquerAlbum(int)


                                           getAlbum(int) :
                                           Album
                                        getPhotos() :Photo[*]
                                           liste= :Photo[*]

                                                                                 Copie :Album


                                                         renommer(String)

                opt Copier
                [Si liste n'est pas vide est si l'album n'est pas verrouillé]
                                                        copierPhotos(liste)




                                                                                                141
SECTION 5 –
          Cours 5 – Analyse                                                   DIAGRAMMES DE
                                                                                 SÉQUENCE


  DSQ – MAJ Statistiques Album

CU: MAJ statistiques
ID: 5
Description brève : Chaque jour, des statistiques sont mises à jour pour tous les albums. Si




                                                                                                        Cours IGL, Copyright © 2011, ESI
l’album est public, on prend le nombre de visite et les miniatures sinon on prend uniquement le
nombre de visites.
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre chaque fin de journée
2. Le système récupère la liste des albums
3. Pour chaque album
          3.1 si l’album est public,
                       3.1.1 prendre le nombre de visites et les miniatures
          3.2 sinon
                       3.1.2 prendre le nombre de visites
Postconditions :
                                                                                                  142
SECTION 5 –
    Cours 5 – Analyse                                            DIAGRAMMES DE
                                                                    SÉQUENCE


DSQ – MAJ Statistiques Album

                                                                  :Album


                 StatManager               AlbumManager




                                                                                   Cours IGL, Copyright © 2011, ESI
                        getAllAlbums() :Album[*]

                               :Album[*]

              loop iterationAlbums
              [pour chaque album]

                    alt albumCond
                    [Album public]
                                      getNombreVisites() :int

                                     getMiniatures() :Photo[*]

                    [Album privé]
                                      getNombreVisites() :int



                                                                             143
SECTION 5 –
 Cours 5 – Analyse                                                  DIAGRAMMES DE
                                                                       SÉQUENCE


     DSQ – Exemple
            «actor»
           Utilisateur



                                       Album




                                                                                                       Cours IGL, Copyright © 2011, ESI
                         +    getPhoto(int) : Photo
                         +    renommer(String) : void
                         +    afficher(int) : void
                         +    adapter(int) : void
                         +    getPhotos() : Photo[*]
                         +    copierPhotos(Photo[*]) : void
                         +    getNombreVisites() : int              *
                                                            1
                         +    getMiniatures() : Photo[*]
                                                                           Photo

AlbumManager                                                    +   appliquerEffet(int) : void




                             InterfaceAlbums



           StatManager




                                                                                                 144
COURS IGL

                                         Cours N° 5
             Section 5 : Diagrammes de   Analyse

             séquence, débat (05 mns)



                                              145




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                          Cours N° 5
                 Section 6 : Diagrammes   Analyse

                        d’activité



                                               146




Cours IGL, Copyright © 2011, ESI
SECTION 6 –
        Cours 5 – Analyse                       DIAGRAMME
                                                 D ’A C T I V I T É


           Présentation


 Les diagrammes d’activité (AD) représentent des
  processus en tant qu’une activité composée de plusieurs




                                                                            Cours IGL, Copyright © 2011, ESI
  nœuds connectés.
 Dans UML 1, les AD étaient des sous -ensembles des
  diagrammes d’état. Dans UML 2, c’est des diagrammes à
  part entière.
 Une activité peut être attachée à n’importe quel élément
  du modèle (cas d’utilisation, classe, …). Une activité
  modélise essentiellement un comportement.




                                                                      147
SECTION 6 –
        Cours 5 – Analyse                      DIAGRAMME
                                                D ’A C T I V I T É


           Présentation


 Les diagrammes d’activité sont idéaux pour représenter
  des processus métier.




                                                                           Cours IGL, Copyright © 2011, ESI
 Les ADs n’ont pas besoin de connaître la structure
  statique du modèle (classes, objets) ce qui permet leur
  utilisation dans les premiers moments de l’analyse.
 Les ADs sont très simples à comprendre par le client.




                                                                     148
SECTION 6 –
       Cours 5 – Analyse                      DIAGRAMME
                                               D ’A C T I V I T É


            Activités


 Les activités sont des réseaux composés de nœuds et de
  connecteurs.




                                                                          Cours IGL, Copyright © 2011, ESI
 Il y a trois types de nœuds : des nœuds d’action, des
  nœuds de contrôle et des nœuds d’objet.
 Un « nœud d’action » représente une unité de travail
  atomique (indivisible)
 Un « nœud de contrôle » contrôle le flux au sein d’une
  activité
 Un « nœud d’objet » représente un objet manipulé dans
  l’activité.



                                                                    149
SECTION 6 –
        Cours 5 – Analyse                      DIAGRAMME
                                                D ’A C T I V I T É


            Activités


 Les connecteurs représentent le flux entre les nœuds.
 Il y a deux types de connecteurs : des connecteurs de




                                                                           Cours IGL, Copyright © 2011, ESI
  contrôle et des connecteurs d’objet.
 Un connecteur de contrôle représente le flux d’activité
 Un connecteur d’objet représente le flux d’objet
 Une activité démarre avec un nœud spécial appelé nœud
  initial
 L’activité se termine avec un nœud spécial appelé nœud
  final




                                                                     150
SECTION 6 –
Cours 5 – Analyse                                DIAGRAMME
                                                  D ’A C T I V I T É


    Activités



                          EffectuerUneCommande




                                                                             Cours IGL, Copyright © 2011, ESI
            Acheteur




                          ValiderUneCommande




                Vendeur




                                                                       151
SECTION 6 –
        Cours 5 – Analyse                                 DIAGRAMME
                                                           D ’A C T I V I T É


       Diagramme d’activité


 Nœud initial




                                                                                      Cours IGL, Copyright © 2011, ESI
                               Chercher Des Produits


Nœuds d’action                                                Connecteurs
                              Sélectionner Les Produits




                              Enregistrer La Commande




  Nœud final
                                                                                152
SECTION 6 –
Cours 5 – Analyse                                  DIAGRAMME
                                                    D ’A C T I V I T É


Diagramme d’activité




                                                                               Cours IGL, Copyright © 2011, ESI
                        Chercher Des Produits




                       Sélectionner Les Produits




                       Enregistrer La Commande




                                                                         153
SECTION 6 –
        Cours 5 – Analyse                      DIAGRAMME
                                                D ’A C T I V I T É


         Fonctionnement


 Le diagramme d’activité suit une séquence déterminée
  par un jeton




                                                                           Cours IGL, Copyright © 2011, ESI
 Le jeton transite du nœud initial vers le nœud final
 Le jeton peut être un des éléments suivants : le flux
  actuel, un objet ou des données
 L’état d’un AD est déterminé par ses jetons
 Les jetons transitent d’un nœud à l’autre via les
  connecteurs




                                                                     154
SECTION 6 –
        Cours 5 – Analyse                        DIAGRAMME
                                                  D ’A C T I V I T É


            Partitions


 Les activités sémantiquement liées peuvent être
  regroupées en « partitions »




                                                                             Cours IGL, Copyright © 2011, ESI
 Une partition désigne généralement le rôle exécutant
  l’action en cours
 Les partitions rendent les ADs plus faciles à lire et plus
  expressifs
 Les partitions peuvent être représentées d’une manière
  horizontale ou verticale
 Exemple : pour valider une facture, le gestionnaire lance
  la validation, le magasinier prépare le stock et enfin, le
  comptable vérifie le paiement


                                                                       155
SECTION 6 –
Cours 5 – Analyse                                          DIAGRAMME
                                                            D ’A C T I V I T É


      Partitions
                                                      Partitions




                                                                                       Cours IGL, Copyright © 2011, ESI
     Gestionnaire         Magasinier           Comptable




 Lancer la validation




                        Préparer le stock




                                            Vérifier le virement




                                                                                 156
SECTION 6 –
Cours 5 – Analyse                                          DIAGRAMME
                                                            D ’A C T I V I T É


      Partitions




                                                                                       Cours IGL, Copyright © 2011, ESI
     Gestionnaire         Magasinier           Comptable




 Lancer la validation




                        Préparer le stock




                                            Vérifier le virement




                                                                                 157
SECTION 6 –
        Cours 5 – Analyse                      DIAGRAMME
                                                D ’A C T I V I T É


        Décisions et fusions


 Un nœud de décision a un connecteur en entrée et deux
  (ou plusieurs e sortie)




                                                                           Cours IGL, Copyright © 2011, ESI
 Le chemin à suivre par le jeton est celui de la condition
  vérifiée du nœud de décision
 Plusieurs chemins sortent du nœud de décision
 Un nœud de fusion fusionnent les connecteurs sortis d’un
  nœud de décision
 Exemple : une fois une commande reçue, si le stock est
  disponible faire l’inventaire du reste, sinon lancer un
  approvisionnement



                                                                     158
SECTION 6 –
             Cours 5 – Analyse                                     DIAGRAMME
                                                                    D ’A C T I V I T É


             Décisions et fusions


                                                      Recevoir Commande
  Nœud de
  décision




                                                                                               Cours IGL, Copyright © 2011, ESI
                                               Stock disponible
                                                                         [Non]
                                       [Oui]


                                    Mettre à jour
                                     inventaire
                                                                                 Approvisionner




Nœud de fusion

                                                              Notifier




                                                                                         159
SECTION 6 –
Cours 5 – Analyse                                     DIAGRAMME
                                                       D ’A C T I V I T É


Décisions et fusions


                                         Recevoir Commande




                                                                                  Cours IGL, Copyright © 2011, ESI
                                  Stock disponible
                                                            [Non]
                          [Oui]


                       Mettre à jour
                        inventaire
                                                                    Approvisionner




                                                 Notifier




                                                                            160
SECTION 6 –
        Cours 5 – Analyse                       DIAGRAMME
                                                 D ’A C T I V I T É


        Activités parallèles


 Dans un AD, on peut créer des flux parallèles en utilisant
  le nœud « fork »




                                                                            Cours IGL, Copyright © 2011, ESI
 Pour fusionner les flux parallèles, un nœud « join » est
  utilisé
 Exemple : après réception d’une commande, deux activité
  sont lancées en parallèle, une pour la vérification du
  paiement et l’autre pour la préparation du stock




                                                                      161
SECTION 6 –
        Cours 5 – Analyse                               DIAGRAMME
                                                         D ’A C T I V I T É


            Activités parallèles



Nœud fork




                                                                                     Cours IGL, Copyright © 2011, ESI
                                             Recevoir Commande




                                   Préparer Stock                Vérifier Paiement



Nœud join




                                                                              162
SECTION 6 –
Cours 5 – Analyse                           DIAGRAMME
                                             D ’A C T I V I T É


Activités parallèles




                                                                         Cours IGL, Copyright © 2011, ESI
                                 Recevoir Commande




                       Préparer Stock                Vérifier Paiement




                                                                  163
SECTION 6 –
        Cours 5 – Analyse                      DIAGRAMME
                                                D ’A C T I V I T É


          Nœuds d’objet


 Les nœuds d’objet sont des nœuds spéciaux qui indiquent
  que des instances d’une classe données sont disponible à




                                                                           Cours IGL, Copyright © 2011, ESI
  un point donné du temps
 Exemple, dans une activité industrielle, la spécification
  produit un cahier de charges et le développement produit
  un prototype




                                                                     164
SECTION 6 –
       Cours 5 – Analyse     DIAGRAMME
                              D ’A C T I V I T É


         Nœuds d’objet




                                                         Cours IGL, Copyright © 2011, ESI
                              Spécification




Nœud d’objet               cahier des charges




                            Développement




                                prototype




                                                   165
SECTION 6 –
        Cours 5 – Analyse                       DIAGRAMME
                                                 D ’A C T I V I T É


          Nœuds d’objet


 Lorsque les activités produisent beaucoup d’objets, il
  serait intéressant de les organiser en PINS




                                                                            Cours IGL, Copyright © 2011, ESI
 Par exemple, pour l’authentification, le username et le
  mot de passe sont des objets produits




                                                                      166
SECTION 6 –
Cours 5 – Analyse                                    DIAGRAMME
                                                      D ’A C T I V I T É


  Nœuds d’objet




                                                                                 Cours IGL, Copyright © 2011, ESI
                                                 Authentifier
    Entrer
                       Utilisateur
   Utilisateur
                                                   Vérifier
                                                  Utilisateur


  Entrer Mot De
                       Mot De Passe
      Passe
                                              Vérifier Mot DePasse




                  Sans utilisation des PINs



                                                                           167
SECTION 6 –
Cours 5 – Analyse                                               DIAGRAMME
                                                                 D ’A C T I V I T É


  Nœuds d’objet



     Entrer                                      Authentifier




                                                                                            Cours IGL, Copyright © 2011, ESI
    Utilisateur
                   Utilisateur
                                                   Vérifier
                                                  Utilisateur


   Entrer Mot De
       Passe
                    Mot de                  Vérifier Mot DePasse
                    passe




                     Avec utilisation des PINs



                                                                                      168
SECTION 6 –
          Cours 5 – Analyse                 DIAGRAMME
                                             D ’A C T I V I T É


Quand utiliser le diagramme d’activité ?


 Pour modéliser des processus parallèles
 Pour modéliser des processus métier indépendamment




                                                                        Cours IGL, Copyright © 2011, ESI
  de la structure statique (classes d’analyse)




                                                                  169
COURS IGL

                                          Cours N° 5
              Section 6 : Diagrammes      Analyse

             d’activité, Débat (05) mns



                                               170




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                          Cours N° 5
                 Section 7 : Diagrammes   Analyse

                   d’états-transitions



                                               171




Cours IGL, Copyright © 2011, ESI
SECTION 7 –
        Cours 5 – Analyse                     D I A G R A M M E D ’ É TAT S
                                                    TRANSITIONS


           Introduction


 Un diagramme d’états-transitions (DET) modélise le
  cycle de vie d’un objet dit objet réactif




                                                                              Cours IGL, Copyright © 2011, ESI
 Un objet réactif est un objet qui change d’état suite à un
  évènement donné
 Une machine d’état représente un nombre fini de ces
  états




                                                                       172
SECTION 7 –
        Cours 5 – Analyse                   D I A G R A M M E D ’ É TAT S
                                                  TRANSITIONS


           Introduction


 Les DETs sont composés de trois éléments principaux :
  états, transitions et évènements




                                                                            Cours IGL, Copyright © 2011, ESI
 Un état représente une condition dans laquelle se trouve
  un objet à un instant T
 Un évènement est une action particulière qui se
  déclenche sous des conditions spécifiques
 Une transition est le mouvement d’un état vers un autre
  suite à un évènement donné




                                                                     173
SECTION 7 –
        Cours 5 – Analyse                      D I A G R A M M E D ’ É TAT S
                                                     TRANSITIONS


             Exemple


 Une lampe est initialement éteinte. Si on l’allume, elle
  passe dans l’état allumée. Si on l’éteint, elle repasse dans




                                                                               Cours IGL, Copyright © 2011, ESI
  l’état éteinte. Si elle saute, elle passe définitivement à
  l’état final défectueux




                                                                        174
SECTION 7 –
Cours 5 – Analyse                              D I A G R A M M E D ’ É TAT S
                                                     TRANSITIONS


       Exemple


Etat initial               Etat




                                                                               Cours IGL, Copyright © 2011, ESI
                                  [Allumer]
                 Eteinte                         Allumée
                                  [Eteindre]


                                                         [Sauter]



                  Transition                                     Etat final



                                                                        175
SECTION 7 –
       Cours 5 – Analyse                   D I A G R A M M E D ’ É TAT S
                                                 TRANSITIONS


             Etats


 Durant le temps, un objet peut envoyer un message à un
  autre objet qui peuvent changer sont état




                                                                           Cours IGL, Copyright © 2011, ESI
 L’état d’un objet est déterminé par ses attributs, ses
  relations à d’autres objets et les activités dans
  lesquelles il est impliqué
 Il ne faut modéliser que les états qui ajoutent de
  l’expressitivité au système
 Les états de jonction (pseudo-états) peuvent connecter
  plusieurs transitions
 Un pseudo-état de choix exprime un ou plusieurs choix
  mutuellement exclusifs


                                                                    176
SECTION 7 –
      Cours 5 – Analyse                                           D I A G R A M M E D ’ É TAT S
                                                                        TRANSITIONS


                 Etats

    Pseudo-état de
       jonction




                                                                                                  Cours IGL, Copyright © 2011, ESI
                                   Disponible   [déterioration]                   Indisponible

                         [rendu]    [prêté]


                                    En prêt

Pseudo-état de
    choix
                                                                  Perdu




                                                                                            177
SECTION 7 –
Cours 5 – Analyse                                      D I A G R A M M E D ’ É TAT S
                                                             TRANSITIONS


      Etats




                                                                                       Cours IGL, Copyright © 2011, ESI
                        Disponible   [déterioration]                   Indisponible

              [rendu]    [prêté]


                         En prêt




                                                       Perdu




                                                                                 178
SECTION 7 –
        Cours 5 – Analyse                    D I A G R A M M E D ’ É TAT S
                                                   TRANSITIONS


      Quand utiliser le DET ?


 Pour modéliser des entités réactives (dont les états
  changent)




                                                                             Cours IGL, Copyright © 2011, ESI
                                                                      179
COURS IGL

                                            Cours N° 5
                Section 7 : Diagrammes      Analyse
               d’états-transitions, débat
                        (05 mns)


                                                 180




Cours IGL, Copyright © 2011, ESI
Cours 3 – Introduction à UML               BIBLIOGRAPHIE



         Bibliographie

 UML Distilled 3rd Edition, Martin Fowler, 2003, Addison
  Wesley




                                                                  Cours IGL, Copyright © 2011, ESI
 UML2 and the Unified Process, Second Edition, Addison
  Wesley 2005

 Wikipedia : Unified Modeling Language,
  http://fr.wikipedia.org/wiki/Unified_Modeling_Language




                                                            181

Contenu connexe

PPTX
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
PDF
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
PDF
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
PDF
Rapport de pfe (am)
PDF
Chap2fonctionscpp
PDF
Intégration des données avec Talend ETL
PDF
Marketing - Louis Vuitton case presentation
PDF
TD2 - UML - Correction
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Rapport de pfe (am)
Chap2fonctionscpp
Intégration des données avec Talend ETL
Marketing - Louis Vuitton case presentation
TD2 - UML - Correction

Tendances (20)

PPSX
Génie Logiciel : Conception
PDF
Support JEE Spring Inversion de Controle IOC et Spring MVC
PPSX
introduction à la modélisation objet
PDF
Support POO Java première partie
PDF
Tp3 - Application SOA avec BPEL
PDF
Support programmation orientée aspect mohamed youssfi (aop)
PDF
2.2 cycles de vie
PDF
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
PDF
Methodes de gestion de projets - introduction au processus unifié
PDF
Cours java
PDF
Support de cours Spring M.youssfi
PDF
eServices-Tp1: Web Services
ODP
Uml: Diagrammes de classes -- Concepts avances --- 27
PPTX
Le passage du diagramme de classe vers le model objet relationnel
PPTX
Servlets et JSP
PDF
TP2-UML-Correction
PDF
Chp4 - Diagramme de Séquence
PPTX
Conception et Réalisation d’une application de Gestion SCOLAIRE
PDF
Epreuve concours génie informatique
PPTX
Cycles de vie d'un logiciel
Génie Logiciel : Conception
Support JEE Spring Inversion de Controle IOC et Spring MVC
introduction à la modélisation objet
Support POO Java première partie
Tp3 - Application SOA avec BPEL
Support programmation orientée aspect mohamed youssfi (aop)
2.2 cycles de vie
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Methodes de gestion de projets - introduction au processus unifié
Cours java
Support de cours Spring M.youssfi
eServices-Tp1: Web Services
Uml: Diagrammes de classes -- Concepts avances --- 27
Le passage du diagramme de classe vers le model objet relationnel
Servlets et JSP
TP2-UML-Correction
Chp4 - Diagramme de Séquence
Conception et Réalisation d’une application de Gestion SCOLAIRE
Epreuve concours génie informatique
Cycles de vie d'un logiciel
Publicité

Similaire à Génie Logiciel - Cours 5 - analyse (11)

PPSX
Génie Logiciel : les tests
PPSX
Génie Logiciels : Introduction aux architectures
PDF
IGL - Cours 8 - Tests sur le cycle de vie d'ordinateur
PDF
IGL - Cours 2 - Cycles de Vie d'un ordinateur
PPTX
Chp1 intro conception
PPTX
Chp1 intro conception
PDF
Thesis+of+nesrine+abdelkafi.ppt
PDF
Uml upxp2
PDF
COURS UML INFORMATQIUE TELECOM2 2007.pdf
PDF
Agilité : une main de fer dans un gant de velours
PDF
Présentation du logiciel SOCLE
Génie Logiciel : les tests
Génie Logiciels : Introduction aux architectures
IGL - Cours 8 - Tests sur le cycle de vie d'ordinateur
IGL - Cours 2 - Cycles de Vie d'un ordinateur
Chp1 intro conception
Chp1 intro conception
Thesis+of+nesrine+abdelkafi.ppt
Uml upxp2
COURS UML INFORMATQIUE TELECOM2 2007.pdf
Agilité : une main de fer dans un gant de velours
Présentation du logiciel SOCLE
Publicité

Plus de Mohammed Amine Mostefai (20)

PPTX
Utilisation de Sharepoint (Collaboration)
PPTX
Utilisation de Sharepoint 2013 - Personnalisation
PPTX
Utilisation Sharepoint (Listes)
PPTX
Utilisation de Sharepoint - Gestion de Documents
PPTX
Utilisation de Sharepoiunt - Introduction
PPTX
Pratiques agiles
PPTX
Introduction à Scrum
PPTX
Méthodes Agiles - La Méthode XP
PPTX
Le Manifeste Agile
PPTX
Méthodes Agiles - Généralités
PPTX
Introduction aux technologies mobiles
PPTX
Workflow Foundation - Cours 5
PPTX
Workflow Foundation Module 4
PPTX
Présentation cloud journée azure
PPTX
PPTX
Microsoft Workflow Foundation - Cours 2
PPTX
Introduction to Workflow Foundation
PPTX
Le Langage CSS
PPTX
Sécurisation des applications ASP.NET
PPTX
Présentation sharepoint 2013
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation Sharepoint (Listes)
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoiunt - Introduction
Pratiques agiles
Introduction à Scrum
Méthodes Agiles - La Méthode XP
Le Manifeste Agile
Méthodes Agiles - Généralités
Introduction aux technologies mobiles
Workflow Foundation - Cours 5
Workflow Foundation Module 4
Présentation cloud journée azure
Microsoft Workflow Foundation - Cours 2
Introduction to Workflow Foundation
Le Langage CSS
Sécurisation des applications ASP.NET
Présentation sharepoint 2013

Génie Logiciel - Cours 5 - analyse

  • 1. COURS IGL COURS 5 ANALYSE Cours 5 : Analyse Mostefai Mohammed Amine – [email protected] Batata Sofiane – [email protected] 1
  • 2. Cours 5 – Analyse OBJECTIFS DU COURS Objectifs du cours  Appréhender l’activité d’analyse  Se familiariser avec les pratiques et les livrables de Cours IGL, Copyright © 2011, ESI l’analyse  Utiliser UML pour exprimer les résultats de l’analyse  Découverte des diagrammes de classe, d’activité, de séquence et d’état 2
  • 3. INTRODUCTION Section 1 : Section 2 : Les Section 3 : Les AU GÉNIE Introduction classes classes d’analyse LOGICIEL Cours 5 Analyse Section 4 : Section 5 : Section 6 : réalisation des Diagrammes de Diagrammes cas séquence d’activité Section 7 : Diagramme d’états- transitions 3 Cours IGL, Copyright © 2011, ESI
  • 4. COURS IGL Cours N° 5 Analyse Section 1 : Introduction 4 Cours IGL, Copyright © 2011, ESI
  • 5. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse  L’analyse et l’expression de besoins sont très dépendants  Il y a une ambiguïté entre l’analyse et l’expression de besoins Cours IGL, Copyright © 2011, ESI  L’analyse permet de clarifier les besoins d’une manière détaillée  Il y a une ambiguïté entre l’analyse et la conception  L’analyse et la conception répondent à la question «comment »  L’analyse se focalise sur l’aspect métier des fonctionnalités tandis que la conception se focalise sur l’aspect technique  Dans UP, le gros de l’analyse se fait durant la phase d’analyse de besoins et d’élaboration 5
  • 6. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse Modèle d’analyse Classes(Vocabulair Cours IGL, Copyright © 2011, ESI e, aspect statique) L’analyse Produit Interactions (aspect dynamique) 6
  • 7. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse  L’analyse produit un modèle appelé modèle d’analyse  Le modèle est composé de deux sous -modèles : le Cours IGL, Copyright © 2011, ESI vocabulaire et les interactions  Le vocabulaire désigne les concepts du domaine. Il concerne tous les acteurs et entités manipulées par ou dans le systèmes  Le vocabulaire ne concerne pas uniquement les concepts mais aussi les relations entre concepts  Les interactions représentent les activités impliquant plusieurs entités ou acteurs (du vocabulaire) afin de réaliser un objectif métier précis. Généralement, les interactions détaillent les cas d’utilisation. 7
  • 8. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse - Exemple « à l’ESI, pour effectuer un stage, l’étudiant doit chercher un encadreur interne ou dans une entreprise Cours IGL, Copyright © 2011, ESI externe et un sujet à réaliser. Une fois le sujet trouvé, l’étudiant le dépose au niveau du service des stages. Ce dernier s’occupe de la validation du sujet en faisant appel à un enseignant de l’ESI ». 8
  • 9. SECTION 1 - Cours 5 – Analyse INTRODUCTION L’activité d’analyse - Exemple  Le vocabulaire devra contenir les concepts suivants : enseignant, étudiant, encadreur, entreprise, sujet, service Cours IGL, Copyright © 2011, ESI de stage et stage  Il y a plusieurs interactions à souligner : l’interaction de recherche de sujet qui implique l’étudiant, l’entreprise, le sujet et l’encadreur. L’interaction de validation qui implique l’étudiant, le service de stages et l’enseignant. 9
  • 10. SECTION 1 - Cours 5 – Analyse INTRODUCTION Construire le modèle d’analyse - Règles  Se limiter aux concepts métier, s’éloigner des considérations techniques Cours IGL, Copyright © 2011, ESI  Le langage du modèle d’analyse utilise le même langage que le métier  Le modèle capture une vision globale sur un concept ou un processus, ne pas aller trop dans le détail  Le modèle doit toujours être compréhensible et utile au client  Plus le modèle est simple, plus il est meilleur 10
  • 11. SECTION 1 - Cours 5 – Analyse INTRODUCTION Formalisation du modèle d’analyse  Le vocabulaire et les interactions peuvent être formalisés de plusieurs manière (par exemple, en langage naturel) Cours IGL, Copyright © 2011, ESI  UML est un excellent moyen de formaliser le modèle d’analyse  Le diagramme de classes et le diagramme d’objets permettent de formaliser le vocabulaire  Les diagrammes d’interaction peuvent formaliser les interactions 11
  • 12. COURS IGL Cours N° 5 Analyse Débat (05 Mns) 12 Cours IGL, Copyright © 2011, ESI
  • 13. COURS IGL Cours N° 5 Analyse Section 2 : Objets et classes 13 Cours IGL, Copyright © 2011, ESI
  • 14. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESI Etat Comportement Objet 14
  • 15. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES L’objet  Rumbaugh définit l’objet comme étant une entité discrète ayant une limite bien définie qui possède un état et un Cours IGL, Copyright © 2011, ESI comportement  Un objet représente une entité du monde réel  L’état de l’objet est l’ensemble des valeurs de ses attributs  Le comportement d’un objet est représenté par les opérations qu’il peut effectuer. Souvent les opérations conduisent à un changement de l’état d’un objet  L’objet a un identifiant unique qui permet de le distinguer des autres objets. 15
  • 16. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES L’objet Cours IGL, Copyright © 2011, ESI Etat Comportement • Numéro de série (Identifiant) • Allumer() • Marque • Eteindre() • Modèle • Connecter() • Allumée • Filmer() • Mode (Photo / Vidéo) • PrendreUnePhoto() • Connectée à un ordinateur • Liste des photos en mémoire • Capacité • Photo en cours 16
  • 17. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML  Le diagramme qui est utilisé pour la représentation des objets est le diagramme d’objets Cours IGL, Copyright © 2011, ESI 17
  • 18. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets Cours IGL, Copyright © 2011, ESI Nom de l’instance compteTest :Compte Cle = 80 Numero = 11256 Attributs Proprietaire = [Mokhtar] Solde = 150000 18
  • 19. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets  Les noms sont écrits en souligné  Les noms des objets commencent par une minuscule. Si Cours IGL, Copyright © 2011, ESI c’est un nom composé, le début de chaque mot suivant commence par une majuscule. Par exemple : compte11256:Compte ou clientFavori:Client. Le symbole « : » sépare le nom de l’instance du nom de sa classe.  Le nom de l’objet peut être anonyme (ne comporte que le nom de la classe. Par exemple : :Compte ou :Client.  L’objet peut ne pas avoir de classe : par exemple amine ou compteTest. 19
  • 20. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets - Liens  Un lien lie deux instances entre objets  L’objet est une instance d’une classe et le lien est une Cours IGL, Copyright © 2011, ESI instance d’une association 20
  • 21. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets - Liens Objets compteTest :Compte Cours IGL, Copyright © 2011, ESI Cle = 80 Numero = 11256 Proprietaire = [Mokhtar] Solde = 150000 Possède amine :Personne Lien 21
  • 22. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Notation UML des objets - Exemple Cours IGL, Copyright © 2011, ESI azouaou :Enseignant mostefai :Enseignant Nom = Mostefai Prenom = Mohammed Amine igl :Module conduiteDeProj et : mcsi :Module Annee = 3csc Module 22
  • 23. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Objets – Notation UML - Diagrammes  Un diagramme d’objets présente des objets et leurs relations à un instant T Cours IGL, Copyright © 2011, ESI  Le diagramme d’objets est idéal pour donner des exemples sur des situations particulières  Les liens bidirectionnels entre A B quand A et B s’envoient des messages  Un lien unidirectionnel entre A vers B indique que A peut envoyer un message vers B mais pas l’inverse 23
  • 24. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Objets – Notation UML - Diagrammes Grade EXEMPLE Cours IGL, Copyright © 2011, ESI EstGradé Employe Emploie * Departement 1 * EstConstituéeDe Ecole 1 24
  • 25. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Objets – Notation UML - Diagrammes Diagramme object Pédagogie Nom du diagramme mca :Grade Lien Unidirectionnel Cours IGL, Copyright © 2011, ESI cherid :Employe balla :Employe mostefai :Employe +Directrice Etudes +Responsable CPI +Enseignant pg :Departement directionDesEtudes :Departement esi :Ecole Lien Bidiectionnel Rôle 25
  • 26. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Diagramme d’objet – Quand l’utiliser ?  Les diagrammes d’objets sont utilisés pour donner des exemples sur des situations complexes mettant en Cours IGL, Copyright © 2011, ESI relation plusieurs concepts  Les diagrammes d’objet sont facultatifs et souvent les diagrammes de classes sont suffisants pour décrire le domaine. 26
  • 27. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Les classes  Rumbaugh définit la classe comme étant un descripteur d’un ensemble d’objets qui partagent les mêmes Cours IGL, Copyright © 2011, ESI attributs, méthodes, relations et comportement  La classe est le modèle d’un ensemble d’objets similaires  Dans l’exemple précédent : Mostefai et Azouaou sont deux instances de la classe « Enseignant »  Un objet appartient à une seule classe  La classe définit la structure d’un objet (aspect statique) , son comportement (aspect dynamique) et ses relations 27
  • 28. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Les classes  Rumbaugh définit la classe comme étant un descripteur d’un ensemble d’objets qui partagent les mêmes Cours IGL, Copyright © 2011, ESI attributs, méthodes, relations et comportement  La classe est le modèle d’un ensemble d’objets similaires  Dans l’exemple précédent : Mostefai et Azouaou sont deux instances de la classe « Enseignant »  Un objet appartient à une seule classe  La classe définit la structure d’un objet (aspect statique) , son comportement (aspect dynamique) et ses relations 28
  • 29. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Modélisation orientée objet Cours IGL, Copyright © 2011, ESI Comment classifier ces animaux ? 29
  • 30. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Modélisation orientée objet  Ce n’est pas facile d’avoir une conception objet du monde réel Cours IGL, Copyright © 2011, ESI  Les classes résultantes proviennent du point de vue de travail  Les classes de l’exemples précédent peuvent être : (Animal) ou (AnimalTerrestre / AnimalMarin) ou (AnimalDomestique / AnimalSauvage) ou (AnimalComestible / AnimalNonComestible) ou (Poisson / Mammifière / Crustacé …) 30
  • 31. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes et objets  L’objet instancie la classe  UML définit l’instanciation comme une relation de Cours IGL, Copyright © 2011, ESI dépendance avec le stéréotype « instantiate » 31
  • 32. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes et objets Module Cours IGL, Copyright © 2011, ESI - Annee: string - AssurePar: Enseignant - Nom: string «instantiate» «instantiate» «instantiate» mcsi :Module igl :Module conduiteDeProj et : Module Annee = 3csc 32
  • 33. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML Stéréotype «entity» Nom de la classe Compte Cours IGL, Copyright © 2011, ESI - cle: string - numero: string Attributs - proprietaire: Personne - solde: double = 0 Opérations + retirer(double) : boolean + verser(double) : boolean tags Métadonnées Auteur = Amine Date = Octobre 2011 33
  • 34. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Nom  De préférence, utiliser la convention UpperCamelCase. Le nom de classe est en minuscules et la première lettre en Cours IGL, Copyright © 2011, ESI majuscules. Si le nom de la classe est composite, le nom de chaque mot composant est en minuscule et la première lettre en majuscule. Par exemple : Agent, Compte, LigneFacture, MandatPostalValide.  Eviter les abbrévitiations : par exemple utiliser FactureValideDetaillee au lieu de FactureVD.  Ne pas utiliser des noms verbaux car les classes représentent des « choses ». 34
  • 35. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Visibilité  La visibilité s’applique aussi bien aux attributs qu’aux opérations Cours IGL, Copyright © 2011, ESI  Durant la phase d’analyse, la visibilité n’est pas importante  Les langages de programmation peuvent avoir une interprétation différente de la visibilité 35
  • 36. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Visibilité  Le tableau suivant liste les visibilités utilisées dans UML Visibilité Nom Description Cours IGL, Copyright © 2011, ESI + Visibilité Accès depuis la même classe et à l’extérieur de publique la classe - Visibilité privée Accès depuis la même classe uniquement # Visibilité Accès depuis la même classe et les classes protégée descendantes ~ Visibilité paquet Accès depuis la même classe et toutes les classes appartenant au même paquet 36
  • 37. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Types  Le type peut être un type défini par UML ou l’un des types suivants : boolean, byte, char, double, float, int, Cours IGL, Copyright © 2011, ESI long, short 37
  • 38. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs  Les attributs sont formulés en utilisant la syntaxe suivante : Cours IGL, Copyright © 2011, ESI Visibilité Nom_Attribut : type [multiplicité] = valeur_initiale 38
  • 39. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs  Le type peut être un type défini par UML ou l’un des types suivants : boolean, byte, char, double, float, int, Cours IGL, Copyright © 2011, ESI long, short  La valeur initiale indique la valeur de l’attribut quand une instance de la classe est créée  Un attribut est dit statique s’il appartient à la classe, pas à une instance en particulier. Les attributs statiques sont noté en souligné. 39
  • 40. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES C l a s s e s – N o t a t i o n U M L – At t r i b u t s , m u l t i p l i c i té  La multiplicité indique les attributs multiples.  Les multiplicités sont équivalentes aux tableaux mais ont Cours IGL, Copyright © 2011, ESI plus de sémantique.  Exemple 1 : int valeurs[7]. La classe contient exactement 7 valeurs.  Exemple 2 : int valeurs[2..*] : la classe contient au moins 2 valeurs.  Exemple 3 : int valeurs[2..7] la classe contient au minimum 2 valeurs et au maximum 7 valeurs.  Exemple 4 : int valeurs [0..1] la classe contient une valeur ou null. 40
  • 41. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Attributs EXEMPLE Cours IGL, Copyright © 2011, ESI Etudiant + matricule : int # nom : string # prenom : string ~modules : int [2..9] - age :int = 18 - chambreAffectee : Chambre [0..1] + tuteursDeSuivi : Tuteur [2] + nombreEtudiants : int + inscriptions : Inscription [1..*] 41
  • 42. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations  Les opérations sont formulés en utilisant la syntaxe suivante : Cours IGL, Copyright © 2011, ESI Visibilité Nom_Operation (direction nom_paramètre: type = valeur_défaut,….) : type_retour 42
  • 43. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations  Les opérations sont nommées en utilisant une formulation lowerCamelCase Cours IGL, Copyright © 2011, ESI  De préférence, utiliser des expressions verbales pour les opérations  Les paramètres sont nommés en utilisant lowerCamelCase  Ne pas utiliser des expressions verbales pour les paramètres  Des valeurs par défaut peuvent être renseignées pour une opération.  Les opérations statiques sont soulignées 43
  • 44. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations DIRECTION DES PARAMÈTRES Direction Description Cours IGL, Copyright © 2011, ESI in p Le paramètre p est un paramètre d’entrée. p est utilisé par l’opération mais n’est pas modifié par l’opération. inout p Le paramètre p est un paramètre d’entrée / sortie. p est utilisé par l’opération et sa valeur peut être changée par l’opération. out p Le paramètre p est un paramètre de sortie. La valeur de p pourrait être modifiée par l’opération. return p Le paramètre p est un paramètre de retour. L’opération doit retourner la valeur de p. 44
  • 45. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Opérations EXEMPLE Cours IGL, Copyright © 2011, ESI Compte + verser(montant :double, soldeApres :double*) : void + retirer(montantOperation :double, soldeApres :double*) : void ~ caclulerCharges(tauxCalcul :double) : double 45
  • 46. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes  Les stéréotypes représentent un mécanisme pouvant étendre UML Cours IGL, Copyright © 2011, ESI  Un stéréotype peut cibler une classe, un attribut ou une opération  Plusieurs dizaines de stéréotypes sont utilisés mais les plus connus sont : actor, boundary, entity et control.  Le stéréotype « acteur » représente un acteur  Le stéréotype « entity » représente une entité. Une entité est un concept métier, par exemple « Compte », « Client », « Fournisseur »,… 46
  • 47. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes  Le stéréotype « control » représente un contrôleur. Un contrôleur est un intermédiaire entre les limites et les Cours IGL, Copyright © 2011, ESI entités. Le contrôleur se charge de l’exécution des commandes provenant de la limite.  Le stéréotype « boundary » représente une limite du système qui s’interface avec l’acteur. Par exemple, interface utilisateur. 47
  • 48. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes Cours IGL, Copyright © 2011, ESI InterfaceWeb GestionnaireCommandes Commande Utilisateur «control» «entity» «actor» «boundary» GestionnaireCommandes InterfaceWeb Commande Utilisateur 48
  • 49. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Stéréotypes Commande LigneCommande Produit Client Cours IGL, Copyright © 2011, ESI GestionnaireCommandes InterfaceWeb Utilisateur 49
  • 50. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations  Une association est une relation entre deux classes  Une association entre deux classes se traduit par un lien Cours IGL, Copyright © 2011, ESI entre deux instances de ces classes  Une association décrit une relation qui a une sémantique entre les deux classes  Une association peut être entre une classe et elle -même. L’association est dite réflexive.  La direction détermine la navigation d’un objet vers un autre. 50
  • 51. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations EXEMPLE Enseigne Cours IGL, Copyright © 2011, ESI Enseignant Module * * «instantiate» «instantiate» Mostefai :Enseignant IGL :Module 51
  • 52. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Direction Nom de l’association Cours IGL, Copyright © 2011, ESI Employe Module Enseigne * * Multiplicité 52
  • 53. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Cours IGL, Copyright © 2011, ESI Societe +Employeur +Employé Personne 1 * Rôle 53
  • 54. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations NOMS DES ASSOCIATIONS  Utiliser des phrases verbales Cours IGL, Copyright © 2011, ESI  Il n’est pas recommandé d’utiliser les noms et les rôles. Utiliser soit le nom soit le rôle.  Donner des noms explicites et lisibles. 54
  • 55. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ Multiplicité Signification Cours IGL, Copyright © 2011, ESI 0..1 Zéro ou 1 1 Exactement 1 0..* Zéro ou plusieurs * Zéro ou plusieurs 1..* 1 ou plusieurs 1..9 1à9 9 Exactement 9 1.5, 8, 20..* 1 à 5, exactement 8 ou plus de 20 55
  • 56. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ  La multiplicité détermine le nombre d’objets impliqué Cours IGL, Copyright © 2011, ESI dans une association à un instant T 56
  • 57. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 1 Cours IGL, Copyright © 2011, ESI Une voiture possède exactement 4 pneus Voiture Pneu 1 4 Un pneu appartient à exactement une voiture 57
  • 58. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 2 Cours IGL, Copyright © 2011, ESI Une société peut avoir 0, 1 ou plusieurs employés Société Employe 1 * Un employé est employé par exactement 1 société 58
  • 59. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 3 Cours IGL, Copyright © 2011, ESI Une société doit avoir au moins un employé Société Employe 0..1 1..* Un employé peut être employé dans une seule société ou aucune 59
  • 60. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 4 Cours IGL, Copyright © 2011, ESI Une société peut avoir plusieurs employés (ou zéro) Société Employe 1..* * Un employé peut être employé dans au moins une société 60
  • 61. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 5 Université Enseignant Cours IGL, Copyright © 2011, ESI Emploie 1 * 1 1 AssurerCours AssurerTD 0..3 0..4 Module 61
  • 62. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 6 Un employé a un ou 0 supérieur Cours IGL, Copyright © 2011, ESI Employe +Subordonnes 0..* +Superieur 0..1 Un employé peut avoir 0 ou plusieurs subordonnés 62
  • 63. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 6 Un employé a un ou 0 supérieur Cours IGL, Copyright © 2011, ESI Employe +Subordonnes 0..* +Superieur 0..1 Un employé peut avoir 0 ou plusieurs subordonnés 63
  • 64. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations MULTIPLICITÉ – EXEMPLE 6 koudil :Employe Cours IGL, Copyright © 2011, ESI balla :Employe mostefai :Employe batata :Employe azouaou :Employe 64
  • 65. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 1 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 65
  • 66. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 2 Employé vers Grade est navigable Cours IGL, Copyright © 2011, ESI Employe Grade * 1 Grade vers Employé n’est pas navigable 66
  • 67. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 3 Employé vers Grade est navigable Cours IGL, Copyright © 2011, ESI Employe Grade * X 1 Grade vers Employé n’est pas navigable 67
  • 68. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Navigation – Exemple 4 Société vers Employé est navigable Cours IGL, Copyright © 2011, ESI Societe Employe 1 * Employé vers Société est navigable 68
  • 69. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations et attributs  Les attributs peuvent être un autre moyen de représenter Cours IGL, Copyright © 2011, ESI une association  Les associations à multiplicité multiple peuvent être représentées par des tableaux ou des collections  Lors de la génération de code, les associations sont générées en tant qu’attributs 69
  • 70. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations et attributs – Exemple 1 Employe Cours IGL, Copyright © 2011, ESI + grade: Grade Employe Grade * 1 Grade 70
  • 71. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Associations et attributs – Exemple Employe + grade: Grade Cours IGL, Copyright © 2011, ESI Employe +grade Grade + societe: Societe * 1 +employes * Grade +societe 1 Societe Societe + employes: Employe [0..*] 71
  • 72. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes d’association  Parfois, quand il y a une association entre deux classes, Cours IGL, Copyright © 2011, ESI l’attribut ne peut être dans aucune des classes.  Exemple ci-dessous : où mettre la note ? Etudiant Module * * 72
  • 73. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes d’association  Les classes d’association sont de vraies classes qui Cours IGL, Copyright © 2011, ESI peuvent avoir des attributs, opérations et même d’autres opérations Etudiant Module * * Note + valeur: double 73
  • 74. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Associations Classes d’association - Exemple Cours IGL, Copyright © 2011, ESI Etudiant Module * * Note Enseignant + valeur: double * * 74
  • 75. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Dépendance  En plus des associations, les classes peuvent être liées par des relation de dépendance Cours IGL, Copyright © 2011, ESI  Plusieurs cas peuvent induire à une dépendance entre une classe A et une classe B : A manipule B dans une opération, B est un paramètre dans une opération de A, B est le type de retour d’une opération, A appelle une méthode B, …etc.  La dépendance n’est pas réservée aux classes, elle peut être utilisée avec les paquets et les cas d’utilisation 75
  • 76. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Dépendance Cours IGL, Copyright © 2011, ESI A B 76
  • 77. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage  L’héritage est une relation entre une classe générale et une classe plus spécifique Cours IGL, Copyright © 2011, ESI  Entre les deux, une relation de substitution : on peut substituer toute utilisation de l’élément général par l’élément plus spécifique  L’héritage est symbolisé par le lien de généralisation  La classe spécialisée hérite de tous les attributs et les opérations de la classe parente 77
  • 78. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage EXEMPLE 1 Engin + marque: string Cours IGL, Copyright © 2011, ESI + modele: string Généralisation + getPoids() : double Voiture Camion Bus + nombrePlaces: int VoitureTouristique VoitureUtilitaire + chargeUtile: double 78
  • 79. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage  Parfois une classe ne peut exister que par l’existence des classes descendantes Cours IGL, Copyright © 2011, ESI  Une classe peut aussi déférer l’implémentation d’une opération à ses classes descendantes  Une opération qui est sans implémentation dans la classe actuelle est une opération abstraite  Une classe qui contient une ou plusieurs opérations abstraites est dite classe abstraite 79
  • 80. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage Méthodes abstraites EXEMPLE – Classes abstraites Cours IGL, Copyright © 2011, ESI Photo + points: Point [1..*] Méthodes concrètes + getNombrePoints() : int + Dessiner() : void + getTaille() : int PhotoJPEG PhotoPNG PhotoTIFF + Dessiner() : void + Dessiner() : void + Dessiner() : void + getTaille() : int + getTaille() : int + getTaille() : int 80
  • 81. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage LE POLYMORPHISME  Une opération polymorphique est une opération qui Cours IGL, Copyright © 2011, ESI possède plusieurs implémentations  Par exemple, n’importe quel compte accepte les retraits et les versements. Par contre, les comptes entreprises ont un comportement différent des comptes particuliers. Les comptes entreprises acceptent les soldes négatifs. 81
  • 82. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Classes – Notation UML - Héritage EXEMPLE – Polymorphisme Cours IGL, Copyright © 2011, ESI Compte + Verser() : void + Retirer() : void CompteParticulier CompteEntreprise + Verser() : void + Verser() : void + Retirer() : void + Retirer() : void 82
  • 83. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets QU’EST-CE QU’UN PAQUET ?  Un paquet UML est un élément de groupage qui contient Cours IGL, Copyright © 2011, ESI plusieurs éléments UML dont éventuellement d’autres paquets  Les paquets servent à organiser les éléments UML  Les paquets définissent des « frontières sémantiques » du modèle  Chaque élément UML appartient à exactement un paquet. Les éléments de haut niveau appartiennent à un paquet implicite appelé « root » ou « topLevel » 83
  • 84. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Notation UML Paquet Cours IGL, Copyright © 2011, ESI 84
  • 85. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Notation UML Cours IGL, Copyright © 2011, ESI 85
  • 86. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Espaces de noms  Le paquet définit une frontière où les noms des éléments doivent être uniques Cours IGL, Copyright © 2011, ESI  Si un élément doit référer à un autre élément se trouvant dans un autre paquet, il doit utiliser un « nom qualifié ».  Le nom qualifié se fait en préfixant le nom de l’élément par les noms des paquets qui le contiennent  Par exemple, si un paquet P1 contient un sous -paquet P2 contenant une classe C1, le nom qualifié de C1 est P1:P2:C1. 86
  • 87. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Dépendance  Un paquet P1 dépend de P2 si un élément de P1 utilise d’une manière ou d’une autre un élément de P2 Cours IGL, Copyright © 2011, ESI 87
  • 88. SECTION 2 – OBJETS Cours 5 – Analyse ET CLASSES Paquets – Dépendance Commun::Personne Cours IGL, Copyright © 2011, ESI Employe 88
  • 89. COURS IGL Cours N° 5 Section 2, Classes et Objets, Analyse Débat (05 mns) 89 Cours IGL, Copyright © 2011, ESI
  • 90. COURS IGL Cours N° 5 Analyse Section 3 : Classes d’analyse 90 Cours IGL, Copyright © 2011, ESI
  • 91. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S E Les classes d’analyse  Les classes d’analyse sont les classes découvertes durant l’activité d’analyse Cours IGL, Copyright © 2011, ESI  Les classes d’analyse correspondent à des concepts « réels »  L’analyse fait ressortir les éléments suivants d’une classe : Nom, Attributs les plus importants, Opérations les plus importantes, stéréotypes (non techniques)  Les éléments suivants ne sont pas importants dans l’analyse : métadonnées, paramètres des opérations, visibilité 91
  • 92. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Sources de recensement Modèle de Modèle des cas Cours IGL, Copyright © 2011, ESI spécifications d’utilisation Toute autre source d’information relative au domaine 92
  • 93. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse  Les classes d’analyse sont représentés en utilisant le diagramme des classes Cours IGL, Copyright © 2011, ESI  L’ensemble des classes sont appelés « vocabulaire », « glossaire métier » ou « taxonomie du domaine »  Les classes d’analyse sont une représentation de haut niveau : elles sont caractérisées par un nom, des attributs et éventuellement des opérations.  Le nom de la classe est obligatoire.  Les noms des attributs sont obligatoires. Leurs types facultatifs.  Les paramètres et les types de retour des opérations ne sont montrés que s’ils apportent une compréhension au système 93
  • 94. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse  La visibilité est généralement omise  Les stéréotypes ne sont montrés que s’ils augmentent la Cours IGL, Copyright © 2011, ESI représentativité  Les métadonnées ne sont montrés que s’ils augmentent la représentativité 94
  • 95. SECTION 3 –CLASSES Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse EXEMPLE Cours IGL, Copyright © 2011, ESI Compte numero proprietaire solde verser() retirer() 95
  • 96. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Représentation d’une classe d’analyse CARACTÉRISTIQUES D’UNE BONNE CLASSE D’ANALYSE  Son nom reflète son objectif Cours IGL, Copyright © 2011, ESI  C’est une abstraction d’un élément clairement identifiable dans le domaine  A un ensemble limité et clair de responsabilités  A une grosse cohésion  A un faible couplage 96
  • 97. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Techniques de recensement Cours IGL, Copyright © 2011, ESI Technique Technique des noms / des verbes stéréotypes 97
  • 98. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes  Technique simple qui analyse du texte pour trouver des classes, des attributs et des opérations Cours IGL, Copyright © 2011, ESI  Les noms et les phrases nominales représentent les classes et les attributs  Les verbes et les phrases verbales représentent les opérations  Difficultés avec les termes difficiles, les synonymes et les homonymes  Difficulté à trouver les classes « cachées »  S’il y a des termes qui ne sont pas compris, voir avec les experts du domaine 98
  • 99. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes Cours IGL, Copyright © 2011, ESI Collecte d’information Analyse des • Spécifications formelles informations • Cas d’utilisation • Noms et phrases • … nominales • Verbes et phrases verbales 99
  • 100. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes - Exemple Cours IGL, Copyright © 2011, ESI Spécifications Le système doit permettre à Noms l’utilisateur de consulter le solde de son compte Système Verbes Le système doit permettre à Compte Verser l’utilisateur de verser de Utilisateur l’argent dans son compte Retirer Argent Le système doit permettre à Consulter l’utilisateur de retirer l’argent de son compte 100
  • 101. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des noms / verbes - Exemple Compte Cours IGL, Copyright © 2011, ESI + solde: double + verser(double) : void + retirer(double) : void + consulter() : double «Actor» Utilisateur 101
  • 102. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes  Cette technique se concentre sur trois stéréotypes : « boundary », « entity » et « control » Cours IGL, Copyright © 2011, ESI  Cette technique est complémentaire avec la technique des verbes / noms 102
  • 103. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes Cours IGL, Copyright © 2011, ESI Trouver les Trouver les Trouver les limites contrôleurs entités (boundary) 103
  • 104. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Limites  Les classes « boundary » représentent les limites du système Cours IGL, Copyright © 2011, ESI  Ces classes communiquent avec les acteurs  Trois types de classes « boundary » : classes d’interface utilisateur, classes qui s’interfacent avec d’autres systèmes et des classes qui s’interfacent avec un matériel externe (périphérique,…)  Ces classes doivent rester de haut niveau (ne pas s’occuper des détails) 104
  • 105. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Contrôleurs  Les contrôleurs sont responsable de la coordination des action permettant d’accomplir un cas d’utilisation Cours IGL, Copyright © 2011, ESI  Si un contrôleur est trop compliqué, il est suggéré de le diviser en plusieurs contrôleurs 105
  • 106. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Entités  Représentent les concepts manipulés par le système  Utilisés par plusieurs cas d’utilisation et plusieurs Cours IGL, Copyright © 2011, ESI contrôleurs  Ces classes sont souvent persistantes (enregistrées dans des fichiers ou des BDD) 106
  • 107. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Exemple 1. Le système doit permettre à l’utilisateur de s’inscrire 2. Le système doit permettre à l’utilisateur connecté de Cours IGL, Copyright © 2011, ESI consulter les formations assurés, leurs dates et les formateurs associés 3. Le système doit envoyer un message mensuellement qui avertit les utilisateurs inscrits des nouvelles formations 107
  • 108. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Technique des stéréotypes - Exemple Acteurs Entités Contrôleurs Limites Cours IGL, Copyright © 2011, ESI InscriptionManager Formation Utilisateur InterfaceInscription NotificationManager Formateur 108
  • 109. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Paquets d’analyse  Les classes d’analyse sont regroupées dans des « paquets d’analyse » Cours IGL, Copyright © 2011, ESI  Les classes se trouvant dans le même paquet sont des classes ayant un certain lien sémantique  Un bon regroupement des paquets produit une haute « cohésion » à l’intérieur d’un paquet et un faible « couplage » entre paquets 109
  • 110. SECTION 3 – CLASSES Cours 5 – Analyse D ’A N A LY S E Paquets d’analyse - Exemple Cours IGL, Copyright © 2011, ESI 110
  • 111. COURS IGL Cours N° 5 Section 3 : Classes d’analyse Analyse – Débat (05 Mns) 111 Cours IGL, Copyright © 2011, ESI
  • 112. COURS IGL Cours N° 5 Analyse Section 4 : Interactions 112 Cours IGL, Copyright © 2011, ESI
  • 113. SECTION 4 – Cours 5 – Analyse INTERACTIONS Introduction  Les classes d’analyse représentent la structure statique du système Cours IGL, Copyright © 2011, ESI  Les interactions expriment comment les instances de ces classes interagissent pour réaliser une fonction du système  Les interactions expriment l’aspect dynamique du système 113
  • 114. SECTION 4 – Cours 5 – Analyse INTERACTIONS Objectifs des interactions  Trouver quelles classes qui interagissent pour un cas d’utilisation donné Cours IGL, Copyright © 2011, ESI  Trouver les messages envoyés entre les classes pour réaliser un certain comportement (attributs, opérations, relations)  Eventuellement, mettre à jour les modèles de besoins et d’analyse  Ne pas créer d’interactions pour tous les cas d’utilisation, Uniquement pour les CUs les plus importants et les plus complexes 114
  • 115. SECTION 4 – Cours 5 – Analyse R É A L I S AT I O N D E S C A S D ’ U T I L I S AT I O N Diagrammes comportementaux  Les diagrammes comportementaux est la meilleure façon de représenter les interactions Cours IGL, Copyright © 2011, ESI  Les diagrammes de séquence illustrent une séquence de messages ordonnée dans le temps  Le diagramme de communication décrit les relations entre objets dans un contexte donné  Le diagramme d’activité décrit le flux d’actions menant à la réalisation d’une fonction métier  Le diagramme d’état démontre le changement d’état d’une entité dans le temps 115
  • 116. COURS IGL Cours N° 5 Section 4 : Interactions, Analyse débat (05 mns) 116 Cours IGL, Copyright © 2011, ESI
  • 117. COURS IGL Cours N° 5 Section 5 : Diagrammes de Analyse séquence 117 Cours IGL, Copyright © 2011, ESI
  • 118. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Présentation  Les diagrammes de séquence (DSQ) décrivent une action ordonnée dans le temps Cours IGL, Copyright © 2011, ESI  Les DSQ document les CU et font partie du modèle d’analyse  Les DSQ sont composés de trois concepts principaux : les lignes de vie, les messages et les fragments 118
  • 119. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Lignes de vie  Une ligne de vie représente un seul participant dans une interaction Cours IGL, Copyright © 2011, ESI  Une ligne de vie peut représenter un objet, une instance d’une classe ou un acteur  Pour représenter une interaction, des messages lient les lignes de vie 119
  • 120. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Lignes de vie – Représentation UML Objet :Employe Utilisateur Cours IGL, Copyright © 2011, ESI 120
  • 121. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages  Un message représente une communication entre deux lignes de vie durant une interaction Cours IGL, Copyright © 2011, ESI  Un message peut s’agir de l’appel d’une opération  Un message peut s’agir de la création ou de la destruction d’instance  Un message peut s’agir d’envoi d’un signal  Quand une ligne de vie reçoit un message, ça correspond généralement à l’appel d’une opération ayant la même signature  Quand une ligne de vie reçoit un message, elle obtient sont activation. L’activation change de ligne de vie à travers le temps. 121
  • 122. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages Type de message Description Message synchrone L’émetteur attend que le récepteur termine l’opération Cours IGL, Copyright © 2011, ESI pour passer à l’étape suivante Message asynchrone L’émetteur envoie le message puis continue son exécution sans attendre la fin chez le récepteur Message de retour L’émetteur récupère l’activation suite à l’avoir perdu en envoyant un message au destinataire Message de création Le message provoque la création du destinataire Message de destruction Le message provoque la destruction du destinataire Message found L’émetteur de ce message ne fait pas partie de l’interaction. Message lost Le destinataire ne reçoit jamais ce message. Peut indiquer des situation d’erreur. 122
  • 123. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2 Message Synchrone Cours IGL, Copyright © 2011, ESI MessageSynchrone(P1, P2, P3) Message de retour MessageRetour() Message Asynchrone MessageAsynchrone(P4, P5) Activation 123
  • 124. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV Message De Création Cours IGL, Copyright © 2011, ESI object:Classe AppelOperation() Message De Destruction Suppression() 124
  • 125. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Messages LV1 LV2 Message Found Cours IGL, Copyright © 2011, ESI AppelExterne() Appel() Message Lost AppelPerdu() 125
  • 126. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple AppliquerUnEffet Cours IGL, Copyright © 2011, ESI Utilisateur AjouterUnAlbum ConsulterUnAlbum DupliquerAlbum 126
  • 127. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple Cours IGL, Copyright © 2011, ESI MiseAjourStatistiqueAlbums Temps 127
  • 128. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ - Exemple «actor» Utilisateur Cours IGL, Copyright © 2011, ESI Album 1 * Photo AlbumManager InterfaceAlbums StatManager 128
  • 129. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Diagrammes de séquences - Exemple CU: AppliquerUnEffet ID: 1 Description brève : Appliquer un effet spécial à une photo d’un album. Chaque effet est identifié Cours IGL, Copyright © 2011, ESI par un numéro. Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. L’utilisateur sélectionne un album 2. L’utilisateur sélectionne la photo désirée de l’album 3. L’utilisateur applique l’effet désiré en indiquant son numéro. Postconditions : Enchaînement s alternatifs : 129
  • 130. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Appliquer un effet Lignes de vie :Album :Photo Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager getAlbum(id:int) :Album Activation getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) Messages 130
  • 131. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Appliquer un effet :Album :Photo Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager getAlbum(id:int) :Album getPhoto(idPhoto :int) :Photo :Photo appliquerEffet(idEffet :int) 131
  • 132. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Ajouter un album CU: AjouterUnAlbum ID: 2 Description brève : Création d’un nouvel album par l’utilisateur Cours IGL, Copyright © 2011, ESI Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur le bouton « nouveau » 2. L’utilisateur donne un nom à l’album 3. L’utilisateur enregistre l’album Postconditions : Enchaînement s alternatifs : 132
  • 133. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Ajouter un album Cours IGL, Copyright © 2011, ESI Utilisateur AlbumManager ajouterAlbum() :Album :Album :Album renommer(String) enregistrerAlbum(Album) 133
  • 134. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album CU: Consulter un album ID: 3 Description brève : L’utilisateur consulte un album et les photos qui le composent Cours IGL, Copyright © 2011, ESI Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur l’album sélectionné 2. L’album adapte son affichage selon la résolution 3. L’album affiche les photos le composant selon la résolution Postconditions : Enchaînement s alternatifs : 134
  • 135. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESI Utilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album Activations :Album réflexives getResolution() :int afficher(resolution :int) adapter(resolution :int) 135
  • 136. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Consulter un album :Album Cours IGL, Copyright © 2011, ESI Utilisateur InterfaceAlbums AlbumManager clic(album :Album) getAlbum(id :int) :Album :Album getResolution() :int afficher(resolution :int) adapter(resolution :int) 136
  • 137. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Fragments  Un DSQ peut être composé de plusieurs fragments  Un fragment est caractérisé par un nom Cours IGL, Copyright © 2011, ESI  Un fragment peut contenir un ou plusieurs messages  Un fragment est composé d’un opérateur et de un ou plusieurs opérandes  L’opérateur décide comment les opérandes sont exécutées  Un fragment peut être caractérisé par une ou plusieurs conditions  Les fragments peuvent être imbriqués 137
  • 138. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE Fragments – Opérateurs Opérateurs Nom Description Cours IGL, Copyright © 2011, ESI opt optionnel L’opérande n’est exécutée que si la condition est vérifiée alt Alternatives Plusieurs alternatives. Uniquement l’opérande dont la condition est vérifiée s’exécute loop Itération Itère l’ exécution tant que la condition est vérifiée ref Référence Réfère à une autre interaction 138
  • 139. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Dupliquer un album CU: DupliquerUnAlbum ID: 4 Description brève : L’utilisateur crée un nouvel album portant le même nom et contenant les Cours IGL, Copyright © 2011, ESI mêmes photos Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre quand l’utilisateur clique sur le bouton dupliquer 2. Le système crée un nouvel album 3. Le système donne le même nom au nouvel album 4. Si l’album original contient des photos et s’il n’est pas verrouillé 4.1 Copier les photos de l’album original vers la copie Postconditions : Enchaînement s alternatifs : 139
  • 140. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Dupliquer un album original :Album Nom Utilisateur AlbumManager Cours IGL, Copyright © 2011, ESI dupliquerAlbum(int) getAlbum(int) : Opérateur Album Fragment getPhotos() :Photo[*] liste= :Photo[*] Copie :Album Condition renommer(String) opt Copier Opérande [Si liste n'est pas vide est si l'album n'est pas verrouillé] copierPhotos(liste) 140
  • 141. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Dupliquer un album original :Album Utilisateur AlbumManager Cours IGL, Copyright © 2011, ESI dupliquerAlbum(int) getAlbum(int) : Album getPhotos() :Photo[*] liste= :Photo[*] Copie :Album renommer(String) opt Copier [Si liste n'est pas vide est si l'album n'est pas verrouillé] copierPhotos(liste) 141
  • 142. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – MAJ Statistiques Album CU: MAJ statistiques ID: 5 Description brève : Chaque jour, des statistiques sont mises à jour pour tous les albums. Si Cours IGL, Copyright © 2011, ESI l’album est public, on prend le nombre de visite et les miniatures sinon on prend uniquement le nombre de visites. Acteurs primaires : Utilisateurs Acteurs secondaires : Aucun Préconditions : le client doit être authentifié Enchaînement principal 1. Le CU démarre chaque fin de journée 2. Le système récupère la liste des albums 3. Pour chaque album 3.1 si l’album est public, 3.1.1 prendre le nombre de visites et les miniatures 3.2 sinon 3.1.2 prendre le nombre de visites Postconditions : 142
  • 143. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – MAJ Statistiques Album :Album StatManager AlbumManager Cours IGL, Copyright © 2011, ESI getAllAlbums() :Album[*] :Album[*] loop iterationAlbums [pour chaque album] alt albumCond [Album public] getNombreVisites() :int getMiniatures() :Photo[*] [Album privé] getNombreVisites() :int 143
  • 144. SECTION 5 – Cours 5 – Analyse DIAGRAMMES DE SÉQUENCE DSQ – Exemple «actor» Utilisateur Album Cours IGL, Copyright © 2011, ESI + getPhoto(int) : Photo + renommer(String) : void + afficher(int) : void + adapter(int) : void + getPhotos() : Photo[*] + copierPhotos(Photo[*]) : void + getNombreVisites() : int * 1 + getMiniatures() : Photo[*] Photo AlbumManager + appliquerEffet(int) : void InterfaceAlbums StatManager 144
  • 145. COURS IGL Cours N° 5 Section 5 : Diagrammes de Analyse séquence, débat (05 mns) 145 Cours IGL, Copyright © 2011, ESI
  • 146. COURS IGL Cours N° 5 Section 6 : Diagrammes Analyse d’activité 146 Cours IGL, Copyright © 2011, ESI
  • 147. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Présentation  Les diagrammes d’activité (AD) représentent des processus en tant qu’une activité composée de plusieurs Cours IGL, Copyright © 2011, ESI nœuds connectés.  Dans UML 1, les AD étaient des sous -ensembles des diagrammes d’état. Dans UML 2, c’est des diagrammes à part entière.  Une activité peut être attachée à n’importe quel élément du modèle (cas d’utilisation, classe, …). Une activité modélise essentiellement un comportement. 147
  • 148. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Présentation  Les diagrammes d’activité sont idéaux pour représenter des processus métier. Cours IGL, Copyright © 2011, ESI  Les ADs n’ont pas besoin de connaître la structure statique du modèle (classes, objets) ce qui permet leur utilisation dans les premiers moments de l’analyse.  Les ADs sont très simples à comprendre par le client. 148
  • 149. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités  Les activités sont des réseaux composés de nœuds et de connecteurs. Cours IGL, Copyright © 2011, ESI  Il y a trois types de nœuds : des nœuds d’action, des nœuds de contrôle et des nœuds d’objet.  Un « nœud d’action » représente une unité de travail atomique (indivisible)  Un « nœud de contrôle » contrôle le flux au sein d’une activité  Un « nœud d’objet » représente un objet manipulé dans l’activité. 149
  • 150. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités  Les connecteurs représentent le flux entre les nœuds.  Il y a deux types de connecteurs : des connecteurs de Cours IGL, Copyright © 2011, ESI contrôle et des connecteurs d’objet.  Un connecteur de contrôle représente le flux d’activité  Un connecteur d’objet représente le flux d’objet  Une activité démarre avec un nœud spécial appelé nœud initial  L’activité se termine avec un nœud spécial appelé nœud final 150
  • 151. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités EffectuerUneCommande Cours IGL, Copyright © 2011, ESI Acheteur ValiderUneCommande Vendeur 151
  • 152. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Diagramme d’activité Nœud initial Cours IGL, Copyright © 2011, ESI Chercher Des Produits Nœuds d’action Connecteurs Sélectionner Les Produits Enregistrer La Commande Nœud final 152
  • 153. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Diagramme d’activité Cours IGL, Copyright © 2011, ESI Chercher Des Produits Sélectionner Les Produits Enregistrer La Commande 153
  • 154. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Fonctionnement  Le diagramme d’activité suit une séquence déterminée par un jeton Cours IGL, Copyright © 2011, ESI  Le jeton transite du nœud initial vers le nœud final  Le jeton peut être un des éléments suivants : le flux actuel, un objet ou des données  L’état d’un AD est déterminé par ses jetons  Les jetons transitent d’un nœud à l’autre via les connecteurs 154
  • 155. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Partitions  Les activités sémantiquement liées peuvent être regroupées en « partitions » Cours IGL, Copyright © 2011, ESI  Une partition désigne généralement le rôle exécutant l’action en cours  Les partitions rendent les ADs plus faciles à lire et plus expressifs  Les partitions peuvent être représentées d’une manière horizontale ou verticale  Exemple : pour valider une facture, le gestionnaire lance la validation, le magasinier prépare le stock et enfin, le comptable vérifie le paiement 155
  • 156. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Partitions Partitions Cours IGL, Copyright © 2011, ESI Gestionnaire Magasinier Comptable Lancer la validation Préparer le stock Vérifier le virement 156
  • 157. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Partitions Cours IGL, Copyright © 2011, ESI Gestionnaire Magasinier Comptable Lancer la validation Préparer le stock Vérifier le virement 157
  • 158. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Décisions et fusions  Un nœud de décision a un connecteur en entrée et deux (ou plusieurs e sortie) Cours IGL, Copyright © 2011, ESI  Le chemin à suivre par le jeton est celui de la condition vérifiée du nœud de décision  Plusieurs chemins sortent du nœud de décision  Un nœud de fusion fusionnent les connecteurs sortis d’un nœud de décision  Exemple : une fois une commande reçue, si le stock est disponible faire l’inventaire du reste, sinon lancer un approvisionnement 158
  • 159. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Décisions et fusions Recevoir Commande Nœud de décision Cours IGL, Copyright © 2011, ESI Stock disponible [Non] [Oui] Mettre à jour inventaire Approvisionner Nœud de fusion Notifier 159
  • 160. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Décisions et fusions Recevoir Commande Cours IGL, Copyright © 2011, ESI Stock disponible [Non] [Oui] Mettre à jour inventaire Approvisionner Notifier 160
  • 161. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités parallèles  Dans un AD, on peut créer des flux parallèles en utilisant le nœud « fork » Cours IGL, Copyright © 2011, ESI  Pour fusionner les flux parallèles, un nœud « join » est utilisé  Exemple : après réception d’une commande, deux activité sont lancées en parallèle, une pour la vérification du paiement et l’autre pour la préparation du stock 161
  • 162. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités parallèles Nœud fork Cours IGL, Copyright © 2011, ESI Recevoir Commande Préparer Stock Vérifier Paiement Nœud join 162
  • 163. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Activités parallèles Cours IGL, Copyright © 2011, ESI Recevoir Commande Préparer Stock Vérifier Paiement 163
  • 164. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Nœuds d’objet  Les nœuds d’objet sont des nœuds spéciaux qui indiquent que des instances d’une classe données sont disponible à Cours IGL, Copyright © 2011, ESI un point donné du temps  Exemple, dans une activité industrielle, la spécification produit un cahier de charges et le développement produit un prototype 164
  • 165. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Nœuds d’objet Cours IGL, Copyright © 2011, ESI Spécification Nœud d’objet cahier des charges Développement prototype 165
  • 166. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Nœuds d’objet  Lorsque les activités produisent beaucoup d’objets, il serait intéressant de les organiser en PINS Cours IGL, Copyright © 2011, ESI  Par exemple, pour l’authentification, le username et le mot de passe sont des objets produits 166
  • 167. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Nœuds d’objet Cours IGL, Copyright © 2011, ESI Authentifier Entrer Utilisateur Utilisateur Vérifier Utilisateur Entrer Mot De Mot De Passe Passe Vérifier Mot DePasse Sans utilisation des PINs 167
  • 168. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Nœuds d’objet Entrer Authentifier Cours IGL, Copyright © 2011, ESI Utilisateur Utilisateur Vérifier Utilisateur Entrer Mot De Passe Mot de Vérifier Mot DePasse passe Avec utilisation des PINs 168
  • 169. SECTION 6 – Cours 5 – Analyse DIAGRAMME D ’A C T I V I T É Quand utiliser le diagramme d’activité ?  Pour modéliser des processus parallèles  Pour modéliser des processus métier indépendamment Cours IGL, Copyright © 2011, ESI de la structure statique (classes d’analyse) 169
  • 170. COURS IGL Cours N° 5 Section 6 : Diagrammes Analyse d’activité, Débat (05) mns 170 Cours IGL, Copyright © 2011, ESI
  • 171. COURS IGL Cours N° 5 Section 7 : Diagrammes Analyse d’états-transitions 171 Cours IGL, Copyright © 2011, ESI
  • 172. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Introduction  Un diagramme d’états-transitions (DET) modélise le cycle de vie d’un objet dit objet réactif Cours IGL, Copyright © 2011, ESI  Un objet réactif est un objet qui change d’état suite à un évènement donné  Une machine d’état représente un nombre fini de ces états 172
  • 173. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Introduction  Les DETs sont composés de trois éléments principaux : états, transitions et évènements Cours IGL, Copyright © 2011, ESI  Un état représente une condition dans laquelle se trouve un objet à un instant T  Un évènement est une action particulière qui se déclenche sous des conditions spécifiques  Une transition est le mouvement d’un état vers un autre suite à un évènement donné 173
  • 174. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Exemple  Une lampe est initialement éteinte. Si on l’allume, elle passe dans l’état allumée. Si on l’éteint, elle repasse dans Cours IGL, Copyright © 2011, ESI l’état éteinte. Si elle saute, elle passe définitivement à l’état final défectueux 174
  • 175. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Exemple Etat initial Etat Cours IGL, Copyright © 2011, ESI [Allumer] Eteinte Allumée [Eteindre] [Sauter] Transition Etat final 175
  • 176. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Etats  Durant le temps, un objet peut envoyer un message à un autre objet qui peuvent changer sont état Cours IGL, Copyright © 2011, ESI  L’état d’un objet est déterminé par ses attributs, ses relations à d’autres objets et les activités dans lesquelles il est impliqué  Il ne faut modéliser que les états qui ajoutent de l’expressitivité au système  Les états de jonction (pseudo-états) peuvent connecter plusieurs transitions  Un pseudo-état de choix exprime un ou plusieurs choix mutuellement exclusifs 176
  • 177. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Etats Pseudo-état de jonction Cours IGL, Copyright © 2011, ESI Disponible [déterioration] Indisponible [rendu] [prêté] En prêt Pseudo-état de choix Perdu 177
  • 178. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Etats Cours IGL, Copyright © 2011, ESI Disponible [déterioration] Indisponible [rendu] [prêté] En prêt Perdu 178
  • 179. SECTION 7 – Cours 5 – Analyse D I A G R A M M E D ’ É TAT S TRANSITIONS Quand utiliser le DET ?  Pour modéliser des entités réactives (dont les états changent) Cours IGL, Copyright © 2011, ESI 179
  • 180. COURS IGL Cours N° 5 Section 7 : Diagrammes Analyse d’états-transitions, débat (05 mns) 180 Cours IGL, Copyright © 2011, ESI
  • 181. Cours 3 – Introduction à UML BIBLIOGRAPHIE Bibliographie  UML Distilled 3rd Edition, Martin Fowler, 2003, Addison Wesley Cours IGL, Copyright © 2011, ESI  UML2 and the Unified Process, Second Edition, Addison Wesley 2005  Wikipedia : Unified Modeling Language, http://fr.wikipedia.org/wiki/Unified_Modeling_Language 181