SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Analyse et Conception avec UML

                  Les diagrammes
                     de classes
                               blay@unice.fr
                          www.polytech.unice.fr/~blay
                          IUT Nice-Sophia Antipolis
                              Septembre 2010

                                 Site web du module :
                          http://anubis.polytech.unice.fr/iut/
                                             1

jeudi 23 septembre 2010
Séquences aux classes.      Relations


                          Modélisation structurelle
         Les classes et les objets modélisent les objets matériels ou
         immatériels qui existent dans le système que l’on essaie de décrire
         Les relations entre les classes et les objets établissent les
         connexions entre les divers éléments de modélisation et montrent
         l'agencement architectural
         Le diagramme de classes et le diagramme d’objets sont les pièces
         maîtresses de la vue structurale
         – Dans UML, ils sont répertoriés comme des diagrammes
            montrant la structure "statique"
         – Le diagramme d’objets est un exemple du diagramme de classes
         – Le diagramme d’objets donne une photographie du système
            dans le temps

09/10                                    2
jeudi 23 septembre 2010
Des diagrammes
                de séquence

                aux diagrammes
                  de Classes
                          3

jeudi 23 septembre 2010
Séquences aux classes.   Relations


        Des Diagramme de Séquence aux
                   classes
                                          Classe   Relations?




                                                      Classe




                                                    Classe




09/10                                 4
jeudi 23 septembre 2010
Séquences aux classes.        Relations


                                   Classes
       Une classe est une collection (modèle) d’objets avec une
        structure commune, un comportement commun, des relations
        identiques et une sémantique identique
       On identifie les classes en examinant les objets dans les
        diagrammes


       La représentation graphique d’une classe consiste en un
        rectangle avec 3 compartiments
       Les noms des classes devraient être choisis dans le
        vocabulaire du domaine
           –   il est bon d’établir des standards pour les nom
           –   i.e., toutes les classes sont des noms communs commençant par
               une majuscule

09/10                                      5
jeudi 23 septembre 2010
Séquences aux classes.   Relations


                              Classes




09/10                                 6
jeudi 23 septembre 2010
Séquences aux classes.   Relations


                                  Opération
                                             Le comportement d’une
                                              classe est constitué de
                                              ses opérations
                                             On identifie les
                                              opérations en
                                              examinant les
                                              diagrammes
                                              d’interactions




09/10                                 7
jeudi 23 septembre 2010
Séquences aux classes.      Relations


                                Attributs
       La structure d’une classe est donnée par ses attributs
       Les attributs sont identifiés en examinant les définitions des
        classes, les besoins du problème et en faisant intervenir la
        connaissance du domaine




                                                      Cours
                                                    numéro
        Chaque offre de cours                       lieu
        Possède un numéro,                          date
        un lieu et une date
09/10                                    8
jeudi 23 septembre 2010
Séquences aux classes.     Relations


                              Attributs
        Comment trouver les attributs ?
                 Informations pertinentes du domaine d’application

         Comment placer les attributs ?
                Dans la classe qui modélise l’objet du monde réel
                que décrit l’attribut
                Une seule valeur par instance de la classe
                Un seul endroit pour chaque attribut dans le
                diagramme de classe
                Eviter les types non primitifs

09/10                                   9
jeudi 23 septembre 2010
Séquences aux classes.        Relations


                              Attributs dérivés
            Attributs dont la valeur peut être déduite
            d’autres éléments du modèle
                   e.g. âge si l ’on connaît la date de naissance
                   notation : /age




09/10                                     10
jeudi 23 septembre 2010
Séquences aux classes.   Relations


           Notations UML pour classes et
                      objets




09/10                                11
jeudi 23 septembre 2010
Séquences aux classes.      Relations


                               Relations
   On identifie les relations en examinant les diagrammes
    d’interaction
             Si deux objets doivent communiquer, il doit exister un
              chemin entre eux




09/10                                   12
jeudi 23 septembre 2010
Relations entre
                       classes
                           «Relations»,
                           associations,
                            agrégation,
                          généralisation,
                           compléments



                                  13

jeudi 23 septembre 2010
Séquences aux classes.    Relations

                              Relations
        Les relations fournissent un chemin de communication entre
        objets
        Les diagrammes de séquence sont parcourus pour déterminer
        quels liens doivent exister pour obtenir le comportement
        souhaité – si deux objets ont besoin de se parler, il doit
        exister un lien entre eux
        Trois types de relations :
             Association
             Agrégation
             Dépendance
        Une contrainte :
             Une relation est un lien stable entre deux objets
