Modélisation avec UML 2.0 Partie II Diagramme de classes
Sommaire Introduction Définition Représentation d’un diagramme des classes Représentation d’une Classe/Interface Relation entre les classes : ▫ Association ▫ Dépendance ▫ Agrégation ▫ Composition ▫ Généralisation et Héritage Exercice 25/02/2018 2
Introduction Le diagramme de classes : Considéré comme le plus important de la modélisation orientée objet; On peut le voir à différents niveau de développement ; En analyse, il permet de décrire la structure des entités manipulées par les utilisateurs ; En conception, il permet de représenter un code orienté objet. 25/02/2018 3
Définition Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. 25/02/2018 4
5 Représentation d’un diagramme des classes
Représentation d’une Classe 25/02/ Les classes sont les modules de base de la programmation orientée objet. Une classe est représentée par : ▫ Son nom ; ▫ Ses propriétés ; ▫ Ses méthodes.
Représentation d’une Interface En UML, une interface définit un contrat que doivent respecter les classes qui réalisent l’interface; Une interface est identifiée par son nom. Les objets instances des classes qui réalisent des interfaces sont aussi des instances des interfaces. Une classe peut réaliser plusieurs interfaces, et une interface peut être réalisé par plusieurs classes; Une interface se représente de deux façons. 25/02/2018 7
Représentation d’une Interface > IAffichable +Afficher(); 25/02/ IAffichable
Une association est une relation générique entre deux classes. Elle est modélisée par une ligne reliant les deux classes. Cette ligne peut être qualifiée avec le type de relation, et peut également comporter des règles de multiplicité (par exemple un à un, un à plusieurs, plusieurs à plusieurs) pour la relation. 25/02/ Relation entre classes: Association 1..*1
25/02/ ExempleInterprétation 1..1 ou 1Un et un seul 0..1Zéro ou un seul 0..*Zéro à plusieurs 3..4Trois à quatre 4Quatre et seulement quatre Tableau 1: Mutliplicité Relation entre classes: Association
25/02/ Exemple d’une relation d’association
Exemple : Un contrat concerne un client. 25/02/ Relation entre classes: Association class Contrat { Client bénéficiaire;... } Contrat Client bénéficiaire 1
Dépendance 25/02/ Quand une classe en utilise une autre comme argument dans la signature d’une opération; Un élément A dépend d'un élément B, lorsque A utilise des services de B; Unidirectionnelle exprimant une dépendance sémantique entre des éléments du modèle. A B
25/02/ Dépendance Exemple de relation de dépendance
25/02/ Agrégation Une relation tout/partie où une classe constitue un élément plus grand (tout) composé d’éléments plus petit (partie); Une association qui représente une relation d’inclusion structurelle ou comportementale d’un élément dans un ensemble; Elle décrite par une relation « possède ».
25/02/ Agrégation Représentée par un « losange » vide du côté de l’agrégat.
Appelée aussi agrégation composite; Décrit une contenance structurelle entre instances; La destruction de l’objet composite implique la destruction de ses composants; Une relation de composition est indiquée par une ligne avec un « losange » rempli. 25/02/ Composition
25/02/ Exemple: relation d’agrégation et composition EntrepriseCamion Moteur Élément plus grand (tout) composé d’éléments plus petit (partie), 2 2 Une instance de la partie appartient toujours à au plus une instance de l’élément composite,
25/02/ Généralisation et Héritage Décrit une relation entre une classe générale ( classe parent) et une classe spécialisée (sous-classe); La classe spécialisée comporte des informations supplémentaires (attributs, opérations, associations); Un objet de la classe spécialisée peut être utilisé partout où un objet de la classe de base est autorisé.
Généralisation et Héritage 25/02/ Généralisation Classe « parent » Sous-classe Exemple: relation de Généralisation Liens d’héritage
25/02/ Généralisation et Héritage Partie du règne animal décrit avec l’héritage multiple.
25/02/ Les propriétés principales de l’héritage sont : La sous-classe possède toutes les caractéristiques des ses classes parents; Une sous-classe peut redéfinir une ou plusieurs méthodes de la classe parent; Toutes les associations de la classe parent s’appliquent aux classes dérivées; Généralisation et Héritage
25/02/ Une instance d’une classe peut être utilisée partout où une instance de sa classe parent est attendue ; Une classe peut avoir plusieurs parents, on parle alors d’héritage multiple. Généralisation et Héritage
25/02/