UML (Unified Modelling Language) Introduction à UML Claudine Métral Université de Genève Langage de modélisation unifié Langage graphique de modélisation des données et des traitements Auteurs Booch, Rumbaugh, Jacobson (les tres amigos ) Depuis 997, standard de l OMG (Object Management Group) 3 types de diagrammes pour UML 2 (9 pour UML.3), le diagramme de classe étant généralement considéré comme l'élément central d'uml 2 Diagramme de classe Modélisation en termes d'objets de classes d'objets Les objets représentent des entités concrètes ou abstraites du monde réel un bâtiment une parcelle un propriétaire un droit de passage une occurrence de l'événement la route X a été fermée à la circulation à 23h25 Objets Un objet est caractérisé par ses attributs définis chacun par un nom et une valeur associée à un type de données A Année de construction = 964 Site de Battelle Localisation = "Carouge" A302 Fonction = "Salle de cours" Nonbre de places = 5 A207 Fonction = "Bureau" Nonbre de places = 2 3 4
Liens entre objets Il peut exister des liens logiques entre les objets appelés associations A Année de construction = 964 situé sur partie de partie de A302 Fonction = "Salle de cours" Nonbre de places = 5 s d objets Définition Groupes d objets du monde réel ayant les mêmes caractéristiques et le même comportement Fonctions Regrouper les objets ayant des caractéristiques communes Décrire globalement les propriétés communes à ces objets Organiser le système Site de Battelle Localisation = "Carouge" A207 Fonction = "Bureau" Nonbre de places = 2 5 6 Associations s Représentent les liens sémantiques entre les objets A définir entre les classes d objets Plusieurs associations de différents types peuvent exister entre deux mêmes classes Notation Atribut Propriétaire Année de construction Nombre d étages A contient situé sur Site de Battelle Année de construction = 964 Localisation = "Carouge" Fonction Pièce Nonbre de places 7 8
Objets comme instances de classes Associations Propriétaire Année de construction Nombre d étages instance de A: Pièce Fonction Nonbre de places instances de A302: Pièce Fonction = "Salle de cours" Nonbre de places = 5 Représentent les liens sémantiques entre les objets Sont à définir entre les classes d objets association Atribut Atribut Année de construction = 964 A207: Pièce Fonction = " bureau" habite dans Nonbre de places = 2 9 0 Cardinalité des associations Tout objet de C est lié par A à au moins min et au plus max objets de D: définit la cardinalité de A C A min..max D Cardinalité des associations Min et max peuvent rester indéterminés Club membre 3..* il faut au moins 3 personnes pour faire un club situé sur.. un bâtiment ne peut être que sur un seul site Site Etudiant inscription *..0 un étudiant peut s inscrire à 0 cours au maximum Cours habite dans 0.. on peut être SDF ou non *..* une personne peut ne pas être propriétaire ou posséder de à plusieurs bâtiments 2
Cardinalité des associations Préciser la cardinalité des deux extrémités de l association Club membre *..* on peut appartenir à 0, ou plusieurs clubs 3..* il faut au moins 3 personnes pour faire un club Associations et rôles Chaque classe joue un rôle dans l association association < rôle rôle > Etudiant inscription 5..* au moins 5 étudiants par cours Cours *..0 un étudiant peut s inscrire à 0 cours au maximum < a pour propriétaire possède >..* tout bâtiment a au moins propriétaire *..* une personne peut ne pas être propriétaire ou posséder de à plusieurs bâtiments 3 4 -association Pour définir des attributs ou des opérations (méthodes) propres à une association Une classe de ce type est définie comme les autres et peut donc participer à d autres relations dans le modèle association attributs Agrégation Pour modéliser le lien A un ou plusieurs B Un B peut exister indépendamment d'un A Un B peut éventuellement appartenir à plusieurs A A Formation 0..* 0..*..*..* date B Cours 5 6
Composition La composition est une agrégation forte A est composé de un ou plusieurs B Un B ne peut exister tout seul (dans le système) Un B n'appartient qu'à un seul A Généralisation et spécialisation Permet d organiser le domaine (taxonomie) généralisation A pour piétons..*..* B Pièce Piste Bande Promenade dans un parc spécialisation 7 8 Généralisation et spécialisation Exemple de diagramme UML Permet de partager les descriptions communes (héritage) Type de revêtement Sécurisation pour piétons Accessibilité Piste Bande Promenade dans un parc Modèle WaterBody de CityGML Espaces de jeu 9 20
Opérations avec les objets Chaque classe peut être muni de méthodes qui rendent des services Les méthodes sont à programmer par les développeurs Une méthode calcule un résultat à partir de la valeur de l'objet et de paramètres modifie éventuellement la valeur de l'objet G. Falquet Modélisation en UML Deux axes de modélisation distincts Structurel Fonctionnel Lien explicite Les scénarios parlent des objets du système Les classes et objets définissent le vocabulaire des scénarios Les cas d'utilisation déterminent l'étendue de la modélisation des objets Eviter le syndrome de la modélisation infinie G. Falquet 2 22 Exercice Exercice Que peut-on dire des polygones P et P2? Que peut-on dire des polygones P et P2? D. Pelliet - X. Clerc D. Pelliet - X. Clerc 23 24
Exercice Exercice Donner le diagramme de classe correspondant à: From D. Pelliet - X. Clerc D. Pelliet - X. Clerc 25 26