09/10                                 14
jeudi 23 septembre 2010
Séquences aux classes.    Relations


                              Relations




09/10                                 15
jeudi 23 septembre 2010
Séquences aux classes.            Relations


                              Multiplicité : exemple
                                     possède
                              1..*                  0..* Voiture
               Personne

                                     gouverne
                              1                       1
               Président                                  Pays


               Nœud       *

                *                       Un réseau informatique est composé de
                                                nœuds inter-connectés
    Association réflexive




09/10                                          16
jeudi 23 septembre 2010
Séquences aux classes.        Relations

                                   Multiplicité
        La multiplicité est définie par le nombre d’objets qui
        participent à une relation
              La multiplicité est le nombre d’instances d’une classe
              reliées à UNE instance d’une autre classe
              Pour chaque association et agrégation, il y a deux
              multiplicités : une à chaque bout de la relation
                          1          Un et un seul
                          0 .. 1     Zéro ou un
                          n          n (entier naturel)
                          m .. n     De m à n (entiers naturels)
                          ∗          De zéro à plusieurs
                          0 .. ∗     De zéro à plusieurs


09/10                                     17
jeudi 23 septembre 2010
Séquences aux classes.               Relations


                     Multiplicité d'une relation

                              1
                                      Classe    Exactement une
                                  *
                                      Classe     Plusieurs (0 à n)
                          0,1
                                      Classe    Optionnelle (0 ou 1)
                          1,2,4
                                      Classe     Cardinalité spécifiée
                          1-10
                                      Classe      Intervalle


09/10                                            18
jeudi 23 septembre 2010
Séquences aux classes.          Relations


                                   Relations
       Une association est une connexion bi-directionnelle entre
        classes
             –   Une association est représentée par une ligne connectant les
                 classes
       Une agrégation est une relation plus forte et s’établit
        entre un tout et ses parties
             –   Une agrégation est représentée par une ligne connectant les
                 classes avec un losange du côté de la classe représentant le
                 tout
       Une dépendance est une relation faible établie entre un
        client et un fournisseur et où le client n’a pas de
        connaissance sémantique sur le fournisseur
             –   Une dépendance est représentée par une flèche en pointillés
                 allant du client au fournisseur

09/10                                       19
jeudi 23 septembre 2010
Séquences aux classes.     Relations Association

                              Associations
        Les associations peuvent indiquer la navigation avec
        une pointe de flèche ouverte:
            Pas de flèche => bidirectionnelle
            La plupart des associations sont
            unidirectionnelles en fin de conception.
        Les associations peuvent avoir des étiquettes:
            Il s'agit du nom de l'association.
        Les associations peuvent avoir des noms de rôle:
            un nom de rôle identifie le rôle ou la
            responsabilité de l'objet dans l'association.
        Les associations peuvent indiquer une multiplicité.

09/10                                 20
jeudi 23 septembre 2010
Séquences aux classes.
Diagramme de Classes- Relations       Relations Association


                                  Navigation
        Bien que les associations soit bi-directionnelles
        par défaut, il peut être bon de limiter la
        navigation à un seul sens
               Les objets de Classe2 sont accessibles à partir de
               ceux de Classe1 et vice-versa
                            Classe1                       Classe2

        Si la navigation est restreinte, une flèche indique
        le sens de navigation
               Les objets de la Classe 1 sont accessibles à la
               classe 2
                            Classe1                       Classe2
09/10                                       21
jeudi 23 septembre 2010
Séquences aux classes.              Relations Association

                      Nommage des associations
• Une association peut être nommée afin de faciliter la
  compréhension des modèles. Dans ce cas le nom est indiqué
  au milieu du lien symbolisant l’association
                                             nom
                                     A                     B



• L’usage recommande de choisir comme nom d’une
  association une forme verbale active (exemple : travaille
  pour) ou passive (exemple : est employé par)

                                          travaille pour
                          Personne                             Société

                                         est employé par
                          Personne                             Société
09/10                                           22
jeudi 23 septembre 2010
Séquences aux classes.          Relations Association


        Rôles des extrémités d’association
        On peut attribuer à une extrémité d’une association un nom
        appelé rôle qui décrit comment une classe source voit une
        classe destination au travers de l’association
        Le rôle est placé près de la fin de l’association et à côté de la
        classe à laquelle il est appliqué
        L’utilisation des rôles est optionnelle
        Représentation et exemple

                          A                         B
                                        rôle de B


                                    employeur    Emploie>
                          Société                                 Personne
                                                        employé

