exposeuml2014 2015 new

Upload: elmehdi-gr

Post on 06-Jul-2018

213 views

Category:

Documents


0 download

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