Académique Documents
Professionnel Documents
Culture Documents
2 coursOMT-UML PDF
2 coursOMT-UML PDF
Plan du cours
■ De l’analyse à la conception
Conception et Objet
■ Les Objets
■ Les classes
■ Définition :
ü Un objet définit une représentation d’une entité atomique réelle
ou virtuelle, dans le but de le piloter ou de le simuler.
Les objets encapsulent une partie des connaissances du monde
dans lequel ils évoluent.
ü Un objet associe données et traitements en ne laissant visible
que l’interface de l’objet, c’est à dire les traitements que l’on
peut faire dessus
■ Objet = Identité + Etat + Comportement
ü L’Identité : En plus de son état un objet possède une identité qui
permet de le distinguer de manière non ambiguë
indépendamment de son Etat.
ü L’état : regroupement des valeurs instantanées de tous les
attributs d’un objet
ü Le comportement : regroupe toutes les compétences d’un objet
et décrit les actions et les réactions de cet objet
Notations
0,5 m
Batman
Taille et 5
niveau de rapidité 2,00 m :Héros
5 1,50 m
3
© Rémy Courdier – V2.8 7
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.3. Les messages
Notations
■ Notion de synchronisation
:Expéditeur :Destinataire
■ Définition :
ü La classe décrit le domaine de définition d’un ensemble
d’objets : C’est un modèle qui définit les données et les
traitements communs à une collection d’objets similaires
ü Chaque objet appartient à une classe
ü Les généralités sont contenues dans la classe et les particularités
dans les objets
■ Terminologie orientée objet
ü Les traitements sont appelés méthodes ou opérations de l’objet
ü Les données sont appelées variables, données membres,
attributs ou propriétés
ü Les objets informatiques sont construits à partir de la classe par
un processus appelé instanciation
ü Tout objet est instance d’une Classe
Notation
L’encapsulation
Un accès « libre »
a des attributs
peut conduire
rapidement à des
données mal
gérees
L’encapsulation
association
:Combat Batman :Héros Combat Héros
Spectacle Public
Combat < s’engage dans Héros
Le rôle décrit comment une classe voit une
le nommage des associations facilite autre classe au travers d’une association
la compréhension des modèles Le rôle prend tout son intérêt lorsque plusieurs
associations existent entre 2 classes
© Rémy Courdier – V2.8 14
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.5. Les relations entre les classes(2)
Multiplicité et Contraintes
Trop d’instances
peuvent conduire
à une
catastrophe !
Imaginez le
même type de
problème avec
un A380…
© Rémy Courdier – V2.8 15
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.5. Les relations entre les classes(2)
Héros
0..1 2..*
Combat {Ou-exclusif} Personnage
1 *
Spectacle Public
Un combat met en jeu différents personnages ; certains joueront
le rôle du public et d’autres le rôle de Héros de combat. Un
Héros donné peut s’engager dans un combat ou non. Un
personnage du public est toujours spectateur d’un combat.
■ Association récursive
Personnage Manager
Héros
*
< s’occupe de
Les classes-associations
La relation d’agrégation
■ Notation UML :
ü Une agrégation se représente avec un 1..* *
C1 C2
losange placé du coté de l’agrégat Inclus dans >
■ Propriétés
La cardinalité placé à coté de l’agrégat et facultative et correspond par
défaut à 1..1, elle peut être 0..1 mais jamais x.. .
*
Une partie d’un tout n’appartient qu’à un seul tout.
■ Notation UML :
0..1 *
Une agrégation se représente C1
est composé de >
C2
avec un losange plein placé
du coté de l’agrégat.
© Rémy Courdier – V2.8 21
Analyse et Conception objet du logiciel
Agrégation et compostion
■ Cadre d’utilisation:
ü Dépendance d’interface : entre une classe et une interface que celle-ci
s’impose de respecter.
Sémantique « réalise » ou « implemente »
ü Dépendance de Stéréotype : Pour définir une classe générique
paramétrable.
Sémantique « bind »
ü Dépendance d’instanciation : Poir décrire une relation entre une classe
et ses instances
sémantique « instanceof »
■ Notation UML :
Représentée par une C1 C2
ligne pointillée orientée
© Rémy Courdier – V2.8 23
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.6. L’héritage entre classes
Généralisation
© Rémy Courdier – V2.8 24
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.6. L’héritage entre classes(2)
Le polymorphisme
Notions avancées
■ Critères de généralisation
ü Spécialisation selon plusieurs critères simultanément
ü On associe des discréminants à la relation de généralisation
■ Contraintes
ü généralisation exclusives /inclusives
; {Exclusif} : par défaut une généralisation est exclusive ; une classe
descendante d’une classe A peut être descendante d’une seule sous-
classe de A
; {Inclusif} : Une classe descendante de la classe A appartient au
produit cartésien des sous-classes de la classes A
ü Généralisation complète / Incomplète
A
; {Complète} :
existence de toutes Critère1 Critère2 {Incomplète}
{Inclusif}
les sous-classes
A1.1 A1.2 A2.1 A2.2
; {Incomplète} :
généralisation extensible
A3
© Rémy Courdier – V2.8 26
Analyse et Conception objet du logiciel 2. L’approche orientée objet
2.6. L’héritage entre classes(4)
Difficultés
Fin du Chapitre 2
L’approche Orientée
Objet et UML