09/10                                       23
jeudi 23 septembre 2010
Séquences aux classes.   Relations Association

                 Nommage des associations…
        Par défaut le sens de lecture du nom d’une
        association est de gauche à droite
        Dans le cas où la lecture du nom est ambiguë, on
        peut ajouter l’un des signes < ou > pour indiquer
        le sens de lecture
             • Exemples
                                              < travaille pour
                              Société                            Personne


                              Personne 1
                                *


                                     < est père de
09/10                               24
jeudi 23 septembre 2010
Séquences aux classes.          Relations Association

                    Cas particuliers de relations
           Relations réflexives

                                                   encadre

                                   chef
                                          1
                                  Personne             sous-fifre
                                               1..*




                              Une relation réflexive lie
                              des objets de même classe

09/10                                         25
jeudi 23 septembre 2010
Séquences aux classes.             Relations   Agrégation

                     Composition et Agrégation
       Cas particuliers de relations :
    –   Notion de tout et parties


                                    1          transporte        passager
                          Voiture                                           Personne
                                    moyen_de_transport                  *
                           1        1
  Composition                            roulement >
                                                                   Roue
                                                          4,6

                           structure > 1
  Agrégation                                 Chassis



09/10                                          26
jeudi 23 septembre 2010
Séquences aux classes.    Relations   Agrégation

                              Agrégation
        L’agrégation représente une association de type
        ensemble/élément
        L’agrégation ne concerne qu’un seul rôle d’une
        association
        Représentation




        L’agrégation permet de modéliser une contrainte
        d’intégrité et de désigner l’agrégat comme gérant de cette
        contrainte
09/10                                 27
jeudi 23 septembre 2010
Séquences aux classes.            Relations    Agrégation


                                 Agrégation…
            Exemple 1
            –   Une personne est dans une foule
            –   Une foule contient plusieurs personnes
                                                          * Personne
                              Foule
                                            Contient >


             Exemple 2 (Agrégation partagée)
        –   Une personne fait partie de plusieurs équipes
        –   Une équipe contient plusieurs personnes
                                        *                  * Personne
                              Équipe
                                                    < membre
09/10                                          28
jeudi 23 septembre 2010
Séquences aux classes.    Relations   Agrégation

                              Composition
        La composition est une agrégation forte (agrégation par
        valeur).
        Les cycles de vies des éléments (les "composants") et de
        l'agrégat sont liés : si l'agrégat est détruit (ou copié), ses
        composants le sont aussi.
        A un même moment, une instance de composant ne peut
        être liée qu'à un seul agrégat.
        Les "objets composites" sont des instances de classes
        composées.
                                                           Attention
                                                        un Point de vue

09/10                                 29
jeudi 23 septembre 2010
Séquences aux classes.   Relations   Agrégation


               Exemple de classe structurée
            On voit clairement que le PC est composé
            d’instances de USBCard, Motherboard, and
                            GraphicsCard

        Part




09/10                                30
jeudi 23 septembre 2010
Séquences aux classes.            Relations Généralisation


                                    Généralisation
              C’est une relation de classification entre un élément général et un élément
              plus spécifique
              L’élément le plus spécifique est cohérent avec l’élément le plus général et
              contient plus d’informations
              Exemple



                                          Véhicule




                          Voiture           Bus              Camion




09/10                                        31
jeudi 23 septembre 2010
Séquences aux classes.       Relations Généralisation


                               Généralisation
              Extension par l’ajout d’attributs et d’opérations




09/10                                   32
jeudi 23 septembre 2010
Séquences aux classes.                    Relations

                             Héritage des relations
       Les relations sont héritées par les sous classes :

                               VEHICULE             motorisation      MOTEUR
                                                               1..2


                          VOITURE           CAMION




                                           lien logique
                REPERTOIRE                                 FICHIER
                                    1..*              *



                                       DRIVER         FICHIER_TEXTE     FICHIER_BINAIRE
09/10                                                 33
jeudi 23 septembre 2010
Séquences aux classes.                 Relations Raffinements


                                Association ordonnée
        Contraintes sur les associations pour exprimer que les objets sont
        ordonnés (selon la clé, le nom, la date, etc.)
        Cette contrainte est spécifiée par le stéréotype {Ordonné} du côté
        de la classe dont les instances sont ordonnés

                          Entreprise 0..*                   0..* Produits
                                                       {Ordonné}


        Le modèle ne spécifie pas comment les objets sont ordonnés
        Pour décrire comment les objets sont ordonnés on utilise un
        commentaire en employant la notation graphique suivante :
                                                                      Ordonné
                                                                       par ...

