Introduction à UML - (CUI) - UNIGE

Transcription

Introduction à UML - (CUI) - UNIGE
UML (Unified Modelling Language)
Introduction à UML

“Langage de modélisation unifié”

Langage graphique de modélisation des
données et des traitements

Auteurs
 Booch,
Claudine Métral
Université de Genève
Rumbaugh, Jacobson (les “tres amigos”)

Depuis 1997, standard de l’OMG (Object
Management Group)

13 types de diagrammes pour UML 2 (9 pour UML
1.3), le diagramme de classe étant généralement
considéré comme l'élément central d'UML
2
C. Métral
Diagramme de classe


Modélisation en termes



Objets
d'objets
de classes d'objets
Un objet est caractérisé par ses attributs définis chacun
par un nom et une valeur associée à un type de données
Bâtiment A
Les objets représentent des entités concrètes ou
abstraites du monde réel
Propriétaire = "Université de
Genève"
A302
Année de construction = 1964
 un
bâtiment
 une parcelle
 un propriétaire
 un droit de passage
 une occurrence de l'événement “la route X a été fermée à
la circulation à 23h25”
C. Métral
3
Nombre d’étages = 3
Fonction = "Salle de cours"
Nonbre de places = 15
Site de Battelle
Localisation = "Carouge"
A207
Fonction = "Bureau"
Nonbre de places = 2
C. Métral
4
Liens entre objets

Classes d’objets
Il peut exister des liens logiques entre les objets appelés
associations

Définition

partie de
Groupes d’objets du monde réel ayant les mêmes
caractéristiques et le même comportement
Bâtiment A

Propriétaire = "Université de
Genève"
A302
Année de construction = 1964
Nombre d’étages = 3

Regrouper les objets ayant des caractéristiques communes
 Décrire globalement les propriétés communes à ces objets
 Organiser le système
Fonction = "Salle de cours"
Nonbre de places = 15
partie de
situé sur
Site de Battelle
Fonctions
A207
Localisation = "Carouge"
Fonction = "Bureau"
Nonbre de places = 2
5
C. Métral
Associations



6
C. Métral
Classes
Représentent les liens sémantiques entre les objets
A définir entre les classes d’objets
Plusieurs associations de différents types peuvent exister
entre deux mêmes classes
Notation
Bâtiment
Classe
Propriétaire
Attribut
Année de construction
Atribut
Nombre d’étages
Attribut
…
Bâtiment A
Propriétaire = "Université de
Genève"
contient
situé sur
Site de Battelle
Localisation = "Carouge"
Année de construction = 1964
Pièce
Nombre d’étages = 3
Fonction
Nonbre de places
C. Métral
7
C. Métral
8
Objets comme instances de classes
Bâtiment
Associations

Pièce

Propriétaire
Fonction
Année de construction
Nonbre de places
Représentent les liens sémantiques entre les objets
Sont à définir entre les classes d’objets
Nombre d’étages
Classe
instance de
A302: Pièce
Attribut
Atribut
Atribut
Fonction = "Salle de cours"
Attribut
Attribut
Nonbre de places = 15
…
…
instances de
Bâtiment A: Bâtiment
Classe
association
Attribut
Propriétaire = "Université de
Genève"
A207: Pièce
Année de construction = 1964
Nombre d’étages = 3
Personne
habite dans
Bâtiment
Fonction = " bureau"
Nonbre de places = 2
9
C. Métral
Cardinalité des associations

Cardinalité des associations
Tout objet de C est lié par A à au moins min et au plus
max objets de D: définit la cardinalité de A

Min et max peuvent rester indéterminés
Club
C
A
D
Etudiant
Bâtiment
1..1
habite dans
Personne
Bâtiment
inscription
Cours
possession
Bâtiment
*..*
une personne peut ne pas être
propriétaire ou posséder de 1
à plusieurs bâtiments
0..1
on peut être SDF ou non
C. Métral
Personne
*..10
un étudiant peut s’inscrire à
10 cours au maximum
Site
un bâtiment ne peut être
que sur un seul site
Personne
membre
3..*
il faut au moins 3 personnes
pour faire un club
min..max
situé sur
10
C. Métral
11
C. Métral
12
Cardinalité des associations

Associations et rôles
Préciser la cardinalité des deux extrémités de l’association
Club
membre
inscription
5..*
au moins 5 étudiants
par cours
Personne
possession
1..*
tout bâtiment a
au moins
1 propriétaire
3..*
il faut au moins 3 personnes
pour faire un club
rôle >
Cours
possession
Personne
< a pour propriétaire
Bâtiment
possède >
Bâtiment
*..*
une personne peut ne pas être
propriétaire ou posséder de 1
à plusieurs bâtiments
13
association
14
C. Métral
Agrégation
Pour définir des attributs ou des opérations (méthodes) propres
à une association
Une classe de ce type est définie comme les autres et peut
donc participer à d’autres relations dans le modèle
Classe
Classe
< rôle
Classe-association

association
Classe
*..10
un étudiant peut s’inscrire à
10 cours au maximum
C. Métral

Chaque classe joue un rôle dans l’association
Personne
*..*
on peut appartenir à
0, 1 ou plusieurs clubs
Etudiant


Pour modéliser le lien « fait partie de »

A se compose de un ou plusieurs B
 Un B peut exister indépendamment d'un A
 Un B peut éventuellement appartenir à plusieurs A
Classe
A
Formation
attributs
Personne
0..*
fait partie de
1..*
se compose de
0..*
fait partie de
Bâtiment
possession
1..*
B
se compose de
Cours
date
C. Métral
15
C. Métral
16
Composition

Généralisation et spécialisation
La composition est une agrégation forte

Permet d’organiser le domaine (taxonomie)

A est composé de un ou plusieurs B
 Un B ne peut exister tout seul (dans le système)
 Un B n'appartient qu'à un seul A
A
généralisation
Voie
Bâtiment
Voie
cyclable
fait partie de
1
1..*
1
se compose de
1..*
B
Voie pour
piétons
fait partie de
se compose de
Piste
cyclable
Pièce
Bande
cyclable
Promenade
dans un parc
spécialisation
17
C. Métral
Généralisation et spécialisation

C. Métral
18
Exemple de diagramme UML
Permet de partager les descriptions communes (héritage)
Voie
Type de revêtement
Voie
cyclable
Voie pour
piétons
Sécurisation
Piste
cyclable
Accessibilité
Bande
cyclable
Promenade
dans un parc
Modèle WaterBody de CityGML
Espaces de jeu
C. Métral
19
C. Métral
20
Modélisation en UML
Opérations avec les objets


Chaque classe peut être muni de méthodes qui rendent des
services
Les méthodes sont à programmer par les développeurs

Deux axes de modélisation distincts



Lien explicite



Une méthode


calcule un résultat à partir de la valeur de l'objet et de paramètres
modifie éventuellement la valeur de l'objet
G. Falquet

Structurel
Fonctionnel
Les scénarios parlent des objets du système
Les classes et objets définissent le vocabulaire des scénarios
Les cas d'utilisation déterminent l'étendue de la modélisation
des objets

Eviter le syndrome de la modélisation infinie
G. Falquet
21
C. Métral
Exercice
22
C. Métral
Exercice
Que peut-on
dire des
polygones
P1 et P2?
Que peut-on dire des polygones P1 et P2?
D. Pelliet - X. Clerc
C. Métral
D. Pelliet - X. Clerc
23
C. Métral
24
Exercice
Exercice
Donner le diagramme de classe correspondant à:
1
1
1
1
From D. Pelliet - X. Clerc
D. Pelliet - X. Clerc
C. Métral
25
C. Métral
26