Analyse et Conception avec UML

                  Les diagrammes
                     de classes
                         ...
Séquences aux classes.      Relations


                          Modélisation structurelle
         Les classes et les ob...
Des diagrammes
                de séquence

                aux diagrammes
                  de Classes
                  ...
Séquences aux classes.   Relations


        Des Diagramme de Séquence aux
                   classes
                    ...
Séquences aux classes.        Relations


                                   Classes
       Une classe est une collection...
Séquences aux classes.   Relations


                              Classes




09/10                                 6
jeu...
Séquences aux classes.   Relations


                                  Opération
                                         ...
Séquences aux classes.      Relations


                                Attributs
       La structure d’une classe est do...
Séquences aux classes.     Relations


                              Attributs
        Comment trouver les attributs ?
   ...
Séquences aux classes.        Relations


                              Attributs dérivés
            Attributs dont la va...
Séquences aux classes.   Relations


           Notations UML pour classes et
                      objets




09/10      ...
Séquences aux classes.      Relations


                               Relations
   On identifie les relations en examina...
Relations entre
                       classes
                           «Relations»,
                           associat...
Séquences aux classes.    Relations

                              Relations
        Les relations fournissent un chemin d...
Séquences aux classes.    Relations


                              Relations




09/10                                 15...
Séquences aux classes.            Relations


                              Multiplicité : exemple
                       ...
Séquences aux classes.        Relations

                                   Multiplicité
        La multiplicité est défini...
Séquences aux classes.               Relations


                     Multiplicité d'une relation

                       ...
Séquences aux classes.          Relations


                                   Relations
       Une association est une c...
Séquences aux classes.     Relations Association

                              Associations
        Les associations peuv...
Séquences aux classes.
Diagramme de Classes- Relations       Relations Association


                                  Nav...
Séquences aux classes.              Relations Association

                      Nommage des associations
• Une associatio...
Séquences aux classes.          Relations Association


        Rôles des extrémités d’association
        On peut attribu...
Séquences aux classes.   Relations Association

                 Nommage des associations…
        Par défaut le sens de l...
Séquences aux classes.          Relations Association

                    Cas particuliers de relations
           Relat...
Séquences aux classes.             Relations   Agrégation

                     Composition et Agrégation
       Cas part...
Séquences aux classes.    Relations   Agrégation

                              Agrégation
        L’agrégation représente...
Séquences aux classes.            Relations    Agrégation


                                 Agrégation…
            Exemp...
Séquences aux classes.    Relations   Agrégation

                              Composition
        La composition est une...
Séquences aux classes.   Relations   Agrégation


               Exemple de classe structurée
            On voit clairem...
Séquences aux classes.            Relations Généralisation


                                    Généralisation
          ...
Séquences aux classes.       Relations Généralisation


                               Généralisation
              Extens...
Séquences aux classes.                    Relations

                             Héritage des relations
       Les relat...
Séquences aux classes.                 Relations Raffinements


                                Association ordonnée
      ...
Séquences aux classes.                  Relations    Raffinements




                          Association « ou-exclusif »...
Séquences aux classes.               Relations    Raffinements

               Association « sous-ensemble »
        C’est ...
Séquences aux classes.     Relations   Raffinements

                          Association Qualifiée
        Utilisée avec u...
Séquences aux classes.     Relations   Raffinements

                          Association Qualifiée




09/10              ...
Séquences aux classes.       Relations   Raffinements


                              Classe d’association
        Il est p...
Séquences aux classes.              Relations

             Classe d’association : exemple
 Une classe d’association est ...
Dependencies
 A dependency can be used when a class has no direct
  relation to another class, but uses it in some way.
...
Séquences aux classes.              Relations

                              Conseils pratiques
       Réfléchir au problè...
Séquences aux classes.             Relations


                          Conseils pratiques (suite)
       Approche incré...
Diagrammes de
                     classes
                          Puis ...


                             44

jeudi 23 ...
Diagramme de Classes- Relations
                                  Relations : Résumé




10/11/2009                       ...
Modèle E/A
      Modèle E/A Entreprise
      Graphisme 2
                                               0,n      Employe
 ...
UML

      UML Entreprise




                                47

jeudi 23 septembre 2010
Prochain SlideShare
Chargement dans…5
×

Diagrammes de classes

25 315 vues

Publié le

Cours Introductif aux diagrammes de classes en IUT

Publié dans : Formation
0 commentaire
5 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
25 315
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
889
Commentaires
0
J’aime
5
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Diagrammes de classes

  1. 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. 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. 3. Des diagrammes de séquence aux diagrammes de Classes 3 jeudi 23 septembre 2010
  4. 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. 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. 6. Séquences aux classes. Relations Classes 09/10 6 jeudi 23 septembre 2010
  7. 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. 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. 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. 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. 11. Séquences aux classes. Relations Notations UML pour classes et objets 09/10 11 jeudi 23 septembre 2010
  12. 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. 13. Relations entre classes «Relations», associations, agrégation, généralisation, compléments 13 jeudi 23 septembre 2010
  14. 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. 15. Séquences aux classes. Relations Relations 09/10 15 jeudi 23 septembre 2010
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 38. Séquences aux classes. Relations Raffinements Association Qualifiée 09/10 38 jeudi 23 septembre 2010
  39. 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. 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. 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. 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. 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. 44. Diagrammes de classes Puis ... 44 jeudi 23 septembre 2010
  45. 45. Diagramme de Classes- Relations Relations : Résumé 10/11/2009 45 Mireille Blay-Fornarino (blay@polytech.unice.fr) jeudi 23 septembre 2010
  46. 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. 47. UML UML Entreprise 47 jeudi 23 septembre 2010

×