Académique Documents
Professionnel Documents
Culture Documents
Le Langage UML
Hajer Alaya
Hajer_alaya@yahoo.fr
2016
PLAN
Un peu dhistorique
Introduction aux concepts orients objets
Le Langage UML
Modliser avec UML
Le Processus Unifi
Les outils UML
Concepts
Hajer ALAYA
Exercices
Ateliers
Un peu dhistorique
La conception oriente objet
Hajer ALAYA
Un peu dhistorique
Pour
Hajer ALAYA
Un peu dhistorique
LOMG (Object Management Group) a dfini les
notation standard
utilisable dans les dveloppements informatiques bass sur lobjet.
Hajer ALAYA
Un peu dhistorique
Dfinition en cours par une
commission de rvision
Soumission lOMG
UML 2.0
UML 1.x
UML 1.2
Hajer ALAYA
Novembre 1997
Septembre 1997
UML 1.0
Janvier 1997
UML 0.9
Juin 1996
Autres mthodes
Juin 1998
UML 1.1
Soumission lOMG
Booch91
1999-2002
Octobre 1995
OMT-2
OMT-1
OOSE
Partenaires
6
Hajer ALAYA
Objets
Classes
Agrgation
Encapsulation
Polymorphisme
Hajer ALAYA
Hritage
2016
abstrait).
Une classe est un type de donnes abstrait, caractris par des
Hajer ALAYA
10
Hajer ALAYA
11
Pour
Hajer ALAYA
12
Hajer ALAYA
13
Une classe peut tre spcialise en d'autres classes, afin d'y ajouter des
caractristiques spcifiques ou d'en adapter certaines
Plusieurs classes peuvent tre gnralises en une classe qui les factorise,
afin de regrouper les caractristiques communes d'un ensemble de classes.
La spcialisation et la gnralisation permettent de construire des
hirarchies de classes.
Hajer ALAYA
14
Hajer ALAYA
15
Hajer ALAYA
16
Le Langage UML
Hajer ALAYA
17
Le Langage UML
UML aujourd'hui : un standard incontournable
UML est le rsultat d'un large consensus (industriels, mtorologistes...).
UML est le fruit d'un travail d'experts reconnus.
UML est issu du terrain.
UML est riche (il couvre toutes les phases d'un cycle de dveloppement).
UML est ouvert (il est indpendant du domaine d'application et des langages
d'implmentation).
Hajer ALAYA
18
UML a t pens pour permettre de modliser les activits de l'entreprise, pas pour les
contexte de l'entreprise.
Hajer ALAYA
19
Hajer ALAYA
20
objet.
L'aspect formel de sa notation limite les ambiguts et les
incomprhensions.
Son aspect visuel facilite la comparaison et l'valuation de solutions.
Son indpendance (par rapport aux langages d'implmentation, domaine
d'application, processus...) en font un langage universel.
Hajer ALAYA
21
Hajer ALAYA
22
priode d'adaptation.
Le processus (non couvert par UML) est une autre cl de la russite d'un
Hajer ALAYA
23
Modlisation UML
Concepts de base
Comment modliser avec UML
Les diffrents vues dun systme
Les niveaux d'abstraction
Les diagrammes UML 2.0
Hajer ALAYA
24
Concepts de base
Hajer ALAYA
25
Concepts de base
Modlisation
Produire une reprsentation simplifie du monde rel pour :
accumuler et organiser des connaissances,
dcrire un problme,
trouver et exprimer une solution,
raisonner, calculer.
Hajer ALAYA
26
Concepts de base
Difficults de la modlisation
Problmes des spcifications
parfois imprcises, incompltes, ou incohrentes
Taille et complexit des systmes importantes et croissantes
les besoins et les fonctionnalits augmentent
la technologie volue rapidement
les architectures se diversifient
assurer linterface avec le mtier (domaine dapplication)
Hajer ALAYA
27
Concepts de base
Difficulties de la modlisation
volution des applications
volution des besoins
rorientation de l'application
volution de l'environnement logiciel
Hajer ALAYA
28
Concepts de base
Les mthodes = des guides structurants
Dcomposition du travail
Organisation des phases
Concepts fondateurs
Reprsentations semi-formelles
Hajer ALAYA
29
Concepts de base
Une mthode danalyse et de conception
propose une dmarche qui distingue les tapes du dveloppement dans le
Hajer ALAYA
30
Concepts de base
l'observateur.
Ce n'est pas "la ralit", mais une vue trs subjective de la
ralit.
Bien qu'un modle ne reprsente pas une ralit absolue, un
modle reflte des aspects importants de la ralit, il en donne
donc une vue juste et pertinente.
Hajer ALAYA
31
Concepts de base
Caractristiques fondamentales des modles
Le caractre abstrait d'un modle doit notamment permettre :
de faciliter la comprhension du systme tudi : un modle rduit la
Hajer ALAYA
32
Hajer ALAYA
33
une dmarche
itrative et incrmentale,
guide par les besoins des utilisateurs du systme,
centre sur l'architecture logicielle.
Hajer ALAYA
34
35
modles :
Le primtre du systme modliser est dfini par les besoins des
utilisateurs (les utilisateurs dfinissent ce que doit tre le systme).
Le but du systme modliser est de rpondre aux besoins de ses
utilisateurs
Hajer ALAYA
36
modles
Les besoins des utilisateurs servent aussi de fil conducteur, tout
au long du cycle de dveloppement (itratif et incrmental) :
chaque itration de la phase d'analyse, on clarifie, affine et
valide les besoins des utilisateurs.
chaque itration de la phase de conception et de ralisation,
on veille la prise en compte des besoins des utilisateurs.
chaque itration de la phase de test, on vrifie que les
besoins des utilisateurs sont satisfaits.
Hajer ALAYA
37
d'un dveloppement.
Elle dcrit des choix stratgiques qui dterminent en
grande partie les qualits du logiciel (adaptabilit,
performances, fiabilit...).
Lvolution de lune des perspectives ne doit pas avoir
dimpact (sinon limit) sur les autres
Hajer ALAYA
38
Hajer ALAYA
39
Hajer ALAYA
40
Hajer ALAYA
2012
41
Hajer ALAYA
42
Hajer ALAYA
43
Hajer ALAYA
44
Hajer ALAYA
45
montre ainsi :
l'allocation des lments de modlisation dans des modules
(fichiers sources, bibliothques dynamiques, bases de donnes,
excutables, etc...).
Cette vue identifie les modules qui ralisent (physiquement) les
classes de la vue logique.
Hajer ALAYA
46
Hajer ALAYA
47
Hajer ALAYA
48
Hajer ALAYA
49
Hajer ALAYA
50
Hajer ALAYA
Conceptuel
Logique : Analyse du domaine
Physique : Analyse Applicative
51
Hajer ALAYA
52
meilleure comprhension (le modle produit sert d'interface entre les acteurs du
projet),
de fournir une base la planification du projet.
Hajer ALAYA
53
Hajer ALAYA
54
encapsulation).
Les relations entre les lments des modles sont dfinies
Hajer ALAYA
55
niveaux suprieurs.
Les modles sont optimiss, car destins tre implments.
Hajer ALAYA
56
modles.
Exemple de microprocessus de construction d'un modle :
identifiez les classes (d'objets) :
identifiez les associations entre classes / interactions entre objets (instances) :
identifiez les attributs et les oprations des classes :
Optimisez les modles
Validez les modles
Hajer ALAYA
57
diagrammes
Un diagramme UML est une reprsentation graphique, qui
s'intresse un aspect prcis du modle
Chaque type de diagramme UML possde une structure (les
types des lments de modlisation qui le composent sont
prdfinis).
Un type de diagramme UML vhicule une smantique prcise
(un type de diagramme offre toujours la mme vue d'un systme)
Hajer ALAYA
58
Hajer ALAYA
59
modle
La structure des diagrammes UML et la notation graphique
des lments de modlisation sont normalise
Hajer ALAYA
60
Hajer ALAYA
61
Dynamique
(comment le systme
EVOLUE)
diagramme de composants
diagramme de dploiement
diagramme de squence
diagramme de collaboration
diagramme dtats-transitions
diagramme dactivits
Hajer ALAYA
Fonctionnel
(ce que le systme FAIT)
diagramme de cas dutilisation
diagramme de collaboration
62
Hajer ALAYA
63
Le Processus Unifi
Hajer ALAYA
64
Le Processus Unifi
UP est un processus de type adaptatif, il est
Itratif et incrmental
Guid par les besoins (exigences) des utilisateurs
Centr sur larchitecture
Pilot par les risques
On le reprsente selon laxe statique et dynamique des
processus de dveloppement.
Hajer ALAYA
65
Le Processus Unifi
UP comporte les quatre phases suivantes:
Pr tude: dfinition du cadre du projet
laboration: tablissement dun plan de projet et dune
architecture solide
Construction: dveloppement du systme
Transition: livraison du systme aux utilisateurs finaux
Il existe un certain nombre ditrations lintrieur de chaque
phase.
Une itration reprsente un cycle de dveloppement logiciel
complet (analyse des besoins version excutable)
Hajer ALAYA
66
Le Processus Unifi
Hajer ALAYA
67
RUP
Rational Unified Process (RUP) : est un processus de
conception/dveloppement de logiciel dfini par Rational Software.
RUP amliore la qualit du produit
RUP augmente le taux de succs du projet
RUP est support par les outils du Rational Software
RUP
RUP amliore la comprhension du systme
RUP est itratif
RUP reste centr sur larchitecture
RUP utilise UML pour modliser le logiciel
Hajer ALAYA
68
RUP
Hajer ALAYA
69
2 TUP
2TUP est un processus UP apportant une rponse aux contraintes de
changement continuel des SI: fonctionnel et technique
2Track: processus suivant deux chemins
Fonctionnel
Architecture Technique
Hajer ALAYA
70
XP
Hajer ALAYA
71
Comparaison
Hajer ALAYA
72
Comparaison
Hajer ALAYA
73
Outils UML
Hajer ALAYA
74
Outils UML
Nom/Crateur
Plateforme
/OS
AgroUML
/Tigris.org
Multiplate
-f
orme
(Java)
Umbrello UML
Moduller
/ L'quipe
Umbrello
Linux
Licence
Windows,
Linux
Modelio
/ Modeliosoft
Windows,
Linux
Hajer ALAYA
UML
2.0
MDE
XML
Patterns
Langages gnrer
16 langages : C++,
Java, Perl, PHP,
Python...
Commercial
Libre
EPL v1.0
Libre
GPL
Objecteering
/ Objecteering
Software
Langages
programmation
Java
C++
Java, C++
Oui
Oui
Oui
Oui
75
Outils UML
Nom/Crateur
Plateforme
/OS
Licence
Visual Paradigm
for UML
/ Visual Paradigm
Int'l Ltd.
Multiplateforme
(Java)
PowerAMC
/Sybase
Windows
BOUML
/Bruno Pags
Multiplateforme
Libre
TopCase/
Consortium
Multiplateform
Libre
..
..
Hajer ALAYA
Langages
programmation
UML
2.0
Java
MDE
XML
Patterns
Commercial
Version gratuite
Commercial
Java
Oui
Oui
Oui
Langages
gnrer
Oui
Java, C# et VB
.NET
C++
Oui
Oui
Oui
Oui
Java, C++,
PHP, Python et
IDL.
Java
oui
Oui
Oui
Java, Python,
C++
..
..
..
..
..
..
76