Académique Documents
Professionnel Documents
Culture Documents
1
Content
§ Objets
§ Classes
§ Attributs
§ Opérations
§ Relations
§ Association Binaire
§ Association N-aire
§ Classe Association
§ Agrégation
§ Généralisation
2
Objet
§ Individus d'un système
Nom de l‘Objet
Classe
§ Notations alternatives :
Objets anonymes
Attribut Valeur actuelle = pas de nom d‘objet
3
Diagramme d’Objets
§ Objets d'un système et leurs relations (links)
Link
4
De l’Objet à la Classe
§ Les individus d'un système ont souvent des attributs et des
comportements identiques
5
Classe
Nom de Classe
Attributs
Opérations
6
Syntaxe des Attributs
7
Syntaxe des Attributs - Visibilité
8
Syntaxe des Attributs – Attribut Dérivé
9
Syntaxe des Attributs - Name
§ Nom de l’attribut
10
Syntaxe des Attributs - Type
§ Type
§ Classes définies par l'utilisateur
§ Data type
§ Primitive data type
§ Pré-défini : Boolean, Integer,
UnlimitedNatural, String
§ Défini par l'utilisateur : keyword «primitive»
§ Composite data type : «datatype»
§ Enumérations: «enumeration»
11
Syntaxe des Attributs - Multiplicity
§ Notation : [min..max]
§ pas de limite supérieure : [*] ou [0..*]
12
Syntaxe des Attributs – Default Value
13
Syntaxe des Attributs– Propriétés
§ Propriétes Pré-définies
§ {readOnly} … la valeur ne peut pas être
modifiée
§ {unique} … pas de doublons autorisés
§ {non-unique} … doublons autorisés
§ {ordered} … ordre fixe des valeurs
§ {unordered} … pas d'ordre fixe des valeurs
§ Spécification des attributs
§ Set : {unordered, unique}
§ Multi-set : {unordered, non-unique}
§ Ordered set : {ordered, unique}
§ List : {ordered, non-unique}
14
Syntaxe des Opérations - Paramètres
15
Syntaxe des Opérations - Type
16
Variable de Classe et Opération de Classe
§ Variable de classe (= attribut de classe, attribut statique) Défini une seule fois par
classe,
§ c'est-à-dire partagé par toutes les instances de la classe
§ Par exemple. compteurs pour le nombre d'instances d'une classe, constantes, etc.
class Person {
coarse-grained fine-grained
18
Association
§ Modéliser les relations possibles entre les instances de classes
19
Association Binaire
§ Connecte les instances de deux classes entre elles
Multiplicity
Non-navigability
Visibility Role
20
Association Binaire - Navigability
§ Navigabilité : un objet connaît ses objets partenaires et peut donc
accéder à leurs attributs et opérations visibles
§ Indiqué par la tête de flèche ouverte
§ Non-navigabilité
§ Indiqué par une croix
§ Exemple :
§ A peut accéder aux attributs et opérations visibles de B
§ B ne peut accéder à aucun des attributs et opérations de A
21
Navigability – UML Standard vs. Best
Practice
22
Association Binaire comme Attribut
Préférable
class Student{
§ Java-like notation: public Professor[] lecturer;
…
}
23
Association Binaire – Multiplicity et Role
24
Association Binaire – contrainte xor
§ Contrainte “exclusive or”
25
Association Unaire - Exemple
26
Association n-aire (1/2)
Association
ternaire
27
Association n-aire (2/2)
§ Exemple
§ (Student, Exam) à (Lecturer)
§ Un student passe un exam avec un ou aucun lecturer
§ (Exam, Lecturer) à (Student)
§ Un exam avec un lecturer peut être passé par n’importe quel
nombre de students
§ (Student, Lecturer) à (Exam)
§ Un student peut être noté par un Lecturer pour n'importe quel
nombre d'exams
28
Classe d’Association
29
Classe d’Association
§ Nécessaire lors de la modélisation d'associations n:m
Association class
30
Association Class vs. Regular Class
31
Classe d’Association – unique/non-
unique
§ Par Défaut : pas duplications § non-unique : duplications
autorisées
32
Agrégation
§ Forme spéciale d’association
§ Utilisé pour exprimer qu'une classe fait partie d'une autre classe
§ Deux types:
§ Agrégation partagée
§ Composition
33
Agrégation partagée
§ Exprime une faible appartenance des parties à un tout
§ = Les parties existent aussi indépendamment du tout
§ Syntaxe :
§ Diamant creux à la fin de l'agrégation
§ Exemple:
§ Student fait partie de LabClass
§ Course fait partie de StudyProgram
34
Composition
§ Dépendance d'existence entre l'objet composite et ses parties
Une partie ne peut être contenue que dans au plus un objet
composite à un moment précis
36
Généralisation
§ Les caractéristiques (attributs et opérations), les
associations et les agrégations qui sont
spécifiées pour une classe générale Superclasse
(superclasse) sont transmises à ses sous-classes.
37
Généralisation – Abstract Class
38
Généralisation – Héritage Multiple
§ UML permet l'héritage multiple.
§ Example :
39
Avec ou sans Généralisation
40
Création d’un diagramme de Classse
41
Exemple – University Information System
§ Une université se compose de plusieurs facultés composées de divers
instituts. Chaque faculté et chaque institut a un nom. Une adresse est
connue pour chaque institut.
§ Chaque faculté est dirigée par un doyen (dean), qui est un employé de
l'université.
§ Les cours ont un numéro unique (ID), un nom et une durée hebdomadaire
en heures.
42
Exemple – Step 1: Identifier les Classes
§ Une université se compose de plusieurs facultés Modélisation du système ‘‘University“
composées de divers instituts. Chaque faculté
et chaque institut a un nom. Une adresse est
connue pour chaque institut.
43
Exemple – Step 2 : Identifier les Attributs
§ Une université se compose de plusieurs facultés
composées de divers instituts. Chaque faculté
et chaque institut a un nom. Une adresse est
connue pour chaque institut.
44
Exemple – Step 3 : Identifier les Relations
(1/6)
§ Trois types de relations:
§ Association
Abstract, i.e., pas d'autres
§ Généralisation
types d'employés
§ Agrégation
45
Exemple – Step 3 : Identifier les Relations
(2/6)
46
Exemple – Step 3 : Identifier les Relations
(3/6)
47
Exemple – Step 3 : Identifier les Relations
(4/6)
48
Exemple – Step 3 : Identifier les Relations
(5/6)
49
Exemple – Step 3 : Identifier les Relations
(6/6)
50
Exemple – Class Diagram Complet
51
Eléments de Notation(1/3)
Name Notation Description
Description de la structure et du
Class comportement d'un ensemble
d'objets
oder
52
Eléments de Notation(2/3)
Name Notation Description
n-aire
Relation entre n (ici 3) classes
association
53
Eléments de Notation(3/3)
Name Notation Description
Strong
Existance-dependance parties-
aggregation =
tout relation (A fait partie de B)
composition
54