haque
paradigme i.e. un courant de pensée, a un langage bien particulier.
Par exemple, dans le monde relationnel, on parle de lignes, de
colonnes et de tables. Dans le monde de MERISE, on parle d'entités,
d'associations, d'identifiants, etc. Le monde de l'objet ne fait
pas exception à cette règle. Cet article a pour objectif de définir
quelques termes du paradigme objet avant d'apprendre les rudiments
de la modélisation. Je propose donc les définitions des termes
suivants: classe, formalisme UML, objet, propriété ou attribut
et méthode.
Classe.
Une
classe est une définition des attributs ou propriétés et des méthodes
d'objets similaires. Une classe est un modèle ou un gabarit qui
permet de créer des variables qu'on appelle objets (ou instances
de classe). À l'aide de l'analogie suivante, vous comprendrez
plus facilement. Lorsque l'on veut fabriquer des objets, on a
besoin d'un machine. Supposons que l'on désire fabriquer des beignes.
On a alors besoin d'un gabarit de la forme d'un beigne. On donne
à ce gabarit la forme du beigne par le diamètre du beigne, l'épaisseur
du beigne et le diamètre du trou. Par la suite, un fois que notre
gagarit connaît les propriétés des beignes à produire, on peut
les fabriquer. Le gabarit correspond à la classe et les beignes
produits correspondent aux objets. On produit les objets (beignes)
à partir des spécifications (propriétés) que l'on a donné au gabarit
(classe). Dans le paradigme objet, on dirait ceci: on crée les
objets à partir des propriétés de la classe.
Formalisme
UML.
Le
formalisme pour représenter une classe est un quadrilatère formé
de trois zones : la zone pour le nom de la classe (zone du haut),
la zone pour les propriétés (zone centrale) et la zone pour les
méthodes (zone du bas). Ce formalisme porte le nom d'UML (Unified
Modeling Langage). Un formalisme est un ensemble de règles et
de conventions pour représenter une réalité. Par exemple, le code
de la route est un formalisme.
En
ce qui concerne la classe Motocyclette ci-haut, elle va me permettre
de construire des objets. Si je veux construire une motocyclette,
je vais me baser sur ce modèle pour la réaliser.
En analysant cette classe, lorsque je fabrique une motocyclette,
je dois:
- lui
donner un numéro de série.
- lui
donner une couleur.
- lui
donner une marque.
- lui
donner son état, à savoir si elle est en état de marche ou en
état d'arrêt.
No série
|
Couleur
|
Marque
|
État
|
S233245
|
Rouge
|
Honda
|
En marche
|
S456754
|
Jaune
|
Yamaha
|
Arrêté
|
S987635
|
Rouge
|
Honda
|
Arrêté
|
Dans
le tableau ci-haut, j'ai construit quatre objets de la classe
"Motocyclette" en me basant sur la classe qu'on pourrait définir
comme un modèle ou un gabarit.
Un
objet est une chose, une entité ayant une existence physique ou
abstraite dans le monde à modéliser. Chaque objet possède ses
propres attributs ou propriétés qui lui permettent de se différencier
des autres objets de la même classe. Par exemple, dans le tableau
ci-haut, j'ai trois objets physiques. Chaque objet a ses propres
propriétés. Chaque objet est considéré comme une variable objet.
Les
propriétés servent à décrire les objets de la classe. Par exemple,
j'ai décrit le premier objet du tableau ci-haut comme ceci: "La
motocyclette Honda rouge a le no de série S233245 et elle est
en marche". Chaque objet de cette classe "Motocyclette" est décrit
par quatre propriétés ou caractéristiques. Toutes les motocyclettes
de cette classe auront ces 4 propriétés ou attributs. On peut
dire que chaque objet Motocyclette qui est une variable objet
est composé de 4 variables. Ainsi dans le tableau ci-haut dans
lequel il y a trois objets motocyclettes, chacune des trois variables
objets a 4 variables. Par conséquent, il y a 12 variables au total.
Chaque objet est un ensemble composé de plusieurs propriétés.
Donnons un nom à chaque objet pour être capable de les référencer.
Dans notre cas, les objets sont des motocyclettes. On va les nommer
respectivement: moto1, moto2, moto3.
Nom
|
No série
|
Couleur
|
Marque
|
État
|
Moto1
|
S233245
|
Rouge
|
Honda
|
En marche
|
Moto2
|
S456754
|
Jaune
|
Yamaha
|
Arrêté
|
Moto3
|
S987635
|
Rouge
|
Honda
|
Arrêté
|
J'ai donc ajouté une propriété supplémentaire à chacun des objets
qui va identifier chaque objet. Maintenant voyons les objets comme
des ensembles. Le nom de l'ensemble est le nom que je viens de
rajouter.
Si
je veux faire référence à la couleur de la moto1, je vais dire
moto1.couleur. Le premier nom est le nom de l'ensemble
suivi d'un point et du nom de la propriété. La valeur de moto1.couleur
est rouge. Cette valeur est l'intersection de la ligne de l'objet
concerné et de la colonne de la propriété concernée du tableau.
Voici quelques valeurs:
- moto2.marque:
Yamaha
- moto1.marque:
Honda
- moto3.marque:
Honda
- moto1.nosérie:
S233245
- moto3.état:
Arrêté
Le nom de l'ensemble est le nom de l'objet. Il représente la variable
objet. Chaque ensemble incorpore les 4 variables de chaque objet.
Ce sont les propriétés de l'objet.
Méthode
Une méthode est une procédure ou une fonction. Alors que les propriétés
sont la partie statique d'une classe, les méthodes représentent
la partie dynamique d'une classe. Si on reprend l'analogie du
beigne, nous connaissons les spécifications grâce aux propriétés.
Cependant, il faut des procédures ou des actions pour former,
crémer, cuire et emballer chaque beigne. C'est ainsi que je dirai
à l'ordinateur d'exécuter les procédures:
- Beigne1.former
- Beigne1.cuir
-
Beigne1.crémer
-
Beigne1.emballer
Eh
voilà, le Beigne1 est prêt à être vendu. De même, je pourrai démarrer
la Moto3 avec l'instruction suivante: Moto3.démarrer
Conclusion
Comme
vous avez constaté, le paradigme objet a son propre langage. Maintenant
que vous connaissez les termes du formalisme UML, je pourrais
commencer à vous donner des leçons de modélisation selon ce paradigme.
Cependant, il existe aussi un autre formalisme très populaire.
C'est un formalisme qui a vu le jour en France et qui se nomme
Entité-Association. Il a aussi ses propres termes et ils doivent
être compris avant d'entreprendre l'apprentissage de la modélisation.
On pourrait définir les termes de cet autre paradigme un peu plus
tard. Cependant, si vous êtes intéressé par la modélisation des
données dans ce dernier formalisme, mon
essai de maîtrise est sur le Net. Mais attention, il est de
niveau avancé.
Jean-Pierre Fortier
M.B.A
en technologie de l'information.
Professeur
à L'institut d'Informatique de Québec, ville de Québec.
Chargé de cours à l'Université Laval, ville de Québec
Tous
droits réservés - Reproduction même partielle interdite sans
autorisation préalable
|