09/10                                             34
jeudi 23 septembre 2010
Séquences aux classes.                  Relations    Raffinements




                          Association « ou-exclusif »

                       Contrat   *
                     d’assurance                         Un contrat d’assurance concerne une
                                                         entreprise ou une personne mais pas
                              *
                                     {XOR}                     les deux en même temps


                          1                   1
                          Personne           Entreprise




09/10                                               35
jeudi 23 septembre 2010
Séquences aux classes.               Relations    Raffinements

               Association « sous-ensemble »
        C’est une contrainte qui indique qu’une collection
        est incluse dans une autre collection
        La contrainte est placée à proximité d’une
        relation de dépendance entre deux associations
        La flèche de la relation de dépendance indique le
        sens de la contrainte
        Exemple
                                  1..* Membre de >             1
                     Politicien            {Sous-ensemble}           Partie politique
                                  1   Chef de >                 1


09/10                                             36
jeudi 23 septembre 2010
Séquences aux classes.     Relations   Raffinements

                          Association Qualifiée
        Utilisée avec une relation de multiplicité *.
        Permet de trier la relation en fonction des valeurs
        d’un attribut.



        Qualifier




09/10                                  37
jeudi 23 septembre 2010
Séquences aux classes.     Relations   Raffinements

                          Association Qualifiée




09/10                                  38
jeudi 23 septembre 2010
Séquences aux classes.       Relations   Raffinements


                              Classe d’association
        Il est possible de représenter une association par
        une classe pour ajouter par exemple des attributs
        ou des opérations dans l ’association
        La classe attachée à l’association est appelée une
        classe d’association ou classe associative
        La classe d’association possède à la fois les
        caractéristiques d’une association et celle d’une
        classe et peut, à ce titre, participer à d’autres
        relations dans le modèle
        La classe d’association est attachée à l’association
        avec une ligne en pointillée
09/10                                    39
jeudi 23 septembre 2010
Séquences aux classes.              Relations

             Classe d’association : exemple
 Une classe d’association est utilisée quand une
  information semble appartenir aux deux objets ou à
  aucun objet
                                           1..*    Inscrit à >      0..*
                              Étudiant                                     Cours



                                                       Évaluation




09/10                                             40
jeudi 23 septembre 2010
Dependencies
 A dependency can be used when a class has no direct
  relation to another class, but uses it in some way.
 The «stereotype» details how the item is dependent on
  the other.




                             41


jeudi 23 septembre 2010
Séquences aux classes.              Relations

                              Conseils pratiques
       Réfléchir au problème avant de commencer
                  Soigner le nommage, insister sur le nommage
                  des relations et des rôles
       Faire simple!
           –    «Things must be as simple as possible, but no
                simpler». A. Einstein
           –    éviter toute complication nuisible
                          se dégager de l’implémentation : raisonner objets,
                          classes, messages, relations, attributs, opérations
           –    ne pas s’inquiéter si les possibilités de la notation
                ne sont pas toutes exploitées
09/10                                           42
jeudi 23 septembre 2010
Séquences aux classes.             Relations


                          Conseils pratiques (suite)
       Approche incrémentale
           –    Itérer
           –    Savoir s'arrêter avant d’atteindre la
                perfection...
                   • prise en compte qualité (niveau de précision), coûts,
                     délais...
                   • asservissement au processus de développement
       Faire simple (encore)
           –    Un bon modèle n’est pas un modèle où
                l’on ne peut plus rien ajouter, mais un
                modèle où on ne peut plus rien enlever.
09/10           (d’après A. de St-Exupéry)     43
jeudi 23 septembre 2010
Diagrammes de
                     classes
                          Puis ...


                             44

jeudi 23 septembre 2010
Diagramme de Classes- Relations
                                  Relations : Résumé




10/11/2009                                                      45
                                      Mireille Blay-Fornarino
                                     (blay@polytech.unice.fr)
