Vous êtes sur la page 1sur 38

Un aperu de lUML

! Notion de modlisation
! Techniques de modlisation oriente objets
! Histoire de lUML
! Brve introduction lUML
Les notions
Les diagrammes
Mcanismes gnraux
Modlisation
Un modle est une reprsentation simplifie dune
partie du systme rel avec un but spcifique
- Le systme rel est complexe, alors il est
ncessaire dune simplification
Un modle est souvent une reprsentation visuelle
simplifie du systme rel
Un modle reprsente le systme:
- certain niveau dabstraction,
- selon un point de vue,
- par des moyens de description (texte, image, )
! La modlisation est le processus de reprsenter un
systme par des modles
Modlisation: pour quoi
! Mieux comprendre le systme
! Facilit la communication
Fournir des moyens de communication entre des
dveloppeurs
! Mieux complter le systme
reconnatre la cohrence entre les modles et les
besoins pour amliorer et complter le systme
! Spcifier la structure et le comportement du
systme
! Documenter des dcisions importantes
Modlisation
Mta-modle
! est une reprsentation dun modle
! peut tre utilis pour
- Dcrire la syntaxe et la smantique dun modle
- Manipuler les modles avec des outils
- Transformer des modles
- Vrifier et maintenir la cohrence entre les
modle
Principes de modlisation
! Le choix du modle appropri
- Vue de donnes : modle entit - association
- Vue de structure : algorithme
- Vue oriente objets : classes et relations entre
elles
! Les modle doivent reprsenter le systme
diffrents niveaux dabstraction (selon les besoins
des utilisateurs)
Suite
! Les modles doivent tre connects au monde rel
- Les modles construits sont proches des
systmes rels
- Un systme doit tre modlis par un ensemble
de modles
- Un modle nest pas suffisant
- Il faut dcrire diffrentes vues du systme:
dynamique, statique, installation, utilisation,
Modlisation
Un bon modle devrait
! Utiliser une notation standardise
! tre comprhensible pour les clients et les
utilisateurs
! Permettre aux ingnieurs logiciels de bien saisir le
systme
! Fournir une vue abstraite du systme
! tre visuel
Avantages de modlisation
! Faciliter la rvision et lvolution du systme
! Rduire des erreurs en permettant de dtecter
tt des erreurs dans les phases de dveloppement
! Rduire le cot de dveloppement
! Rduire le temps--march
! Rduire la complexit par le mcanisme
dabstraction
Techniques de modlisation
oriente objets
1975 1990 : plusieurs techniques de
modlisation oriente objets sont dveloppes
! 1990 1994 : il existe plus 50 techniques de
modlisation oriente objets
! Les techniques les plus connues
- OOD (Object Oriented Design)
- OOSE (Object Oriented Software Engineering)
- OMT (Object Modeling Technique)
Technique OMT
Dveloppe par Rumbaugh (1991)
Se compose de 3 vues
! Vue statique
- Modle dentit-relation
! Vue dynamique
- Diagramme dtats
! Vue fonctionnelle
- Diagramme de flots dinformation
Technique OOD
Dveloppe par Booch (1991)
! Vue statique
- Diagramme de classes
- Diagramme dobjets
! Vue dynamique
- Diagramme dtats
- Diagramme de temps
Technique OOSE
Dveloppe par Jacobson (1992)
Se compose de 5 modles
! Modle des besoins (scnario dutilisation)
! Modle danalyse (niveau conceptuel)
! Modle de conception (niveau logique)
! Modle dimplmentation (niveau physique)
! Modle de test
Histoire de lUML
Trop de techniques de modlisation oriente objets
! Ncessit dune standardisation
- Unification des techniques de modlisation
En 1994
! Rumbaugh et Booch unifient leurs approches pour
le projet UML chez Rational Software
En 1995
! La premire version sort sous le nom Unified
Method v0.8
! Jacobson se joint lquipe
Histoire de lUML (Suite 1)
En 1996
! La naissance de lUML v0.9 intgrant OOSE
! La premire confrence de lUML est organise
En 1997
! LUML v1.0 soumis lOMG (Object Management
Group)
! LUML v1.1 standardis par lOMG
En 1998
! lOMG distribue lUML v1.2
Actuellement (2010): lUML v2.0
Histoire de lUML (Suite 2)
Contributions lUML
UML : un langage
! UML : Unified Modeling Language
! LUML est un langage
- Composer du vocabulaire, de la syntaxe et de la
smantique
! LUML est un langage de modlisation
- Permettre de reprsenter un systme diffrents
niveaux: conceptuel, physique
- Se composer du vocabulaire et des rgles pour
dcrire des diffrents modles reprsentant un
systme
Langage UML (Suite 1)
! LUML nest pas une mthodologie ou un
processus
! LUML laisse la libert de conception
! LUML peut tre combin avec plusieurs processus
de dveloppement
! LUML est un langage de visualisation
- Utiliser des reprsentations graphiques
- Apporter une meilleure vue du systme (en
utilisant des reprsentations graphiques)
Langage UML (Suite 2)
! LUML est un langage de spcification
- Permettre de spcifier un systme sans ambigut
- Permettre de spcifier un systme diffrents :
analyse, conception, installation
! LUML est un langage de construction
- Permettre de simuler le systme
- Les modles UML sont facilement transforme
en code source
! LUML est un langage de documentation
- Permettre de dcrire toutes les tapes de
dveloppement du systme
- Les modles construits sont des documents
complets du systme
UML : les modles
Se compose de 9 (13) diagrammes
! Modlisation des besoins
- Diagrammes de cas dutilisation
! Modlisation de la structure statique
- Diagrammes de classes
- Diagrammes dobjets
! Modlisation du comportement dynamique
- Diagrammes dinteraction
- Diagrammes de squence
- Diagrammes de collaborations
- Diagrammes dactivit
- Diagrammes dtats
UML : les modles
! Modlisation de larchitecture
- Diagrammes de composants
- Diagrammes de dploiement
Diagramme de cas dutilisation
! Montrer les utilisations possibles dun systme
! Dcrire la vue statique du systme selon le point
de vue des utilisateurs
! Trs importants pour saisir les fonctions du
systme
Exemple:
Diagrammes de classes
! Dcrire des classes et leurs interactions
! Dcrire la vue statique du systme
Exemple
Diagrammes dobjets
! Dcrire un ensemble des objets et leurs
interactions
! Un diagramme dobjets reprsentent les mmes
informations quun diagramme de classes mais en
vue des instances des classes
Exemple
Diagrammes dinteractions
! Dcrire le comportement du systme par les
interactions entre des objets qui le composent.
! Montrer la vue dynamique du systme
! Les diagrammes dinteractions sont une extension
des diagrammes dobjets en prcisant les
interactions entre les objets
! Composer de deux types de diagramme
- Diagrammes de squence
- Dcrire les interactions entre les objets en
mettant laccent sur le squencement des
messages
Diagrammes dinteractions (1)
! Diagrammes de collaboration
- Dcrire les interactions entre les objets en mettant
laccent sur la structure des objets
Diagrammes de squence
Diagrammes dinteractions(2)
Diagrammes de collaboration
Diagrammes dactivits
! Dcrire les flots de linformation dans le systme
! La vue dynamique du systme
Diagrammes dtats
! Dcrire comment le systme se comporte de faon
Interne
! La vue statique du systme
Exemple:
Diagrammes de dploiement
Dcrire lorganisation physique de diffrents
composants (machines) du systme (matriel)
Les mcanismes gnraux
! Mcanisme de structuration des diagrammes de
classes
-Les paquetages
! Mcanisme intgr dextension
-Les strotypes
-Les valeurs maques (tagged values)
! Les notes
! Les contraintes
Les paquetages
! Permettre de structurer des diagrammes de
classes
! Construire une structure de dpendance entre des
paquetage
Les strotypes
! est un Un mcanisme intgr dextension
permet largir le vocabulaire dUML
! Sont employs pour crer de nouveaux types
dlment en UML qui drivent des sortes
existantes mais qui sont adaptes un problme
donn
! Il existe des strotypes prdfinis dans lUML
! Notation
nom du strotype
Possibilit dajouter un icne
Les strotypes
Exemple
Les valeurs marques
! Un autre mcanisme dextension
! Fournir des informations supplmentaires sur les
lments dUML
! Paires de type {nom = valeur}
Les notes
! Commentaires attachs un ou plusieurs lments
de modlisation
! Fournir linformation supplmentaire sur les
lments de
! Modlisation Appartiennent la vue, pas aux
modles
Les contraintes
! Restrictions qui limitent lutilisation dun lment
ou la smantique dlment
! Exprim en langage naturel
! Exprim en OCL (Object Constraint Language)
! Exemple
Les vues
! Un systme se modlise en 5 vues diffrentes dans
Les vues
Les diagrammes et les vues