Download - Cours Uml 1/2
-
8/7/2019 Cours Uml 1/2
1/105
14/12/06 Introduction UML 1
Introduction UMLJean-Yves Didier
-
8/7/2019 Cours Uml 1/2
2/105
14/12/06 Introduction UML 2
Dtails pratiques
En cas de questions :
O trouver ce cours :
http://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdf
mailto:[email protected]://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdfhttp://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdfmailto:[email protected] -
8/7/2019 Cours Uml 1/2
3/105
14/12/06 Introduction UML 3
Organisation
2 intervenants : Jean-Yves Didier (partie acadmique),
Hamid Nait-Bouda (partie professionnelle),
4 sances de 4 h chacune : Semaines 50, 51, 2 et 3, Partie acadmique : 50, 51 et 2
Semaines 50 et 51 : cours, Semaine 2 : exemple dtaill,
Partie professionnelle : semaine 3
-
8/7/2019 Cours Uml 1/2
4/105
14/12/06 Introduction UML 4
Pr-requis
Programmation oriente objets, Concepts de POO : hritage, polymorphisme, etc ...
Programmation systme,
Processus concurrents, Mthode MERISE,
Analyse des besoins de l'utilisateur,
Modles conceptuels et logiques. Grafcets et automates.
-
8/7/2019 Cours Uml 1/2
5/105
14/12/06 Introduction UML 5
Plan
Introduction gnrale,
Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,
-
8/7/2019 Cours Uml 1/2
6/105
14/12/06 Introduction UML 6
Plan
Introduction gnrale,
Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,
-
8/7/2019 Cours Uml 1/2
7/105
14/12/06 Introduction UML 7
Qu'est ce que UML ?
UML signifie Unified Modelling Language, UML est un langage standard, pour spcifier,
visualiser, concevoir et documenter tous lesaspects d'un systme d'information,
UML fournit un support de communication : unlangage graphique comportant 13 diagrammesstandards (pour UML 2.0) reprsentant des
'vues'd'un systme d'information, UML permet d'exprimer et d'laborer des
modles objet, indpendamment de toutlangage de programmation.
-
8/7/2019 Cours Uml 1/2
8/105
14/12/06 Introduction UML 8
Pourquoi UML ?
Les 'lacunes' de l'approche objet : Moins intuitive que l'approche fonctionnelle,
Comment conduire une analyse ? Comment concevoir de manire pertinente ? Comment comparer les solutions ventuelles ?
L'approche objet ncessite une grande rigueur, Vocabulaire prcis : les erreurs crent des ambiguts, Comment dcrire la structure d'un objet de manire
pertinente ? Ncessit d'un outil dimension mthodologique
pour l'approche objet !
-
8/7/2019 Cours Uml 1/2
9/105
14/12/06 Introduction UML 9
Historique (1/2)
UML est la fusion de 3 langages de modlisationobjet des annes 90 : OMT (James Rumbaugh) : vues statiques
dynamiques et fonctionnelles d'un systme,
Booch (Grady Booch) : utilisation de 7 diagrammespour reprsenter un systme orient objets,
OOSE (Ivar Jacobson) : analyse fonde sur ladescription des besoins des utilisateurs (use case),
1995 : fusion OMT, Booch (Unified method 0.8), 1996 : OOSE est inclus (UML 0.9), nouveaux
acteurs : DEC, HP, Microsoft, Oracle, etc ...
-
8/7/2019 Cours Uml 1/2
10/105
14/12/06 Introduction UML 10
Historique (2/2)
1997 : (Janvier) Soumission de UML 1.0 l'OMG,
(novembre) UML 1.1 standardis par l'OMG,
1998 : UML 1.2 1999 : UML 1.3 2000 : UML 1.4 2003 : UML 1.5
Maintenant : UML 1.4.2 : standard ISO/IEC 19501:2005, L'OMG prpare la spcification de UML 2.0.
-
8/7/2019 Cours Uml 1/2
11/105
14/12/06 Introduction UML 11
Pourquoi utiliser UML ?
UML est un langage formel normalis, Gain de prcision,
Gage de stabilit, Encourage l'utilisation d'outils.
UML est un support de communicationperformant, Il cadre l'analyse, Il facilite la comprhension de reprsentations
abstraites complexes,
Il est souple et polyvalent.
-
8/7/2019 Cours Uml 1/2
12/105
14/12/06 Introduction UML 12
UML et l'entreprise
Sondage en 2004 35 reprsentants de la MOA (Matrise d'OuvrAge), Avril Juin 2004, Une partie concerne UML !
Rsultats : UML est utilis dans 20% des projets, UML est prconis dans 35% des entreprises, Son utilisation est laisse l'apprciation des intervenants
dans 20% d'entre elles. Taux de pntration global en 2005 :
Estim 10% dans l'industrie informatique.
-
8/7/2019 Cours Uml 1/2
13/105
14/12/06 Introduction UML 13
Plan
Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,
-
8/7/2019 Cours Uml 1/2
14/105
14/12/06 Introduction UML 14
Le mta-modle UML
UML : langage permettant de crer des modles, UML : modlisation des modles, un mta-modle.
Le mta-modle UML est en 4 couches:
(M3) mtamtamodle : (concept de mtaclasse)Dfinit le langage pour la spcification des metamodles, (M2) mtamodle : (concept de classe)
Dfinit le langage pour la spcification des modles,
(M1) modle : (classe)Dfinit le langage pour les lments d' un domaine, (M0) objets utilisateur : (objet)
Dfinit les donnes spcifiques du domaine.
-
8/7/2019 Cours Uml 1/2
15/105
14/12/06 Introduction UML 15
Organisation du mtamodle
Mtamodle organis en paquetages :
Gestion de modles
Fondation
Elments comportementaux
-
8/7/2019 Cours Uml 1/2
16/105
14/12/06 Introduction UML 16
Organisation du mtamodle
Mtamodle organis en paquetages :
Gestion de modles
Fondation
Elments comportementaux
Elments comportementaux :- Modlisation des comportements :
- Cas d'utilisation,- Collaborations,- Diagrammes d'activits,- Diagrammes d'tat.
-
8/7/2019 Cours Uml 1/2
17/105
14/12/06 Introduction UML 17
Organisation du mtamodle
Mtamodle organis en paquetages :
Gestion de modles
Fondation
Elments comportementaux
Gestion de modles :
Dfinit les modles, paquetageset sous-systmes.
-
8/7/2019 Cours Uml 1/2
18/105
14/12/06 Introduction UML 18
Organisation du mtamodle
Mtamodle organis en paquetages :
Gestion de modles
Fondation
Elments comportementaux
Fondation :Infrastructure du langagequi spcifie les structuresrcurrentes des modles.
-
8/7/2019 Cours Uml 1/2
19/105
14/12/06 Introduction UML 19
Le paquetage fondation
Infrastructure du language qui spcifie les structures rcurrentesdes modles.
Mcanismes d'extensionNoyau
Types de donnes
-
8/7/2019 Cours Uml 1/2
20/105
14/12/06 Introduction UML 20
Le paquetage fondation
Infrastructure du langage qui spcifie les structures rcurrentesdes modles.
Mcanismes d'extensionNoyau
Types de donnes
Noyau :Dfinit les concepts abstraits (Elmentsgnralisables, etc ...) et concrets
(Classes, Interfaces, Associations, etc ...)du mtamodle UML.
-
8/7/2019 Cours Uml 1/2
21/105
14/12/06 Introduction UML 21
Le paquetage fondation
Infrastructure du langage qui spcifie les structures rcurrentesdes modles.
Mcanismes d'extensionNoyau
Types de donnes
Mcanismes d'extension :Dfinit la manire de modifier et d'adapter certainslments spcifiques du modle UML par le biais des
strotypes, contraintes, valeurs et dfinitions accoles
-
8/7/2019 Cours Uml 1/2
22/105
14/12/06 Introduction UML 22
Le paquetage fondation
Infrastructure du langage qui spcifie les structures rcurrentesdes modles.
Mcanismes d'extensionNoyau
Types de donnes
Types de donnes :Dfinit les types lmentaires employs par UML :Entiers, boolens, numrations, expressions ...
-
8/7/2019 Cours Uml 1/2
23/105
14/12/06 Introduction UML 23
Plan
Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,
-
8/7/2019 Cours Uml 1/2
24/105
14/12/06 Introduction UML 24
La notion de 'vues'
Un systme d'informations (SI) peut treenvisag suivant plusieurs points de vues : Utilisateur final, dveloppeur, ingnieur systme,
directeurs de projets, etc ...
UML s'appuie sur le modle 4+1 vues : [Kruchten IEEE Software 95]
L'ide est d'organiser la description d'une architecturelogicielle en utilisant plusieurs vues concurrentes,chacune s'intressant un aspect particulier duproblme.
-
8/7/2019 Cours Uml 1/2
25/105
14/12/06 Introduction UML 25
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisation
-
8/7/2019 Cours Uml 1/2
26/105
14/12/06 Introduction UML 26
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisationVue des cas d'utilisation :Description du systme 'vue' par les
acteurs du systme,Dfinit les besoins des utilisateurs,Unifie les 4 autres vues pour rpondreaux besoins des utilisateurs.
-
8/7/2019 Cours Uml 1/2
27/105
14/12/06 Introduction UML 27
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisationVue logique :Modlise les mcanismes principaux du systme,Se concentre sur l'abstraction et l'encapsulation,
Identifie les lments du domaine et comment ilsinteragissent ,Catgorise ces lments.
L dl 4 1
-
8/7/2019 Cours Uml 1/2
28/105
14/12/06 Introduction UML 28
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisation
Vue des processus :Importante dans les systmes multi-tchesou distribus (ex architecture client/serveur)- dcompose le systme en processus,- dcrit les interactions entre processus,- rsout les problmes de synchronisation.
L dl 4 1
-
8/7/2019 Cours Uml 1/2
29/105
14/12/06 Introduction UML 29
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisation
Vue de dploiement :Dcrit les ressources matrielles et la rpartitiondu logiciel dans ces ressources :- disposition et nature des matriels,- rpartition du logiciel sur les noeuds,- exigences en termes de performances.
L dl 4 1
-
8/7/2019 Cours Uml 1/2
30/105
14/12/06 Introduction UML 30
Le modle 4+1 vue
Vue logique Vue d'implmentation
Vue de dploiementVue des processus
Vue des cas d'utilisationVue d'implmentation :Appele aussi ''vue de ralisation'',- affecte les lments de modlisation dans les modules,- dcrit l'organisation des composants,- donne les contraintes de dveloppement,- organise les composants en sous-systmes.
Pl
-
8/7/2019 Cours Uml 1/2
31/105
14/12/06 Introduction UML 31
Plan
Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,
Modliser a ec UML
-
8/7/2019 Cours Uml 1/2
32/105
14/12/06 Introduction UML 32
Modliser avec UML
UML dfinit un modle l'aide de diagrammes, Un diagramme = une reprsentation graphique
d'un aspect du SI, Un diagramme = une structure prcise, Un diagramme = une smantique prcise, Combins, ces diagrammes donnent une vue
globale du systme selon le modle 4+1 vues etselon les aspects statiques et dynamiques dumodle.
Caractristiques des
-
8/7/2019 Cours Uml 1/2
33/105
14/12/06 Introduction UML 33
qdiagrammes
Supportent l'abstraction : Niveau de dtail => niveau d'abstraction,
Structure et notation normalise,
Diagrammes = graphiques !
Il existe des outils pour les dessiner et les grer, Ces outils permettent galement, dans une certaine
mesure, de gnrer du code partir des diagrammes
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
34/105
14/12/06 Introduction UML 34
Diagrammes UML
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammede classes
Diagrammede composants
Diagrammed'objets
Diagrammede structurescomposites
Diagrammede dploiement
Diagrammedes paquetages
UML 1.4.2
UML 2.0
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
35/105
14/12/06 Introduction UML 35
Diagrammes UML
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammed'activit
Diagrammede cas
d'utilisation
Diagrammed'tats-transitions
Diagrammed'interaction
Diagrammede squence
Diagramme decommunication
UML 1.4.2
UML 2.0
Diagrammed'interaction
globale
Diagrammede temps
Plan
-
8/7/2019 Cours Uml 1/2
36/105
14/12/06 Introduction UML 36
Plan
Introduction gnrale, Meta-modle UML, Notion de vues d'un systme,
Diagrammes UML, Diagramme des cas d'utilisation, Diagramme des paquetages, Diagramme de classes,
Diagramme d'objets, Diagramme d'activits, Diagramme d'tats-transitions,
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
37/105
14/12/06 Introduction UML 37
Diagrammes UML
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammed'activit
Diagrammede cas
d'utilisation
Diagrammed'tats-transitions
Diagrammed'interaction
Diagrammede squence
Diagramme decommunication
UML 1.4.2
UML 2.0
Diagrammed'interaction
globale
Diagrammede temps
Le modle des cas
-
8/7/2019 Cours Uml 1/2
38/105
14/12/06 Introduction UML 38
d'utilisation
Solution reprsentant le modle conceptuel : Spcifie les concepts utiliss pour dfinir les
fonctionnalits d'une entit telle qu'un systme, Dfinit le comportement d'une entit comme un
systme ou un sous-systme sans spcifier sastructure interne,
Focalis sur l'objectif des fonctionnalits et limit
aux proccupations ''relles''des utilisateurs, Structure les besoins des utilisateurs et les
objectifs correspondant du systme,
Le modle des cas
-
8/7/2019 Cours Uml 1/2
39/105
14/12/06 Introduction UML 39
d'utilisation
Consquences : Identifie les utilisateurs (les acteurs) du systme
et leur interaction avec ce dernier, Classe les acteurs et structurent les objectifs du
systme, Sert de base la traabilit des exigences d'un
systme dans un processus de dveloppement
intgrant UML.Les besoins de l'utilisateur et les objectifs du
systme sont la proccupation majeure !!
lments du diagramme de
-
8/7/2019 Cours Uml 1/2
40/105
14/12/06 Introduction UML 40
cas d'utilisation
Diagramme compos de six lments : Systme : fixe les limites du systme entre les
acteurs (externes) et les fonctions (internes), Acteur : rle jou par quelque chose qui intervient
dans le fonctionnement du systme. Il y a 4catgories d'acteurs : Les acteurs principaux (ex: usager, client, etc), Les acteurs secondaires (ex: oprateur de maintenance,
administrateur, etc), Le matriel externe (ex: capteur, imprimante, etc), Les autres systmes (ex: serveur, etc),
lments du diagramme ded' ili i
-
8/7/2019 Cours Uml 1/2
41/105
14/12/06 Introduction UML 41
cas d'utilisation Cas d'utilisation : identifie une fonction cl du
systme. Ce dernier doit pouvoir l'accomplir, Dpendance : identifie une relation de
communication entre deux cas d'utilisation,
Gnralisation : dfinit une relation entre 2 acteursou 2 cas d'utilisations lorsque l'un d'entre eux hritede l'autre,
Association : identifie une interaction entre lesacteurs et les cas d'utilisation. Elle doit tre expliquedans une description narrative qui fournit unensemble de scnarios. Ces derniers jouent le rle detest lors de l'valuation de l'analyse, la conception etl'valuation du cas d'utilisation.
Notations du diagramme ded' tili ti
-
8/7/2019 Cours Uml 1/2
42/105
14/12/06 Introduction UML 42
cas d'utilisation
Acteur
Systme Cas d'utilisation
Dpendance
Gnralisation
Association
Le systme de casd' tili ti
-
8/7/2019 Cours Uml 1/2
43/105
14/12/06 Introduction UML 43
d'utilisation
Le systme fournit un contexte dans lequel etautour duquel les lments qui interviennentdans la construction du systme sont placs,
L'interface du systme est ici importante, non la
manire dont ce dernier est ensuite implment, Les interfaces sont les canaux de communication
entre les acteurs du systme et les lments dusystme lui-mme : les cas d'utilisation,
Parfois, le systme n'est pas reprsent dans lesdiagrammes de cas d'utilisation.
Les acteurs du casd' tili ti
-
8/7/2019 Cours Uml 1/2
44/105
14/12/06 Introduction UML 44
d'utilisation
Ce sont des personnes ou de systmes, Plus exactement, il s'agit de rles jous par une
entit externe en relation avec le systme. Les icnes employes varient :
Personne
Systme RH
ImprimanteSystme Matriel
Les cas d'utilisation
-
8/7/2019 Cours Uml 1/2
45/105
14/12/06 Introduction UML 45
Fonctions que le systme doit accomplir, Syntagme verbal exprimant le but accomplir,
Par exemple : ''Dposer de l'argent'',
''Retirer de l'argent'',
''Mettre jour le compte'',
Cas d'utilisation : seulement les fonctions visibles
du systme (cad perues par les acteurs).
Les associations
-
8/7/2019 Cours Uml 1/2
46/105
14/12/06 Introduction UML 46
Relie un acteur un cas d'utilisation, Indique que l'acteur communique avec le cas
d'utilisation, C'est une association bidirectionnelle,
L'acteur accde au cas d'utilisation, Le cas d'utilisation fournit des fonctionnalits
l'acteur.
Les strotypes et lesdpendances
-
8/7/2019 Cours Uml 1/2
47/105
14/12/06 Introduction UML 47
dpendances
Strotypes : nots , Etendent UML sans le modifier,
Qualificateurs des lments d'un modle, Donnent plus d'information, N'agissent pas sur l'implmentation des lments.
Strotype : Indique qu'un cas d'utilisation dlgue une tche un
autre : dpendance forte !
RetraitMaj
Compte
Les strotypes et lesdpendances
-
8/7/2019 Cours Uml 1/2
48/105
14/12/06 Introduction UML 48
dpendances
Strotype , Indique qu'un cas pourrait avoir besoin d'un autre,
Dpendance faible car conditionnelle, Le sens de la flche est invers par rapport au
strotype , Indique que le cas source tends les objectifs du cas
destination,
Payer uncaf
Rendre lamonnaie
La gnralisation
-
8/7/2019 Cours Uml 1/2
49/105
14/12/06 Introduction UML 49
g
Notion d'hritage applique aux cas d'utilisation, Appel aussi relation ''est un'', Ligne pleine termine par un triangle vide,
Le triangle est toujours du ct de l'origine del'hritage.Payer uneboisson
Payer uncaf
Construction du diagrammedes cas d'utilisation
-
8/7/2019 Cours Uml 1/2
50/105
14/12/06 Introduction UML 50
des cas d utilisation
1.Dfinition du contexte,
2.Identification des acteurs,
3.Identification des cas d'utilisation,
4.Dfinition des associations entre cas et acteurs,5.Trouver les amliorations possibles,
6.Evaluation des dpendances ,
7.Evaluation des dpendances ,8.Trouver les opportunits de gnralisation.
La description narrative
-
8/7/2019 Cours Uml 1/2
51/105
14/12/06 Introduction UML 51
Elle accompagne le modle des cas d'utilisation. Plusieurs mthodologies existent pour crer la
description narrative, Les lments communs sont les suivants :
Prsupposs, Prconditions,
Dmarrage,
Processus ou dialogue, Arrt, Postconditions
Elments de la descriptionnarrative
-
8/7/2019 Cours Uml 1/2
52/105
14/12/06 Introduction UML 52
narrative
Prsupposs : tat du systme requis par le cas d'utilisation pour
permettre son application,
Prconditions :
Tests prliminaires effectus par le cas d'utilisationavant son dmarrage,
Dmarrage :
Recenser les actions lanant le cas d'utilisation, Tous les acteurs ne dmarrent pas ncessairement le
cas d'utilisation de la mme manire !
Elments de la descriptionnarrative
-
8/7/2019 Cours Uml 1/2
53/105
14/12/06 Introduction UML 53
narrative Dialogue :
Description pas pas de la conversation entre le casd'utilisation et l'acteur,
Cette squence est souvent modlise l'aide d'undiagramme d'activit,
Permet de dcouvrir les tapes ncessaires ainsi queles variantes de dialogue.
Arrt :
Conditions d'arrt (arrt normal, erreurs, etc ...) Postconditions :
Etat dans lequel le systme se trouve l'arrt du cas.
Les scnarios de casd'utilisation
-
8/7/2019 Cours Uml 1/2
54/105
14/12/06 Introduction UML 54
d utilisation
Compltent l'tude des cas d'utilisation, Un scnario : un droulement possible du cas, Plusieurs scnarios pour un cas d'utilisation,
Identifis partir d'un description narrative ou partir d'un diagramme d'activit dcrivant le cas, Les scnarios aident construire les plans de
test des cas d'utilisation, Lors de leur identification, viter les redondances
Dcomposer en chemin indpendants.
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
55/105
14/12/06 Introduction UML 55
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammede classes
Diagrammede composants
Diagrammed'objets
Diagrammede structurescomposites
Diagrammede dploiement
Diagrammedes paquetages
UML 1.4.2
UML 2.0
Les paquetages (packages)
-
8/7/2019 Cours Uml 1/2
56/105
14/12/06 Introduction UML 56
lments d'organisation du modle, Regroupent les lments de modlisation suivant
des critres logiques, Encapsulent les lments de modlisation, Structurent un systme en catgories et sous-
systmes, Constituant de base d'une architecture, Bon niveau de granularit pour la rutilisation, Sont aussi des espaces de noms.
Le diagramme de paquetage
-
8/7/2019 Cours Uml 1/2
57/105
14/12/06 Introduction UML 57
N'apparat pas dans UML 1.4.2, Pourtant les paquetages sont dfinis et utiliss ! Dj reprsents en pratique, UML 2.0 les introduit de manire cadre et structure.
lments constitutifs : Paquetages,
Dpendances, et dpendances strotypes : Fusions (PackageMerge), Imports (PackageImport).
Relations entre paquetages
-
8/7/2019 Cours Uml 1/2
58/105
14/12/06 Introduction UML 58
Reprsentation d'un paquetage :
Dpendance :
Calcul matricielMaths
Nom_paquetage
Types
Integer
Time
Types
Integer Time
Relations entre paquetages
-
8/7/2019 Cours Uml 1/2
59/105
14/12/06 Introduction UML 59
Fusion de paquetages : Le contenu des deux paquetages est combin,
Deux dfinitions diffrentes d'un mme conceptreprsentant deux aspects diffrents,
Il s'agit d'un mcanisme d'extension,
BA
Relations entre paquetages
-
8/7/2019 Cours Uml 1/2
60/105
14/12/06 Introduction UML 60
Import de paquetages : Import des lments du paquetage dans l'espace de
nommage du paquetage de destination, Import public ou priv :
Strotype pour import public, Strotype pour import priv,
VectorStd
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
61/105
14/12/06 Introduction UML 61
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammede classes
Diagrammede composants
Diagrammed'objets
Diagrammede structurescomposites
Diagrammede dploiement
Diagrammedes paquetages
UML 1.4.2
UML 2.0
Diagramme de classes
-
8/7/2019 Cours Uml 1/2
62/105
14/12/06 Introduction UML 62
Le plus connus des diagrammes de conception
oriente objets, Utilis ultrieurement pour la gnration automatique
de code,
Important pour le dveloppement,
Reprsente les classes, leur composants et lafaon dont ces classes sont relies,
Une classe : dfinition d'un type d'objet
Les classes
-
8/7/2019 Cours Uml 1/2
63/105
14/12/06 Introduction UML 63
Classe : type abstrait caractris par des
proprits (membres) : Attributs : donnes,
Oprations : (mthodes) traitements appliqus sur les
donnes. Reprsentation :
ClasseClasse
Liste Attributs
Liste OprationsClasse nondocumente
Classedocumente
Attributs d'une classe
-
8/7/2019 Cours Uml 1/2
64/105
14/12/06 Introduction UML 64
Attribut = nom + type, Visibilit :
Public (+) : accs possible par n'importe qui,
Private (-) : accs de l'intrieur de l'objet,
Protected (#) : accs possible pour un objet d'une sous-classe,
Package (~) : accs pour les objets appartenant au mme package
Attributs d'une classe
-
8/7/2019 Cours Uml 1/2
65/105
14/12/06 Introduction UML 65
Attribut driv (/) : Valeur calcule partir d'autres attributs,
Contraintes ({...}): Rgles ncessaires pour garantir l'intgrit de
l'attribut, Attribut de classe (soulign), Un attribut a un nom unique dans une classe, Reprsentation :
visibilit/nom: type = valeur par dfaut {contraintes}
Cration d'une spcificationd'attribut
-
8/7/2019 Cours Uml 1/2
66/105
14/12/06 Introduction UML 66
1.Crer l'attribut,
matire
2.Ajouter le type de donnes,
matire: caractres
3.Ajouter la valeur par dfaut ventuelle,matire: caractres = IN91
4.Indiquer les contraintes,
matire: caractres = IN91 {4 5 caractres}
5.Ajouter la visibilit,
-matire: caractres = IN91 {4 5 caractres}
Oprations d'un classe
-
8/7/2019 Cours Uml 1/2
67/105
14/12/06 Introduction UML 67
Oprations : Nom + arguments + valeur retour, Notations communes avec les attributs,
Visibilit (+ - # ~),
Contraintes ({...}),
Opration de classe (souligne),
Reprsentation :
visibilit nomOperation(nomArgument: type{contraintes},... ): type valeur retour {contraintes}
Cration d'une spcificationd'opration
-
8/7/2019 Cours Uml 1/2
68/105
14/12/06 Introduction UML 68
1.Nommer l'opration,
div_entiere
2.Dfinir les arguments,
div_entiere (num: entier, den: entier)
3.Dfinir le type de la valeur de retour,div_entiere (num: entier, den: entier): entier
4.Identifier et crire les contraintes,
div_entiere (num: entier, den: entier { 0}): entier
5.Indiquer la visibilit de l'opration,
+div_entiere (num: entier, den: entier { 0}): entier
Reprsentation complted'une classe
-
8/7/2019 Cours Uml 1/2
69/105
14/12/06 Introduction UML 69
Fraction
- numerateur : int = 0
- dnominateur : int = 1{!=0}
- /quotientEntier : int = 0
+ getNumerateur() : int
+ setNumerateur(numerateur : int = 0) : void
+ getDenominateur() : int
+ setDenominateur(denominateur : int = 1 {!=0} ) : void
+ getQuotientEntier() : int
Associations de classes
-
8/7/2019 Cours Uml 1/2
70/105
14/12/06 Introduction UML 70
Dcrite par un verbe ou un syntagme verbal, Ncessite 4 lments :
Les classes participantes,
L'association reprsente par une ligne,
Le nom de l'association, La direction de lecture.
Personne VoiturePossde
Associations de classes
-
8/7/2019 Cours Uml 1/2
71/105
14/12/06 Introduction UML 71
Les cardinalits (multiplicities): Affectes chacune des classes participant
l'association, Exprimes de diffrentes manires :
Minimum..Maximumval1,val2,val3
Indications inverses par rapport la notationMerise !
Personne VoiturePossde
1..1 0..*
Associations de classes
-
8/7/2019 Cours Uml 1/2
72/105
14/12/06 Introduction UML 72
Associations n-aires : Relient plus de 2 classes, Sont peu utilises en raison de leur complexit, Souvent promues au rang de classe d'association,
Professeur
Etudiant Salle
1
1..* 1
Associations de classes
-
8/7/2019 Cours Uml 1/2
73/105
14/12/06 Introduction UML 73
Utilisation des rles : Permet de qualifier au mieux la relation, Les rles engendrent du code pour permettre la
diffrenciation
Personne Projet M1Participe
Participe
Participe
Tuteur
Elve
Expert
Associations de classes
-
8/7/2019 Cours Uml 1/2
74/105
14/12/06 Introduction UML 74
Contraintes d'association : Notes entre accolades :
Les classes d'associations :
Personne VoiturePossde
1..1 0..*{ a un permis
de conduire }
Client ProduitCommande
0..* 0..*
Commande
Associations de classes
-
8/7/2019 Cours Uml 1/2
75/105
14/12/06 Introduction UML 75
Associations rflexives : S'applique des objets d'une mme classe, Peut s'exprimer l'aide de rles ou d'un syntagme
verbal,
Etudiant
Encadre
0..*
0..1 Etudiant
0..*
0..1
Etudiant 1er et 2nd cycle
Charg de TD
Association de classes
-
8/7/2019 Cours Uml 1/2
76/105
14/12/06 Introduction UML 76
Associations qualifies : Fonctions similaires celles des index, Un objet utilise le qualificateur pour accder l'autre
type d'objet qualifi,
Le qualificateur est gnralement un nom d'attribut del'autre classe.
EtudiantPasse
1..*0..1
Partiel
-matiere: caractres
Partiel
matiere: caractres
Etudiant PartielPasse
1..* 1..*
Agrgations de classes
-
8/7/2019 Cours Uml 1/2
77/105
14/12/06 Introduction UML 77
L'Agrgation est un type d'association, Les objets impliqus sont assembls ou
configurs pour crer de nouveaux objets, Il s'agit d'une entit unique,
Le contrle est assur par un des objets, L'intgrit de la configuration est protge
Reprsentation : un losange vide
Les rles et les contraintes sont conservesEtudiant Groupe TD
Membre
1..* 0..*
Compositions de classes
-
8/7/2019 Cours Uml 1/2
78/105
14/12/06 Introduction UML 78
Forme d'agrgation : Chaque partie n'est membre que d'un agrgat, La suppression de l'objet matre entrane la
suppression des autres parties de l'agrgat
Reprsentation : un losange rempli
Chapitre Livre1..* 1..1
Gnralisation
-
8/7/2019 Cours Uml 1/2
79/105
14/12/06 Introduction UML 79
La gnralisation est aussi appele hritage, La gnralisation n'est pas une association, Elle lie les classes lorsqu'une classe contient un
sous-ensemble d'lment ncessaire une
autre.Language programmation
Language procduralLanguage objet
C
C++SmalltalkJava
Gnralisation : dfinitions
-
8/7/2019 Cours Uml 1/2
80/105
14/12/06 Introduction UML 80
Superclasse : classe dont on hrite, Sous-classe : classe qui hrite d'une
superclasse, Classe abstraite : classe contenant une interface
mais ne pouvant s'instancier, Classe concrte : classe contenant une
implmentation,
Discriminant : attribut ou rgle dcrivant la faondont est identifi l'ensemble des sous-classesd'une superclasse.
Gnralisation et discriminant
-
8/7/2019 Cours Uml 1/2
81/105
14/12/06 Introduction UML 81
Notation des discriminants : Plac sur la ligne reliant les sous-classes leur
superclasse
Arbre
Pommier Chne Sapin
espces
Diagramme de classes
L di d l l t l
-
8/7/2019 Cours Uml 1/2
82/105
14/12/06 Introduction UML 82
Le diagramme de classes : un rle central au
niveau du dveloppement. Il est paul par lesautres diagrammes : Les cas d'utilisation aident dterminer les classes,
Les diagrammes de squence et de collaborationsaident dterminer les interfaces des objets, Le diagramme d'activit dcrit le comportement
interne des objets et l'enchanement des oprations.
Ce diagramme est test l'aide du diagrammedes objets.
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
83/105
14/12/06 Introduction UML 83
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammede classes
Diagrammede composants
Diagrammed'objets
Diagrammede structurescomposites
Diagrammede dploiement
Diagrammedes paquetages
UML 1.4.2
UML 2.0
Diagramme d'objets
O til d h h t d t t
-
8/7/2019 Cours Uml 1/2
84/105
14/12/06 Introduction UML 84
Outil de recherche et de tests : Aide la conceptualisation par le biais d'exemples, Aide tester le modle donn par le diagramme des
classes.
Diagramme de classes : rgles dfinissant lesrelations entre les classes, Diagramme des objets : faits tangibles et rels.
Objets : instances de classes,
Sont utiliss pour monter un contexte particulier,
Diagramme d'objets
D l t
-
8/7/2019 Cours Uml 1/2
85/105
14/12/06 Introduction UML 85
Deux lments : Les objets (instances de classes), Les liens (relations smantiques) entre ces objets.
Reprsentations d'une instance :
Nom : identifiant: classe, 2 compartiments seulement : nom et attributs
Eau: Molcule
: MolculeEau: Molcule
-MasseMolaire: entier = 18-Densit: float = 1-Formule: caractres = H2O
Diagramme d'objets
Reprsentation des liens :
-
8/7/2019 Cours Uml 1/2
86/105
14/12/06 Introduction UML 86
Reprsentation des liens : Les cardinalits ''clatent'', Les liens sont de un un, Les rles peuvent tre utiliss,
Les liens peuvent tre nomms
Eau: Molcule
Oxygne: Atome
Hydrogne: Atome
Hydrogne: Atome
Contient
Diagrammes UML
-
8/7/2019 Cours Uml 1/2
87/105
14/12/06 Introduction UML 87
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammed'activit
Diagrammede cas
d'utilisation
Diagrammed'tats-transitions
Diagrammed'interaction
Diagrammede squence
Diagramme decommunication
UML 1.4.2
UML 2.0
Diagrammed'interaction
globale
Diagrammede temps
Diagramme d'activit
Reprsentation graphique du comportement
-
8/7/2019 Cours Uml 1/2
88/105
14/12/06 Introduction UML 88
Reprsentation graphique du comportement
d'une mthode ou du droulement d'un casd'utilisation : Le diagramme d'activits est une variante du
diagramme tat-transitions,
Une activit : reprsentation d'excution d'un mcanisme, une liste
d'tapes se droulant de manire squentielle,
Passage d'une activit une autre : transition, Transitions dclenches par la fin d'une activit et
provoquent le dbut d'une autre,
Activits et transitions
Dbut et fin :
-
8/7/2019 Cours Uml 1/2
89/105
14/12/06 Introduction UML 89
Dbut et fin : Point de dpart : Point d'arrive (peuvent tre multiples) :
Notation simple :
Condition surveille :
Activit Autre Activit
Transition
Compiler unprogramme
Excuter leprogramme
[Compilation russie]
Structures de dcision
Reprsentent des alternatives :
-
8/7/2019 Cours Uml 1/2
90/105
14/12/06 Introduction UML 90
Reprsentent des alternatives : La dcision est reprsente par un losange, Les transitions issues du losange sont conditionnelles
et exclusives
Points de convergence :
Redoubler Passer l'annesuivante
[Moyenne < 10] [Moyenne >= 10]
Paralllisme
Possibilit de modliser plusieurs processus
-
8/7/2019 Cours Uml 1/2
91/105
14/12/06 Introduction UML 91
Possibilit de modliser plusieurs processus
fonctionnant en parallle (processusconcurrents),
Fourches (fork) Synchronisation
Paralllisme
Les fourches et synchronisations sont aussi
-
8/7/2019 Cours Uml 1/2
92/105
14/12/06 Introduction UML 92
Les fourches et synchronisations sont aussi
appele ''barres de synchronisation'',
Une fourche dclenche l'excution en parallle,
Les transitions sortantes ont lieu en mme temps,
La synchronisation attend que toutes les
branches parallles se soient excutes, La transition sortante n'est franchie que si les
transitions entrantes sont ralises.
Diagramme d'activits
Cycle de dveloppement
-
8/7/2019 Cours Uml 1/2
93/105
14/12/06 Introduction UML 93
ecrire programme
compiler programme modif ier programme
executer programme
prendre un cafe
[compilation reussie]
[compilation echouee]
Cycle de dveloppement
Diagrammes UML
Di
-
8/7/2019 Cours Uml 1/2
94/105
14/12/06 Introduction UML 94
Diagramme
Diagrammede structure
Diagrammede comportement
Diagrammed'activit
Diagrammede cas
d'utilisation
Diagrammed'tats-transitions
Diagrammed'interaction
Diagrammede squence
Diagramme decommunication
UML 1.4.2
UML 2.0
Diagrammed'interaction
globale
Diagrammede temps
Diagramme d'tat-transitions
Vu prcdemment : le diagramme d'activits est
-
8/7/2019 Cours Uml 1/2
95/105
14/12/06 Introduction UML 95
Vu prcdemment : le diagramme d activits est
une variante du diagramme d'tat-transition,
Dcrit la vie d'un objet, son tat interne,
Identifie les vnements internes et externes quimodifient l'tat de l'objet.
Diagramme d'tats-transitions
Reprsente des automates d'tats finis,
-
8/7/2019 Cours Uml 1/2
96/105
14/12/06 Introduction UML 96
Reprsente des automates d tats finis,
Reprsentation tats/transitions,
Un tat se caractrise par sa dure et sa
stabilit, Transition :
passage instantan d'un tat un autre, dclenche par un vnement, peut tre conditionnelle,
Diagramme d'tats-transitions
-
8/7/2019 Cours Uml 1/2
97/105
14/12/06 Introduction UML 97
Notations communes avec le diagrammed'activits : Dbut et fin,
Notation quivalente entre tat et activit, Transition conditionnelle, Les barres de synchronisation.
Diagramme d'tats-transitions
Super-tat :
-
8/7/2019 Cours Uml 1/2
98/105
14/12/06 Introduction UML 98
p
lment de structuration, Englobe d'autres tats et transitions,
Historique : Mmorise le dernier sous-tat actif d'un super-tat
pour y revenir ultrieurement, Notation :
H
Diagramme d'tats-transitions
-
8/7/2019 Cours Uml 1/2
99/105
14/12/06 Introduction UML 99
lustrage
lavage
schage
attente H
Aprs (2 min)
Aprs (4 min)
Aprs (2 min)
Arrt d'urgence
Arrt d'urgence
Aprs (2 min)
Diagramme d'tats-transitions
Les souches simplifient le diagramme :
-
8/7/2019 Cours Uml 1/2
100/105
14/12/06 Introduction UML 100
p g
attente
Aprs (2 min)
Arrt d'urgence
LavageArrt d'urgence
Aprs (2 min)
schage
Aprs (6 min)
Actions attaches
Une action peut tre associe l'vnement qui
-
8/7/2019 Cours Uml 1/2
101/105
14/12/06 Introduction UML 101
dclenche une transition, La transition entrane l'excution de l'action
spcifie sur l'objet,
Une action correspond une oprationdisponible dans l'objet dont on reprsente lestats,
Les actions peuvent tre documentes
directement l'intrieur d'un tat,
Actions dans un tat
Des champs sont dfinis pour dcrire les actions
-
8/7/2019 Cours Uml 1/2
102/105
14/12/06 Introduction UML 102
dans un tat : entry/action : l'entre
exit/action : la sortie
on vnement/action : sur un vnement, do/action : excute dans l'tat
Saisie mot de passe
entry/ne plus afficher entres clavierexit/rafficher entres clavieron aide/afficher l'aidedo/grer les saisies de l'utilisateur
Etats concurrents
Notation simple : barre de synchronisation,
-
8/7/2019 Cours Uml 1/2
103/105
14/12/06 Introduction UML 103
Notation complexe : S'effectue sur les transitions l'aide du mot cl ''in'', Spcifie l'tat dans lequel se doit trouver l'autre
automate pour activer la transition.
Test 1.1 Test 1.2
Test 2.1 Test 2.2
Action dbut Action fin
Ressources sur UML
Site officiel d'UML :
-
8/7/2019 Cours Uml 1/2
104/105
14/12/06 Introduction UML 104
http://www.uml.org/ Site franais sur UML (plus vieux) :
http://uml.free.fr/
Site d'IBM sur UML : http://www.ibm.com/software/rational/uml/
Site officiel de l'OMG : http://www.omg.org/
Sondage : http://www.volle.com/travaux/gtmodelisation5.htm
Logiciels de modlisationUML
Logiciels libres :
http://www.uml.org/http://uml.free.fr/http://www.ibm.com/software/rational/uml/http://www.omg.org/http://www.volle.com/travaux/gtmodelisation5.htmhttp://www.volle.com/travaux/gtmodelisation5.htmhttp://www.omg.org/http://www.ibm.com/software/rational/uml/http://uml.free.fr/http://www.uml.org/ -
8/7/2019 Cours Uml 1/2
105/105
14/12/06 Introduction UML 105
Umbrello : http://uml.sourceforge.net/ ArgoUML : http://argouml.tigris.org/ BoUML : http://bouml.free.fr/
Logiciels propritaires : Poseidon : http://www.gentleware.com/
Rational rose : http://www.rational.com/ Together : http://www.borland.com/
http://uml.sourceforge.net/http://argouml.tigris.org/http://bouml.free.fr/http://www.gentleware.com/http://www.rational.com/http://www.borland.com/http://www.borland.com/http://www.rational.com/http://www.gentleware.com/http://bouml.free.fr/http://argouml.tigris.org/http://uml.sourceforge.net/