jeudi 23 septembre 2010
Modèle E/A
      Modèle E/A Entreprise
      Graphisme 2
                                               0,n      Employe
                              supervise                                                TravaillerPour           Département
                                                                                1,1
                                                     NoSS                                               1,n
                 Superviser                                                                                     No_dept
                               Est supervisé         Adresse
                                                                                                                libelle
                                                     Nomf
                                               1,1                                                              Nb_Emp
                                                     Prenom                      0,1
                                                                                                         1,1    localisations
                                                                                              Diriger
                                                          0,n
                                                                          1,n                 Date                              1,n




                                                     Avoir a charge
                                                                                                                          Gérer

                                                                                       TravaillerSur
                                                                                       Nb_heures
                                                                      (1,1)
                                                     PersonneACharge
                                                     prénom                                               1,n                     1,1
                                                     DateNaissance
                                                                                                                     Projet
                                                     Parenté
                                                                                                                Numéro
                                                                                                                Description



                                                                                                                              46

jeudi 23 septembre 2010
UML

      UML Entreprise




                                47

jeudi 23 septembre 2010

Weitere ähnliche Inhalte

Was ist angesagt?

Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
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
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction MansouriMansouri Khalifa
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classeIlhem Daoudi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 

Was ist angesagt? (20)

Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
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...
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classe
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Cours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 compositeCours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 composite
 

Mehr von Mireille Blay-Fornarino

Mehr von Mireille Blay-Fornarino (11)

Analyse et cahier des charges
Analyse et cahier des chargesAnalyse et cahier des charges
Analyse et cahier des charges
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
 
Introduction rapide à 'objet et à UML
Introduction rapide à 'objet et  à UML Introduction rapide à 'objet et  à UML
Introduction rapide à 'objet et à UML
 
Introduction à Uml
Introduction à UmlIntroduction à Uml
Introduction à Uml
 
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é
 
Uml Cas Utilisation introduction
Uml Cas Utilisation introductionUml Cas Utilisation introduction
Uml Cas Utilisation introduction
 
De l'analyse à la conception
De l'analyse à la conceptionDe l'analyse à la conception
De l'analyse à la conception
 
Uml interactions
Uml interactionsUml interactions
Uml interactions
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
Modélisation par Objets - Introduction - De Merise à UML
Modélisation par Objets - Introduction - De Merise à UMLModélisation par Objets - Introduction - De Merise à UML
Modélisation par Objets - Introduction - De Merise à UML
 
Analyse et conception des systèmes d’information
Analyse et conception des systèmes d’informationAnalyse et conception des systèmes d’information
Analyse et conception des systèmes d’information
 

Kürzlich hochgeladen

presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 

Kürzlich hochgeladen (16)

presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 

