SlideShare une entreprise Scribd logo
1  sur  181
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
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse

Contenu connexe

Tendances

Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesMohammed Amine Mostefai
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Mehdi Hamime
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehousekhlifi z
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisationNassim Amine
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Georges Amichia
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMireille Blay-Fornarino
 

Tendances (20)

Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Contraintes uml
Contraintes umlContraintes uml
Contraintes uml
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Méthodes agiles
Méthodes agilesMéthodes agiles
Méthodes agiles
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 

Similaire à Génie Logiciel - Cours 5 - analyse

Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 
Agilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de veloursAgilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de veloursHSBC Private Bank
 
Présentation du logiciel SOCLE
Présentation du logiciel SOCLEPrésentation du logiciel SOCLE
Présentation du logiciel SOCLEsocle
 

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

Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Agilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de veloursAgilité : une main de fer dans un gant de velours
Agilité : une main de fer dans un gant de velours
 
Présentation du logiciel SOCLE
Présentation du logiciel SOCLEPrésentation du logiciel SOCLE
Présentation du logiciel SOCLE
 

Plus de Mohammed Amine Mostefai

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Mohammed Amine Mostefai
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationMohammed Amine Mostefai
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsMohammed Amine Mostefai
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionMohammed Amine Mostefai
 

Plus de Mohammed Amine Mostefai (20)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Wf module3
Wf module3Wf module3
Wf module3
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NETSécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 

Génie Logiciel - Cours 5 - analyse

  • 1. COURS IGL COURS 5 ANALYSE Cours 5 : Analyse Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz 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