exposeuml2014 2015 new
TRANSCRIPT
-
8/17/2019 ExposeUML2014 2015 New
1/135
1
Modélisation Orienté ObjetUML
M.AFILAL
-
8/17/2019 ExposeUML2014 2015 New
2/135
M.AFILAL 2
Objectif du cours
Objectif du cours:
– la modélisation des logiciels, qui doivent réondre ! un besoin d"un client, en utilisantUML
– #"est our cela, on commence ar donner des définitions et certaines caractéristiquesde ce que c"est un logiciel.
– $uis, de définir ce que c"est la notion de génie logiciel, ses roblématique et sarelation avec la qualité de construction d"un logiciel.
– $uis, on arlera de c%cle de vie d"un logiciel avec ses différents t%es: traditionnel etobjet.
– &t enfin, introduire la raison du c'oi( de la modélisation en uml ainsi que ses rinciau( diagrammes
qui ermettent de caturer les caractéristiques d"un logiciel our c'aque 'ase deson c%cle de vie )son c%cle de déveloement*
-
8/17/2019 ExposeUML2014 2015 New
3/135
-
8/17/2019 ExposeUML2014 2015 New
4/135
-
8/17/2019 ExposeUML2014 2015 New
5/135
M.AFILAL 5
Les différentes catégories de logiciel
Logiciel ! tems réel )real time* – 2%st-mes de contr8le et de surveillance – Maniulent et contr8lent le matériel tec'nique – 1éaction immédiate requise – &nvironnement contraignant
Logiciel de traitement de données )data rocessing*
– Ils stoc9ent, rec'erc'ent, transforment et résentent linformation au( utilisateurs – 3randes quantités de données avec des corrélations comle(es, enregistrées dans les
bases de données – Largement utilisés en administration des affaires – Fiabilité des résultats – 2écurité dans l"acc-s au( données
uelques fois les ; asects sont résents dans un logiciel
-
8/17/2019 ExposeUML2014 2015 New
6/135
M.AFILAL 6
La nature du logiciel
Le logiciel est facile ! reroduire )coier ou calquer*
– me des informaticiens eu qualifiés euvent arriver ! bricoler quelque c'ose qui semblefonctionner – La qualité d"un logiciel n"est as aarente )validité, 1obustesse, e(tensibilité,
réutilisabilité, ortabilité, facilité d"utilisation*
-
8/17/2019 ExposeUML2014 2015 New
7/135
M.AFILAL 7
La nature du logiciel
Un logiciel semble facile ! modifier –
La tentation est forte d"effectuer des c'angements raides sans vraiment en mesurer la ortée et les conséquences
Un logiciel ne s"use as – Il se détériore ! mesure que des c'angements sont effectués
en raison de l"introduction d"erreurs
ou ar une comle(ification e(cessive
1emarque: – ?eaucou de logiciels sont mal con@us et se détériorent raidement – La demande our du logiciel est toujours croissante)donc croissance des difficultés,
donc robl-mes dans les 'ases d"anal%se et de concetion* – Un logiciel, comme le matériel, eut mourir B )retrait de service* et devenir obsol-te
)ar e(emle le assage ! l"an ;CCC*.
-
8/17/2019 ExposeUML2014 2015 New
8/135
M.AFILAL 8
La nature du logiciel
1aisons our lesquelles le logiciel vieillit : – Maintenance )bug fi(es* –
Drosion arc'itecturale )lécart entre larc'itecture révue et son imlémentation finale*es difficultés tec'niques euvent survenir endant limlémentation
Le déveloeur se rend comte quun c'oi( tec'nologique , établie au début ourl"arc'itecture révue, ne arviendra as ! atteindre les objectifs désirés du rojet.
– Infle(ibilité )rigide* d-s le début – ocumentation insuffisante ou inconsistante – Manque de modularité
– #omle(ité croissante, 0
Un logiciel est fiable s"il : – 1éond au( sécifications
La sécification établit ce que le s%st-me )ou logiciel* doit faire )le UOI* et les contraintessous lesquelles il doit oérer
– Ee roduit jamais de résultat erroné – Ee jamais entrer dans un état inco'érent )?oucle infinie. Arr>t brutale d"un rocessus de calcul,
eut mener ! l"utilisation de données non correctes, ce qui fait que les résultats attendus ar les%st-me seront ine(actes *
– 1éagir de fa@on sensée et utile en résence d"une situation inattendue
-
8/17/2019 ExposeUML2014 2015 New
9/135
M.AFILAL 9
Le 3énie Logiciel +
Art de roduire du logiciel – Art de sécifier, concevoir, réaliser, et de faire évoluer, avec des mo%ens et dans des
délais raisonnables, des rogrammes, des documentations, et des rocédures de qualitéen vue d"utiliser un ordinateur our résoudre certains robl-mes.
Art de bien faire de bons Logiciel – Art : tec'nique, créativité, est'étique,0 – ?ien faire : réussite, rentabilité,0 – ?ons : erformance, fiabilité,0
&n génie Logiciel, on arle de rocessus de déveloement de logiciels et de gestion de rojets, dans les quels, on trouve: – 3estion du ersonnel :
&fforts ) travail fourni ar les intervenants dans le rojet* – 3estion des ressources :
#o=ts )co=t associé au rojet* – Asects tec'niques :
#oncetion et 1éalisation )des rocessus de déveloement de logiciel* – #ontraintes de réalisations :
$lanification
-
8/17/2019 ExposeUML2014 2015 New
10/135
M.AFILAL 10
Le 3énie Logiciel +
Les oints communs dans la construction des logiciels en 3énie Logiciel: –
-
8/17/2019 ExposeUML2014 2015 New
11/135
M.AFILAL 11
Le génie logiciel 6 Origine
Origine : Aaru en GH, devant les insatisfactions générales en mati-re de logiciel : – Fiabilité douteuse – éassement des délais – éassement des co=ts – &rreurs résiduelles ersistantes )erreurs dans le codage ar e(emle: résultat non
attendu ar l"utilisateur* – 2ensibilité au( erreurs 'umaines, au( annes matérielles
– ifficultés de conversion, de mise en Juvre )mise en action dans la situation normale* – ifficultés dévolution – + – #omle(ité croissante du logiciel )comle(ité dans l"anal%se et la concetion* – #o=t croissant lié en grande artie ! la maintenance )e(cessive* – +
– #riticité des secteurs dactivité )secteur sensible: aviation, militaire, nucléaire0*
-
8/17/2019 ExposeUML2014 2015 New
12/135
M.AFILAL 12
Le génie logiciel 6 1isques
1isques majeurs du déveloement logiciel
– 1isques 'umains:défaillance du ersonnelKsurestimation des cométencesKtravailleur solitaire, 'érosme, manque de motivation
– 1isques rocessus as de gestion de rojetcalendrier et budget irréalistes Kcalendrier abandonné sous la ression des clientscomosants e(ternes manquantsKt/c'es e(ternes défaillantes K
insuffisance de donnéesKvalidité des besoins Kdéveloement de fonctions inaroriéesKdéveloement dinterfaces utilisateurs inaroriées.
-
8/17/2019 ExposeUML2014 2015 New
13/135
M.AFILAL 13
Le génie logiciel 6 1isques
1isques majeurs du déveloement logiciel
– 1isques tec'nologiques roduit miracle, laqué or : roduit non rentableK
c'angement de tec'nologie en cours de routeK
robl-mes de erformanceK
e(igences démesurées ar raort ! la tec'nologieK
incomré'ension des fondements de la tec'nologie.
-
8/17/2019 ExposeUML2014 2015 New
14/135
M.AFILAL 14
uelques statistiques
Dtude du gouvernement américain en GNG –
$a%és mais jamais livrés PQ – Livrés mais jamais utilisés 7CQ – Abandonnés ou refaits ;CQ – Utilisés ar-s modification 7Q – Utilisés tel quel ;Q
erreurs de définition.
erreurs de codage
$art des erreurs36%
64%
-
8/17/2019 ExposeUML2014 2015 New
15/135
M.AFILAL 15
uelques statistiques
Dtude du gouvernement américain sur 7C rojets de fabrication de logiciel en 1995 –
2ucc-s: HQ – $roblématique: P7Q )budget ou délais non resectés, défaut de fonctionnalités* – Dc'ec: 7Q )rojets abandonnés*
1emarque – Le tau( de succ-s décroit avec la taille des rojets et la taille des entrerises
-
8/17/2019 ExposeUML2014 2015 New
16/135
M.AFILAL 16
Les crit-res de qualité d"un logiciel
4alidité : – #onformité dun logiciel avec sa sécification
1obustesse:
– #aacité ! fonctionner m>me dans des conditions anormales&(tensibilité: – Facilité dadatation ! des c'angements de sécifications
1éutilisabilité: – #aacité ! >tre réutilisé en tout ou artie dans un nouveau logiciel
#omatibilité: – Les éléments du logiciel euvent >tre combinés ! d"autres logiciel sans robl-mes.
&fficacité: – Utilisation otimale des ressources matérielles )erformant : tems de réonseK sans
gasillage de ressources informatiques : mémoire, unité centrale*$ortabilité: – Facilité de transfert dans différents environnements
4érifiabilité: –
Facilité de réaration des rocédures de validationIntégrité: – Atitude ! rotéger codes et données
Facilité dutilisation: – installation, arentissage, de voir ses résultats raidement comris, – interface utilisateur aroriée : aide en ligne
-
8/17/2019 ExposeUML2014 2015 New
17/135
M.AFILAL 17
#%cle de vie d"un logiciel +
Le déveloement d"un grand s%st-me logiciel rend un tems considérable – Aussi, il est révu our >tre utilisé endant longtems
#"est our cela, on identifie un certain nombre d"étaes dans la ériode de déveloement – #es étaes constituent le c%cle de vie du logiciel
éfinition )c%cle de vie d"un logiciel*:
– #"est le rocessus qui couvre le déroulement des 'ases de déveloement, dedistribution et de disarition d"un logiciel
onc, un logiciel est le résultat d"un rocessus d"élaboration constitué – d"une suite d"étaes ou 'ases a%ant our objectifs de asser du UOI )2écification*
au #OMM&E< )#oncetion*.
#'aque 'ase utilise des roduits en entrée et gén-re des roduits en sortie, quisont utilisés dans les 'ases ultérieures.
-
8/17/2019 ExposeUML2014 2015 New
18/135
M.AFILAL 18
#%cle de vie d"un logiciel +
1emarque: –
Il n"e(iste as de rocessus idéal. – La luart des entrerises adate les rocessus e(istants ! leurs besoins. – #es besoins varient en fonction du domaine, des contraintes de qualité, des ersonnes
imliquées.
#e qui est essentiel, c"est de comrendre quel est le r8le de c'acun dans ce rocessus et d"en saisir les rouages.
L"étude et la ratique de rocessus e(istants doit ermettre de forger un regardaiguisé )et m>me critique* sur ces rocessus.
-
8/17/2019 ExposeUML2014 2015 New
19/135
M.AFILAL 19
#%cle de vie d"un logiciel
Objectifs
– MaRtriser les co=ts en terme de délai et de budget – MaRtriser les risques – Avoir une qualité conforme au( e(igences – #"est la feuille de route du déveloement logiciel – Le c%cle de vie est fortement lié ! l"assurance qualité
Il faudra en ermanence assurer la vérification et la validation – 4érification : &st6ce que nous construisons bien le roduit +
$ermet dassurer que la qualité lanifiée dans le logiciel est mise en Juvre.
logiciel fait ce qui est attendu de lui as d"état inco'érent B: ce qui est attendudes fonctionnalités on le trouve comme résultat final.
– 4alidation : &st6ce que nous construisons le bon roduit + Le logiciel réond au( e(igences fonctionnelles et non fonctionnelles desutilisateurs B donc ! la sécification demandée.
-
8/17/2019 ExposeUML2014 2015 New
20/135
M.AFILAL 20
Le rocessus idéal our le déveloement d"un logiciel
Le rocessus de déveloement d"un logiciel doit ermettre de: – ?ien comrendre les demandes et e(igences des utilisateurs finau(.
– ?ien communiquer avec le client.
–
-
8/17/2019 ExposeUML2014 2015 New
21/135
M.AFILAL 21
Le rocessus d"un logiciel
le rocessus du logiciel )soft5are rocess* – est un ensemble structuré des activités )des étaes* et leurs résultats m-nent ! la
réalisation ou modification dun roduit logiciel.
&(emle des étaes:
– &(ression des besoins utilisateur
– sécification,
– anal%se,
– concetion,
– imlémentation ou déveloement,
– intégration,
– validation et vérification,
-
8/17/2019 ExposeUML2014 2015 New
22/135
M.AFILAL 22
éfinitions
&(ression des besoins : –
-
8/17/2019 ExposeUML2014 2015 New
23/135
M.AFILAL 23
éfinitions
2écification : – #e que le s%st-me doit >tre, doit faire et comment il eut >tre utilisé )donne un manuel
d"utilisation *:#"est une descrition du future s%st-me. – Les données:
1ésultat de l"e(ression des besoins T considérationstec'nique/faisabilité informatique
– 1ésultat:
2écification tec'nique des besoins )&(emle: lenvironnement delalication, les cas dutilisations de c'aque fonctionnalités, lanormalisation des données, la modélisation du flu( des données, lesmaquettes décrans ... etc...*
$oint de déart au déveloement
#"est la version manuelle de référence T comlément de manueld"utilisation )voir artie d"e(ression des besoins*
Un ca'ier des c'arges finalisé: sans ambiguté et sans redondance
-
8/17/2019 ExposeUML2014 2015 New
24/135
-
8/17/2019 ExposeUML2014 2015 New
25/135
M.AFILAL 25
éfinitions
La concetion : )ou le commentV: rise en comte des contraintes tec'niques* – $ermet d"identifier la meilleur fa@on d"imlémenter les e(igences fonctionnelles du
s%st-me tout en resectant les contraintes non fonctionnelles )budget, délais, ..*
– &lle consiste ! aorter des solutions tec'niques au( descritions définies lors del"anal%se :
Arc'itecture tec'nique )matériel et logiciel, ainsi que de lorganisation de ses
éléments constitutifs*, erformances et otimisation, robustesse et stratégie de rogrammation. )reuve de la qualité du logiciel*
– On % définit les structures )les données, les classes*, les algorit'mes, les interfaces)lus de détailles que dans l"anal%se*.
– $ermet de revoir la notion de faisabilité du s%st-me
L"imlémentation : – #"est la réalisation de la rogrammation.
-
8/17/2019 ExposeUML2014 2015 New
26/135
M.AFILAL 26
éfinitions
Intégration :
– Assembler tout ou une artie des comosants logiciels afin d"obtenir un s%st-mee(écutable.
4alidation: – $ermet de s"assurer que le s%st-me obtenu réond ! l"attente des utilisateurs et au(
contraintes de leur environnement.
#eci via le résultat de l"anal%se des besoins effectuée et l"insection de lasécification globale du s%st-me
-
8/17/2019 ExposeUML2014 2015 New
27/135
M.AFILAL 27
éfinitions
4érification – $ermet de s"assurer que le déveloement est correcte via:
es insections des sécifications définies au déart,es vérifications de rogrammes:
– de reuve et de teste
Le
-
8/17/2019 ExposeUML2014 2015 New
28/135
M.AFILAL 28
Les différents c%cles de vie our un logiciel
éfinition: – Le c%cle de vie our un logiciel est l"ensemble des 'ases ermettant sa construction,
en commen@ant ar l"établissement des besoins du client jusqu"! l"ac'-vement du logiciel en tant que roduit commercial.
Il e(iste lusieurs aroc'es du c%cle de vie d"un logiciel, armi elles, on a: – l"aroc'e traditionnelle, – l"aroc'e objet.
Aroc'e traditionnelle: – $our cette aroc'e, il e(iste deu( t%es imortants, de c%cle de vie d"un logiciel:
le mod-le en #ascade )le mod-le cascade deau ou linéaire* le mod-le en W 4 X.
Le mod-le en #ascade: – il décrit un c%cle de vie linéaire.v
4ersion actuelle du c%cle en #ascade
-
8/17/2019 ExposeUML2014 2015 New
29/135
M.AFILAL 29
4ersion actuelle du c%cle en #ascade
Teste Système
Teste D’acceptation
Teste unitaire
vérification
validation
validation
validationExpression desesoins
Spécifications
!nalyse
"onception
#mplémentation
Teste devérification
$alidation
%aintenance etévolution
"orrection
"orrection
"orrection
"orrection
"orrection
-
8/17/2019 ExposeUML2014 2015 New
30/135
M.AFILAL 30
#%cle de vie en cascade ou linéaire : caractéristiques
#e c%cle est caractérisé ar une séaration stricte des étaes
On a une interaction seulement entre les étaes successives – Le mod-le inclut l"itération et la rétroaction )feedbac9*. – Les boucles de rétroaction ermettent de modifier l"étae récédente. – Les fl-c'es montantes e(riment qu"une 'ase ne remet en cause que la 'ase
récédente:&n ratique: il % a toujours des robl-mes qui se roagent de bas en 'aut.
#'aque étae est comlétée ! une certaine date ar: – La roduction de certains documents d"accomlissement )ce qu"a était fait* our le
logiciel.
– Les résultats d"une 'ase sont soumis ! une revue arofondie, et on ne asse ! la 'asesuivante que quand ils sont jugés satisfaisants.
2ac'ant qu"une étae est structurée en un ensemble dactivités ouvant se(écuteren arall-le ar lusieurs ersonnes
-
8/17/2019 ExposeUML2014 2015 New
31/135
M.AFILAL 31
#%cle de vie en cascade ou linéaire : caractéristiques
Facile ! gérer – Le mod-le est facile ! comrendre et ! utiliser
Les s%st-mes sont sécifiés )leurs besoins* avant leur concetionLes comosants du s%st-me sont con@us avant leur imlémentation.
– Les étaes clés sont bien définis )les étaes*.
Facile ! maintenir – ans c'aque étae les accomlissements )ce qui fait* sont e(licitement documentés.
# l d i d li é i l li it
-
8/17/2019 ExposeUML2014 2015 New
32/135
M.AFILAL 32
#%cle de vie en cascade ou linéaire : les limites
la séaration des étaes est tro stricte et infle(ible – On doit traiter coml-tement une étae avant de commencer l"étae suivante.
#eci renvoie les tests de vérification et de validation en fin du rocessus dedéveloement.
– 2"il % a des erreurs, les retours seront comliqués et co=teraient c'ers )enargent et en tems*.
– Les étaes sont tr-s artificielles, il est souvent difficile de déterminer la fin d"une
étae.
Le mod-le est seulement arorié quand les e(igences )les besoins des utilisateurs* sont bien définies. – Il est rares que le client uisse fournir toutes les sécifications d-s le début du rojet:
les e(igences c'angent constamment
– #"est difficile de c'anger les sécifications quand le rocessus est en cours
l d i d li i l li i
-
8/17/2019 ExposeUML2014 2015 New
33/135
M.AFILAL 33
#%cle de vie en cascade ou linéaire : les limites
Le mod-le ne ermet as la construction des rotot%es )un e(écutable d"une artie dulogiciel*
– Le client ne voit as le roduit résultant avant la fin du rojet, – Le client ne eut rien utiliser avant que le s%st-me soit comlet
-
8/17/2019 ExposeUML2014 2015 New
34/135
M.AFILAL
#%cle de vie en 4 d un logiciel
Expression des esoins
"onception du système
"onception des composants
#mplémentation
Tests des composants
Tests du système&inté'ration(
$alidation fonctionnelleSpécifications fonctionnelles
$alidation des esoins
vérification
vérification
validation
certification
)e système est ilconforme au ca*ie des c*ar'es
)e système est il"onforme , l’analyDes fonctionnalités
)es différentes partiesdu lo'iciel fonctionnentelles correctementensemle
-our un o.et c*a0uepération fonctionne2t2ellecorrectement
S’accorder sur la manièredont le système doit 3treconstruit
S’accorder sur la manière dont c*a0uecomposant doit 3tre construit
"omprendre lesesoins les décriredans le système
S’accorder sur ce
0ui doit 3tre faitdans le système
-*ase de spécificationset de conception
-*ase de tests et devalidation
#%cle de vie en W 4 X d"un logiciel
-
8/17/2019 ExposeUML2014 2015 New
35/135
M.AFILAL 35
#%cle de vie en 4 d un logiciel
Le mod-le en W4X: )amélioration du mod-le en cascade*
– Avant de terminer c'aque étae d"anal%se ou de concetion )étae fonctionnelle* uneétae de tests ou de vérification ou de validation )étae tec'nique*, via un document,doit >tre e(écutée ou construite, ce qui donne une assurance de 0ualité
-
8/17/2019 ExposeUML2014 2015 New
36/135
M.AFILAL 36
#%cle de vie en 4 d un logiciel
Il met en évidence: – La nécessité danticier et de réarer dans les étaes descendantes les attendus des
futures étaes montantes :Ainsi, – les attendus des tests de validation sont définis lors des sécifications, – les attendus des tests unitaires sont définis lors de la concetion, etc.
– $ar e(emle:
! lissue de la concetion du s%st-me, le rotocole et les jeu( de teste delintégration doivent >tre coml-tement décrits.
– #eci évite d"énoncer une roriété imossible ! vérifier objectivement unefois le logiciel réaliser
#omme our le mod-le en #ascade, l"inconvénient est que :
– La validation et les tests interviennent tardivement )'ase d"intégration*.
– Il faut que l"ensemble des besoins soit arfaitement connu et le robl-mecoml-tement comris ar les anal%stes.
1emarques our les deu( derniers t%e de c%cle de vie
-
8/17/2019 ExposeUML2014 2015 New
37/135
M.AFILAL 37
1emarques our les deu( derniers t%e de c%cle de vie
$as de tra@abilité entre les étaes: – les concets ou les discours utilisés dans les différentes 'ase )anal%se, concetion,
imlémentation* du rojet sont différents.on utilise une mét'ode d"anal%se et de concetion avec des concets et unlangage de rogrammation avec d"autres concets.
Il est démontré que:
#orriger une anomalie lus tard co=te C6CC fois lus que de la corriger ! sonorigine.Les roduits avec le moins d"anomalies ont les délais les lus courts.
La mauvaise qualité est la raison la lus courante de déassement des délais.
La correction des anomalies consomme C6PC du co=t total.
HCQ des anomalies e(istent au moment de la concetion.
#onclusion:
$erte de tems, de l"argent et client mécontent ou insatisfait.
Le c%cle de vie Objet
-
8/17/2019 ExposeUML2014 2015 New
38/135
M.AFILAL 38
Le c%cle de vie Objet
ans un rojet Objet, le c%cle de vie doit réondre ! trois caractéristiques essentielles :
La tra@abilité entre les étaes.
Un c%cle itératif et incrémental.
La tra@abilité entre les étaes : – Les concets utilisés au cours des différentes étaes sont quasiment identiques )#lasses,Objets, Attributs, Mét'odes, Yéritage, $ol%mor'isme, ...*.
– #eci ermet de conserver le m>me discours lors de toutes les étaes : Anal%se 6 #oncetion 6 Imlémentation B.
Le c%cle de vie Objet: Les lus imortant concets
-
8/17/2019 ExposeUML2014 2015 New
39/135
M.AFILAL 39
Le c%cle de vie Objet: Les lus imortant concetsde l"aroc'e Objet
Un objet est une entité formée ar:
– Les données )les attributs avec leur valeur* – es comortements )des mét'odes * qui agissent sur ces données )notion de
sécialisation des fonctions*.Objet Z Mét'odes T Attributs Wavec leur valeur ! un moment de l"alication
&(emle d"objets de la vie courante:
– un télé'one, ville, cafeti-re, fic'es de aie, le bulletin de salaire, l"emlo%é,l"emlo%eur, la date d"émission, etc.. B.
Le c%cle de vie Objet: Les lus imortant concets
-
8/17/2019 ExposeUML2014 2015 New
40/135
M.AFILAL 40
% j de l"aroc'e Objet
grosminet
titi
garfield
1>ve
oursuit
oursuit
mange
arle
CHCPCC7C;
CC;C7CCP
C;C7CCPCH
CCN?&[CH
P?&[G
;7#&G
CC6F6\
-
8/17/2019 ExposeUML2014 2015 New
41/135
M.AFILAL 41
de l"aroc'e Objet
Un objet est caractérisé ar:
– Les services roosés: se sont les mét'odes de l"objet – ses c'ams, son Dtat et son nom.
les attributs – Information qui qualifie l"objet qui le contientK – $eut >tre une constante.
Dtat )attributs T valeurs* – 4aleurs instantanées de tous les attributs d"un objet – Dvolue au cours du tems – éend de l"'istoire de l"objet
M.Afilal
comteCC : #omte?ancaireAttribuvariableAttribu
constant
Identitéd"objet
solde : CebitAutorise :
Le c%cle de vie Objet: notion classe
-
8/17/2019 ExposeUML2014 2015 New
42/135
M.AFILAL 42
Le c%cle de vie Objet: notion classe
Une classe est un t%e de données abstrait, caractérisé ar des roriétés )attributs etmét'odes* communes ! des objets et ermettant de créer des objets ossédant ces roriétés.
Une classe est: – une descrition d"un ensemble d"objets a%ant des attributs, des mét'odes et des
relations en communs. – Un mod-le ! artir duquel seront construit les objets crées ar le s%st-me.
Un objet est une instance d"une classe.
Une classe est rerésentée, en UML, ar:
– son nom, la liste de ses attributs et de ses mét'odes, – c'aque attribut ou mét'ode eut >tre qualifié avec des s%mboles : les modificateurs
d"acc-s
!ttriuts
pérations
4om de la classe "ompteancaire
6 solde
+ deposer&(+ retirer&(
private
pulic
protected7 num"ompte
Le c%cle de vie Objet: Les lus imortant concets
-
8/17/2019 ExposeUML2014 2015 New
43/135
M.AFILAL 43
de l"aroc'e Objet
&ncasulation des données. – #eci signifie quil nest as ossible our lutilisateur d]un objet, daccéder directement
au( données )les modes d"acc-s rotected, rivate ou autres*.
– L"utilisateur doit asser ar des mét'odes sécifiques écrites ar le conceteur delobjet, et qui servent dinterface entre lobjet et ses utilisateurs.
– Lintér>t de cette tec'nique est évident.Lutilisateur ne eut as intervenir directement sur les données d"un objet, ce quidiminue les risques derreur, ce dernier devenant une boRte noire.&(emle: – #'anger le sommet d"une liste ! ^éro, sac'ant qu"on a déj! des données
stoc9ées dans cette liste ) erte d"information*
– &n général, cela ermet de rotéger les variables membres contre des modificationsinco'érentes
Yéritage. – L"'éritage ermet la définition dune nouvelle classe ! artir dune classe e(istante.
Il est alors ossible de lui adjoindre de nouvelles fonctions membres )mét'odes*
Le c%cle de vie Objet: Les lus imortant concets
-
8/17/2019 ExposeUML2014 2015 New
44/135
M.AFILAL 44
de l"aroc'e Objet
$ol%mor'isme
– Le ol%mor'isme rerésente la faculté dune m>me oération de se(écuterdifféremment suivant le conte(te de la classe o_ elle se trouve.
Ainsi, une oération définie dans une suerclasse eut se(écuter de fa@ondifférente selon la sous6classe o_ elle est 'éritée.
&(emle :
– &(écution dune oération de calcul des salaires dans ; sous6classes sécialisées : une our les cadres, lautre our les non6cadres. )création de tableau de &mlo%es uisael de la fonction*
1emarque: – Le ol%mor'isme augmente la généricité du code.
Le c%cle de vie Objet
-
8/17/2019 ExposeUML2014 2015 New
45/135
M.AFILAL 45
Le c%cle de vie objet d"un rojet est divisé en un ensemble de mini rojets qui sontaelés des incréments.
Un incrément est un ensemble de c%cles de déveloements conduisant ! certainesfonctionnalités comré'ensibles et utilisables du logiciel ! construire
– A la fin dun incrément, certains scénarios et e(igences ont été con@us, ce qui ermetd"avoir une artie du logiciel
testable,e(écutable
et qui sera intégrée au no%au du logiciel #'aque incrément est subdivisé en un ou lusieurs itérations.
Une itération est un c%cle de déveloement dun ou lusieurs cas dutilisation )ou defonctionnalités*
– A la fin dune itération, lusieurs scénarios ou e(igences ont été con@us et réalisés
)testable, e(écutable et intégrable* – #'aque itération comrend les 'ases de sécification des besoins, danal%se, deconcetion et des testes – #'aque itération corresond ! un mini c%cle de vie en 4 ar e(emle B.
Le c%cle de vie Objet
-
8/17/2019 ExposeUML2014 2015 New
46/135
M.AFILAL 46
% j
Une itération se déroule le lus souvent dans un tems limité
Une nouvelle itération eut >tre causée, ar e(emle, ar une modification des
sécifications our un comosant.
L"ordonnancement )l"ordre* des itérations est basé sur les riorités entre les casd"utilisation )ou scénarios* et l"étude des risques.
&(emle de risques: – éfaillance de ersonnel, calendrier et budget irréalistes, déveloement de fonctionsinaroriées. – éfaut de concetions, &(cetions ou erreurs des scénarios, déveloementd"interfaces utilisateurs inaroriées. –
-
8/17/2019 ExposeUML2014 2015 New
47/135
M.AFILAL 47
Expression des esoins
Spécifications fonctionnelles
"onception !nalyse
#mplémentation
Tests de vérification
$alidation des esoins
#%cle d"un incrément
-
8/17/2019 ExposeUML2014 2015 New
48/135
M.AFILAL 48
……Itération:
Anal%se #oncetion #odeT
-
8/17/2019 ExposeUML2014 2015 New
49/135
M.AFILAL 49
10
1
3
24
5
6 7
8
9
Dvaluation d"une itération
-
8/17/2019 ExposeUML2014 2015 New
50/135
M.AFILAL 50
6 On regarde le lan de l"itération E: du oint de vu des scénarios ! faire, leur co=t entems, ersonnes et argent
;6 On c'oisie ce que doit >tre fait dans cette itération76 4ia ce qu"a été décidé dans 6;6, on regarde le lan des risques )ce qui va >tre enlevé, ce
qui eut >tre ajouté, l"ordre des tac'es ! traiter*6 4ia cela, il % a ercussion sur le – co=t )ajout de formation ou de ersonnes qualifiées ou équies ou autres* – délais )le tems que rend l"itération en fonction des risque et de la difficulté des c'oi(des tac'es ! faire*
P6 Le lan du rojet est révisé car – le délais eut >tre augmenté ou diminué – le co=t en argent et en ersonne eut >tre augmenté ou diminué – le contenu des tac'es eut >tre augmenté ou diminuéH6 On regarde la qualité des travau( effectués concernant les tac'es de l"itérationN6 On regarde les risques enlevés ou ajoutés6 Mise ! jour du lan générale )les tac'es terminées et intégration si c"est ossible*
G6 #onstruction des scénarios ! réaliser our la roc'aine itération ETC6 On regarde le lan ET et en recommence les m>mes étaes citées avant.
#%cle itératif et incrémental
-
8/17/2019 ExposeUML2014 2015 New
51/135
M.AFILAL 51
Le c%cle de vie itératif et incrémental se base sur des itérations successives, issus dec'aque incrément.
–
#'aque incrément ajoute de nouvelles fonctionnalités
– Le s%st-me logiciel final grandit de fa@on incrémentale.
– Le s%st-me final sera comlet ar-s lusieurs incréments
1emarque: – ans Le c%cle itératif et incrémental, on a des versions e(écutables intermédiaires
fréquentes.Lidée est de livrer au lus t8t quelque c'ose qui uisse >tre testé ar le client, cequi lui ermettra de voir l"état d"avancement du rojet.
#omme les besoins du client c'angent ou, our le moins, saffinent au fil du rojet. – #eci ermet de détecter ces c'angements au lus t8t et de les intégrer
)intégration rogressive des évolutions * dans l"alication.
Le c cle de vie itératif et incrémental est en 'ase avec la réalité car il ermet la
Le c%cle de vie Objet
-
8/17/2019 ExposeUML2014 2015 New
52/135
M.AFILAL 52
Avantages: – #'aque déveloement est moins comle(e – Les intégrations sont rogressives
– Livraisons et mise en service ossibles ar-s c'aque intégration d"incrément. – $ermet de mieu( lisser dans le tems l"effort de déveloement et les effectifs. – 2ouvent utilisé our de grands rojets.
1emarque: – Au début du rojet, il faut faire:
Une sécification globale du no%au, des incréments et de leurs interactions.
es incréments aussi indéendants que ossible )aussi bien fonctionnellementqu"au niveau des calendriers de déveloement*.
Lors du déveloement, une réalisation d"une maquette our valider l"ergonomie
)clarté et facilité d"utilisation des interfaces ar e(emle* de l"alication etl"enc'aRnement des écrans.
$lusieurs versions euvent >tre déveloées. Lors de c'acune d"elle, c'aquefonctionnalité est améliorée jusqu"! otimisation rendant ainsi le s%st-mero ressivement robuste c cle itératif .
Langage de modélisation visuelle
-
8/17/2019 ExposeUML2014 2015 New
53/135
M.AFILAL 53
L"aroc'e objet est donc une solution arfaite our déveloer un logiciel qui est enadéquat avec la réalité
#omment alors aliquer les concets objet our décrire la structure objet d"un s%st-me +.
La solution est un langage caable: – d"e(rimer les concets objet qu"on va utiliser, our ouvoir:
1erésenter des concets abstraits )gra'iquement ar e(emles 0*
Limiter les ambigutés )arler un langage commun entre client et conceteur*Faciliter l"anal%se )simlifier la comaraison et l"évaluation de solutions*
– "avoir une m>me démarc'e d"anal%se et de concetion objets, our: Ee as effectuer une anal%se fonctionnelle et se contenter d"une imlémentationobjet, mais enser objet d-s le déart )tra@abilité entre les étaes*.
éfinir les vues qui ermettent de couvrir tous les asects d"un s%st-me, avec desconcets objets.
La solution UML
-
8/17/2019 ExposeUML2014 2015 New
54/135
M.AFILAL 54
La solution est donc un langage qui ermet d"enregistrer nos ensées et communiquer enutilisant des langages visuels et sc'ématiques:
&(emle: UML.
La raison du c'oi( du langage visuels est qu"au moins PCQ de notre cerveau est imliquédans le rocessus visuel.
Les langages visuels sont naturels et faciles our notre cerveau.
#"est quoi et ourquoi UML +.
La solution UML
-
8/17/2019 ExposeUML2014 2015 New
55/135
M.AFILAL 55
UML )Unified Modeling Language* est un langage de construction de mod-le ! objet.
UML est un langage de modélisation )donc une notation* standard con@u our l"écriture de
lans de construction de logiciels objet.
Il ermet de caturer les caractéristiques d"un s%st-me et de les e(rimer ! l"aide denotations récises : des diagrammes.
Les mét'odes objets OM
-
8/17/2019 ExposeUML2014 2015 New
56/135
M.AFILAL 56
UML est une notation gra'ique con@ue our: – rerésenter, sécifier, construire et documenter les s%st-mes logiciels.
2es deu( rinciau( objectifs sont: – la modélisation de s%st-mes en utilisant les tec'niques orientées objets, de la
concetion jusqu"! la maintenance.
– la création d"un langage abstrait comré'ensible ar l"'omme et interrétable ar les
mac'ines.
Il ermet de construire lusieurs mod-les d"un s%st-me, c'acun mettra en valeur des asectsdifférents: – fonctionnels, statiques, d%namiques et organisationnels
La solution UML
-
8/17/2019 ExposeUML2014 2015 New
57/135
M.AFILAL 57
Les grandes qualités qui font que UML est un langage incontournable : – UML est un langage de modélisation objet.
– UML est comosé de modules )diagrammes* utilisables indéendamment les uns desautres et qui e(riment les caractéristiques du s%st-me au cours de son c%cle de vie.
– UML n"est lié ! aucune tec'nologie ou aucun langage et eut donc >tre utilisé our
n"imorte quel t%e de déveloement.
– UML est dans le domaine ublic.
– UML rend le meilleur de c'acune des mét'odes le récédant :
OO2& )[acobson* : cas d"utilisation KOM< )1umbaug'* : anal%se K?ooc' : concetion, arc'itecture.
La solution UML et rael
-
8/17/2019 ExposeUML2014 2015 New
58/135
M.AFILAL 58
Le but de la construction d"un logiciel est de réondre au( besoins des utilisateurs quidéfinissent en outre ces limites.
-
8/17/2019 ExposeUML2014 2015 New
59/135
M.AFILAL 59
#'aque s%st-me ! modéliser résente des caractéristiques de natures différentes au coursde son c%cle de vie, c"est our cela, on a: – un diagramme UML arorié qui est emlo%é our c'aque 'ase.
Afin de ouvoir caturer, anal%ser et sécifier ses caractéristiques.
Les neuf rinciau( diagrammes sont:iagramme des cas d"utilisationiagramme de classesiagramme d"objets
iagramme de communicationiagramme de séquencesiagramme d"activitésiagramme d"états6transitionsiagramme de déloiementiagramme des comosants
Les G rinciau( diagrammes UML
-
8/17/2019 ExposeUML2014 2015 New
60/135
M.AFILAL 60
iagramme des cas d"utilisation: – $ermet de décrire les besoins de l"utilisateur final du logiciel
iagramme de classes: – descrition des entités du s%st-me et de leurs relations )structure statique*
iagramme d"objets: – descrition d"instances objets et des lien entre eu( dans un cas articulier
iagramme de communication collaborations B: – descrition des interactions entre les objets
iagramme de séquences: – descrition des séquences d"événements, états et réactions qui doivent survenir dans le
s%st-me )mod-le d%namique*
iagramme d"états6transitions: – descrition de l"évolution au cours du tems d"une instance d"une classe )c%cle de vie
d"un objet* en réonse ! des événements.
Les G rinciau( diagrammes UML
-
8/17/2019 ExposeUML2014 2015 New
61/135
M.AFILAL 61
iagramme d"activité )#as articulier de diagramme d"états : les états rerésentent desactivités* – utilisé our décrire l"algorit'me d"une oération
– focalisé sur les traitements internes et non sur la récetion d"événements e(ternes – il modélise le comortement interne
d"une mét'oded"un cas d"utilisationou d"un rocessus imliquant l"utilisation d"un ou lusieurs classificateurs)'iérarc'ie de classes*
iagramme de déloiement: – escrition de la configuration matérielle du s%st-me )osition c, serveur, 0.*
iagramme des comosants: – Montre les éléments '%siques et leurs déendances
)les éléments '%siques: fic'iers sources, librairies, e(écutables, des codes, des
scrites, un fic'ier de commandes, un fic'ier de données, une table*.
Les G rinciau( diagrammes de UML
-
8/17/2019 ExposeUML2014 2015 New
62/135
M.AFILAL 62
Les neuf diagrammes euvent >tre classés en quatre mod-les: – Le mod-le des classes )le diagramme de classes, diagramme d"objets.*.
– $ermet de rerésenter les concets usuels de l"orienté objet )classes,
interfaces, objet,0.*.
– Le mod-le des états et le mod-le d"interaction )diagrammes d"états6transitions,diagrammes de communication et les diagrammes de séquence.*
– $ermettent de rerésenter la d%namique des objets, sac'ant qu"un instant
donné un objet ! un état.
– Le mod-le des cas d"utilisation. – $ermet de décrire les besoins de l"utilisateur final du logiciel.
–
Le mod-le de réalisation et le mod-le de déloiement, – $our la rerésentation de l"arc'itecture globale du s%st-me et son
déloiement sur les ressources matérielles utilisées )rocesseurs, mémoire,etc*
– moins imortants que les autres mod-les de UML.
&taes du rocessus et diagrammes
-
8/17/2019 ExposeUML2014 2015 New
63/135
M.AFILAL 63
A c'aque étae du rocessus de déveloement, on construit certains des diagrammes récédents :
– écouverte des besoins :iagramme des cas d]utilisationiagramme de séquences
– Anal%se :
iagramme de classesiagramme d"objetsiagramme de communicationiagramme d"états6transitionsiagramme d"activités
– #oncetion :iagramme de séquenceiagramme de déloiementiagramme de comosants
les catégories des diagrammes en UML
-
8/17/2019 ExposeUML2014 2015 New
64/135
M.AFILAL 64
On eut lacer ses diagrammes dans trois catégories de mod-le :
– Le mod-le statique rerésente la structure statique du s%st-me, il contient :Le diagramme des cas d"utilisation.Le diagramme de classes.Le diagramme d"objets.
– Le mod-le d%namique rerésente les différents états, évolutions, transitions dus%st-me au cours de son c%cle de vie, il contient :
Le diagramme d"états.Le diagramme d"activités.Le diagramme de séquences.Le diagramme de communication
– Le mod-le d"imlantation rerésente l"arc'itecture globale du s%st-me et sondéloiement sur les différents matériels, il contient :
Le diagramme des comosants.Le diagramme de déloiements.
iagrammes de UML
-
8/17/2019 ExposeUML2014 2015 New
65/135
M.AFILAL 65
le mod-le des besoins: Acteur
fi i i
-
8/17/2019 ExposeUML2014 2015 New
66/135
M.AFILAL 66
éfinition: – Un acteur est une entité e(terne )utilisateur 'umain, objet, mac'ine, disositif matériel, ou autre
s%st-me* qui interagit directement avec le s%st-me étudié afin de réaliser une t/c'e )unefonctionnalité* roosée ar le s%st-me.
#omment les identifier+ – Les acteurs candidats sont s%stématiquement:
Les utilisateurs 'umain directs: faites en sorte d"identifier tous les rofils ossibles, sansoublier l"administrateur, l"oérateur de maintenance, etc.Les autres s%st-me conne(es qui interagit aussi directement avec le s%st-me étudiée )acteurssecondaires: imrimante 0*.Les entités qui bénéficies de l"utilisation du s%st-me.
L"identification des acteurs ermet de délimiter les fronti-res du s%st-me.
$our trouver les acteurs, demande^6vous qui
– utilise, installe, démarre, maintient ou arr>te le s%st-me. ui obtient etSou qui entre l"information+ – ui donne etSou re@oit des informations de l"alication + – &st6ce que le s%st-me étudié est utilisé ar d"autres s%st-mes+ – ui a besoin de faire quoi avec le s%st-me + etc.
le mod-le des besoins: Acteur
1
-
8/17/2019 ExposeUML2014 2015 New
67/135
M.AFILAL 67
1emarques – La m>me ersonne '%sique eut jouer le r8le de lusieurs acteurs )#'ef d"agence est un client
de la banque*.
– "autres art, lusieurs ersonnes euvent jouer le m>me r8le, et donc agir comme un m>meacteur )lusieurs ersonnes euvent jouer le r8le d"administrateur*.
Un acteur eut >tre rerésenté de deu( mani-res différentes :
– $etit ersonnage )stic9 man*
– #lasse stéréot%ée
1emarque:
– u oint de vue s%st-me, il e(iste deu( rinciau( catégories d"acteurs:les acteurs rinciau( : se sont les déclenc'eurs du cas d"utilisation
les acteurs secondaires, se sont les autres acteurs – le matériel e(terne, comme imrimante – les autres s%st-mes.
Nom Acteur
ActeurVV Eom Acteur
le mod-le des besoins: Acteur
Les acteurs euvent >tre de trois t%es :
-
8/17/2019 ExposeUML2014 2015 New
68/135
M.AFILAL 68
Les acteurs euvent >tre de trois t%es : – Yumains : utilisateurs du logiciel ! travers son interface gra'ique, ar e(emle. – Logiciels : disonibles qui communiquent avec le s%st-me gr/ce ! une interface logicielle )A$I,
O?#, 0* – Matériels : e(loitant les données du s%st-me ou qui sont ilotés ar le s%st-me )Imrimante,
robots, automates, 0*
le mod-le des besoins:Acteur
-
8/17/2019 ExposeUML2014 2015 New
69/135
M.AFILAL 69
Un acteur eut >tre une sécialisation dun autre acteur déj! défini. – ans ce cas, on utilise la relation de généralisationSsécialisation.
Acteur général
Acteur spécialisé
le mod-le des besoins: cas d"utilisation
éfinition
-
8/17/2019 ExposeUML2014 2015 New
70/135
M.AFILAL 70
éfinition – Un cas d"utilisation rerésente l"interaction entre un acteur et le s%st-me. – Il réalise un service de bout en bout, avec un déclenc'ement, un déroulement et une fin our
l"acteur qui l"a initié.
– 1erésente une fonctionnalité fonction métier s%st-me mais non une fonction s%st-meB,demandée ar un acteur, qui sera construite dans le s%st-me:#"est un objectif métier récis.
1emarque: – les cas dutilisation doivent avoir un sens our le métier des acteurs. – $our identifier les cas dutilisation, il faut donc se oser les questions :
Mais que va faire cet acteur avec le s%st-me en arrivant le matin au travail+$ourquoi l"acteur démarre t6il le s%st-me, avec quel objectif métier +
&(emle de fonctions métiers 2%st-me – 3érer une commande, consulter un catalogue
&(emle de fonction s%st-me ) fonction * – c'oisir une commande, imrimer un catalogue
-
8/17/2019 ExposeUML2014 2015 New
71/135
iagramme des cas d"utilisation
Le diagramme des cas d"utilisation ermet :
-
8/17/2019 ExposeUML2014 2015 New
72/135
M.AFILAL 72
Le diagramme des cas d utilisation ermet : – e définir le s%st-me ! mettre en Juvre
– e recueillir, d"anal%ser, de modéliser et d"organiser les besoins du client
– "établir la liste des acteurs et leurs r8les resectifs dans le s%st-me.
– de cater les fonctionnalités du s%st-me du oint de vue de l"utilisateur )observateurs
ou utilisateur e(térieur au s%st-me*
– e délimiter les fronti-res du s%st-me )les services que roose le s%st-me*.
– "évaluer l"utilité et des fonctionnalités d"un s%st-me.
– "améliorer la communication dansSentre les équies
– e valider les sécifications du s%st-me étudié
iagramme des cas d"utilisation
t l di l" t t i
-
8/17/2019 ExposeUML2014 2015 New
73/135
M.AFILAL 73
ans un tel diagramme l"accent est mis sur – Le quoi lut8t que sur le comment )quoi comme fonctionnalité et non comment
imlémenter la fonctionnalité*.
Un tel diagramme est comosé d"acteurs reliés ! des cas d"utilisation de l"alication )ou2%st-me*. On % distingue donc : – Le s%st-me étudié ) ou l"alication*. – Les acteurs. – Les cas d"utilisation.
– Les liens entre acteurs et cas d"utilisationuel acteur acc-de ! quel cas d"utilisation +
Les relations des cas d"utilisation ar les acteurs sont aelés communications ouassociations )lignes*
&(emle de diagramme des cas d"utilisation
-
8/17/2019 ExposeUML2014 2015 New
74/135
M.AFILAL 74
iagramme des cas d"utilisation
#e diagramme est utile :
-
8/17/2019 ExposeUML2014 2015 New
75/135
M.AFILAL 75
#e diagramme est utile : – $our déterminer les besoins que doit satisfaire le s%st-me. – #omme mo%en de communication avec le client )non informaticien* du fait de sa
simlicité. – $our générer des suites de tests sur le s%st-meafin de vérifier que le s%st-me réalisé réond au( besoins e(rimés
1emarque – Un acteur rerésente un r8le tenu ar une entité )utilisateur, objet, autre alication, ..*
située ! le(térieur du s%st-meUne m>me entité )utilisateur, ..* eut jouer lusieurs r8les :
éfinir un acteur ar r8le
Associé au diagramme, on établit la descrition du cas d"utilisation : – Le nom du cas d"utilisation. –
Les acteurs. – Les conditions d"entrées. – Les événements. )les scénarios ossibles* – Les conditions de sortie. – Les besoins séciau(. )e(: connection, 0..*
&(emle
ti
-
8/17/2019 ExposeUML2014 2015 New
76/135
M.AFILAL 76
uestions: – 6 1erésenter en UML les deu( cas d"utilisation : allumage ou e(tinction d"une lame
ar un utilisateur.
– ;6 Faites intervenir le réseau électrique dans le cas d"utilisation de l"allumage de lalame1éonse: – Le s%st-me considéré ou étudié est une lame de c'evet. – Les deu( interactions liées au( fonctionnalités du s%st-me sont l"allumage de la lame
et son e(tinction. – L"utilisateur de la lame est un acteur rimaire )ou rinciale*.
Il est bien e(terne au s%st-me qui est la lame B )l"utilisateur ne fait as artiede la lame*.Il interagit avec la lame au travers de deu( cas d"utilisation : allumer et éteindreIl rofite du service donné ar les cas d"utilisation car l"allumage ou sone(tinction de la lame constituent bien des objectifs essentiels our lui.
)ampe
!llumer
8teindreUtilisateur
&(emle
Le réseau électrique est un acteur secondaire :
-
8/17/2019 ExposeUML2014 2015 New
77/135
M.AFILAL 77
Le réseau électrique est un acteur secondaire : – que l"utilisateur de la lame allume ou éteigne cette derni-re n"est as essentielle
our le réseau électrique,
– mais il interagit avec la lame lors de l"allumage en fournissant de l"énergieélectrique nécessaire.
– Il ne rofite as des deu( cas d"utilisation
Lame
!llumer
8teindre
Utilisateur 1éseauélectrique
1elations entre cas d"utilisation
-
8/17/2019 ExposeUML2014 2015 New
78/135
M.AFILAL 78
$our otimiser et clarifier un diagramme des cas d"utilisation, on établit des relations entreles cas d"utilisation:
– La relation d"inclusion. – La relation d"e(tension. – La relation de généralisation.
-
8/17/2019 ExposeUML2014 2015 New
79/135
Inclusion dans les cas d"utilisation
Inclusion – un cas utilise d"autres cas comme sous t/c'e )avec obligation d"e(écution des sous
-
8/17/2019 ExposeUML2014 2015 New
80/135
M.AFILAL 80
) gtac'es*
Le cas d"utilisation 4irement utilise le cas d"utilisation 4alidation our sontraitement,
– on doit e(écuter la cas 4alidation avant d"acceter un virement
L"utiliser lorsqu"on a un cas d"utilisation commun a lusieurs autres cas d"utilisation, Onsimlifie ainsi le diagramme ar factorisation
1emarque: –
Les inclusions ermettent aussi de décomoser un cas comle(e en sous cas lussimle&(emle: Le cas utilisation 4irement eut contenir validation, saisir informationcomte, et autre cas d"utilisation
– #e qui rend le cas de 4irement asse^ comle(e si on veut le traiter avectoutes les scénarios ossibles
&(tension dans les cas d"utilisation
-
8/17/2019 ExposeUML2014 2015 New
81/135
M.AFILAL 81
&(tension : – Un cas d"utilisation est étendu ar de nouveau( événements d"un autre cas
d"utilisation. – L"e(tension est souvent utilisée our indiquer le déroulement e(cetionnel, anormal
ou otionnel d"un cas d"utilisation. – L"e(tension ermet un enric'issement du comortement d"un cas d"utilisation. – Le oint d"e(tension indique quand le cas étendu est aliqué.
4irement en devise est un cas otionnel de virement ou c"est une e(tension des roriétés )as d"obligation d"e(écution du cas virement en devise*.
&(tension dans les cas d"utilisation
On utilise rincialement cette relation
-
8/17/2019 ExposeUML2014 2015 New
82/135
M.AFILAL
82
On utilise rincialement cette relation – our séarer le comortement otionnel )les variantes* du comortement obligatoire.
&(emle :
– le cas d"utilisation ? étend le cas d"utilisation A signifie que :Une instance de A va engendrer une instance de ? et l"e(écuter sous certainesconditions, ? sait o_ s"insérer dans A.? connaRt A et non l"inverse, c"est ! dire que ? déend de A? n"e(iste as tout seul et A e(iste sans ?
&(emle: –
Le client entre trois fois un code d"identification false alors on ael le casd"utilisation 1etenir carte – 1etenir carte est un comortement otionnel d"aut'entification
S’authentifierRetenir carte
e(tendVV
&(emle
#onstruire le diagramme des cas d"utilisation et la descrition du cas d"utilisation our le
-
8/17/2019 ExposeUML2014 2015 New
83/135
M.AFILAL 83
g scénario suivant : – Un internaute réalise un virement entre ; comtes via le guic'et virtuel de sa
banque B.
!pplication
4irement
#lient
2%st-mecentral
1éonse &(emle
Dt ! i
-
8/17/2019 ExposeUML2014 2015 New
84/135
M.AFILAL 84
Dtaes ! suivre: – $our créer le diagramme des cas d"utilisation, il faut commencer ar:
éfinir le s%st-me étudiéIdentifier les acteurs )rinciau( ou secondaires*, uisLes cas d"utilisation associés our c'aque acteur, uis
-
8/17/2019 ExposeUML2014 2015 New
85/135
M.AFILAL 85
#as d"utilisation 4irement –
-
8/17/2019 ExposeUML2014 2015 New
86/135
M.AFILAL 86
– escrition des scénarios :$réconditions : –
Internaute se connecte au site Internet arorié. – Internaute clique sur le bouton 4irement. – #lient a fournit son nom d"utilisateur – #lient a fourni son code d"acc-s – Le s%st-me valide l"identification du client.
2cénario nominal )scénario le lus imortant* – On résente ce scénario sous forme d"un tableau, séarant les Actions des
acteurs et du s%st-me )ou l"alication*.
1éonse &(emle
!ction !cteur !ction Système ou application
16 )e système central demande le code d’identification de l’#nternaute
-
8/17/2019 ExposeUML2014 2015 New
87/135
M.AFILAL 87
:6 #nternaute entre son code d’identification et cli0ue sur le outon valider
;6 )e système central vérifie le code entré
1éonse &(emle
&nc'aRnements alternatifs et &nc'aRnements des erreurs
-
8/17/2019 ExposeUML2014 2015 New
88/135
M.AFILAL 88
;6a )e code d’identification de l’internaute est invalide le système avertit l’internaute et , la troisièmetentative le cas d’utilisation se termine
@6aSi l’un des numéros de compte est erroné en demande de ressaisir le numéro erroné puis , la troisièmetentative le cas d’utilisation se termine
@6Si le compte , déiter est lo0ué on affic*e un messa'e puis on reprend le scénario ? ou en sort du casd’utilisation se termine
@6cSi la somme , dépiter est trop élevé ou impossile car le solde du compte , déiter ne le permet pas onavertie l’internaute puis on reprend le scénario 5 ou en sort du cas d’utilisation se termine
-
8/17/2019 ExposeUML2014 2015 New
89/135
M.AFILAL 89
j q ou généraliser d"autres cas d"utilisation. )décomoser un cas comle(e en des sous casmoins comle(es*
Les cas d"utilisation ajoutés dans le s%st-me récédant sont : – Identification et 4alidation
2e sont des cas d"utilisation interne au s%st-me )dans 4irement*,&lles sont ajoutées our montrer les liaisons entre cas d"utilisation stéorot%es include B et uis e(tend B.
– 4irement en devise est un cas articulier de virement ou c"est une e(tension des
roriétés de 4irement.Le lien entre ses deu( cas d"utilisation se fait via des instances de c'aque casd"utilisation.
&(emle
!pplication
-
8/17/2019 ExposeUML2014 2015 New
90/135
M.AFILAL 90
$irement2I c'oi( devise
$irement en
devises
extendFF
$alidation
#dentificationclient
includeFF
includeFF
#lient2%st-mecentral
&(emle de s%nta(e d"une classe
" l :D
-
8/17/2019 ExposeUML2014 2015 New
91/135
M.AFILAL 91
"ercle:D
!ttriuts6centre G -oint- rayon G float H'eléI/perimetre G float
%et*odes+ 'et"entre & ( G -oint+ 'etJayon & ( G float
+ K surfaceTotale&list G "ercle:DL M( G float
= Exceptions >rayon4on$alideException
1emarque concernant le c'am ra%on – float `gelé ra%on est une constante de t%e float )attribut non modifiable* – en générale ra%on : float roriétéVV, avec roriété Z`gelee, variable,
ajoutUniquement
#lasse et objet
Une classe est: – une descrition d"un ensemble d"objets a%ant des attributs, des mét'odes et des
relations en communs
-
8/17/2019 ExposeUML2014 2015 New
92/135
M.AFILAL 92
relations en communs. – Un mod-le ! artir duquel seront construit les objets crées ar le s%st-me.
Un objet est une instance d"une classe.Une classe est rerésentée, en UML, ar: – son nom, la liste de ses attributs et de ses oérations )mét'odes*, – c'aque attribut ou mét'ode eut >tre qualifié avec des s%mboles : les modificateurs
d"acc-s :1emarque: – La déclaration d"un attribut a la s%nta(e suivante :
modificateur d"acc-sV S EomAttribut V:
-
8/17/2019 ExposeUML2014 2015 New
93/135
M.AFILAL 93
– Multilicité :Z )Intervalle nombre*Intervalle :Z LimiteInférieure ].."Limite2uérieure
LimiteInférieure:Z entierositif CLimite2uérieure :Z nombre
– $roriété, dans le cas de la s%nta(e d"un mét'ode est donnée ar:`abstrait: indique une oération non imlémentée dans la classe. Le nom d"une oérationabstraite eut également >tre rendu ar une fonte en italique
`estFeuille: Indique que l"oération ne eut >tre redéfinie dans une sous classe )la roriétéde t%e booléen*
`est1acine: indique que l"oération est définie our la remi-re fois dans une 'iérarc'ie declasses )la roriété est de t%e booléen*`requete: indique que l"oération n"alt-re as l"état de l"instance concernée )la roriété estde t%e booléenK la valeur vraie eut >tre omise*
`concurrence Z valeur: o_ valeur est séquentiellement gardé )L"intégrité de l"objet estgarantie ar un mécanisme de s%nc'ronisation e(terne* ou concurrent
– valeur est l"objet ou le c'ams ou le aram-tre sur lequel on alique las%nc'ronisation
Autres résentations: interface et classe abstraite
interfaceVV
&(cetionVV
-
8/17/2019 ExposeUML2014 2015 New
94/135
M.AFILAL 94
interfaceVV Forme;
T get#entre ) * : $ointT get1a%on ) * : floatT surface
-
8/17/2019 ExposeUML2014 2015 New
95/135
M.AFILAL 95
#ercle
interfaceVVForme;
#ercle#ercle
interfaceVVForme;
-
8/17/2019 ExposeUML2014 2015 New
96/135
$robl-mes de détermination des classes et objets
La détermination des classes lors de la 'ase d"anal%se n"est as évidente
-
8/17/2019 ExposeUML2014 2015 New
97/135
M.AFILAL 97
La détermination des classes lors de la 'ase d anal%se n est as évidente. – &lle suit une mét'ode lut8t intuitive, basée sur l"e(érience de l"anal%ste qui a )ou
n"a as* l"'abitude de reconnaRtre lus ou moins facilement:les classes, les objets, les associations, les attributs et les mét'odes des classes.
L"anal%ste ourra se demander: – uels sont les objets de gestion )les objets métiers* dans le robl-me étudié afin
d"identifier les objets réels. – Ainsi que leurs liens et les modéliser sous formes de classes et
d"associations.
– Aussi, d"utiliser les descritions te(tuelles des cas d"utilisation afin de reérer lesobjets métiers et ainsi déduire les classes ! intégrer dans son anal%se.
iagramme de classes
Le diagramme de classe donne une vue d"ensemble statique du s%st-me en résentanttoutes les classes définies dans le s%st-me leurs cooérations et leurs interactions
-
8/17/2019 ExposeUML2014 2015 New
98/135
M.AFILAL 98
toutes les classes définies dans le s%st-me, leurs cooérations et leurs interactions.
#es classes euvent >tre reliées de multiles mani-res : – La définition des relations est aussi imortante que la définition de c'aque classe.
Il % a lusieurs t%es de relation entre les classes : – L"association. – L"agrégation. – La comosition. – La génération. – La sécialisation. – La déendance.
1emarque: – Les diagrammes de classes UML constituent un surensemble de diagrammes entités6
associations )&6A*. – Alors que les digrammes &6A classiques sont centrés sur les données, les diagrammes
de classes vont un eu lus loin et ermettent également la modélisation decomortements.
L"association
Une association est une relation entre classes.
-
8/17/2019 ExposeUML2014 2015 New
99/135
M.AFILAL 99
Une association modélise la conne(ion entre deu( classes dont l"une a besoin de l"autre our >tre définie ou our e(ister )liaison*. – &(emle :
Une ersonne eut osséder des voitures. – la relation oss-de est une association entre les classes $ersonne et 4oiture
Un emlo%é commercial est en relation avec ses clients.
– La classe #lient a un c'am t%e commercial ou simlement un identifiantid#ommercial
– La classe &mlo%é a un c'am de t%e #lient ou simlement un vecteurcontenant les id#lients
Une association décrit une relation entre les objets de deu( classes )ou lus*. – Une des classes doit avoir connaissance de l"autre our accomlir son traitement.
&n général les associations sont binaires, c"est ! dire qu"elles connectent deu( classes.
L"associationOn rerésente une association en tra@ant une ligne entre les classes associées.Les associations euvent >tre nommée ar une forme verbale. – Le sens de lecture est récisé ar un s%mbole ou F .
-
8/17/2019 ExposeUML2014 2015 New
100/135
M.AFILAL 100
ar défaut de gauc'e vers la droite
Le(trémité dune association est aelée r8le. – Le r8le décrit comment une classe voit une autre classe au travers dune association.
Le r8le est un seudo attribut de la classe source )utilisé comme un attribut*.&nfin, c'aque r8le dune association orte une indication de cardinalité )multilicité* quimontre combien dobjets dune classe euvent >tre liés ! un objet de l"autre classe. – 4aleurMultilicité 2ignification – n e(actement n instances
– n . . m de n ! m, valeurs incluses – valeurs quelconque, équivaut ! C . . n ou C . . – n . . au moins n – n . . m, . . q liste de valeurs ou d"intervalles
&ntrerise$ersonne
11 1NEmploie F
Employeur Intérimaire
#ontrainte d"ordre sur les associations
Les contraintes sur les associations – se rerésentent dans les diagrammes ar des e(ressions lacées entre accolades.
-
8/17/2019 ExposeUML2014 2015 New
101/135
M.AFILAL 101
La contrainte `ordered `ordonné B – &lle eut >tre lacée sur le r8le our sécifier qu"une relation d"ordre décrit les objets
de la collection.
le mod-le ne sécifie as comment les éléments sont ordonnés, mais seulement que l"ordredoit >tre maintenu durant l"ajout et ou la suression des objets ar e(emle. – class #atalogue`
rivate ListLivreV obj Z ne5 Arra%ListAvecOrdreLivreV)*K – – class Livre` SS0.
`ordered
1 N"atalo'ue )ivre1 Ncontient F
#ontrainte d"ordre sur les associations
#e diagramme e(rime que :
– Une ersonne est née dans un a%s et que cette association ne eut >tre modifiée ceci
-
8/17/2019 ExposeUML2014 2015 New
102/135
M.AFILAL 102
Une ersonne est née dans un a%s, et que cette association ne eut >tre modifiée cecivia la contrainte fro^en )fro^en Z gelée, elle eut >tre associée ! un c'am our
e(rimer qu"il est constant*K
– Une ersonne a visité un certain nombre de a%s, dans un ordre donné, et que lenombre de a%s visités ne eut que croRtre K
– Une ersonne veut visiter toute une liste de a%s, et que cette liste est ordonnée)robablement ar ordre de référence*.
#ontrainte d"e(clusion sur les associations&(clusion entre association : Une seule relation est validée ! la fois our un objet donné.
&(emle:
-
8/17/2019 ExposeUML2014 2015 New
103/135
M.AFILAL
– Une ersonne est emlo%é soit ar une entrerise rivée ou ar l"état.
1emarque: – ans l"imlémentation )our e(rimer autrement cette contrainte*, on eut utiliser un
c'am d"une classe m-re abstraite dont dérive les deu( classes &ntrerise et &tat. – class $ersonne`
rivate 2ociete&mlo%eur obj2ocieteK –
– 2ociete&mlo%eur est la classe m-re des deu( classes &ntrerise et &tat.
private
pulic
&mlo%eur
&mlo%eur
` hO1
Entreprise
Etat
-ersonne
#ontrainte d"inclusion sur les associations
La contrainte d"inclusion ou sous6ensemble: – &lle relie un sous6ensemble d"objets liés ar une autre association.
-
8/17/2019 ExposeUML2014 2015 New
104/135
M.AFILAL 104
j
&(emle: – Une entrerise emloi des ersonnes, un délégué g-re les intér>ts des emlo%és dans
l"entrerise, ce délégué est aussi un emlo%é de cette entrerise
#ette association indique que les objets qui articient ! la relation délégués articient également ! la relation emlo%é.
Les délégués d"une entrerise sont aussi des emlo%és de cette entrerise.
délé'ué
employé
H Suset I
&ntrerise $ersonne
Association réfle(iveAssociation réfle(ive: – eu( objets de la m>me classe sont imliqués dans la relation, il faut nommer les r8les.
#ette relation ermet de structurer les objets de la m>me classe: – #réer une 'iérarc'ie entre objet, artitionner les objets, regrouer les objets en classe
d"équivalence
-
8/17/2019 ExposeUML2014 2015 New
105/135
M.AFILAL 105
d équivalence
&(emle – 6 un manager dirige un ! lusieurs emlo%és. #'aque emlo%é est dirigé ar un seul manager – ;6 une ersonne a le m>me age qu"a ^éro ! lusieurs ersonnes – 76 une ersonne oss-de deu( arents et de ^éro ! lusieurs enfants.
-ersonne
Employé1..*
<dirige
1manager
-ersonne
< a le même
age-ersonne
0,* < est parent
parent
-ersonne
est amiede
0,*
0,*
0,*
2
Association réfle(ive
Association s%métrique non transitive – $ermet de artitionner les instances de la m>me classe
-
8/17/2019 ExposeUML2014 2015 New
106/135
M.AFILAL 106
Association s%métrique et transitive – $ermet de regrouer les objets, de la m>me classe, en classe d"équivalence.
Association as%métrique – $ermet de créer un 'iérarc'ie )sorte d"arbre* entre les objets.
&(emle:
– Ami de: est une relation s%métrique non transitive, ermet de artitionner les objets.
– A le m>me age: est une relation s%métrique transitive, ermet de créer une relationd"équivalence.
– $arent de: est une relation as%métrique)anti62%metrique*, elle ermet de créer un arbre)une 'iérarc'ie* entre les objets.
Association réfle(ive
1emarque:
-
8/17/2019 ExposeUML2014 2015 New
107/135
M.AFILAL 107
– Il est conseillé d"ajouter les r8les des e(trémités dans le cas des relations as%métriques.
– Une relation réfle(ive se traduit, dans la définition d"une classe, simlement ar uneréférence sur un objet de la m>me classe
– &(emle )avec java*
class $ersonne` – $rivate $ersonne managerK – $rivate 4ector$ersonneV emlo%esK
Associations entre ; classes et lusAssociation ternaire: c"est une relation entre trois classes. – &lle est tr-s eu utilisée et tr-s délicate, notamment quand on ajoute la multilicité. – Les trois classes sont reliées ar un losange.
-
8/17/2019 ExposeUML2014 2015 New
108/135
M.AFILAL 108
1emarque: – Il faut essa%er de transformer cette association en des associations binaires avec descontraintes )si c"est ossible*.
&(emle: – On définit une Formation comme la rencontre d"un intervenant avec des stagiaires
dans une salle.
Salle Stagiaire
Intervenant
1
1 2..*
#lasse association
2i une association contient des roriétés, on construit alors une classe association: – #ette classe association eut articier ! d"autres relations avec d"autres classes.
-
8/17/2019 ExposeUML2014 2015 New
109/135
M.AFILAL 109
La notation utilise une ligne ointillée our attac'er cette classe ! l"association.
1emarque: – La multilicité sur le lien de c'aque classe s"alique sur une instance du losange.
Salle Stagiaire
Intervenant
1
1 2..*
Formation
datesujet
&(emle: transformation d"une classe association
1emarque: – La multilicité sur le lien de c'aque classe s"alique sur une instance du losange
-
8/17/2019 ExposeUML2014 2015 New
110/135
M.AFILAL 110
Salle Stagiaire
Intervenant
1
1 2.. *« assoiation ternaire !
"ormation
datesujet
11
1
#lasse association
Une classe association eut >tre remlacée ar une classe intermédiaire et qui sert de ivot our une aire d"associations.
&(emle:
-
8/17/2019 ExposeUML2014 2015 New
111/135
M.AFILAL 111
&(emle:
-
8/17/2019 ExposeUML2014 2015 New
112/135
M.AFILAL 112
$ermet d identifier un sous ensemble des instances de la classe qui articient ! l association. – Une instance du coule `?anque , num#t est en association avec une instance de la classe
#omte. – La banque 'éberge un et un seul comte dont le numéro de comte est donné sous forme de
qualifiant. – Les instances de la classe comte sont qualifiables gr/ce au numéro de comte.
$ermet de sécifier un c'emin récis our trouver un objet cible a artir d"un objet source avec lequalifiant est du coté source.
$ermet de réduire la cardinalité ma(imale ! .
'éberge
an0ue "ompte
4um"pteGStrin'
'éberge
an0ue "ompte
La qualification dans l"association
-
8/17/2019 ExposeUML2014 2015 New
113/135
M.AFILAL 113
!OualificatifG O
C..
ublic class A`
rivate Ma , ?V ?Obj Z ne5 Yas'Ma , ? VK – Ou
rivate Ma , ? V ?Obj Z ne5 Yas'
-
8/17/2019 ExposeUML2014 2015 New
114/135
M.AFILAL 114
instance unique de la classe #ase.
– Inversement, une instance de la classe #ase est en association avec une instance uniquedu trilet `&c'iquier, rangée, colonne.
La navigabilité dans les associations
$ar défaut les associations sont navigables dans les deu( directions.
ans certain cas, une seule direction de navigation est utile:
-
8/17/2019 ExposeUML2014 2015 New
115/135
M.AFILAL 115
, g –
l"e(trémité de l"association vers laquelle la navigation est ossible orte une fl-c'e)une demi association*.
La navigabilité dans un sens: – &(rime que les objets d"une classe A voient les objets d"une classe ?, mais les objets
de la classe ? ne voient as les objets de la classe A – &lle ermet de réduire les coulages et déendances entre classe.
A B
La navigabilité dans les associations&(emle: – Un ol%gone est défini ar un ensemble de oints qui jouent le r8le de sommets.
&n général – elle est encombrant que les oints aient un lien vers les figures )ol%gone* au( quelles
aartiennent.
-
8/17/2019 ExposeUML2014 2015 New
116/135
M.AFILAL 116
aartiennent.
La navigation est ossible dans un seul sens, uniquement du ol%gone vers les oints )le ol%gone est défini ar des oints et non l"inverse*1emarque: – Un objet de la classe ol%gone a besoin our e(ister des objets de t%e oints – Un objets de t%e oint n"a as besoin d"objet de t%e ol%gone our qu"il uisse
e(ister.
Polygone Point
est défini par
3..0..
Modélisation de la navigation avec des attributs
!ol"#one
!"#$$et%int'3..()
-
8/17/2019 ExposeUML2014 2015 New
117/135
Agrégation
1emarque: – &n ratique, lidentification dune relation dagrégation de celle dassociation nest as
évidente.
-
8/17/2019 ExposeUML2014 2015 New
118/135
M.AFILAL 118
&(emle : Un document est un ensemble de aragra'e.
Document Paragraphe
Agrégation$roriétés de l"agrégation: – Le tout est resonsable de la gestion de ses arties. – L"action sur le comosé)agrégat* entraRne une action sur le comosant)l"agrégé*. – Un comosant eut >tre artagé ar lusieurs agrégats :
-
8/17/2019 ExposeUML2014 2015 New
119/135
M.AFILAL 119
la multilicité coté agrégat eut avoir une valeur suérieur ! .&(emle: – une 'rase eut >tre dans lusieurs aragra'es.
– La relation est transitive :&(emle: un aragra'e est comosé de 'rases, les 'rases sont comosées demots et donc un aragra'e est comosé de mots
– La relation ne eut >tre s%métrique :
un comosant ne eut contenir le comosé. – Les valeurs sont roagées de l"agrégat au comosant :
&(emle: – la mise en italique du aragra'e entraRne la mise en italique des 'rase.
1emarque: – La durée de vie de l"agrégat est indéendante des éléments qui le constituent )cas o_
un comosant est artagé ar lusieurs agrégats*
Agrégation
Autres crit-res qui indiquent une agrégation: – Une classe fait artie d"une autre classe,)classe interne*
-
8/17/2019 ExposeUML2014 2015 New
120/135
M.AFILAL 120
– Les valeurs d"attributs d"une classe se roagent dans les valeurs d"attributs d"uneautre classe
La modification d"un attribut d"un objet agrégat orte aussi sur les attributs desobjets agrégés.
– Une action sur une classe imlique une action sur une autre classe.La suression d"un objet agrégat ferait disaraRtre les objets agrégés.
– Les objets d"une classe sont2ubordonnés )secondaires, déendants* au( objets d"une autre classe,contr8lés ar les objets d"une autre classe.
– La définition d"une mét'ode de l"objet agrégat reose sur celles des objets agrégés
La comosition
La comosition est une agrégation our laquelle les comosants )artie* oss-dent unedurée de vie incluse dans celle de l"agrégat)ne eut e(ister sans lui.*.
-
8/17/2019 ExposeUML2014 2015 New
121/135
M.AFILAL 121
– Le comosant ne eut e(ister sans l"agrégat et ne eut aartenir qu"! un seul agrégat.
– La valeur de la multilicité du coté de l"agrégat ne eut rendre que les valeurs C ou car le comosant ne eut >tre artagé ar lusieurs agrégat.
– La valeur C du c8té du comosant indique un attribut non renseigné.
– La suression d"un objet agrégat ferait disaraRtre les objets agrégés.
Une relation de comosition est une agrégation qui vérifie de lus: – loération de destruction de l"agrégat entraRne la destruction de l"agrégé. – la multilicité du c8té agrégat est inférieur ou égale a .
&lle est rerésentée en ajoutant un etit losange noire du c8té de l"agrégat.
&(emle de la comosition
Facultés DépartementsUniversité
-
8/17/2019 ExposeUML2014 2015 New
122/135
M.AFILAL 122
1,*
N
Etudiants
g-re
11,*
1elation comosition et attributs
La comosition et les attributs sont sémantiquement équivalents.
-
8/17/2019 ExposeUML2014 2015 New
123/135
M.AFILAL 123
*#""+,e
La généralisation
&lle e(rime un lien d"'éritage reliant une classe enfant ! une classe arent – La classe enfant oss-de les m>mes attributs, oération, associations que sa classe
arent.– La classe enfant ajoute des descritions sécifiques
-
8/17/2019 ExposeUML2014 2015 New
124/135
M.AFILAL 124
La classe enfant ajoute des descritions sécifiques
– La sécialisation est la relation inverse. – Une classe eut 'ériter de lusieurs classe
Vehicule
A moteur A voile
-
8/17/2019 ExposeUML2014 2015 New
125/135
-
8/17/2019 ExposeUML2014 2015 New
126/135
La déendance
#"est une relation unidirectionnelle, e(rimant une déendance non structurelle, de laclasse source vers la classe cible.
&lle indique que la modification de la cible imlique un c'angement de la source.
-
8/17/2019 ExposeUML2014 2015 New
127/135
M.AFILAL 127
&(emle : – Un comosant gra'ique a besoin d"une couleur our ouvoir s"affic'er.)c'oi( d"une
nouvelle couleur entraRne un c'angement de couleur du comosant* – Le déroulement des cours déend de l"emloi de tems
&lle rerésente une relation sur les classes uniquement, sans induire de liens sur les objets
instance de ces classes
La déendance e(rime la situation o_ une classe utilise une autre classe, – ar e(emle, en aelant une mét'ode de la ;-me classe.
1emarque: – L"usage de telles relations est déconseillé dans un diagramme car source d"imrécision
et de coulage entre les classe )tro de classe*
La déendance
S#urcei/le
-
8/17/2019 ExposeUML2014 2015 New
128/135
M.AFILAL 128
#$*#"antra*hiue #uleur
$*l#iee$*"#ur"
Interface et association
uand une classe déend d"une interface our réaliser ses oérations, elle est dite classecliente de l"interface B.
-
8/17/2019 ExposeUML2014 2015 New
129/135
M.AFILAL 129
3ra'iquement, cela est rerésenté ar une relation de déendance entre la classe etl"interface.
#$la""e interface#$Interface
&(emle de cas
Un microrocesseur est constitué de ortes logiques. #es ortes logiques sont comoséesde transistors qui fonctionnent comme des interruteurs. On trouve deu( sortes de ortes
-
8/17/2019 ExposeUML2014 2015 New
130/135
M.AFILAL 130
de base : les ortes MO2 et les ortes #MO2.
Les microrocesseurs sont cadencés ar une 'orloge caractérisée ar sa vitesse.
Les microrocesseurs sont basés sur deu( mét'odes d"otimisation: la tec'nologie #I2# etla tec'nologie 1I2#
-
8/17/2019 ExposeUML2014 2015 New
131/135
M.AFILAL
La seconde 'rase met en évidence une nouvelle classe
-
8/17/2019 ExposeUML2014 2015 New
132/135
M.AFILAL 132
!orte'o#i()e
$a,stract%
*icroprocesse)r
+ransistor
!orte*os !orte-*/
&(emle de cas
La 'rase Les microrocesseurs sont cadencés )r%t'més* ar une 'orloges caractérisée ar sa vitesse B décrit le lien e(istant entre la classe Microrocesseur et la classe Yorloge,lien est résenté ar l"association cadensé$ar.
-
8/17/2019 ExposeUML2014 2015 New
133/135
M.AFILAL 133
La fréquence est un attribut de la classe Yorloge
*icroprocesse)r orlo#ecadensé!ar
11 fré()encente#er
&(emle de cas
La derni-re 'rase Les microrocesseurs sont basés sur deu( mét'odes d"otimisation: latec'nologie #I2# et la tec'nologie 1I2#B
Or, un microrocesseur ne eut >tre modélisé que sur l"une des deu( mét'odes
La derni-re 'rase eut >tre modélisée de deu( fa@on différentes
-
8/17/2019 ExposeUML2014 2015 New
134/135
M.AFILAL 134
– ar deu( associations qui s"e(cluent mutuellement: – Ou bien construire une classe abstraite qui généralise les deu( classes
-
8/17/2019 ExposeUML2014 2015 New
135/135
M.AFILAL 135
1
+ecnolo#ie-/- +ecnolo#ieR/-
!orte'o#i()e$a,stract%
+ransistor
!orte*os !orte-*/
11