Diagrammes de classes

  • 1. Analyse et Conception avec UML Les diagrammes de classes blay@unice.fr www.polytech.unice.fr/~blay IUT Nice-Sophia Antipolis Septembre 2010 Site web du module : http://anubis.polytech.unice.fr/iut/ 1 jeudi 23 septembre 2010
  • 2. Séquences aux classes. Relations Modélisation structurelle Les classes et les objets modélisent les objets matériels ou immatériels qui existent dans le système que l’on essaie de décrire Les relations entre les classes et les objets établissent les connexions entre les divers éléments de modélisation et montrent l'agencement architectural Le diagramme de classes et le diagramme d’objets sont les pièces maîtresses de la vue structurale – Dans UML, ils sont répertoriés comme des diagrammes montrant la structure "statique" – Le diagramme d’objets est un exemple du diagramme de classes – Le diagramme d’objets donne une photographie du système dans le temps 09/10 2 jeudi 23 septembre 2010
  • 3. Des diagrammes de séquence aux diagrammes de Classes 3 jeudi 23 septembre 2010
  • 4. Séquences aux classes. Relations Des Diagramme de Séquence aux classes Classe Relations? Classe Classe 09/10 4 jeudi 23 septembre 2010
  • 5. Séquences aux classes. Relations Classes  Une classe est une collection (modèle) d’objets avec une structure commune, un comportement commun, des relations identiques et une sémantique identique  On identifie les classes en examinant les objets dans les diagrammes  La représentation graphique d’une classe consiste en un rectangle avec 3 compartiments  Les noms des classes devraient être choisis dans le vocabulaire du domaine – il est bon d’établir des standards pour les nom – i.e., toutes les classes sont des noms communs commençant par une majuscule 09/10 5 jeudi 23 septembre 2010
  • 6. Séquences aux classes. Relations Classes 09/10 6 jeudi 23 septembre 2010
  • 7. Séquences aux classes. Relations Opération  Le comportement d’une classe est constitué de ses opérations  On identifie les opérations en examinant les diagrammes d’interactions 09/10 7 jeudi 23 septembre 2010
  • 8. Séquences aux classes. Relations Attributs  La structure d’une classe est donnée par ses attributs  Les attributs sont identifiés en examinant les définitions des classes, les besoins du problème et en faisant intervenir la connaissance du domaine Cours numéro Chaque offre de cours lieu Possède un numéro, date un lieu et une date 09/10 8 jeudi 23 septembre 2010
  • 9. Séquences aux classes. Relations Attributs Comment trouver les attributs ? Informations pertinentes du domaine d’application Comment placer les attributs ? Dans la classe qui modélise l’objet du monde réel que décrit l’attribut Une seule valeur par instance de la classe Un seul endroit pour chaque attribut dans le diagramme de classe Eviter les types non primitifs 09/10 9 jeudi 23 septembre 2010
  • 10. Séquences aux classes. Relations Attributs dérivés Attributs dont la valeur peut être déduite d’autres éléments du modèle e.g. âge si l ’on connaît la date de naissance notation : /age 09/10 10 jeudi 23 septembre 2010
  • 11. Séquences aux classes. Relations Notations UML pour classes et objets 09/10 11 jeudi 23 septembre 2010
  • 12. Séquences aux classes. Relations Relations  On identifie les relations en examinant les diagrammes d’interaction  Si deux objets doivent communiquer, il doit exister un chemin entre eux 09/10 12 jeudi 23 septembre 2010
  • 13. Relations entre classes «Relations», associations, agrégation, généralisation, compléments 13 jeudi 23 septembre 2010
  • 14. Séquences aux classes. Relations Relations Les relations fournissent un chemin de communication entre objets Les diagrammes de séquence sont parcourus pour déterminer quels liens doivent exister pour obtenir le comportement souhaité – si deux objets ont besoin de se parler, il doit exister un lien entre eux Trois types de relations : Association Agrégation Dépendance Une contrainte : Une relation est un lien stable entre deux objets 09/10 14 jeudi 23 septembre 2010
  • 15. Séquences aux classes. Relations Relations 09/10 15 jeudi 23 septembre 2010
  • 16. Séquences aux classes. Relations Multiplicité : exemple possède 1..* 0..* Voiture Personne gouverne 1 1 Président Pays Nœud * * Un réseau informatique est composé de nœuds inter-connectés Association réflexive 09/10 16 jeudi 23 septembre 2010
  • 17. Séquences aux classes. Relations Multiplicité La multiplicité est définie par le nombre d’objets qui participent à une relation La multiplicité est le nombre d’instances d’une classe reliées à UNE instance d’une autre classe Pour chaque association et agrégation, il y a deux multiplicités : une à chaque bout de la relation 1 Un et un seul 0 .. 1 Zéro ou un n n (entier naturel) m .. n De m à n (entiers naturels) ∗ De zéro à plusieurs 0 .. ∗ De zéro à plusieurs 09/10 17 jeudi 23 septembre 2010
  • 18. Séquences aux classes. Relations Multiplicité d'une relation 1 Classe Exactement une * Classe Plusieurs (0 à n) 0,1 Classe Optionnelle (0 ou 1) 1,2,4 Classe Cardinalité spécifiée 1-10 Classe Intervalle 09/10 18 jeudi 23 septembre 2010
  • 19. Séquences aux classes. Relations Relations  Une association est une connexion bi-directionnelle entre classes – Une association est représentée par une ligne connectant les classes  Une agrégation est une relation plus forte et s’établit entre un tout et ses parties – Une agrégation est représentée par une ligne connectant les classes avec un losange du côté de la classe représentant le tout  Une dépendance est une relation faible établie entre un client et un fournisseur et où le client n’a pas de connaissance sémantique sur le fournisseur – Une dépendance est représentée par une flèche en pointillés allant du client au fournisseur 09/10 19 jeudi 23 septembre 2010
  • 20. Séquences aux classes. Relations Association Associations Les associations peuvent indiquer la navigation avec une pointe de flèche ouverte: Pas de flèche => bidirectionnelle La plupart des associations sont unidirectionnelles en fin de conception. Les associations peuvent avoir des étiquettes: Il s'agit du nom de l'association. Les associations peuvent avoir des noms de rôle: un nom de rôle identifie le rôle ou la responsabilité de l'objet dans l'association. Les associations peuvent indiquer une multiplicité. 09/10 20 jeudi 23 septembre 2010
  • 21. Séquences aux classes. Diagramme de Classes- Relations Relations Association Navigation Bien que les associations soit bi-directionnelles par défaut, il peut être bon de limiter la navigation à un seul sens Les objets de Classe2 sont accessibles à partir de ceux de Classe1 et vice-versa Classe1 Classe2 Si la navigation est restreinte, une flèche indique le sens de navigation Les objets de la Classe 1 sont accessibles à la classe 2 Classe1 Classe2 09/10 21 jeudi 23 septembre 2010
  • 22. Séquences aux classes. Relations Association Nommage des associations • Une association peut être nommée afin de faciliter la compréhension des modèles. Dans ce cas le nom est indiqué au milieu du lien symbolisant l’association nom A B • L’usage recommande de choisir comme nom d’une association une forme verbale active (exemple : travaille pour) ou passive (exemple : est employé par) travaille pour Personne Société est employé par Personne Société 09/10 22 jeudi 23 septembre 2010
  • 23. Séquences aux classes. Relations Association Rôles des extrémités d’association On peut attribuer à une extrémité d’une association un nom appelé rôle qui décrit comment une classe source voit une classe destination au travers de l’association Le rôle est placé près de la fin de l’association et à côté de la classe à laquelle il est appliqué L’utilisation des rôles est optionnelle Représentation et exemple A B rôle de B employeur Emploie> Société Personne employé 09/10 23 jeudi 23 septembre 2010
  • 24. Séquences aux classes. Relations Association Nommage des associations… Par défaut le sens de lecture du nom d’une association est de gauche à droite Dans le cas où la lecture du nom est ambiguë, on peut ajouter l’un des signes < ou > pour indiquer le sens de lecture • Exemples < travaille pour Société Personne Personne 1 * < est père de 09/10 24 jeudi 23 septembre 2010
  • 25. Séquences aux classes. Relations Association Cas particuliers de relations  Relations réflexives encadre chef 1 Personne sous-fifre 1..* Une relation réflexive lie des objets de même classe 09/10 25 jeudi 23 septembre 2010
  • 26. Séquences aux classes. Relations Agrégation Composition et Agrégation  Cas particuliers de relations : – Notion de tout et parties 1 transporte passager Voiture Personne moyen_de_transport * 1 1 Composition roulement > Roue 4,6 structure > 1 Agrégation Chassis 09/10 26 jeudi 23 septembre 2010
  • 27. Séquences aux classes. Relations Agrégation Agrégation L’agrégation représente une association de type ensemble/élément L’agrégation ne concerne qu’un seul rôle d’une association Représentation L’agrégation permet de modéliser une contrainte d’intégrité et de désigner l’agrégat comme gérant de cette contrainte 09/10 27 jeudi 23 septembre 2010
  • 28. Séquences aux classes. Relations Agrégation Agrégation… Exemple 1 – Une personne est dans une foule – Une foule contient plusieurs personnes * Personne Foule Contient > Exemple 2 (Agrégation partagée) – Une personne fait partie de plusieurs équipes – Une équipe contient plusieurs personnes * * Personne Équipe < membre 09/10 28 jeudi 23 septembre 2010
  • 29. Séquences aux classes. Relations Agrégation Composition La composition est une agrégation forte (agrégation par valeur). Les cycles de vies des éléments (les "composants") et de l'agrégat sont liés : si l'agrégat est détruit (ou copié), ses composants le sont aussi. A un même moment, une instance de composant ne peut être liée qu'à un seul agrégat. Les "objets composites" sont des instances de classes composées. Attention un Point de vue 09/10 29 jeudi 23 septembre 2010
  • 30. Séquences aux classes. Relations Agrégation Exemple de classe structurée  On voit clairement que le PC est composé d’instances de USBCard, Motherboard, and GraphicsCard Part 09/10 30 jeudi 23 septembre 2010
  • 31. Séquences aux classes. Relations Généralisation Généralisation C’est une relation de classification entre un élément général et un élément plus spécifique L’élément le plus spécifique est cohérent avec l’élément le plus général et contient plus d’informations Exemple Véhicule Voiture Bus Camion 09/10 31 jeudi 23 septembre 2010
  • 32. Séquences aux classes. Relations Généralisation Généralisation Extension par l’ajout d’attributs et d’opérations 09/10 32 jeudi 23 septembre 2010
  • 33. Séquences aux classes. Relations Héritage des relations  Les relations sont héritées par les sous classes : VEHICULE motorisation MOTEUR 1..2 VOITURE CAMION lien logique REPERTOIRE FICHIER 1..* * DRIVER FICHIER_TEXTE FICHIER_BINAIRE 09/10 33 jeudi 23 septembre 2010
  • 34. Séquences aux classes. Relations Raffinements Association ordonnée Contraintes sur les associations pour exprimer que les objets sont ordonnés (selon la clé, le nom, la date, etc.) Cette contrainte est spécifiée par le stéréotype {Ordonné} du côté de la classe dont les instances sont ordonnés Entreprise 0..* 0..* Produits {Ordonné} Le modèle ne spécifie pas comment les objets sont ordonnés Pour décrire comment les objets sont ordonnés on utilise un commentaire en employant la notation graphique suivante : Ordonné par ... 09/10 34 jeudi 23 septembre 2010
  • 35. Séquences aux classes. Relations Raffinements Association « ou-exclusif » Contrat * d’assurance Un contrat d’assurance concerne une entreprise ou une personne mais pas * {XOR} les deux en même temps 1 1 Personne Entreprise 09/10 35 jeudi 23 septembre 2010
  • 36. Séquences aux classes. Relations Raffinements Association « sous-ensemble » C’est une contrainte qui indique qu’une collection est incluse dans une autre collection La contrainte est placée à proximité d’une relation de dépendance entre deux associations La flèche de la relation de dépendance indique le sens de la contrainte Exemple 1..* Membre de > 1 Politicien {Sous-ensemble} Partie politique 1 Chef de > 1 09/10 36 jeudi 23 septembre 2010
  • 37. Séquences aux classes. Relations Raffinements Association Qualifiée Utilisée avec une relation de multiplicité *. Permet de trier la relation en fonction des valeurs d’un attribut. Qualifier 09/10 37 jeudi 23 septembre 2010
  • 38. Séquences aux classes. Relations Raffinements Association Qualifiée 09/10 38 jeudi 23 septembre 2010
  • 39. Séquences aux classes. Relations Raffinements Classe d’association Il est possible de représenter une association par une classe pour ajouter par exemple des attributs ou des opérations dans l ’association La classe attachée à l’association est appelée une classe d’association ou classe associative La classe d’association possède à la fois les caractéristiques d’une association et celle d’une classe et peut, à ce titre, participer à d’autres relations dans le modèle La classe d’association est attachée à l’association avec une ligne en pointillée 09/10 39 jeudi 23 septembre 2010
  • 40. Séquences aux classes. Relations Classe d’association : exemple  Une classe d’association est utilisée quand une information semble appartenir aux deux objets ou à aucun objet 1..* Inscrit à > 0..* Étudiant Cours Évaluation 09/10 40 jeudi 23 septembre 2010
  • 41. Dependencies  A dependency can be used when a class has no direct relation to another class, but uses it in some way.  The «stereotype» details how the item is dependent on the other. 41 jeudi 23 septembre 2010
  • 42. Séquences aux classes. Relations Conseils pratiques  Réfléchir au problème avant de commencer Soigner le nommage, insister sur le nommage des relations et des rôles  Faire simple! – «Things must be as simple as possible, but no simpler». A. Einstein – éviter toute complication nuisible se dégager de l’implémentation : raisonner objets, classes, messages, relations, attributs, opérations – ne pas s’inquiéter si les possibilités de la notation ne sont pas toutes exploitées 09/10 42 jeudi 23 septembre 2010
  • 43. Séquences aux classes. Relations Conseils pratiques (suite)  Approche incrémentale – Itérer – Savoir s'arrêter avant d’atteindre la perfection... • prise en compte qualité (niveau de précision), coûts, délais... • asservissement au processus de développement  Faire simple (encore) – Un bon modèle n’est pas un modèle où l’on ne peut plus rien ajouter, mais un modèle où on ne peut plus rien enlever. 09/10 (d’après A. de St-Exupéry) 43 jeudi 23 septembre 2010
  • 44. Diagrammes de classes Puis ... 44 jeudi 23 septembre 2010
  • 45. Diagramme de Classes- Relations Relations : Résumé 10/11/2009 45 Mireille Blay-Fornarino (blay@polytech.unice.fr) jeudi 23 septembre 2010
  • 46. Modèle E/A Modèle E/A Entreprise Graphisme 2 0,n Employe supervise TravaillerPour Département 1,1 NoSS 1,n Superviser No_dept Est supervisé Adresse libelle Nomf 1,1 Nb_Emp Prenom 0,1 1,1 localisations Diriger 0,n 1,n Date 1,n Avoir a charge Gérer TravaillerSur Nb_heures (1,1) PersonneACharge prénom 1,n 1,1 DateNaissance Projet Parenté Numéro Description 46 jeudi 23 septembre 2010
  • 47. UML UML Entreprise 47 jeudi 23 septembre 2010