Академический Документы
Профессиональный Документы
Культура Документы
diagramme de classes
Unified Modeling Language
Bibliographie UML
Bibliographie UML
UML en franais
http://uml.free.fr/
Analyse et Conception des Systmes d'Information Les
diagrammes de Unified Modeling Language (UML)
http://www.iutc3.unicaen.fr/~moranb/cours/acsi/menuc
oo.htm
Approche objet pour le dveloppement de logiciels par objets
avec UML de J.-M. Jzquel (IRISA)
http://www.irisa.fr/prive/jezequel/enseignement/
DvpObjetUML.htm
UML
1994 : 50 mthodes objet
Spcifier
Construire
Documenter
Diagramme de classes
depuis UML 2.x, permet de dcrire sous forme de bote blanche les
relations entre composants d'une classe.
Diagramme de classes
statique
Diagramme de classes
Dcrit de manire statique
10
11
Les classes
Brique de base
Nom
attribut(s)
Opration(s) (mthode(s))
Nom de la classe
Reprsentation
simplifie
Reprsentation
gnrale
dune classe
Les associations
12
Un humain a de 0 N vhicules
Une voiture a un et un seul propritaire
proprietaire
vehicules
0..*
possession
humain
Vue ensembliste
voiture
humain
13
propulsion
2..*
propulseur
14
Racteur
association
Rle A
Rle B
Logique
Les mthodes de A exploitent les mthodes de B
Physique
Les moyens daccs de A vers B seront
implments
15
16
cardinalit
Exactement un
Exactement
Plusieurs (0 ou Plus)
Optionnelle
1 ou plus
Cardinalit spcifique
1
i
*
0..1
1..*
1..2,4
17
Associations spcifiques
Rflexives
enfant
*
2
humain
A pour enfant
parent
agrgation de composition
Si lobjet Dossier disparat, les objets
Documents disparaissent aussi
cardinalit 1
Dossier
agrgation partage
Document
Joueur
5..10
18
Association N-aires
Professeur
Enseignant
Enseigne
Matire
Destinataire
Classe
1..*
1..*
1..*
1..*
Professeur
Enseigne
Matire
Enseignant
Enseigne
1..*
1..* Destinataire
Classe
candidat
objetExa
Matire
preuve
note : real
Remarque :
les associations avec attributs sont vues
comme des classes
19
20
Gnralisation
Simple
Bateau
Voiture
Bateau
tonnage
immatriculation
tonnage
dplacer()
dplacer()
naviguer()
Sous-marin
plonger()
Amphibie
dplacer()
21
Voiture
poids
Garage
rouler()
Voiture lectrique
batterie
rouler()
Remarque :
les voitures lectriques
ont un garage
22
Classes abstraites
Une classe abstraite {abstract} est une
classe dont les instances sont
obligatoirement les instances dune des
classes filles
exemple
humain (abstrait)
homme
femme
homme
femme
Opration abstraite
Dfinition
opration dune classe abstraite redfinie
dans toutes les classes filles
Exemple
FormeGraphique
{abstract}
calculerSurface() {abstract}
Carr
longueur
calculerSurface()
Cercle
rayon
calculerSurface()
23
24
Visibilit
Diffrentes visibilits des membres dune
classe
But :
encapsulation
Public = +
Protg = #
usager
hritier
Priv = implmentation
corps
25
Visibilit
Classe_1
+a1
- a2
#m1
+m2
Classe_2
+rle1
Classe_3
-rle2
Remarques :
attribut et rle : mthode : +
26
Les interfaces
Interface :
abstraction dun comportement
classe abstraite sans attribut
Aff_ordi
PageXML
Aff_tablette
27
graphique
28
Paquetages (packages)
Les paquetages sont des lments d'organisation des
modles.
Ils regroupent des lments de modlisation, selon des
critres purement logiques.
Ils permettent d'encapsuler des lments de
modlisation (ils possdent une interface).
Ils permettent de structurer un systme en catgories
(vue logique) et sous-systmes (vue des composants).
Ils servent de "briques" de base dans la
construction d'une architecture.
Ils reprsentent le bon niveau de
graphique
granularit pour la rutilisation.
Les paquetages sont aussi des
espaces de noms.
29
Gnration
de code (Visio)
C++ Microsoft
voiture
-vehicules -proprietaire
-immatriculation : int
0..*
humain
-nom : wchar(idl)
#ifndef __code_essai__voiture__
#define __code_essai__voiture__
#ifndef __code_essai__humain__
#define __code_essai__humain__
// Include files
#include "humain.h"
class voiture
{
public:
voiture();
~voiture();
// Include files
#include "voiture.h"
class humain
{
public:
humain();
~humain();
30
Gnration de Code
(Java) avec
ArgoUML
import java.util.Vector;
Etude de cas
un systme de rservation de vol
(tir dUML2 par la pratique)
31
32
33
Etat (ouvert,
ferm) peut tre
vu comme
Ltat courant
de lobjet et/ou
un attribut
34
35
36
Diagramme de classes du
Systme de rservation de vol
37
38
39
40
41
Diagramme de classes du
Systme de rservation de vol
Attribut driv /dure
Peut soit tre calcul soit tre stock
En fonction de la difficult le calculer et de la
frquence dutilisation
42
Diagramme de classes du
Systme de rservation de vol
Contraintes
Rsa = un vol + un client
{frozen} UML1 pas UML2
Num. est propre la
compagnie
43
44
Le vol (spcifique)
Exemple : Le Paris Toulouse de 8h15 du lundi 14
fvrier 2013
concerne les rservations
Rsultat final
45
46
47
48
49
50
Diagramme de cas
dutilisation
Diagramme de contexte
statique
(use case)
Diagramme de contexte
statique (use case)
53
But
regarder le systme construire de l'extrieur,
du point de vue de l'utilisateur et des
fonctionnalits qu'il en attend.
spcification de la fonctionnalit offerte par
cette mme entit
trs utile en phase de spcification des besoins
dcrit un ensemble cohrent de fonctions pour
l'utilisateur
54
Acteurs
Type dacteurs
de 0 n
de 1 n
0 ou 1
1 et un seul
55
56
57
tapes
1.
2.
3.
4.
5.
58
Par ailleurs:
Exercice GAB
59
Correction GAB
Sans les acteurs
secondaires
60
Correction GAB
Avec les
acteurs
secondaires
Pour les
clients
61
62
64
Pourquoi faire ?
mettre laccent sur les traitements.
Ils sont donc particulirement adapts la
modlisation du cheminement de flots de contrle et
de flots de donnes.
Utilisation courante
65
Transition
66
(2)
(1)
(3)
(2)
67
68
69
70
Remarque
71
72
Exemple:
Retrait
dargent
72
73
Autres
exemples
avec nuds
dobjets
et partitions
http://www.uml-sysml.org
http://fr.wikipedia.org/wiki/Diagramme_dactivit
Avec sous
diagramme
74
75
Correction exercice 1
76
77
78
Spcification des
besoins
Conception gnrale
Conception dtaille
Test
Test
Test
Recette
Intgration
du logiciel
Intgration des
modules
Documentations
79
Diagramme de classes
Diagramme dactivits
80
81
Avec Agile
Plus de concepteur qui dcrit TOUT puis un
programmeur qui code TOUT
Conclusion
Il existe un grand nombre de modles
Modles orients Base de donnes
Entit Association (conceptuel)
Modle Relationnel (logique)
82
Conclusion
Passage des classes aux tables
relationnelles
83