Académique Documents
Professionnel Documents
Culture Documents
doc ______________________________________________________________________________
DI GALLO Frdric
UML UP
UML
___________________________________________________________________
DI GALLO Frdric Page 2 28/11/01
UP - LE PROCESSUS UNIFIE
I. LE PROCESSUS DE DEVELOPPEMENT : NOUVELLE APPROCHE ........................................5 II. LE PROCESSUS UNIFIE : CADRE GENERAL ......................................................................6 III.LE PROCESSUS UNIFIE EST PILOTE PAR LES CAS DUTILISATION ......................................6 3.1) Prsentation ............................................................................................................6 3.2) Exemple: guichet de banque ...................................................................................6 IV.LE PROCESSUS UNIFIE EST CENTRE SUR LARCHITECTURE ..............................................8 4.1) Liens entre cas dutilisation et architecture ? ........................................................8 4.2) Marche suivre : ....................................................................................................8 V. LE PROCESSUS UNIFIE EST ITERATIF ET INCREMENTAL..................................................8 5.1) Avantages dun processus itratif contrl.............................................................9 VI.LE CYCLE DE VIE DU PROCESSUS UNIFIE .........................................................................9 6.1) Prsentation du cycle de vie de UP ......................................................................10 6.2) Exemple sur les diffrents modles .......................................................................11 VII. CONCLUSION : UN PROCESSUS INTEGRE ......................................................................12
___________________________________________________________________
DI GALLO Frdric Page 3 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 4 28/11/01
UP - LE PROCESSUS UNIFIE
Comparaison des mthodologies UP et Merise: UP Cycle de vie itratif et incrmental Mthode gnrique MERISE Squentiel
I.
La matrise des processus de dveloppement implique pourtant une organisation et un suivi des activits : cest ce quoi sattachent les diffrentes mthodes qui sappuient sur lutilisation du langage UML pour modliser un systme dinformation. UP (Unified Process) est une mthode gnrique de dveloppement de logiciel. Gnrique signifie qu'il est ncessaire d'adapter UP au contexte du projet, de l'quipe, du domaine et/ou de l'organisation (exemple: R.UP ou X.UP). C'est, entre parenthses, plus ou moins vrai pour toute mthode, qu'elle se dfinisse elle-mme comme gnrique ou pas. Il existe donc un certain nombre de mthodes issues de UP.
___________________________________________________________________
DI GALLO Frdric Page 5 28/11/01
Acteur
Les cas dutilisation font apparatre les besoins fonctionnels et leur ensemble constitue le modle des cas dutilisation qui dcrit les fonctionnalits compltes du systme.
employ de la banque
On va se demander, en premier, quels sont les utilisateurs du systme (pas forcment des utilisateurs physiques, mais plutt des rles). Ici, l'employ est aussi un client de la banque. On a donc une personne physique pour deux rles. Nous ne sommes pas dans une approche de type fonctionnelle mais une approche pilote par des cas d'utilisation.
___________________________________________________________________
DI GALLO Frdric Page 6 28/11/01
A partir du modle des cas dutilisation, les dveloppeurs crent une srie de modles de conception et dimplmentation ralisant les cas dutilisation. Chacun des modles successifs est ensuite rvis pour en contrler la conformit par rapport au modle des cas dutilisation. Enfin, les testeurs testent limplmentation pour sassurer que les composants du modle dimplmentation mettent correctement en uvre les cas dutilisation. Les cas dutilisation garantissent la cohrence du processus de dveloppement du systme. Sil est vrai que les cas dutilisation guident le processus de dveloppement, ils ne sont pas slectionns de faon isole, mais doivent absolument tre dvelopps "en tandem" avec larchitecture du systme.
___________________________________________________________________
DI GALLO Frdric Page 7 28/11/01
V.
Le dveloppement dun produit logiciel destin la commercialisation est une vaste entreprise qui peut stendre sur plusieurs mois. On ne va pas tout dvelopper dun coup. On peut dcouper le travail en plusieurs parties qui sont autant de mini projets. Chacun dentre eux reprsentant une itration qui donne lieu un incrment. Une itration dsigne la succession des tapes de lenchanement dactivits, tandis quun incrment correspond une avance dans les diffrents stades de dveloppement.
___________________________________________________________________
DI GALLO Frdric Page 8 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Le choix de ce qui doit tre implment au cours dune itration repose sur deux facteurs : Une itration prend en compte un certain nombre de cas dutilisation qui ensemble, amliorent lutilisabilit du produit un certain stade de dveloppement. Litration traite en priorit les risques majeurs. Un incrment constitue souvent un additif. A chaque itration, les dveloppeurs identifient et spcifient les cas dutilisations pertinents, crent une conception en se laissant guider par larchitecture choisie, implmentent cette conception sous forme de composants et vrifie que ceux ci sont conformes aux cas dutilisation. Ds quune itration rpond aux objectifs fixs le dveloppement passe litration suivante. Pour rentabiliser le dveloppement il faut slectionner les itrations ncessaires pour atteindre les objectifs du projet. Ces itrations devront se succder dans un ordre logique. Un projet russi suivra un droulement direct, tabli ds le dbut par les dveloppeurs et dont ils ne sloigneront que de faon trs marginale. Llimination des problmes imprvus fait partie des objectifs de rduction des risques.
___________________________________________________________________
DI GALLO Frdric Page 9 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Chaque cycle se traduit par une nouvelle version du systme. Ce produit se compose dun corps de code source rparti sur plusieurs composants pouvant tre compils et excuts et saccompagne de manuels et de produits associs. Pour mener efficacement le cycle, les dveloppeurs ont besoin de construire toutes les reprsentations du produit logiciel : Modle des cas dutilisation Modle danalyse Expose les cas dutilisation et leurs relations avec les utilisateurs Dtaille les cas dutilisation et procde une premire rpartition du comportement du systme entre divers objets Dfinit la structure statique du systme sous forme de sous systme, classes et interfaces ; Dfinit les cas dutilisation raliss sous forme de collaborations entre les sous systmes les classes et les interfaces Intgre les composants (code source) et la correspondance entre les classes et les composants Dfinit les nuds physiques des ordinateurs et laffectation de ces composants sur ces nuds. Dcrit les cas de test vrifiant les cas dutilisation Description de larchitecture
Modle de conception
Tous ces modles sont lis. Ensemble, ils reprsentent le systme comme un tout. Les lments de chacun des modles prsentent des dpendances de traabilit ; ce qui facilite la comprhension et les modifications ultrieures.
___________________________________________________________________
DI GALLO Frdric Page 10 28/11/01
Phase
Phase de cration
Phase dlaboration
Phase de construction
Phase de transition
Description et Enchanement dactivits Traduit une ide en vision de produit fini et prsente une tude de rentabilit pour ce produit - Que va faire le systme pour les utilisateurs ? - A quoi peut ressembler larchitecture dun tel systme ? - Quels sont lorganisation et les cots du dveloppement de ce produit ? On fait apparatre les principaux cas dutilisation. Larchitecture est provisoire, identification des risques majeurs et planification de la phase dlaboration. Permet de prciser la plupart des cas dutilisation et de concevoir larchitecture du systme. Larchitecture doit tre exprime sous forme de vue de chacun des modles. Emergence dune architecture de rfrence. A lissue de cette phase, le chef de projet doit tre en mesure de prvoir les activits et destimer les ressources ncessaires lachvement du projet. Moment o lon construit le produit. Larchitecture de rfrence se mtamorphose en produit complet, elle est maintenant stable. Le produit contient tous les cas dutilisation que les chefs de projet, en accord avec les utilisateurs ont dcid de mettre au point pour cette version. Celle ci doit encore avoir des anomalies qui peuvent tre en partie rsolue lors de la phase de transition. Le produit est en version bta. Un groupe dutilisateurs essaye le produit et dtecte les anomalies et dfauts. Cette phase suppose des activits comme la fabrication, la formation des utilisateurs clients, la mise en uvre dun service dassistance et la correction des anomalies constates.(o le report de leur correction la version suivante)
On va essayer de faire apparatre des cas nominaux (classiques) et des scnarios d'exception.
___________________________________________________________________
DI GALLO Frdric Page 11 28/11/01
c) Diagramme de collaboration
___________________________________________________________________
DI GALLO Frdric Page 12 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 13 28/11/01
15 15 16 17 17 18 18 18 19 19 19 19 20 21 21
21 21 21 21
___________________________________________________________________
DI GALLO Frdric Page 14 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 15 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ UML aujourd'hui : un standard incontournable UML est le rsultat d'un large consensus (industriels, mthodologistes...). UML est le fruit d'un travail d'experts reconnus. UML est issu du terrain. UML est riche (il couvre toutes les phases d'un cycle de dveloppement). UML est ouvert (il est indpendant du domaine d'application et des langages d'implmentation). Aprs l'unification et la standardisation, bientt l'industrialisation d'UML : les outils qui supportent UML se multiplient (GDPro, ObjectTeam, Objecteering, OpenTool, Rational Rose, Rhapsody, STP, Visio, Visual Modeler, WithClass...). XMI (format d'change standard de modles UML). UML volue mais reste stable ! L'OMG RTF (nombreux acteurs industriels) centralise et normalise les volutions d'UML au niveau international. Les groupes d'utilisateurs UML favorisent le partage des expriences. De version en version, UML gagne en maturit et prcision, tout en restant stable. UML inclut des mcanismes standards d'auto-extension. La description du mtamodle d'UML est standardise (OMG-MOF). >>> UML n'est pas une mode, c'est un investissement fiable !
___________________________________________________________________
DI GALLO Frdric Page 16 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ UML cadre l'analyse objet, en offrant : diffrentes vues (perspectives) complmentaires d'un systme, qui guident l'utilisation des concept objets, plusieurs niveaux d'abstraction, qui permettent de mieux contrler la complexit dans l'expression des solutions objets. UML est un support de communication Sa notation graphique permet d'exprimer visuellement une solution objet. L'aspect formel de sa notation limite les ambiguts et les incomprhensions. Son aspect visuel facilite la comparaison et l'valuation de solutions. Son indpendance (par rapport aux langages d'implmentation, domaine d'application, processus...) en font un langage universel.
___________________________________________________________________
DI GALLO Frdric Page 17 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 18 28/11/01
Cette mthode reprsente un langage permettant de spcifier, reprsenter et construire les composantes dun systme informatique. Avec la mthode UML, un objet est par exemple reprsent de la faon suivante:
___________________________________________________________________
DI GALLO Frdric Page 19 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ De plus, le fait de programmer l'aide d'un langage orient objet ne fait pas d'un programmer un concepteur objet. En effet il est tout fait possible de produire un code syntaxiquement juste sans pour autant adopter une approche objet. Ainsi la programmation oriente objet implique en premier lieu une conception abstraite d'un modle objet (c'est le rle de la mthode objet), en second plan l'implmentation l'aide d'un langage oriente objet (tel que C++/Java/...) Une mthode objet est donc d'une part une mthode d'analyse du problme (afin de couvrir toutes les facettes du problmes), d'autre part un langage permettant une reprsentation standard stricte des concepts abstraits (la modlisation) afin de constituer un langage commun.
___________________________________________________________________
DI GALLO Frdric Page 20 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ CORBA fait partie d'une vision globale de la construction d'applications rparties, appele OMA (Object Management Architecture) et dfinie par l'OMG. Sans rentrer dans les dtails, on peut rsumer cette vision par la volont de favoriser l'essor industriel des technologies objet, en offrant un ensemble de solutions technologiques non propritaires, qui suppriment les clivages techniques. UML a t adopt (normalis) par l'OMG et intgr l'OMA, car il participe cette vision et parce qu'il rpond la "philosophie" OMG.
___________________________________________________________________
DI GALLO Frdric Page 21 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 22 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 23 28/11/01
Rsumons la dmarche...
Modliser une application ? Mais comme UML n'est pas un processus... Quelle dmarche utiliser ? Trouver un "bon" modle est une tche difficile mais capitale ! 1. Optez pour une approche itrative et incrmentale. 2. Centrez votre dmarche sur l'analyse des besoins des utilisateurs. 3. Prenez grand soin la dfinition de l'architecture de votre application (l'approche "4+1" permet de mieux la cerner). OK OK , mais en pratique ? ien qu'UML n'est pas un processus, il facilite une dmarche d'analyse itrative et incrmentale, base sur les niveaux d'abstraction. Les niveaux d'abstraction permettent de structurer les modles. Un micro-processus rgit les itrations niveau d'abstraction constant. Un macro-processus rgit le passage de niveau niveau. Une dmarche incrmentale consiste construire les modles de spcification et de conception en plusieurs tapes (cible = catgories). Le schma ci-dessous montre les niveaux d'abstraction principaux, qu'on peut identifier dans un processus de dveloppement logiciel :
___________________________________________________________________
DI GALLO Frdric Page 24 28/11/01
d'analyse
(niveau
A chaque niveau d'abstraction, un micro-processus rgit la construction des modles. UML ne rgit pas les activits des micro-processus, c'est le principe d'abstraction qui permet l'laboration itrative et incrmentale des modles. Exemple de micro-processus de construction d'un modle : identifiez les classes (d'objets) : recherchez les classes candidates (diffrentes suivant le niveau d'abstraction) l'aide de diagrammes d'objets (bauches), filtrez les classes redondantes, trop spcifiques ou vagues, qui ne reprsentent qu'une opration ou un attribut, documentez les caractristiques des classes retenues (persistances, nombre maximum d'instances, etc.). identifiez les associations entre classes / interactions entre objets (instances) : recherchez les connexions smantiques et les relations d'utilisation, documentez les relations (nom, cardinalits, contraintes, rles des classes...), en spcification, filtrez les relations instables ou d'implmentation, dfinissez la dynamique des relations entre objets (les interactions entre instances de classes et les activits associes).
___________________________________________________________________
DI GALLO Frdric Page 25 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ identifiez les attributs et les oprations des classes : recherchez les attributs dans les modles dynamiques (recherchez les donnes qui caractrisent les tats des objets), filtrez les attributs complexes (faites-en des objets) et au niveau spcification, ne reprsentez pas les valeurs internes propres aux mcanismes d'implmentation, recherchez les oprations parmi les activits et actions des objets (ne pas rentrer dans le dtail au niveau spcification). optimisez les modles : choisissez vos critres d'optimisation (gnricit, volutivit, prcision, lisibilit, simplicit...), utilisez la gnralisation et la spcialisation (classification), documentez et dtaillez vos modles, encapsulez. validez les modles : vrifiez la cohrence, la compltude et l'homognit des modles, confrontez les modles la critique (comit de relecture...).
Synthse de la dmarche
Modliser une application n'est pas une activit linaire. Il s'agit d'une tche trs complexe, qui ncessite une approche : itrative et incrmentale (grce aux niveaux d'abstraction), car il est plus efficace de construire et valider par tapes, ce qui est difficile cerner et matriser, centre sur l'architecture (dfinie par la vue "4+1"), car il s'agit de la cl de vote qui conditionne la plupart des qualits d'une application informatique, guide par la prise en compte des besoins des utilisateurs ( l'aide des cas d'utilisation), car ce qui motive l'existence mme du systme concevoir, c'est la satisfaction des besoins de ses utilisateurs.
La modlisation UML
Le mta-modle UML fournit une panoplie d'outils permettant de reprsenter l'ensemble des) lments du monde objet (classes, objets, ...) ainsi que les liens qui les relie. Toutefois, tant donn qu'une seule reprsentation est trop subjective, UML fournit un moyen astucieux permettant de reprsenter diverses projections d'une mme reprsentation grce aux vues. Une vue est constitu d'un ou plusieurs diagrammes.
___________________________________________________________________
DI GALLO Frdric Page 26 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ On distingue deux types de vues: Les vues statiques, c'est--dire reprsentant le systme physiquement diagrammes d'objets diagrammes de classes diagrammes de cas d'utilisation diagrammes de composants diagrammes de dploiement Les vues dynamiques, montrant le fonctionnement du systme diagrammes de squence diagrammes de collaoration diagrammes d'tats-transitions diagrammes d'activits
___________________________________________________________________
DI GALLO Frdric Page 27 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Les attributs d'un objet Les attributs (proprits) d'un objet reprsentent ses caractristiques. L'ensemble des valeurs des attributs d'un objet constituent son tat. UML propose de reprsenter les attributs d'un objet et les valeurs associes de la manire suivante:
Les liens entre objets Dans l'approche objet, les objets ne sont pas des corps inertes isols. Bien au contraire, mme s'ils possdent leurs caractristiques propres par l'intermdiaire des valeurs de leurs attributs (ce qui constitue ce que l'on appelle l'tat), ils ont la possibilit d'interagir entre-eux grce leurs mthodes. UML propose de reprsenter les liens qui existent entre les objets grce un trait continu.
Un lien existe ds lors qu'un objet possde une visibilit vis--vis d'un autre, c'est--dire lorsqu'un objet a un rapport direct avec un autre (appartenance, utilisation, communication, ...). Il est de plus possible d'ajouter des commentaires sur le modle sous forme de notes. Une note est reprsente par un rectangle dont le coin suprieur droit est repli. Pour relier une note un objet il faut utiliser un trait discontinu (en pointills).
___________________________________________________________________
DI GALLO Frdric Page 28 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 29 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ publique: Les fonctions de toutes les classes peuvent accder aux donnes ou aux mthodes d'une classe dfinie avec le niveau de visibilit public. Il s'agit du plus bas niveau de protection des donnes protge: l'accs aux donnes est rserv aux fonctions des classes hritires, c'est-dire par les fonctions membres de la classe ainsi que des classes drives prive: l'accs aux donnes est limit aux mthodes de la classe elle-mme. Il s'agit du niveau de protection des donnes le plus lev
La notation UML permet de reprsenter le niveau de visibilit des attributs de faon graphique en faisant prcder le nom de chaque attribut par un caractre reprsentant la visibilit: + dfini un attribut public # dfini un attribut protg - dfini un attribut priv
___________________________________________________________________
DI GALLO Frdric Page 30 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 31 28/11/01
III. LE DIAGRAMME DE COLLABORATION ........................................................................ 3.1) Interaction............................................................................................................ 3.2) De nouveaux strotypes de classe ...................................................................... 3.3) Les Messages : ..................................................................................................... 3.4) Exercice TVServices (parties III et IV) ................................................................
48 48 48 50 51
Partie III: Diagramme de classe mtier pour le cas d'utilisation regarder ................. 52 Partie IV: Diagramme de collaboration d'un scnario du cas d'util. regarder ............. 53
___________________________________________________________________
DI GALLO Frdric Page 32 28/11/01
I.
Les cas dutilisation sont une technique de description du systme tudi privilgiant le point de vue de lutilisateur. Il sagit de la solution UML pour reprsenter le modle conceptuel. Les cas dutilisation dcrivent sous la forme dactions et de ractions, le comportement dun systme du point de vue dun utilisateur. Les cas dutilisation servent structurer les besoins des utilisateurs et les objectifs correspondants du systme. Un cas dutilisation est une manire spcifique dutiliser un systme. Cest limage dune fonctionnalit du systme, dclenche en rponse la stimulation dun acteur externe. Les cas dutilisation apportent une solution au problme de la dtermination et de la comprhension des besoins. En effet frquemment, des besoins se contredisent, des oublis et des imprcisions sont raliss et ainsi lanalyse du systme part sur de mauvaises bases. Les cas dutilisation recentrent lexpression des besoins sur les utilisateurs en partant du principe quun systme est avant tout construit pour ses utilisateurs. Les cas dutilisation permettent aux utilisateurs de structurer et darticuler leurs dsirs ; ils les obligent dfinir la manire dont ils voudraient interagir avec le systme, prciser quelles informations ils entendent changer et dcrire ce qui doit tre fait pour obtenir le rsultat escompt.
___________________________________________________________________
DI GALLO Frdric Page 33 28/11/01
Employ de caisse
Ravitailler distributeur
___________________________________________________________________
DI GALLO Frdric Page 34 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 35 28/11/01
a) La relation dinclusion :
Lors de la description des cas dutilisation, il apparat quil existe des sous-ensembles communs plusieurs cas dutilisation, il convient donc de factoriser ces fonctionnalits en crant de nouveaux cas dutilisation qui seront utiliss par les cas dutilisation qui les avaient en commun. Un cas dutilisation A utilise un cas dutilisation B signifie que : - une instance de A va engendrer une instance de B et lexcuter, - A dpend de B, - B nexiste pas tout seul et A nexiste pas sans B Exemple : Retirer de largent include Dposer de largent include include include Consulter solde Les cas de base Dposer de largent , Retirer de largent , Effectuer des virements entre comptes et Consulter solde incorporent de faon explicite le cas dutilisation Sauthentifier , un endroit spcifi dans leurs enchanements. Sauthentifier
___________________________________________________________________
DI GALLO Frdric Page 36 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Remarquez que dans une relation include , le cas dutilisation de base utilise systmatiquement les enchanements provenant du cas inclus. On utilise cette relation pour viter de dcrire plusieurs fois un mme enchanement dactions. Ainsi on est amen factoriser un comportement commun plusieurs cas dutilisation dans un cas dutilisation part.
b) La relation dextension
La relation strotype <<extend>> permet d'tendre les interactions et donc les fonctions dcrites par les interactions. Le cas de base peut fonctionner tout seul, mais il peut galement tre complt par un autre, sous certaines conditions, et uniquement certains points particuliers de son flot dvnements (point dinsertion). On utilise principalement cette relation pour sparer le comportement optionnel (les variantes) du comportement obligatoire. Considrons lexemple : le cas dutilisation B tend le cas dutilisation A signifie que : - Une instance de A va engendrer une instance de B et lexcuter sous certaines conditions, B sait o sinsrer dans A. - B connat A et non linverse, cest dire que B dpend de A - B nexiste pas tout seul et A existe sans B La relation <<extend>> montre une possibilit d'excution d'interactions qui augmenteront les fonctionnalits du cas tendu, mais de faon optionnelle, non obligatoire, alors que la relation <<include>> suppose une obligation dexcution des interactions. Exemple : extend Sauthentifier Retenir carte
___________________________________________________________________
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Dans un systme d'agence de voyage, un acteur touriste peut participer un cas de base qui est "Rserver voyage", qui suppose par exemple des interactions basiques au comptoir de l'agence. Une rservation peut aussi tre ralise par tlphone ou internet. On voit qu'il ne s'agit pas de relation <<extend>> car la rservation par Internet n'tend pas les interactions ni les fonctionnalits du cas 'Rserver voyage". Elle les traduit diffremment. Les interactions Internet ne sont pas une option des interactions comptoir. Par contre les deux cas "Rserver voyage" et "Rserver voyage par Internet" sont lis : la rservation par Internet est un cas particulier de rservation. De faon gnrale en objet, une situation de cas particulier se traduit par une relation de gnralisation. ATTENTION : On peut galement gnraliser les acteurs
___________________________________________________________________
DI GALLO Frdric Page 38 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Travail faire: I.l) Expliquer le diagramme ci-dessous par un texte dcrivant les informations qu'il contient en les contextualisant dans le cadre de TVServices (deux sens possibles, ambigut /).
Voici une description possible du diagramme propos: L'accs aux fonctions d'administration est protg, le contrle s'effectuant sur l'identificateur et le mot de passe de l'administrateur. Ce qui explique que l'excution du cas d'utilisation 'Administrer' ncessite celle du cas d'utilisation 'ContrleAccsUtil', dont l'excution ncessite celle du cas d'utilisation 'Identifier'. Le dcoupage fonctionnel de l'administration en cration des utilisateurs, contrle d'accs des utilisateurs... ne me semble pas pertinent ce niveau de description avec l'approche 'cas d'utilisation'. I.2) Quel peut-tre l'intrt de sparer les cas d'utilisation "ContrleAccsUtil" et "Identifier" du cas d'utilisation "Administrer"? Il peut y avoir intrt sparer les cas d'utilisation "ContrleAccsUtil" et "Identifier" du cas d'utilisation "Administrer" si les deux premiers sont utiliss par ('inclus dans') d'autres cas d'utilisation; on les a en quelque sorte factoriss. I.3) Reprsenter par un fragment de diagramme de cas d'utilisation le fait que parmi les acteurs sollicitant le systme, "Client" et "Administrateur" sont tous deux "Utilisateur".
Utilisateur
Client
Administrateur
___________________________________________________________________
DI GALLO Frdric Page 39 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 40 28/11/01
U M L_D IG A LLO
U tiliser U tilisateur
<<include>>
Identifier
<<include>> Regarder mission Consulter magaz ine Consulter liste immdiatement disp onible
Enregister mission
<<extend>>
A dministrer
<<include>>
Enregistrer en direct
Programmation enregistrement
___________________________________________________________________
DI GALLO Frdric Page 41 28/11/01
b) Reprsentation
Nom de la classe Attributs Oprations
___________________________________________________________________
DI GALLO Frdric Page 42 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Exemple : VEHICULE Marque Modle Immatriculation Niveau du carburant .. Acclrer() Vidanger() Une classe correspond un concept global dinformation et se compose dun ensemble dinformations lmentaires, appeles attributs de la classe qui servent la dcrire. UML dfinit trois niveaux de visibilit pour les attributs et les oprations : Public qui rend llment visible tous les clients de la classe, Protg qui rend llment visible aux sous classes de la classe, Priv qui rend llment visible la classe seule. Un attribut est caractris par un nom et par un format.
c) Syntaxe
Nom_attribut : type_attribut = valeur_par_dfaut Dans un premier temps on ne retiendra comme attribut que des donnes non calcules, cependant par commodit de gestion on pourra garder des attributs pouvant tre construits partir dautres attributs (on rajoutera / devant lattribut dit driv).
d) Oprations
La dfinition dune classe est complte par lensemble des oprations quelle peut excuter. Une opration est une fonctionnalit assure par la classe. Le niveau de dtail retenir pour dcrire les oprations est fonction du niveau davancement de ltude.
___________________________________________________________________
DI GALLO Frdric Page 43 28/11/01
ETUDIANT
SALLE
b) Rle
Les extrmits dune association sont appeles rles et peuvent porter un nom. Le rle dcrit comment une classe voit une autre classe au travers dune association.
___________________________________________________________________
DI GALLO Frdric Page 44 28/11/01
GARAGE LOCATAIRE 1 1
1..* CONTRAT
Travail faire : Faites une description de ce diagramme de classe en explicitant en une phrase chacune des multiplicits. Un box peut tre lou par au maximum un seul contrat ou peut rester non lou. Un contrat concerne la location d'un seul box la fois. Un box peut tre vide ou contenir au maximum 2 vhicule. Un vhicule est autoris aller dans un box (au minimum) ou plus. Un contrat ne concerne qu'un seul locataire. Un locataire peut souscrire plusieurs contrat mais doit en avoir souscrit au moins un.
___________________________________________________________________
DI GALLO Frdric Page 45 28/11/01
LIG-COM Quantit
1..*
LIVRAISON
Ici, NumCommande + RfProduit Quantit Une classe association est une classe comme une autre qui peut entretenir des relations avec dautres classes
g) Agrgation
Une agrgation est un type particulier dassociation. Elle traduit la volont de renforcer la dpendance entre les classes. Cest une association non symtrique dans laquelle une des extrmits joue un rle prdominant par rapport lautre extrmit. Les critres suivants impliquent une agrgation : - une classe fait partie dune autre classe, - une action sur une classe implique une action sur une autre classe, - les objets dune classe sont subordonns aux objets dune autre classe. Attention : linverse nest pas toujours vrai ; lagrgation nimplique pas ncessairement tous les critres ci-dessus. 1 1..*
GARAGE
BOX
___________________________________________________________________
DI GALLO Frdric Page 46 28/11/01
h) La composition
La composition est un cas particulier dagrgation dans laquelle la vie des composants est lie celle de lagrgat. Dans la composition, lagrgat ne peut tre multiple. La composition se reprsente par un losange noir.
C om m u n e
1
1..*
1..*
1..*
M ai ri e
C on se i l M u n i ci pal
S e rvi ce
Une composition est une association contraignante : la suppression dun objet agrgat entrane la suppression des objets agrgs.
i) Gnralisation :
UML emploie le terme de gnralisation pour dsigner la relation de classification entre un lment plus gnral et un lment plus spcifique. La relation de gnralisation signifie est un ou est une sorte de .
Instrument +Nom Instrument : undefined +Date fabrication : undefined
La classe Instrument est une classe gnrique, elle porte les attributs communs tous les instruments. La classe Instrument cordes est une classe spcialise qui porte les attributs spcifiques ce type dinstrument. Une classe spcialise peut avoir des relations avec dautres classes.
___________________________________________________________________
DI GALLO Frdric Page 47 28/11/01
3.1) Interaction
La squence dactions dun scnario dun cas dutilisation dbute lorsquun acteur invoque ce cas dutilisation en envoyant une forme quelconque de message au systme. En fait ce nest pas le systme dans son ensemble qui va recevoir le message mais un objet frontire (ou interface). Lobjet frontire va envoyer son tour un message un autre objet, de sorte que les objets concerns vont dialoguer pour raliser ce cas dutilisation ou plus prcisment un scnario de ce cas dutilisation. A laide du diagramme de collaboration, nous illustrons donc linteraction entre objets en crant des liens entre ces objets et en associant des messages ces liens. Le nom dun message doit voquer lintention de lobjet appelant lors de linteraction avec lobjet associ.
___________________________________________________________________
DI GALLO Frdric Page 48 28/11/01
Exemple : Utilisation dun diagramme de collaboration pour dcrire la ralisation du scnario retrait autoris du cas dutilisation retirer de largent
IntGuichet/:IGuichetAccueil
2:DemanderAutorisation(Code) Contrleur1/:CAutorisation
1:Identifier(Code) 4:AutoriserCration(ListeComptes) 5:ChoixCompteMontant(Compte,Montant) M. Martin/:Client de la banque 6:DemanderRetrait(Compte, Montant) CompteClient/:Compte 9:DlivrerArgent() 7:ValiderEtEffectuerRetrait() Contrleur2/:CRetrait Multi-objet IntChoixMontant/:IGuichetMontant 3:[ContrleOK]ObtenirListe() ComptesMartin/:Compte
8:AutoriserRetrait(montant) IntDistributeur/:Idistributeur
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ Le diagramme de collaboration peut tre complt par du texte dcrivant de quelle faon les objets dialoguent pour effectuer le scnario du cas dutilisation. Cest une description de scnario un peu plus prcise.
___________________________________________________________________
DI GALLO Frdric Page 50 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 51 28/11/01
D iffu sion
D at e : st ring H eure : s t ring
Em i ssi on
T it re : st ring D ure : s t ring 1..* Appartenir 1..* 1..* Pr opos er 1
C h ai n e
Pr ofiter 1..*
Pl age h orai re
J our de la semaine : st ring H eure de dbut : s t ring H eure de fin : s t ring
___________________________________________________________________
DI GALLO Frdric Page 52 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 53 28/11/01
a) L'adhsion:
La procdure d'adhsion d'un membre l'association doit se faire en ligne. Une personne peut demander devenir adhrente condition d'tre parraine par deux membres en place. Le demandeur connect la partie du site de l'IWTS accessible au public, remplit un formulaire de demande d'adhsion. La premire partie du formulaire demande une @dresse lectronique et les rfrences des deux parrains. Aprs contrle de l'identit des parrains une cl est fournie au demandeur (dans sa bote aux lettres lectronique) qui pourra ainsi accder au formulaire d'adhsion complet. L'association souhaite connatre; l'identit du demandeur, son adresse personnelle, son diplme le plus important, son adresse professionnelle, sa profession (par exemple ingnieur d'tudes) et sa fonction dans l'organisation (par exemple directeur de laboratoire), ses thmes prfrs de recherche et les rcompenses obtenues (par exemple Awards 2000 de la meilleure publication sur le thme du lagunage...). Le demandeur choisit les groupes thmatiques auquel il souhaite appartenir; il doit fournir galement sa photo numrise et les rfrences de deux articles dont il est l'auteur; ces articles doivent avoir paru dans des revues scientifiques rpertories, ou tre disponibles sur un site, auquel cas c'est l'adresse rticulaire (URL) des articles qu'il fournit.Un des membres du conseil (compos d'un prsident, d'un vice prsident, et d'un nombre de membres de chaque collge proportionnel au nombre d'adhrents de ce collge) qui dirige l'association examine la demande d'adhsion, notamment le contenu scientifique des deux articles cits par le demandeur et contrle le parrainage. Si le conseil apprcie le dossier du demandeur, un collge lui est propos et il peut devenir membre. S'il confirme sa demande, le demandeur (admis) signale le mode de paiement de l'adhsion qu'il souhaite. Le tarif dpend du collge du membre. Le membre admis peut, aprs s'tre acquitt du paiement de bnficier des informations prives de l'association. L'enregistrement du paiement est effectu par le secrtariat. Il fait alors partie de la liste de diffusion du groupe thmatique auquel il a choisi d'appartenir; il pourra dialoguer avec les autres membres lorsqu'il aura sign la charte dontologique des listes. Cela peut se faire tout moment notamment lors de la confirmation de demande d'adhsion.
___________________________________________________________________
DI GALLO Frdric Page 54 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 55 28/11/01
___________________________________________________________________
DI GALLO Frdric Page 56 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ 2- crire une description du cas d'utilisation "Adhrer". Cas d'utilisation "Adhrer" ; acteur dclencheur : "Public"; acteurs participants: "Conseil" et "Secrtariat" Ce cas commence par La rception d'une demande d'adhsion manant d'un acteur "Public". Le serveur envoie un formulaire de demande d'adhsion, explicitant la procdure. Le demandeur expdie le formulaire rempli (nom & prnom, @dresse lectronique), nommant ses deux parrains.
/* Le serveur contrle l'identit des parrains et veille la non redondance du nom du demandeur. */
Le serveur expdie dans la bote (mail) du demandeur une cl valide. Le demandeur renouvelle sa demande d'adhsion. Le serveur envoie un formulaire d'adhsion en ligne.
/* Le demandeur complte le formulaire avec la cl d'authentification qui lui a t fournie, son adresse personnelle, son diplme le plus important, son adresse professionnelle, sa profession et sa fonction dans l'organisation dont il fait partie, ses thmes prfrs de recherche et les groupes thmatiques auxquels il souhaite appartenir. */
Le demandeur transmet le formulaire et un dossier comportant une photo (magntique) au format requis, et les rfrences de deux articles dont il est l'auteur parues dans une revue ou publies sur un site. Le "Conseil" (un membre autoris), demande accder au dossier Le serveur lui fournit le dossier. Le "Conseil" propose ou non l'adhsion un collge.
/* Le serveur enregistre l'avis du conseil. */
Le serveur signale l'avis du conseil au demandeur. Lorsque l'avis est positif, le demandeur peut confirmer sa demande d'adhsion au collge propos, signaler son mode de paiement de la cotisation correspondante, et s'il souhaite utiliser la liste de diffusion, en signer la charte. Le "Secrtariat" enregistre le paiement de la cotisation.
/* Le demandeur devient membre effectif. */
Ce cas se termine par l'enregistrement du paiement de l'adhsion (interaction 13), ou par le signalement au demandeur (interaction n0 11) du rejet de sa demande par le conseil. crire un scnario "Adhsion au collge des laboratoires", instance du cas d'utilisation "Adhrer". Scnario du cas d'utilisation adhrer: "adhsion au collge des laboratoires" L'acteur "Public" Pierre Aver (PA), connect au site, demande accder l'adhsion en ligne. Le serveur lui envoie un formulaire de demande d'adhsion, explicitant la procdure. P.A. s'identifie (Pierre Aver, Pierre.Aver@eigsi.fr), nomme ses deux parrains (Lagun Hadj et Hincine R.) et expdie le dbut du formulaire.
/* Le serveur contrle l'identit des parrains (0K) et veille la non redondance du nom du demandeur (0K). */
Le serveur expdie l'@ Pierre.Aver@eigsi.fr la cl LMU3288. PA renouvelle sa demande d'adhsion Le serveur lui envoie un formulaire d'adhsion en ligne. /* PA complte le formulaire avec la cl qui lui a t fournie (LMU3268), son adresse personnelle (18, Rue des Roses Trmires Dampierre sur Boutonne, France...), son diplme le plus important (Ph D en biologie), son adresse professionnelle (...), sa profession (ingnieur
___________________________________________________________________
DI GALLO Frdric Page 57 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ d'tudes) et sa fonction dans l'organisation dont il fait partie (directeur du laboratoire de biologie applique), ses thmes prfrs de recherche (l'utilisation des algues dans le processus de lagunage et les groupes thmatiques auxquels il souhaite appartenir (dca ntation & traitements biologiques). */ PA transmet le formulaire incluant sa photo (magntique), et les rfrences de deux articles dont il est l'auteur publies sur le site des Techniques de l'Ingnieur. Le serveur met un message vers la bal du conseil. Georges Cerbre (GC), membre du conseil, demande accder au dossier. Le serveur lui fournit le dossier. GC propose l'adhsion au collge des laboratoires. /* Le serveur enregistre l'avis du conseil. */ Le serveur signale l'avis du conseil PA. PA confirme sa demande d'adhsion au collge des laboratoires, signale son mode de paiement de la cotisation par chque bancaire, et signe la charte afin d'utiliser les listes de diffusion relatives aux thmes qu'il a choisi. Le "Secrtariat" enregistre le paiement de la cotisation. /* PA devient membre effectif */ Travail faire: 1- En examinant en dtail le texte de description du cas d'utilisation adhrer , produire une premire version du diagramme de classe du domaine de cette application.
___________________________________________________________________
DI GALLO Frdric Page 58 28/11/01
Mthodologie UML - Cours du cycle B du Cnam.doc ______________________________________________________________________________ 3- Proposer un diagramme de collaboration du scnario "adhsion au collge des laboratoires"
___________________________________________________________________
DI GALLO Frdric Page 59 28/11/01