Cours UML objets et classes

1. Introduction

UML (Unified Modeling Language) est une méthode de modélisation orientée objet développée en réponse à l’appel à propositions lancé par l’OMG (Object Management Group) dans le but de définir la notation standard pour la modélisation des applications construites à l’aide d’objets. Elle est héritée de plusieurs autres méthodes telles que OMT (Object Modeling Technique) et OOSE (Object Oriented Software Engineering) et Booch. Les principaux auteurs de la  notation UML sont Grady Booch, Ivar Jacobson et Jim Rumbaugh.

2. Le modèle des classes

Le modèle des classes d’UML saisit la structure statique d’un système en montrant les objets dans le système, les relations entre les objets, les attributs et les opérations qui caractérisent chaque classe d’objets. C’est le plus important des modèles d’UML. Il utilise plusieurs types de diagrammes : les diagrammes de classes, les diagrammes d’objets.

Objets et classes

Objets
Un objet est une entité qui a un sens dans le contexte de l’application.
Un objet possède une identité.
Instance d’objet -> référence à une chose précise
Classe d’objets -> référence à un groupe de choses similaires
Classes
Une classe d’objets décrit un groupe d’objet ayant des propriétés similaires, un comportement commun, des relations communes avec les autres objets.
« Personne », « Société », « Animal », « Fenêtre » sont des classes d’objets.
Diagrammes de classes et diagrammes d’objets
Les diagrammes de classes permettent de modéliser les classes. Les diagrammes d’objets permettent de modéliser les instances. En UML, le mot « objet » est souvent lié à la notion d’instance alors qu’en orienté objet usuel, le mot « objet » est souvent lié aux deux notions de classe et d’instance. Dans ce document, nous restons le plus explicite possible en gardant le mot instance.
Commentaires
Un diagramme UML peut être précisé à l’aide commentaires. Un commentaire est écrit entre accolades.
{Ceci est un commentaire}
Les commentaires sont utiles pour minimiser les ambiguités des diagrammes.
Attributs
Un attribut est une propriété commune à tous les objets d’une classe. Par exemple, « nomFamille » et « âge » peuvent être des attributs de la classe « Personne ».
Pour chaque instance d’une classe ayant un attribut, l’instance possède cet attribut et cet attribut peut prendre une valeur pour une instance d’un objet.

Liens et associations

Les liens permettent d’établir des relations entre objets (ou instances). Les associations permettent d’établir des relations entre classes. Un lien est une connexion entre des instances d’objets. Une association décrit un groupe de liens ayant un sens commun et c’est une connexion entre des classes d’objets.
« travaille-pour » est une association de la classe « Personne » avec la classe « Société ».
« a-pour-capitale » est une association de la classe « Pays » avec la classe « Ville ».
Pour une association binaire : il existe un rôle vers l’avant et un rôle inverse. UML permet de spécifier le sens de lecture de l’association avec les symboles > et <. « emploie » est le rôle inverse de « travaille-pour ». « est-la-capitale-de » est le rôle inverse de « a-pour-capitale »
Attributs de lien
Un attribut de lien est une propriété de lien.
notation : une boîte rattaché par une boucle à l’association
Modéliser une association en classe
L’étape suivante est de modéliser une association sous forme de classe.
L’agrégation
L’ agrégation est une relation « composé-composant » ou « partie de » dans laquelle les objets représentant les composants d’une chose sont associés à un objet représentant l’assemblage (ou l’agrégation) entier.
L’agrégation est transitive non symétrique.

Généralisation, héritage, redéfinition

super-classe et sous-classes
La généralisation est la relation entre une classe et une ou plusieurs versions affinées de la classe.
On appelle la classe dont on tire les précisions, la super-classe et les autres classes les sous-classes.
La notation utilisée pour la généralisation est le triangle .
Héritage et définition de propriétés
Si une propriété est définie dans la super-classe, la propriété existe alors dans toutes les sous-classes. On dit que la sous-classe hérite des propriétés de la super-classe.
Par exemple, si on définit la méthode fonctionner dans la classe Equipement.

Généralisation par extension ou par restriction

extension : une sous-classe ajoute des propriétés à la super-classe.
restriction : les valeurs prises par les propriétés sont restreintes.
L’appartenance à une classe peut être définie de deux façons: implicitement par une règle explicitement par énumération.
Les opérations redéfinies
Redéfinir pour restreindre :
Exemple : le type d’un argument d’une opération d’une sous-classe peut se spécialiser. exemple: La classe Ensemble possède une opération ajouter(Element). La classe Entier hérite de la classe Element. La classe EnsembleEntiers hérite de la classe Ensemble. La classe EnsembleEntiers redéfinies l’opération ajouter en spécialisant le type Element en Entier.

..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours UML (244 KO) (Cours PDF)
Cours UML

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *