cours uml oeb
Post on 10-Apr-2018
236 Views
Preview:
TRANSCRIPT
-
8/8/2019 Cours Uml Oeb
1/94
1O. El Beqqali
Unified Modeling Language
Modlisation ObjetPr. Omar El Beqqali
omar.el-beqqali@insa-lyon.frhttp://www.fsdmfes.ac.ma/oelbeqqali
http://www710.univ-lyon1.fr/~obekkaliEMSI 2009 / 20010
-
8/8/2019 Cours Uml Oeb
2/94
2O. El Beqqali
Spcification et conception du logiciel.
Plan
Le processus de dveloppement du logiciel
Les enjeux du Gnie Logiciel.
Le processus de dveloppement du logiciel.
(GL)
Le langage de modlisation unifi UML.
Prsentation gnrale.
Mthodologie Objet en spcification et en conception
Concepts fondamentaux.
Diagrammes UML
-Diagramme des cas d'utilisation
-Diagramme de squences.
- Diagramme de collaboration- Diagramme de classes.
- Diagramme d'objets- Diagrammes d'tats-transitions
- Diagramme d'activits
- Diagramme de composants.
- Diagramme de dploiement.
UML & Bases de donnes
Gnration du code
Rtro-ingnierie (reverse engineering)
Mise en uvre d'UML : tude de cas
( 2004 : 4 nouveaux diagrammes)
-
8/8/2019 Cours Uml Oeb
3/94
3O. El Beqqali
Spcification et conception du logiciel.
Mthodologie Objet : UML.
Objectifs
Comprendre les enjeux du Gnie Logiciel.
Comprendre l'importance des activits de spcification et de conception (G.L)
Connatre la notation UML.
Savoir comment utiliser UML pour spcifier et
concevoir un logiciel.Mettre en uvre UML (cas)
-
8/8/2019 Cours Uml Oeb
4/944O. El Beqqali
La modlisation
Elle est essentielle pour :-Comprendre le fonctionnement dun systme-Matriser la complexit
-Faciliter la communication au sein de lquipe
Et particulirement en gnie logiciel :-tre un facteur de rduction des cots et des dlais,-tre un facteur daccroissement de la qualit du produit,
-Permettre dassurer une maintenance facile et efficace,
-Permettre de contrler lavancement dun projet.
-
8/8/2019 Cours Uml Oeb
5/94
5O. El Beqqali
Modles et techniques utiliss par les
mthodes objets Les mthodes de modlisation classiques sont bases sur :
Un modle de donnes et un modle des traitements spars Une modlisation de flots de donnes
Insatisfaisantes pour modliser des systmes objet
Aucune mthode ne couvre toutes les tapes du cycle de dveloppement
Triple perception du systme dinformation
Dimension statique: objets Dimension dynamique: vnements/tats Dimension fonctionnelle : flux/processus
-
8/8/2019 Cours Uml Oeb
6/94
6O. El Beqqali
Conception par objetsConception par objets
Dmarche itrative plus que descendante (cycle itratif)
Grandes tapes Identifier les entits du domaine
Structurer le domaine en analysant les proprits de ces
entits et leurs relations Identifier les oprations que savent effectuer ces entits
Dcrire prcisment ces oprations en les reliant des
messages Dcrire le lancement du programme
-
8/8/2019 Cours Uml Oeb
7/94
7O. El Beqqali
Avantages de la conception objetAvantages de la conception objet
Avantages de lutilisation de lapproche objet au
niveau conceptuel Rduction de la distance entre langage utilisateur et
langage conceptuel
Regroupement de lanalyse des donnes et destraitements
Simplification des transformations entre niveauconceptuel et niveau physique
Abstraction forte
Orient vers la rutilisation : notion de composants,modularit, extensibilit, adaptabilit, souplesse.
-
8/8/2019 Cours Uml Oeb
8/94
8O. El Beqqali
Le cycle de vie ObjetLe cycle de vie Objet((GG..LL))
Un cycle itratif : ce cycle sappuie sur lanalyse des
risques (adquat pour la conception objet)
Expression des
besoins
Spcifications
fonctionnelles
ConceptionAnalyse
Implmentation
Tests de
vrification
Validation des besoins
-
8/8/2019 Cours Uml Oeb
9/94
9O. El Beqqali
Mthodes objets (historique)Mthodes objets (historique)
OOD Object Oriented Design (G. Booch) 1991
HOOD Hierarchical Object Oriented Design (Delatte & al.) 1993
OOA Object oriented analysis (Schlaer ,Mellor) 1988, 92
OOA/OOD (Coad & Yourdon) 1991
OMT Object Modeling Technique 1991
OOSE Object oriented software engineering (Jacobson & al.) 1992
OOM Object oriented Merise (Bouzeghoub & Rochfeld) 1993
Fusion (Coleman & al.) 1994 Thorie dveloppe par Ivar JACOBSON
Reprise par de nombreuses mthodes : OMT, ROOM, Fusion, Booch, ..
Elle repose sur une analyse centre utilisateur pour dterminer les besoins du
systme.
-
8/8/2019 Cours Uml Oeb
10/94
10O. El Beqqali
Historique UML
Autres mthodes Booch91 OMT-1 OOSE
Booch93 OMT-2
Mthode unifie 0.8
UML 0.9
UML 1.0
UML 1.1
UML 1.2
UML 1.x
UML 2.0
1999-2002
Juin 1998
Novembre 1997Septembre 1997
Janvier 1997
Juin 1996
Octobre 1995
Dfinition par une commission dervision
Soumission lOMG
Standardisation par lOMGSoumission lOMG
Soumission lOMG
Partenaires
1997: prsentation de UML l'OMG (Object Management Group),
UML 1.1 est adopt (http://www.omg.org)1999: UML 1.32004: UML 2.1 (pas encore trs utilise)
-
8/8/2019 Cours Uml Oeb
11/94
11O. El Beqqali
UML : langage de modlisation
graphique et textuel UML unifie
Les concepts, quels que soient le domaine dapplication Les notations et concepts orients objet
UML est indpendant
Du type du systme-logiciel, matriel, organisation.. Du domaine mtier : gestion, ingnierie, finance
UML permet de : Comprendre et de dcrire les besoins,
Concevoir et construire des solutions,
Documenter un systme tout au long du cycle de dveloppement,
Communiquer entre les membres de lquipe de projet.
-
8/8/2019 Cours Uml Oeb
12/94
12O. El Beqqali
UML : objectifs
Montrer les limites dun systme et ses fonctions principales
laide des cas dutilisation et des acteurs. Illustrer les ralisations de Cas d Utilisation laide de
diagrammes dinteraction.
Reprsenter la structure statique dun systme laide dediagrammes de classes, associations, contraintes.
Modliser la dynamique, le comportement des objets laide de
diagrammes tats/transitions. Rvler limplantation physique de larchitecture avec des
diagrammes de composants et de dploiement.
Un langage utilisable par lhomme et la machine : permettre lagnration automatique de code.
-
8/8/2019 Cours Uml Oeb
13/94
13O. El Beqqali
Modlisation en diagrammes
Modle = ensemble dlments de modlisation vusdans un ensemble de diagrammes
Diagramme
-Support graphique de modlisation, chaque diagrammepropose un point de vue diffrent.-mise en uvre dun ensemble dlments de visualisation
reprsentant des lments de modlisation (graphe)
ABSTRACTION
ModleSystme rel
-
8/8/2019 Cours Uml Oeb
14/94
14O. El Beqqali
-
8/8/2019 Cours Uml Oeb
15/94
15O. El Beqqali
UML : les diagrammes (1)
Modles manipuls au moyen de vues
graphiques : 9 diagrammes(4 autres nouveaux diagrammes en 2004)
Diagrammes des cas dutilisation : Fonctions du systme du
point de vue des utilisateurs
Diagrammes de squence : Reprsentation temporelle des
objets et de leurs interactions
Diagrammes de collaboration :Reprsentation spatiale des
objets, des liens et des interactions
-
8/8/2019 Cours Uml Oeb
16/94
16O. El Beqqali
UML : les diagrammes (2)
Diagrammes declasses: Structure statique en terme de classes
et relations qui les lient Diagrammes dobjets : Reprsentation des objets et de leursrelations (liens)
Diagrammes dtats-transitions : Comportement dune classeen terme dtats, li au cycle de vie des objets
Diagrammes dactivits : Reprsentation du comportementdune opration, dun cas dutilisation, ou dun processus
mtier en terme dactions Diagrammes de composants : Composants physiques dune
application, dpendance entre ces composants
Diagramme de dploiement : Dploiement des composantssur les dispositifs matriels, modes de connexion..
-
8/8/2019 Cours Uml Oeb
17/94
17O. El Beqqali
Classification des diagrammes
Diagramme de casdutilisation
Diagramme dtats
Diagramme dactivitsDiagramme de squenceDiagramme de collaboration
Diagramme de classes
Diagramme dobjetsDiagramme de composantsDiagramme de dploiement
Fonctionnel
Statique Dynamique
Lensemble des 9 diagrammes peut tre rparti sur les trois axes de modlisation
-
8/8/2019 Cours Uml Oeb
18/94
18O. El Beqqali
Strotype : mcanisme permettant de classer les lments similaires du
modle en familles >quelques strotypes : >, >
Exemple : classes Fentre, Icne, Bouton
valeurs communes (afficher/masquer),
strotype >
Contraintes : exprime un lien smantique entre des lments du modlenotation : {}
Note : commentaire rattach un diagramme
Mcanismes de base
Note..
-
8/8/2019 Cours Uml Oeb
19/94
19O. El Beqqali
-
8/8/2019 Cours Uml Oeb
20/94
20O. El Beqqali
Cas dutilisation : Introduction
Le concept de cas dutilisation introduit par IvarJacobson dans la mthode Object-OrientedSoftware Engineering (OOSE).
Les fonctionnalits du systme sont dcritescomme un ensemble de cas dutilisation.
Chaque cas reprsente un flot spcifiquedvnements vers le systme.
La description du cas d'utilisation dfinit ce qui
arrive dans le systme lors de sa ralisation.
-
8/8/2019 Cours Uml Oeb
21/94
21O. El Beqqali
Cas d'utilisation :
Notation (1)
Cas d'utilisation
Acteur
Use Case
Entit qui agit sur le systme; reprsente un
ensemble cohrent de rles quun utilisateurpeut effectuer.
Ensemble cohrent de fonctionnalits fournies
par le systme ou un sous-systme en rponse une action de lutilisateur. Ce ci se traduit parlchange de messages entre le systme et lesacteurs.
-
8/8/2019 Cours Uml Oeb
22/94
22O. El Beqqali
Elaboration de CU
questions se poser : quelles sont les tches de lacteur ? quelles informations lacteur doit-il crer, sauvegarder, modifier,
dtruire, ou simplement lire ? lacteur doit-il informer le systme de changements externes ?
On sintresse au domaine du quoi faire, pas du comment(sinonon rentre dans la phase de conception) on doit rester au niveau de linteraction acteur/systme
Acteur
Cas d'utilisationDclenche
Frontire du systme
-
8/8/2019 Cours Uml Oeb
23/94
23O. El Beqqali
Cas d'utilisation : Dmarche
Recherche des acteurs externes
Pour chaque acteur les cas d'utilisation
Pour chaque cas d'utilisation : rechercher les interactions rechercher les objets manipuls
Faire la maquette de chaque cas d'utilisation
Remarque :Les diagrammes des cas d'utilisation se retrouveront tous lesstades du projet.
C U
-
8/8/2019 Cours Uml Oeb
24/94
24O. El Beqqali
C.U
caractristiques (1) Le cas d'utilisation utilise une description textuelle
Le cas d'utilisation est un cadre pour l'laboration desdiffrentes fins possibles pour le cas d'utilisation
L'analyse est complte lorsque tous les cas d'utilisation sont
tudis Un cas d'utilisation dcrit l'change standard entre un acteurexterne et un systme; dcrit une famille de scnarios (voirplus loin) incluant les cas d erreur.
L'acteur est l'initiateur de l'change, il peut tre: Personne quipement
systme externe
-
8/8/2019 Cours Uml Oeb
25/94
25O. El Beqqali
ActeurActeur
Rle jou par une personne ou une chose qui interagit
avec un systmeLa mme personne physique peut jouer le rle de plusieursacteursPlusieurs personnes peuvent jouer le mme rleNom de lacteur = Rle jou par lacteur
Dtermination des acteurs ==> prcision des limites du
systme de manire progressive
-
8/8/2019 Cours Uml Oeb
26/94
26O. El Beqqali
ActeurActeurDiffrentes catgories dacteursDiffrentes catgories dacteurs
Catgories
Acteurs principaux: personnes utilisant le systme ( qui va
servir le systme)Acteurs secondaires: qui administrent le systme (paramtrentle systme en lui fournissant les informations ncessaires ou
effectuent des m.a.j).Exemple : bibliothque =>ladministrateur est un A.S, lemembre est un A.P.Types
Matriel externe: dispositifs matriels faisant partie du domainede lapplication.Humains : utilisateurs du systme.
Logiciels, robots : qui exploitent les donnes du systme.
-
8/8/2019 Cours Uml Oeb
27/94
27O. El Beqqali
Acteurs et cas dutilisation
Cas dutilisation : description gnrique dune transactioncomplte entre l acteur et le systme (claire et prcise).
Guichetier
Gestionnaire de
prts
prt
Lecteur code
Opration surcompte
systmeacteur
cas dutilisation
Remarque : pas d interactions entre acteurs
un guichetier est un employde la banque jouant un rled'interface ent re le systme
informat ique et les clientsqu'il reoit
Note
-
8/8/2019 Cours Uml Oeb
28/94
28O. El Beqqali
TlphoneAppeler
Tlphone
RecevoirAppel
InterrompreAppel
Client
Oprateur
C.U : exemple
C.U
Acteur
Diag. C.U Systme tlphonique
CU
-
8/8/2019 Cours Uml Oeb
29/94
29O. El Beqqali
CU
caractristiques (2) Identification d'une finalit de l'utilisateur
Un stimulus de dpart Unepr-condition du systme au dclenchement
Un enchanement d'interactions Unepost-condition du systme la fin du cas
dutilisation
Enchanement dactions effectuer
Une fin normale (conditions dexcution ventuelles)
-
8/8/2019 Cours Uml Oeb
30/94
30O. El Beqqali
Pr-conditionScnario
Post-condition
Le cas d'utilisation
Use CaseActeur
EmetteurActeur
Receveur
C ' i i i (1)
-
8/8/2019 Cours Uml Oeb
31/94
31O. El Beqqali
Cas d'utilisation : Exemple (1)
Nom du cas d'utilisation:
Attribution d'une place sur un vol Un stimulus de dpart : Client prsente sa
rservation Une pr-condition: Guichet ouvert & rservationsur un vol
Un enchanement d'interactions: Scnarios
Une post-condition: Place affecte au passager& Fin-rservation
C d' tili ti
-
8/8/2019 Cours Uml Oeb
32/94
32O. El Beqqali
Cas d'utilisation :
Notation (2)
Capture comment une ou plusieurs
descriptions dun use case intgrent ladescription d'un autre use case.(quivalent l'agrgation pour les classes, voir plus loin)
Include
Extend Reprsente l'insertion d'un use case dans unautre use case.quivalent lagnralisation/spcialisation pour les classes (voir
plus loin).
Les relations entre cas dutilisation :
-Extend
-Include
Cas d'utilisation :
-
8/8/2019 Cours Uml Oeb
33/94
33O. El Beqqali
Casd utilisation :
La notation (1)La relation extend :
dnote un comportement optionnel, indique que tous les UC fils hritent du UC mre (UC
point)
Guichetier
retrait devises
retrait Dhs
retrait
Cas d'utilisation :
-
8/8/2019 Cours Uml Oeb
34/94
34O. El Beqqali
Casd'utilisation :
La notation (2)
La relation include indique que le UC point par la flche est une
sous partie de lautre UC .factorisation des UC dont les fonctionnalits serventfrquemment dans des diffrents UC
(comportement communs plusieurs UC).
Emprunt
Saisie Ncompte
Retrait
-
8/8/2019 Cours Uml Oeb
35/94
35O. El Beqqali
Cas dutilisation et scnarios
Casdutilisation
scnario 2 scnario 3
scnario 4scnario 1
Scnario = chemin dans le CU Description du CU
ensemble des scnarii document avec flot dvnements du point de vue de lacteur
dtaille ce que le systme doit fournir lutilisateur quand le CU estexcut
flot normal des vnements (80 %) -Nominal-
flots dvnements alternatifs
flots dexceptions (quand le CU ne ne termine pas correctement)
-
8/8/2019 Cours Uml Oeb
36/94
36O. El Beqqali
CU : scnarios
Description gnraleC.U: ce cas dutilisation concerne les oprationsque le client peut raliser sur son compte sur un distributeur bancaire.
Description des scnarios:Le cas dutilisation commence quand lutilisateur se connecte. Le systme
lui propose :a/de retirer du liquideb/de dposer un chque
Si le client choisit a/, le systme lui propose divers montants. Lutilisateurchoisit une somme. Le systme vrifie que le compte est suffisammentapprovisionn, et dlivre largent et un reu. Sinon, le systme informelutilisateur de lchec de lopration, et lui rend sa carte.
Le cas dutilisation se termine quand lutilisateur retire sa carte bancaire.
Opration sur compteClient
Exemple : GAB
-
8/8/2019 Cours Uml Oeb
37/94
37O. El Beqqali
Cas dutilisation et interactions
Le diagramme des CU prsente une vue du
systme de lextrieur Une interaction dcrit comment les casdutilisation (classes, oprations) sont raliss
comme interactions dans une socit dobjets(communication entre objets )
Vue dynamique du systme : deux types dediagrammes dinteraction diagrammes de collaboration
diagrammes de squences
C d' tili ti i
-
8/8/2019 Cours Uml Oeb
38/94
38O. El Beqqali
Cas d'utilisation : scnarios
Exemple Nom du cas d'utilisation:
Attribution d'une place sur un vol Le passager prsente sa rservation l'htesse
qui lui demande son nom, le passager fournit l'information, le systme trouve sa rservation [ou ne la trouve pas
(autre scnario)],...
le passager accepte la place propose par le systme.
-
8/8/2019 Cours Uml Oeb
39/94
39O. El Beqqali
Scnarios - exemples
Cas d'utilisation :1/ Acheter un produit
2/ Passer les tourniquets du RER
Cas d'utilisation:
-
8/8/2019 Cours Uml Oeb
40/94
40O. El Beqqali
Casd utilisation:
un besoin
Catalogue
Acheter
un
produitAcheteur
Vendeur
Exemple : activit commerciale
Cas d'utilisation : Le scnario
-
8/8/2019 Cours Uml Oeb
41/94
41O. El Beqqali
Scnario pour Ngocier aveccondition
Acheteur demande le prixVendeur interroge le catalogueVendeur donne le prix de baseAcheteur s'tonne
Scnario pour Ngocier avec chec
Acheteur demande le prixVendeur interroge le catalogueVendeur donne le prix de baseAcheteur s'tonneAcheteur se plaintVendeur fait une propositionAcheteur change de produit
...
Cas d utilisation : Le scnarioExemple Vente
Le scnario est une application parmi d'autres d'un casd'utilisation.
Pour dcrire compltement un cas, plusieurs scnario sontncessaires.
Il apporte une comprhension prcise sur une application du
cas d'utilisation
Scnario pour Ngocier avec succs
Acheteur demande le prixVendeur interroge le catalogueVendeur donne le prix de baseAcheteur s'tonneAcheteur se plaintVendeur fait une proposition
...
Cas d'utilisation : Le scnario
-
8/8/2019 Cours Uml Oeb
42/94
42O. El Beqqali
Passer les tourniquets du RER Prsenter le ticket au tourniquet
Le tourniquet avale le ticket Le tourniquet contrle le ticket le tourniquet redonne le ticket Passer le tourniquet
..Autres Scnarii.
Cas d utilisation : Le scnarioExemple RER
-
8/8/2019 Cours Uml Oeb
43/94
43O. El Beqqali
Les diagrammes de squence (1)
-
8/8/2019 Cours Uml Oeb
44/94
44O. El Beqqali
Les diagrammes de squence (1)
Le diagramme de squence montre quels sont les objetsqui participent lexcution du use-case et quels sont lesmessages quils changent : description des interactionsentre les objets dun point de vue temporel.
Chaque bloc ou objet participant dans le processus estreprsent par une barre verticale.
Remarque: lordre dans lequel apparaissent les barres na pasdimportance (lisibilit).
Di d (2)Diagrammes de sq ence (2)
-
8/8/2019 Cours Uml Oeb
45/94
45O. El Beqqali
Diagrammes de squence (2)Diagrammes de squence (2)
Interactions entre objets selon un point de
vue temporel 2 utilisations
Documentation des cas dutilisation Evnements qui surviennent dans le domaine de
lapplication
Reprsentation prcise des interactions entre objets
Echanges de messages
Remarque : possibilit de reprsentation de la structure de contrle, la cration etla destruction des objets, la rcursion, les branchements conditionnels.
Diagrammes de squence :l t d l tl h i
-
8/8/2019 Cours Uml Oeb
46/94
46O. El Beqqali
exemple : systme dappel tlphonique
Description de scnarios typiques et des
exceptions
temps
Ligne
tlphonique: Appelant : Appel
Dcroche
Tonalit
Numrotation
Indications de sonnerie*[pas dcroch] Sonnerie
Dcroche
Message synchrone
Rponse dun message
synchrone
Diagrammes de squence
-
8/8/2019 Cours Uml Oeb
47/94
47O. El Beqqali
g qexemple : systme de gestion de comptes bancaires
: Employ: Banque Comptes:Compte
Compte?
compte(noCompte)
[ok=True] imprimASigner
[ok=Faux] refus(retraitMax)
ok := retrait(compte,montant)
opration(retrait,montant)
diminuer(montant)
: A : B : A : B
P(a,b)
m m=P(a,b)
Diagramme de squencele suivi des vnements (trace event)
-
8/8/2019 Cours Uml Oeb
48/94
48O. El Beqqali
( )
Exemple1 (Vente)
Le suivi d'vnements est un diagramme qui prsente lasquence des vnements d'un scnario ainsi que les objets
qui mettent et reoivent les vnements. Le temps augmente en partant du haut vers le bas, mais
l'espace entre les vnements n'est pas proportionnel au
temps. un Acheteur un Vendeur le Cataloguedemande le prix
interrogedonne le prix de base
tonnement
se plaindre
proposition prix
nouveau produit
-
8/8/2019 Cours Uml Oeb
49/94
49O. El Beqqali
Di d ll b ti
Diagrammes de collaboration
-
8/8/2019 Cours Uml Oeb
50/94
50O. El Beqqali
Diagrammes de collaborationDiagrammes de collaboration
Reprsente les interactions entre objets et relationsstructurelles permettant celles-ci.
Description:
Du comportement collectif dun ensemble dobjets
Des connexions entre ces objets Des messages changs par les objets
Interaction ralise par un groupe dobjets qui collaborent en
changeant des messages Temps non reprsent de manire implicite (numrotation
des messages)
Les interactions
-
8/8/2019 Cours Uml Oeb
51/94
51O. El Beqqali
Cabine
Porte
+ouvrir()+fermer()+tat()
:Cabine
:Porte
ouvrir()
Elments dune interaction instances
liens (support messages)
messages
dclenchant les oprations rles jous par les extrmits de liens
Interaction entre 2 objets instancesdes classes Cabine etPorte
Modlisation dune cabine dascenseur qui demande une porte de souvrir
Di d ll b ti
-
8/8/2019 Cours Uml Oeb
52/94
52O. El Beqqali
Diagrammes de collaboration
: Ascenseur
: Cabine
: Voyant
: Porte
1: monter()
3: fermer()
2: allumer()
4: dplacer(haut)
Reprsentation de lordre des envois de messages pour lexempleDe lascenseur :
i l di d / ll b i
-
8/8/2019 Cours Uml Oeb
53/94
53O. El Beqqali
quivalence diagrammes de squence / collaboration
user 1bouton tage bouton
ascenseurcontrleurascenseur
ascenseur portesascenseur
appui bouton tage
allumerdplacer
teindreouvrir
portes ascenseur
bouton tage
ascenseur1:Appui bouton tage
5: ouvrir 7: fermer
3: dplacer
user
2: allumer
4: teindre
fermer
timer
6: timer
contrleurascenseur
F5(Rose)
Diagrammede sequences
Diagrammede collaboration
P t ( k )
-
8/8/2019 Cours Uml Oeb
54/94
54O. El Beqqali
Paquetages (package)
regroupement logique dlments de diagramme quientretiennent entre eux des relations troites
clart / partage du travail dans une quipe un paquetage possde des lments de modlisation et peut
en importer.
forme gnrale du systme : hirarchie de paquetage +relations de dpendances entre paquetages (>,>)
sous-systme : spcifie le comportement collectivementoffert par ses lments (en terme doprations)
Paguetages: un espace de nommage
-
8/8/2019 Cours Uml Oeb
55/94
55O. El Beqqali
Client
1
1
1
1*
*acheterconcerner
Facturation::Facture Client Socit
ProduitCommande
nomDuPackage : : NomDeLaClasse
Paquetages : exemple
-
8/8/2019 Cours Uml Oeb
56/94
56O. El Beqqali
Paquetages : exemple
clientsGestion
Reseaux
Entreprise
(from Client)
Compte
Banque
Gestion
>
But : organiser un modle objet
lien de dpendance
-
8/8/2019 Cours Uml Oeb
57/94
57O. El Beqqali
Diagrammes de classes
-
8/8/2019 Cours Uml Oeb
58/94
58O. El Beqqali
Diagrammes de classes
Vue logique / statique / structurelle dun systme :les classes et leur relations
Dans UML Classes : structures et comportements relations : associations, agrgations, dpendances,
gnralisation/spcialisation, noms de rles contraintes indicateurs de multiplicit et de navigation
Mais : toujours difficile de dterminer les classes il faut des mthodes
Modle du domaine stable
Objets dans les diagrammes de squence et de collaboration,
Diagramme dobjets
Diagramme dobjets
-
8/8/2019 Cours Uml Oeb
59/94
59O. El Beqqali
UneClasse
priv : int
publicprotg
opprivee( )oppublique( )
opprotge( )
Diagramme d objetsDiagramme d objets
Objet: unit atomique forme de lunion dun tat et dun comportement
Etat dun objet: valeurs instantanes de tous ses attributs(ltat dun objet
un moment donn est la consquence des comportements passs).
Voiture de TotoVoiture de Toto
CouleurCouleur == rougerougeMasseMasse == 895895 kgkgPuissancePuissance == 77 CVCV
Voiture de TotoVoiture de Toto:: VVhiculehicule
CouleurCouleur == rougerougeMasseMasse == 895895 kgkgPuissancePuissance == 77 CVCV
(Rose)
Visibilit et porte des attributs et des oprations :
Public : llment est visible pour tous les clients de la classe
Protg (protected): llment est visible pour les sous-classes de la classePriv (private): llment est visible pour la classe seule
Nom objet : classe
Diagramme de classes & objets
Diagramme de classes & objets
-
8/8/2019 Cours Uml Oeb
60/94
60O. El Beqqali
ExempleExemple
Roue
Voiture
4
1
4
1
Moteur11 11
:Roue
:Moteur
:Roue :Roue
:Voiture
:Roue
Diagramme de classes
Diagramme dobjets
est une instance de
association
lien
Liens entre objets/relations entre classes
-
8/8/2019 Cours Uml Oeb
61/94
61O. El Beqqali
Liens et relations Possibilit de communication entre objets :interactions entre objets (cf. diagrammes)
relation entre classes 3 grands types (voir plus loin)
Associations ("est produit par", "est affili ", "se trouve ", "estconduit par") : dpendance entre classes, communication entreobjets
Ex: un lecteur lit un livre (forme verbale)
Agrgation/composition ("fait partie de") : objets composites /
composantsEx : un train est compos de wagons
Gnralisation/spcialisation ("est une sorte de") : hritage entreobjets,
Exemple : un chat est une sorte danimal
Associations
-
8/8/2019 Cours Uml Oeb
62/94
62O. El Beqqali
Associations
Connexion bidirectionnelle entre classes
Notation gnrale :
Nom : forme verbale, sens de lecture avec flcheRles : forme nominale, identification extrmit association
Multiplicit: 1, 0..1, M..N, *, 0..*, 1..*
Classe 1 Classe 2nom association x..yx..y
rle 1 rle 2
Socit
nom
Personne
nomemploie
travaille pour
dirige
0..* 0..*0..1
*
employeur employ
employs
patron
{contrainte}
Multiplicit des associations
Multiplicit des associations
-
8/8/2019 Cours Uml Oeb
63/94
63O. El Beqqali
Multiplicit des associationsp
1 Un et un seul
0..1 Zro ou 1
N N (entier naturel)
M..N De M N (entiers naturels)
0..* De zro plusieurs
1..* De 1 plusieurs
Classes-Associations
-
8/8/2019 Cours Uml Oeb
64/94
64O. El Beqqali
Classes Associations
Une classe-association est une association qui est
aussi une classe. Les classes-associations sont utilises lorsque les
associations doivent porter des informations Il est toujours possible de se passer des classes-associations. Company Employee
Job
* 1..*
salary : undefined
Associations qualifies (1)
-
8/8/2019 Cours Uml Oeb
65/94
65O. El Beqqali
q ( )
Restrictions : slection dun sous-ensemble des objets quiparticipent lassociation laide dune cl
1..* FichierNom fichier
ContientRpertoire1
Banquecentrale
No banque
Banque
Remarque : Le rle dun qualificateur est de rduire la cardinalit dune association
et joue le rle semblable une cl primaire dans une BDR.
:A
:B:B:B
:B
avec clsans cl{Linstance de A , valeur du qualificatif } identifie le sous ensemble des instance de B
BA qualificatifqualificatif
Exemple :
A Bqualificatif *{sous-ensemble}
Associations qualifies (2)
-
8/8/2019 Cours Uml Oeb
66/94
66O. El Beqqali
ce schma ne permet pas de dire que chaque sige a un numroqui est unique pour chaque avion.
q ( )
exemple
Avec attribut qualifiant:
un avion contientunsigepour un numrodonn.
dans un avion, pour unerange donne, il y a 4 siges.
Lagrgation
Lagrgation
-
8/8/2019 Cours Uml Oeb
67/94
67O. El Beqqali
g gg g
Association non symtrique Une des extrmits joue un rle prdominant par
rapport lautre
Une agrgation
Agrgat Elment agrg
EE--mailmailAttache
Fichier*
*
Composition dobjets
-
8/8/2019 Cours Uml Oeb
68/94
68O. El Beqqali
Composition d objets Cas particulier dagrgation contenance physique
Si destruction objetcompos destruction des composants
Fentre
CadreEn-tteAscenseur
contenutitrebarre_dfilement
1
Fentre
barre_dfilement : ascenseurtitre : en-ttecontenu : cadre
Bouton Texte
11
2 1 1
Exemple
La composition
La composition
-
8/8/2019 Cours Uml Oeb
69/94
69O. El Beqqali
p
Agrgation forte
Destruction du composite (x est une partie de y?)=> Destruction automatique de tous ses composants
Livre Page
Couverture
1
1
1
1..*
{ordered}
La contrainte { ordered } indique quela collection des pages dun livre est ordonne
Exemple
Agrgation
Composition
-
8/8/2019 Cours Uml Oeb
70/94
70O. El Beqqali
Lhritage Moyen de raliser la classification ou
lorganisation en classes vocabulaire rserver limplantation
Principe de substitution : toutesles proprits dela classe parent doivent tre valables pour lesclasses enfant
Hritages: simple / multiple
Diagramme de classesGnralisation et spcialisation (1)
-
8/8/2019 Cours Uml Oeb
71/94
71O. El Beqqali
Spcialisation(symtrique gnralisation):raffinement de classe- par extension de proprits
(ajouter un attribut)- par restriction de domaines
de valeurs dattributs
Transmission
Continue Discrte
Variateur Drailleur Bote de vitesse
super-classe
sous-classes{disjoint}
{incomplte}
Gnralisation :regroupement, est-
un , sorte-de Vhicule terrestre
Vhicule
Vhicule arien
Voiture Camion Avion Hlico
contrainte
Gnralisation/spcialisation (2)
Gnralisation/spcialisation (2)
-
8/8/2019 Cours Uml Oeb
72/94
72O. El Beqqali
Relation de classification entre un lment
plus gnral et un lment plus spcifiqueest un / est une sorte de ( is a / kind of )
Animal
Chat Chien
Oeuvre
+titre+auteur
Livre
Roman
Livre
Exemples (hritage) :
-
8/8/2019 Cours Uml Oeb
73/94
73O. El Beqqali
Hirarchies de classes Contraintes :
{complte},{incomplte},{disjoint},
Attributs / oprationscommuns sontmontres au niveau le
plus haut.
Facture
date
adressemontant
imprimer()expdier()
Facture_export
devise_paiementmontant_devise
convertir(devise)
Facture_Maroc
taux_TVAmontant_ttc
calcul_ttc()
Livraisonpour
{complete}destination
1 1..*
La contrainte {complte} indique que la gnralisation esttermine et quil nest plus possible de rajouter des sous-classes.
-
8/8/2019 Cours Uml Oeb
74/94
74O. El Beqqali
Hritage multipleVhicule
Vhicule terrest re Vhicule aquatique
Automobile Vhicule amphibie Bateau
{disjoint}
Problme : conflits dhritage (un attribut vitesse_maxen km/h, en Nuds quhriter ?)
En gnral, trs difficile utiliser : certains langages
ngligent lhritage multiple
Exemple :
Construction du diagrammes
Statecharts (1)
-
8/8/2019 Cours Uml Oeb
75/94
75O. El Beqqali
tats transitionStatecharts (1)
Attach une classe ou un cas d'utilisation, il doit prsenter une classe par rapport sestats possibles et aux transitions qui le font voluer.
Lorsque [vnement] => changement d'tatL'action peut tre conditionnelle : [condition] action.
Un tat = image de la conjoncture instantane des valeurs des attributs dun objet
& Prsence ou non de ses liens dautres objets.
Une transition reprsente un changement d'tat ; elle est dclenche par un vnement.
- Transitions peuvent tre automatiques
peuvent tre conditionnes
- Evnements
dclenchent les transitions
Construction du diagrammes
tats transition Statecharts (2)
-
8/8/2019 Cours Uml Oeb
76/94
76O. El Beqqali
EVENEMENT_K(attributs)ETAT_I ETAT_J
Etat final
Etat initial
Un Statechart est un graphe orient dont les nuds sont des tats et les arcssont des transitions.
Entre : les diagrammes de squence et les diagrammes de classes
Sortie : les diagrammes tats-transitionsTransformation mise en uvre
une classe => un diagramme tats-transitions
tats transition Statecharts (2)
Statecharts (3)
-
8/8/2019 Cours Uml Oeb
77/94
77O. El Beqqali
Dans un tat, une activit est une opration squentielle qui se termine d'elle-mme aubout d'un certain temps, ou opration continue qui dure indfiniment (peut treinterrompue par l'arrive d'un vnement).
Contrle des oprations:
Uneactivitest une opration qui ncessite un certain temps dexcution; elle est
associe un tat. Uneaction est une opration instantane (ou de dure non significative); elle est
associe un vnement.
ETAT
faire : activit_1
entre/ action_2
sortie / action_3
vnement/ action_4
Actions associes un tat :
action dentre : excution instantane de l action lors de lentre dans ltat.
action de sortie : excution de l action au moment de quitter ltat.
actions internes : excution dune action sur vnementsans changer dtat.
Diagrammes dtats-transitions - Exemple
-
8/8/2019 Cours Uml Oeb
78/94
78O. El Beqqali
Raccrochattente Pice
Attente
Numro
Attente
Validit
Communic-
ation
AttenteDcrochage
racc rocherCombin
Composer Numro
Numro Valide
Raccrocher Combin
Incrmenter Crdit(p)
DcrocherCombin[ Crdit>=0,5 ]
Racc rocher Combin
Raccrocher Combin
Dbuter Communication
taxer
Systme Publiphone[P. Roques]
Diagramme dactivits
-
8/8/2019 Cours Uml Oeb
79/94
79O. El Beqqali
commanderproduit
grercommande
expdierproduit
recevoir
produit
payerfacture
encaisserfacture
:Commande
etat = passe
:Commande
etat = envoye
:Commande
etat = regle
Client Socit VPC
*Montre le cycle de viedune classe donne.
*En gnral divis encouloirs d'activit
(Swimlanes)
Fin
Dbut
Exemple : activit de vente par correspondance (VPC)
On s'intresse plus aux actions qu'aux tats, il montre l'activit et le fonctionnementd'une opration d'une classe, par exemple.
Diagramme de composants (1)
Diagramme de composants (1)
-
8/8/2019 Cours Uml Oeb
80/94
80O. El Beqqali
Un diagramme de composant reprsente les
composants logiciels dun systme Diagramme utilis dans la phase de conception /
ralisation : lments physiques constituant le systme
et leurs relations Dcrivent les lments physiques et leurs relations
dans lenvironnement de ralisation sous forme demodules.
Modules : toutes sortes dlments physiques (fichiers
sources/donnes, excutables,bibliothques)
Diagramme de composants (2)
-
8/8/2019 Cours Uml Oeb
81/94
81O. El Beqqali
g p ( )
library
libGL {v1.2}
library
libpng
executable
convert
data
.convertrc
data
input
>
>
> >
Exemple :
Diagramme de dploiement (1)
Diagramme de dploiement (1)
-
8/8/2019 Cours Uml Oeb
82/94
82O. El Beqqali
Montrent la disposition et lorganisationphysique des diffrents matriels qui entrent
dans la composition d un systme et larpartition des programmes excutables sur
ces matriels.La faon pour dployer les diffrenteslments dun systme
Diagramme de dploiement (2)
-
8/8/2019 Cours Uml Oeb
83/94
83O. El Beqqali
Exemple :
:Modem
ADSL
1..
n
1
:StationUltraSPARC
RAM >= 1GB
1024 kB / s
:PC
client ssh:PC
client telnet
client NFS
TCP/IP
1
0..n
:Disque durSystme RAID
1..
n
1
Dmarche dapplication D'UML
-
8/8/2019 Cours Uml Oeb
84/94
84O. El Beqqali
tape 1 : laboration d'un diagramme de contexte du systme tudier:Prcision du champ du systme tudier
tape 2 :identification et reprsentation des cas d'utilisation :
Identification des fonctions du systmetape 3 : description et reprsentation des scnarios:chaquecas d'utilisation se traduit par un certain nombre de scnarios.Chaque scnario fait l'objet d'une description textuelle. Chaque scnario est ensuite
dcrit sous forme graphique l'aide du diagramme de squence et/ou diagrammede collaboration.
tape 4 :identification des objets et classestape 5 : laboration du diagramme de classes
tape 6: laboration du diagramme tat-transition :pour chaque classe importante c'est dire prsentant un intrt pour le systme modliser, un diagramme tat-transition est labor.
tape 7 :consolidation et vrification des modles:
Itration des tapes 3, 4, 5 et 6 => niveau suffisant pour la description du systme.
UML & Bases de donnes (1)
-
8/8/2019 Cours Uml Oeb
85/94
85O. El Beqqali
0 . . 1
0 . . *
E T U D I A N T
< < R e l a t i o n a l T a b l e > >
E N S E IG N A N T
< < R e l a t i o n a l T a b l e > >C O U R S
D E B U T : D A T E
D I N : DA T E
< < R e la t i o n a lT a b le > >
0 . . * 0 . . *0 . . *
+ In s c ri t + S u iviP a r 0 . . 10 . . *
+ E n s e ig n
0 . . 1
+ E n s e i g n P a r
0 . . *
S A L L E
< < R e l a t i o n a l T a b l e > >
+ A l ie u D a n s
+ A c c u e i l l e
0 . . *
0 . . 1strotype
-DataModelerde Rose (seul ou intgr) ,outil de dveloppement d'applications etde modlisation mtier (en plein essor pourla modlisation de donnes).
2 approches
-Assistantde cration deschmas de BD (Oracle)
UML & Bases de donnes (2)
-
8/8/2019 Cours Uml Oeb
86/94
86O. El Beqqali
P e rs o n n e
M a tr i c u l e : S M A L L I N T
N o m : V A R C H A R (2 5 5 )
A d re ss e : V A R C H A R (2 5 5 )
T l e : V A R C H A R (2 5 5 )
( f r o m R e l a ti o n n e l)
C li e n t
I d C l i : S M A L L I N T
D a t e N a s : D A T E
M a t r i c u l e : S M A L L I N T
( f r o m R e l a ti o n n e l)
1
0 . . *
1
0 . . *
< < I d e n t i f y i n g > >
F o u rn i s se u r
I d F o u r n : S M A L L I N T
R a i s_ S o c : V A R C H A R ( 2 5 5 )
M a t ri c u l e : S M A L L I N T
( f r o m R e l a ti o n n e l)
1
0 . . *
1
0 . . *
< < I d e n t i fy i n g > >
P r o d u i t
N u m P r o d : S M A L L I N T
D s ig n a t i o n : V A R C H A R ( 2 5 5 )
P r i x U : S M A L L I N T
I d F o u r n : S M A L L I N T
M a t ri c u l e : S M A L L I N T
( f r o m R e l a ti o n n e l)
1
1 . . *
1
1 . . *
< < N o n - I d e n t i f y i n g > >
L i g n e C o m m a n d e
N u m P r o d : S M A L L I N T
I d C d e : S M A L L I N T
( f r o m R e l a ti o n n e l)
1
0 . . *
1
0 . . *
< < Id e n t i f y i n g > >
C o m m a n d e
I d C d e : S M A L L I N TD a t e C d e : D A T E
I d C l i : S M A L L I N T
M a t r i c u l e : S M A L L I N T
( f r o m R e l a ti o n n e l)
1
1 . . *
1
1 . . *
< < N o n -I d e n ti f y in g > >
1
0 . . *
1
0 . . *
< < I d e n t i f y i n g > >
DataModelerde Rose
strotype visuel
schma de BD
gnr partir
dun diagramme de
classes (package)
-
8/8/2019 Cours Uml Oeb
87/94
87O. El Beqqali
gnrateurs UML -> code Diffrents types :objet , bases de donnes
Automatique ? information dans les modles insuffisante paramtrage des outils : traduction des associations,
mthodes engendres automatiquement degr de traduction dpend du langage cible
Modle structurel largement traduit squelette des classes ( complter) hritage, associations,
-
8/8/2019 Cours Uml Oeb
88/94
88O. El Beqqali
Outils standards Rational Rose
Outil de plus important du march http://www.rational.com (rachet par IBM)
Together Outil fortement coupl avec Java http://www.togethersoft.com Rachet par Borland
ArgoUML Outil Open Source http://argouml.tigris.org
Visio
Outil non complet de microsoft http://www.microsoft.com/office/visio
Traduction en objet (C++)
-
8/8/2019 Cours Uml Oeb
89/94
89O. El Beqqali
#ifndef COURS#define COURS
class Eleve
class Cours {
public:
void associer(un_module : string) ;
void set_titre(const string value) ;
const string get_titre() const ;
void set_module(const string value) ;
const string get_module() const ;
protected:
Eleve* Eleves ;
private:
string titre ;
string module ;
}
#endif
Eleve
annee : date
Cours
-titre : string-module : string
0..*0..*
associer(string)
#eleves cours
assiste
#include "Eleve.h"
#include Cours.h"
void Cours::associer(un_module : string)
{/* A ECRIRE */
}
void Cours::set_titre(const string value)
{ titre = value ; }const string Cours::get_titre()
{ return titre ; }
void Cours::set_module(const string value)
{ module = value ; }
const string Cours::get_module(){ return module ; }
-
8/8/2019 Cours Uml Oeb
90/94
90O. El Beqqali
Traduction en relationneleleve
annee : date
cours
-titre : string-module : string
10..*
associer(string)
#eleves cours
assiste
CREATE TABLE eleve (
eleve_id NUMBER (5) ,
annee DATE,
PRIMARY KEY (eleve_id)) ;
CREATE TABLE cours (
cours_id NUMBER (5) ,titre CHAR (128) ,
module CHAR(48) ,
PRIMARY KEY (cours_id),
eleve_id NUMBER (5) REFERENCES eleve(eleve_id)
) ;
Ncessit de la rtro-ingnierie
(reverse engineering)
-
8/8/2019 Cours Uml Oeb
91/94
91O. El Beqqali
Objectif Faire voluer le modle en mme
temps que limplantation
Modle UML
Implantation
-
8/8/2019 Cours Uml Oeb
92/94
92O. El Beqqali
Conclusions
-
8/8/2019 Cours Uml Oeb
93/94
93O. El Beqqali
Proprits dUML
Unification des concepts de modlisation
Puissance dexpression
Nombreux formalismes (issus de mthodes existantes)
Mcanismes dextension inclus (strotypes)
Description par un mta-modle (syntaxe et smantique des modles)
Compromis formalisation / niveau dabstraction(impression quUML est une mthode)
UML est devenu un standard international : adopt un peu partout (universel)
les modles sont simples, faciles lire et communiquer difficult pour des systmes trs complexes, do la ncessit doutils
Les outils puissants sont nombreux (Rose, Rhapsody, Select, Objectoring....)
-
8/8/2019 Cours Uml Oeb
94/94
94O. El Beqqali
BibliographiePrsentation dUML non exhaustive , pour la description exacte de toute la syntaxe et la smantique :
Rfrences :
www.omg.org, www.rational.com
A. Muller : Modlisation objet avec UML , Eyrolles, 2000 P. Roques, UML par la pratique , Eyrolles, 2004
J. Rumbaugh, I. Jacobson, and E. Booch, The Unified
Modeling Language Reference Manual . Reading, MA:Addison-Wesley, 1999.
Web.
top related