Introduction à UML - (CUI) - UNIGE
Transcription
Introduction à UML - (CUI) - UNIGE
UML (Unified Modelling Language) Introduction à UML “Langage de modélisation unifié” Langage graphique de modélisation des données et des traitements Auteurs Booch, Claudine Métral Université de Genève Rumbaugh, Jacobson (les “tres amigos”) Depuis 1997, standard de l’OMG (Object Management Group) 13 types de diagrammes pour UML 2 (9 pour UML 1.3), le diagramme de classe étant généralement considéré comme l'élément central d'UML 2 C. Métral Diagramme de classe Modélisation en termes Objets d'objets de classes d'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 Bâtiment A Les objets représentent des entités concrètes ou abstraites du monde réel Propriétaire = "Université de Genève" A302 Année de construction = 1964 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” C. Métral 3 Nombre d’étages = 3 Fonction = "Salle de cours" Nonbre de places = 15 Site de Battelle Localisation = "Carouge" A207 Fonction = "Bureau" Nonbre de places = 2 C. Métral 4 Liens entre objets Classes d’objets Il peut exister des liens logiques entre les objets appelés associations Définition partie de Groupes d’objets du monde réel ayant les mêmes caractéristiques et le même comportement Bâtiment A Propriétaire = "Université de Genève" A302 Année de construction = 1964 Nombre d’étages = 3 Regrouper les objets ayant des caractéristiques communes Décrire globalement les propriétés communes à ces objets Organiser le système Fonction = "Salle de cours" Nonbre de places = 15 partie de situé sur Site de Battelle Fonctions A207 Localisation = "Carouge" Fonction = "Bureau" Nonbre de places = 2 5 C. Métral Associations 6 C. Métral Classes 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 Bâtiment Classe Propriétaire Attribut Année de construction Atribut Nombre d’étages Attribut … Bâtiment A Propriétaire = "Université de Genève" contient situé sur Site de Battelle Localisation = "Carouge" Année de construction = 1964 Pièce Nombre d’étages = 3 Fonction Nonbre de places C. Métral 7 C. Métral 8 Objets comme instances de classes Bâtiment Associations Pièce Propriétaire Fonction Année de construction Nonbre de places Représentent les liens sémantiques entre les objets Sont à définir entre les classes d’objets Nombre d’étages Classe instance de A302: Pièce Attribut Atribut Atribut Fonction = "Salle de cours" Attribut Attribut Nonbre de places = 15 … … instances de Bâtiment A: Bâtiment Classe association Attribut Propriétaire = "Université de Genève" A207: Pièce Année de construction = 1964 Nombre d’étages = 3 Personne habite dans Bâtiment Fonction = " bureau" Nonbre de places = 2 9 C. Métral Cardinalité des associations 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 Min et max peuvent rester indéterminés Club C A D Etudiant Bâtiment 1..1 habite dans Personne Bâtiment inscription Cours possession Bâtiment *..* une personne peut ne pas être propriétaire ou posséder de 1 à plusieurs bâtiments 0..1 on peut être SDF ou non C. Métral Personne *..10 un étudiant peut s’inscrire à 10 cours au maximum Site un bâtiment ne peut être que sur un seul site Personne membre 3..* il faut au moins 3 personnes pour faire un club min..max situé sur 10 C. Métral 11 C. Métral 12 Cardinalité des associations Associations et rôles Préciser la cardinalité des deux extrémités de l’association Club membre inscription 5..* au moins 5 étudiants par cours Personne possession 1..* tout bâtiment a au moins 1 propriétaire 3..* il faut au moins 3 personnes pour faire un club rôle > Cours possession Personne < a pour propriétaire Bâtiment possède > Bâtiment *..* une personne peut ne pas être propriétaire ou posséder de 1 à plusieurs bâtiments 13 association 14 C. Métral Agrégation 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 Classe Classe < rôle Classe-association association Classe *..10 un étudiant peut s’inscrire à 10 cours au maximum C. Métral Chaque classe joue un rôle dans l’association Personne *..* on peut appartenir à 0, 1 ou plusieurs clubs Etudiant Pour modéliser le lien « fait partie de » A se compose de un ou plusieurs B Un B peut exister indépendamment d'un A Un B peut éventuellement appartenir à plusieurs A Classe A Formation attributs Personne 0..* fait partie de 1..* se compose de 0..* fait partie de Bâtiment possession 1..* B se compose de Cours date C. Métral 15 C. Métral 16 Composition Généralisation et spécialisation La composition est une agrégation forte Permet d’organiser le domaine (taxonomie) 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 A généralisation Voie Bâtiment Voie cyclable fait partie de 1 1..* 1 se compose de 1..* B Voie pour piétons fait partie de se compose de Piste cyclable Pièce Bande cyclable Promenade dans un parc spécialisation 17 C. Métral Généralisation et spécialisation C. Métral 18 Exemple de diagramme UML Permet de partager les descriptions communes (héritage) Voie Type de revêtement Voie cyclable Voie pour piétons Sécurisation Piste cyclable Accessibilité Bande cyclable Promenade dans un parc Modèle WaterBody de CityGML Espaces de jeu C. Métral 19 C. Métral 20 Modélisation en UML 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 Deux axes de modélisation distincts Lien explicite 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 Structurel Fonctionnel 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 21 C. Métral Exercice 22 C. Métral Exercice Que peut-on dire des polygones P1 et P2? Que peut-on dire des polygones P1 et P2? D. Pelliet - X. Clerc C. Métral D. Pelliet - X. Clerc 23 C. Métral 24 Exercice Exercice Donner le diagramme de classe correspondant à: 1 1 1 1 From D. Pelliet - X. Clerc D. Pelliet - X. Clerc C. Métral 25 C. Métral 26