Home
Génie Logiciel Avancé Cours 3 — Le modèle à
Contents
1. Policy devices Ser ct execution environment LDAP Server iUser amp Group Hierarchy Stefano Zacchiro http en wiki Par 7 edia org wiki File Deployment_Diagram PNG Le mod le objets 48 78 Sommaire Sp cification l aide d UML Vues dynamiques Stefano Zacchiroli Paris 7 Le mod le objets Fa Cr 49 78 Vues dynamiques e Les vues dynamiques d crivent le comportement du systeme behaviour e Elles permettent de pr ciser les cas d utilisation sous la forme d interaction entre objets de d crire l tat des objets de fa on abstraite en termes de r actions vis vis de leur environnement et des messages qui leur sont envoy s Stefano Zacchiroli Paris 7 Le mod le objets 50 78 Exemple diagramme de communication Player Luke 5 SentGamelsOver Player DarkVador Move GamelOver Figure Diagramme de communication ou collaboration dans UML 1 x 9 On repr sente ici un sc nario comme un enchainement d envoi de message entre objets 9 Les objets soulign s correspondent des instances Le nom entre crochet symbolise l tat de l objet chaque tape du sc nario lorsqu il est informatif 9 La s quence d change des messages est ordonn en utilisant des indexes num riques Stefano Zacchiroli Paris
2. La notion de message n est pas de premi re classe ce qui rend compliqu e l expression de m canismes calculatoires de la forme pour tout message solution partielle aspect oriented programming On aimerait parfois raisonner sur le syst me comme un monde clos en interdisant certaines extensions futures dangereuses solution partielle final classes Le cours de POCA de Master 2 Sommaire Un processus associ au mod le objets Stefano Zacchiroli Paris 7 Le mod le objets DAG 8 78 Le Rational Unified Process RUP Le Rational Unified Process RUP d velopp par IBM est une famille de processus e Ce sont des processus it ratifs incr mentaux centr s sur le modele objets et sur UML voir plus loin dans ce cours 9 Les validations de chaque phase s appuient sur des cas d utilisation 9e Le syst me est d crit comme la somme de multiples vues e Son architecture est le soucis permanent le RUP pr conise le d veloppement pr liminaire d une architecture ex cutable c est dire une version du syst me avec un nombre tr s limit de fonctionnalit s mais dont le squelette est fix Stefano Zacchiroli Paris 7 Le mod le objets 9 78 Les diff rentes variantes du RUP e Unified Process UP est la version la plus document e du RUP gt C est une version g n rique adaptable aux besoins particuliers 9 Agile Unified Process AUP ajoute un caract re volut
3. 4 4 4 4 1 le gd Lobessseesss sh ese IT kO FERRER Eeer VE kee WEE n T H D fai U d V 1 Reasoninvalid 7 ke unavailable 1 i ent unavailable H 1 H 1 D t H D i i i D i 1 t i x i http www tracemodeler com gallery D en E aA Stefano Zacchiroli Paris 7 Le mod le objets 537 78 Exemple diagramme de s quence cont s1 invocationArrived i I id getlDi D si getinstance loadState id someDBConnection gt D someOperation x I saveState gt returnToPool ro s1 sinvocationDone i deactivate D I i Interactions among the patterns p 158 http www tracemodeler com gallery D en E Stefano Zacchiroli Paris 7 Le mod le objets Gay ul Wu Exemple diagramme de s quence cont E Le e e G K TT click save button user dtemDetais View temDetaisController item ctemRepository database emt La setitem i 1 i D getDetails L k ss L or Ss ee i D 4 show 1 CS 3 ES RS RS L L U 1 edit text fields l EE E http www tracemodeler com gallery D en E DAG Stefano Zacchiroli Paris 7 Le mod le objets 53778 Exemple diagramme de s quence cont lo v v for each se
4. ex serveurs mat riels ou des environnements d ex cution p ex serveurs logiciels framework etc gt en g n ral les noeuds sont organis s dans une hi rarchie de noeuds Stefano Zacchiroli Paris 7 Le mod le objets 47 78 Exemple d ploiement Stefano Zacchiroli Paris 7 http en wikipedia org wiki File UML Diagramme Deploiement gif Le mod le objets SE 48 78 Exemple dd Deployment of Components 7 d ploiement execution enviranments zApplication Server PolicyAdminU war El thrcugput needs _ execution environments zApplication Server devices devices devices Product Server Presentation Server Policy Server To be clustered ta meet eexecution environments xexecutionErviranments zApplication Server SE PolicyServer jar ProductServer jar F ProductRules devices Workstat PorductServertILexe Fl execulionEmiranmert Application Server execulionEmiranmenl zRules Engine 1UnderwritingEngine jar Rating Rules E sRatingEngino jar Underwriting Rules F1 devices Document Server devices Database Server execution environments RDBMS Document Management E System
5. le un processus business ou work flow ses choix et comment ils interagissent avec le contexte dans lequel le syst me sera d ploy gt plusieurs syst mes et sous syst mes faisant partie ou pas du syst me en cours de d veloppement peuvent appara tre dans un diagramme d activit 9 les diagrammes d activit permettent d exprimer choix concurrence synchronisation et it rations e une s mantique en termes de r seaux de Petri a t propos e pour les diagrammes d activit e originalement encod s comme diagrammes d tat dans UML 1 x ont t s par s partir de UML 2 x Stefano Zacchiroli Paris 7 Le mod le objets 56 78 Grammaire des diagrammes d activit rectangles arrondis activit s losanges choix d cisions barres concurrence fork et synchronisation join circles noirs tat initial circles noirs contourn s tat final Stefano Zacchiroli Paris 7 Le mod le objets 57778 Exemple diagramme d activi t gt Suggest lead Participants write down their idea Everybody presents their idea in turn Elaborate on idea Stefano Zacchiroli Paris 7 http en wikipedia org wiki File Activi ty conducting ch Le mod le objets 940 58 78 Sommaire Sp cification l aide d UML e Vues statiques Stefano Zacchiroli Paris 7 Le mod le objets 230 59 78 Vues statiques e Les vues statiques tablissent la structure du syst me un niveau de
6. 7 Le mod le objets 51 78 Exemple diagramme de communication cont Player Luke 5 SentGamelsOver FBroadcastGamelsOvertID M d Player DarkVador Mave EMI 3 GamblsOver GamelPlaying GamelOver Figure Diagramme de communication ou collaboration dans UML 1 x Critique 9 Cette notation met l accent sur les objets n cessaires la r alisation d un cas d utilisation 9 peut tre difficile lire car les messages sont parpill s sur le diagramme voir le diagrammes de s quence Stefano Zacchiroli Paris 7 Le mod le objets 51 78 Diagramme de s quence e Un diagramme de s quence pr sente les interactions entre les objets comme une succession de message On peut y d noter des contraintes de r ponses synchrones ou asynchrones des tats bloquants des protocoles requ te r ponse ou fire and forget La ligne du temps est bien d finie sur l axe verticale du diagramme 9 Cette notation met l accent sur le protocole de communication entre les objets Stefano Zacchiroli Paris 7 Le mod le objets 52178 Exemple diagramme de s quence K K Customer Employee ox T H A rentithis i p 1 Rental i T at d isRentableTo c 1 Tadutt movi aa I getBirthDate 1 05 02 1975 0 4 4
7. Exemple cas d utilisation cont ChessVideoGame Giro ji il Fur Artificial Intelligence ES SS play Play Chess N TRE daier 922777 eer Z E A Connect to server Pi lay a game i S een Play blitz e Une relation d h ritage permet de classifier les acteurs e Si l acteur Az h rite de l acteur alors tous les sc narii de A sont accessibles A2 Stefano Zacchiroli Paris 7 Le mod le objets 32 78 Exemple cas d utilisation cont derni re fois Stefano Zacchiroli Paris 7 ChessVideoGame Artificial Intelligence Le mod le objets On retrouve ici les relations tend et inclus d finies la ul Ul eye cv 32 78 Exemple cas d utilisation cont uc Use Cases T receiv order Waiter Cashier D place rder Ch Food Foo K System Boundary een Order Wine Food lt lt extend gt gt if wine was ordered er if wine was served lt lt extend gt gt fif wine Pay for lt y was Wine consumed http en wikipedia org wiki File Use case restaurant model svg Stefano Zacchiroli Paris 7 Le mod le objets Chef 32 78 tude de cas diagramme de cas d utilisation Exercice Traduisez la description textuelle du cas d utilisation en un diagramme Stefano Zacchiroli Paris 7 Le mod le objets 33 7
8. Stefano Zacchiroli Paris 7 Le mod le objets 35 78 Activit s li es l explicitation des cas d utilisation titre indicatif voici une succession d activit s pouvant mener l obtention des cas d utilisation Q Identification des acteurs secondaires Des acteurs qui interviennent dans les cas d utilisation d couverts Q Identification des cas d utilisations secondaires Par raffinement des cas d utilisation principaux Q Factorisation des redondances Q D finition du vocabulaire du domaine gt Les cas d utilisation soul vent des questions sur le sens des termes employ s par les acteurs Stefano Zacchiroli Paris 7 Le mod le objets 35 78 tude de cas extraction des cas d utilisation Exercice D finissez les acteurs et cas d utilisation principaux du moteur g n rique de jeu d aventure D t Wu ADAG Stefano Zacchiroli Paris 7 Le mod le objets 36 78 Critique des cas d utilisation Malgr les qualit s cit es plus t t la centralisation autour des cas d utilisation peut avoir des faiblesses Taille l num ration des cas d utilisation et de leurs variations peut induire une combinatoire assez importante Conception le point de vue utilisateur n est pas forc ment la bonne facon d aborder un probl me e Par exemple les utilisateurs peuvent avoir une vue incompl te du probl me ou tre des instances inconscientes de probl mes plus g n raux Impr cis
9. d tail plus fin que celui du diagramme de paquets 9 s agit d num rer les diff rentes classes d objets et leur relations Stefano Zacchiroli Paris 7 Le mod le objets 60 78 Exemple diagramme de une classe BankAccount owner String balance Dollars 0 deposit amount Dollars withdraw amount Dollars http en wikipedia org wiki File BankAccount jpg Figure Diagramme de classe r duit a une classe on retrouve pour chaque classe nom de la classe unique dans le paquet attribues avec types et valeur initial m thodes avec noms et types d entr e et sortie Stefano Zacchiroli Paris 7 Le mod le objets 61 78 Exemple diagramme de une classe BankAccount owner String balance Dollars 0 deposit amount Dollars withdrawl amount Dollars http en wikipedia org wiki File BankAccount jpg Figure Diagramme de classe r duit a une classe m thodes et attribues peuvent tre annot s avec leur visibilit scope pour cela UML offre des pr fixes standardis s public default protected private package Stefano Zacchiroli Paris 7 Le mod le objets 61 78 Relation entre classes Les classes peuvent tre mise en relation UML propose les relations suivantes Association un lien s mantique entre deux classes Agr gation composition une relation d appartenance G n ralisation sp cialisation une rel
10. o E Ml iul Stefano Zacchiroli Paris 7 Le mod le objets DAG R sum e Nous avons bri vement pr sent RUP gt Nous en tudierons les principes dans le cours de conception orient e objet des syst mes e Nous avons survol UML gt Ce sera un outil que nous appliquerons et approfondirons par la suite Stefano Zacchiroli Paris 7 Le mod le objets 78 78
11. son nom devant un client non informaticien et celui ci peut comprendre peu pr s de quoi il retourne Note Ce cours suppose quelques connaissances en programmation orient e objet Stefano Zacchiroli Paris 7 Le mod le objets 4 78 Principes g n raux de GL dans le mod le objets D finition Objet Un objet est form d un tat et d un ensemble de comportements mod lis s comme des r actions des messages Il a une identit Sa dur e de vie est limit e Il joue un ou plusieurs r les dans le syst me Principes Modularit La logique interne de l objet est d corr l e de son utilisation Encapsulation La seule facon d influer sur l tat d un objet est de lui envoyer des messages Abstraction Les objets sont g n ralement classifi s suivant une relation de g n ralisation Stefano Zacchiroli Paris 7 Le mod le objets 5 78 Les forces du mod le objets e En plus des apports mentionn s plus t t les objets facilitent un raffinement progressif du mod le logique l impl mentation En effet les concepts importants du syst me sont souvent mod lis s par des classes abstraites dont les sous classes fournissent des concr tisations e De plus les objets am liorent la r utilisabilit grace a leur relative ind pendance vis a vis du contexte d utilisation oe Enfin l extension a posteriori d un composant est autoris e par le m canisme d h ritage
12. 4 78 Exemple paquets avec classes et annotations Network API lt lt use gt gt 1 ConnectionHandler _ _ lt lt send gt _ _ _ gt GameHandler EE initiate game cnn e On peut pr ciser les relations de d pendances l aide d annotations gt Voir la sp cification d UML pour conna tre les annotations standards Stefano Zacchiroli Paris 7 Le mod le objets 45 78 Exemple avec cas d utilisations et relations pkg Primary Use Cases 7 im O lity amp Benefits SS amp View Additional Benefits List Ck Si h e View Benefit Details m Search Edt Payment Address for tis Clam IS Vew Colnsurance Data Notation Search o sents chairi Emi a i amp View Copay Details ZE Enter Service Details amp View Deductibles GE EE Print HCFA amp View Eligibility amp Benefits e PEUR oy Elle G Pm Ed Confirmation View Family Copay Information Select Patient View Hospital Senices Details Tom Search Select Physician Provider le Submit a Claim le View Maternity Details Ze d le View Claim Status Patient Search e Search for Patient View Patient Search Results merge View Member Eligibility Search Results i View Outpatient Services Details Eligibility Search i merge le View Patient Details PRES i R from C
13. 8 R le des cas d utilisation dans RUP Ils jouent un r le central Ils servent de mat riau de base la phase de laboration gt Classifier les cas d utilisation en termes logiques de priorit ou de risque permet d organiser l analyse qui suit De nombreuses vues dynamiques sont des raffinements des cas d utilisation Ces raffinements pr cisent le vocabulaire et les m canismes mis en jeu Q Si une nouvelle utilisation du syst me apparait pendant l laboration i e l analyse de besoins il est syst matiquement ins r dans la base des cas d utilisation Q La partie validation de la phase transition consiste souvent formuler une version v rifiable ex cutable des cas d utilisation et y confronter le syst me Q Enfin le manuel d utilisation du syst me s appuie tres largement sur cette base de connaissance Stefano Zacchiroli Paris 7 Le mod le objets 34 78 Activit s li es l explicitation des cas d utilisation titre indicatif voici une succession d activit s pouvant mener l obtention des cas d utilisation Identification des acteurs principaux Les acteurs satisfaire en priorit Les entit s externes vitales au syst me Q Identification des cas d utilisation principaux On omet les situations exceptionnelles On obtient une description intentionnelle centr e sur les objectifs On met jour les termes et concepts incontournables du syst me
14. Cette extension n est pas intrusive elle ne n cessite pas de reprendre z ro le raisonnement sur le syst me dans sa globalit separation of concerns Stefano Zacchiroli Paris 7 Le mod le objets 6 78 Les faiblesses du mod le objets Malgr son utilisation tr s r pandue le mod le objet n est pas la solution ultime aux probl mes de la d finition de composants logiciel r utilisables corrects et robustes Faiblesses du mod le objets La non transparence observationnelle cause de son tat interne la r action d un objet un message n est pas toujours la m me Ceci rend difficile le raisonnement sur les objets Le m canisme d h ritage ne refl te pas la m me intention en fonction du niveau d abstraction auquel on se place En effet dans un mod le logique l h ritage sert refl ter la relation de g n ralisation sp cialisation Plus on se rapproche d une sp cification technique et plus cette relation est un m canisme de r utilisation de code gt Le cours de POCA de Master 2 Les faiblesses du mod le objets cont Malgr son utilisation tr s r pandue le mod le objet n est pas la solution ultime aux probl mes de la d finition de composants logiciel r utilisables corrects et robustes Faiblesses du mod le objets cont Q Les op rations n aires sont peu compatibles avec le mod le objet p ex le probl me du multiple dispatching
15. G nie Logiciel Avanc Cours 3 Le mod le objets Stefano Zacchiroli zack pps univ paris diderot fr Laboratoire PPS Universit Paris Diderot Paris 7 URL http upsilon cc zack teaching 1112 gla Copyright 2011 2012 Stefano Zacchiroli 2010 Yann R gis Gianas License Creative Commons Attribution ShareAlike 3 0 Unported License http creativecommons org licenses by sa 3 0 CIE Stefano Zacchiroli Paris 7 Le mod le objets 1778 Sommaire Le mod le objets Un processus associ au mod le objets Sp cification l aide d UML 9 Vues de cas d utilisation 9 Vues d architecture 9 Vues dynamiques 9 Vues statiques Q Synth se Stefano Zacchiroli Paris 7 Le mod le objets 2 78 Sommaire Le mod le objets Stefano Zacchiroli Paris 7 Le mod le objets DAS 3 78 Le mod le objets e Lorsque l on d veloppe un syst me ayant une contrepartie physique une association de la forme 1 objet physique 1 composant logiciel peut tre tentante e Dans le cours de programmation objet vous avez vu le triangle s miotique les analogies r f rent instance et signifi interface peuvent faciliter le raisonnement et surtout la validation d une sp cification vis vis des besoins gt Est ce que je construis le bon logiciel 9 Cette correspondance facilite la discussion avec un non expert on peut utiliser un composant logiciel par
16. ahier des charges gt A partir des mod les logiques et d impl mentation model driven engineering pr conise la g n ration de beaucoup de code d impl mentation Stefano Zacchiroli Paris 7 Le mod le objets 15 78 Phase transition e La phase de transition de ce processus correspond l activit de d ploiement et marque le d but de la maintenance du logiciel 9 Il s agit de v rifier la mise en place du syst me aupr s des utilisateurs production de manuel d utilisation formation et de pr parer ses futures volutions 9 Cette phase a t ignor par plusieurs mod les de d veloppement pr c dents au RUP Stefano Zacchiroli Paris 7 Le mod le objets 16 78 Perspective statique les work flows du RUP Core work flows e business modeling gt i e mod lisation du contexte du logiciel point de vue business requirements analysis and design E E e implementation e testing 9 deployment Support work flows e configuration and change management e project management e environment i e gestion des outils de d veloppement ou autres n cessaires dans les diff rentes phases et work flows Stefano Zacchiroli Paris 7 Le mod le objets 17 78 Interaction entre phases et work flows Business Modeling Requirements Analysis amp Design Implementation Test Deployment Time http en wikipedia org wiki File Development iterative gif les lignes correspondent aux
17. ation d abstraction Instanciation une relation d affectation de param tres R alisation une relation de conformit entre une interface et une impl mentation Stefano Zacchiroli Paris 7 Le mod le objets 62 78 Relation d association e s agit de la notion math matique de relation has a e Une relation a une arit gauche et droite e Chaque objet impliqu a un r le dans la relation Exemples e Un sc nario est jou par un joueur dans un partie e Une action est applicable sur plusieurs objets d une sc ne e Des objets sont n cessaires pour autoriser une action Stefano Zacchiroli Paris 7 Le mod le objets 63 78 Exemple diagramme de classe avec association Enrollment Marks Received enrolled ER Student Name Get Average To Date Name SR ER Get Final Mark Seminar Number Email Address p ordered FIFO SS Student Number Average Mark Add Student Drop Student Is Eligible To Enroll Get Seminars Taken Phone Number Email Address Sala Some seminars may not have an instructor Un association est form e par e un nom e des multiplicit s gauche et droite 9 des r les affect s chaque objet BS n Stefano Zacchiroli Paris 7 Le mod le objets 64 78 ul Wu Syntaxe des multiplicit s 0087 Un entier n n objets interviennent dans la relation L toile
18. cas d utilisation g r s par un sous syst me sp cifiques Stefano Zacchiroli Paris 7 Le mod le objets 41 78 Diagramme des paquets relations Les relations suivantes peuvent tre d finies entre sous syst mes dans des diagrammes des paquets d pendance l utilisation vague d un sous syst me par un autre import a relationship between an importing namespace and a package indicating that the importing namespace adds the names of the members of the package to its own namespace merge a directed relationship between two packages that indicates that the contents of the two packages are to be combined Stefano Zacchiroli Paris 7 Le mod le objets 42 78 Exemple paquets avec classes et d pendances andard Library lt lt interface gt gt Serializable lt lt ESS 1 PlayerDescription BoardDescription connection Lj t Ess LL E 9 Les bo tes qui apparaissent ici sont des classes importantes du syst me que l on commence classifier en termes de leur appartenance un sous syst me donn e Les relations entre ces classes voir plus loin induisent des d pendances entre les sous syst mes Stefano Zacchiroli Paris 7 Le mod le objets 43 78 Effets de d pendances Lorsqu un sous syst me d pend d un autre on doit commencer par tablir l interface de ce dernier Stefano Zacchiroli Paris 7 Le mod le objets 4
19. ce Facility Profile View Notifications Search Results Search for Medical Equipments Supplies Deactivate Practice Facility Profile from Bearch e Search for Physician e Manage Practice Facilty Profle amp Search for Physician Update Practice Facilty Profile amp Search for Physician le View Practice Facilty Profle Search General Directory Search Medicaid Physician Directory Search Medicare Physician Directory amp Search PhysiciarvProvider Directory Enrollment amp Search Plan Directory FRET LEE amp Maintain Provider Information H Update Enrollment Information Notifications Submit New Notification amp View Notifications Summary http en wikipedia org wiki File Package_Diag ram PNG Stefan cchiroli Paris 7 Le mod le objets 46 78 Diagramme de d ploiement D finition Diagramme de d ploiement Un diagramme de d ploiement deployment diagram montre le plan de d ploiement d un syst me quand le syst me sera complet Dans un diagramme de d ploiement une association mapping entre artefacts et noeuds est tablie les artefacts sont des entit s physiques produites ou utilis es par le processus de d veloppement logiciel p ex fichiers code objets bases de donnes documents etc e les noeuds sont des ressources de computation sur lesquelles les artefacts peuvent tre d ploy s p
20. e plusieurs coles de mod lisation Inconv nients e La s mantique d UML n est pas encore fix e Toutefois des experts essaient de d finir Precise UML un sous ensemble formalis d UML 9 C est seulement depuis la version 2 0 que la syntaxe est standardis e 9 Les notations sont parfois redondantes Stefano Zacchiroli Paris 7 Le mod le objets 25778 Diff rentes vues sur un systeme UML fournit des diagrammes pour plusieurs types de vues sur un logiciel Dans ce cours on en regardera 4 les vues de cas d utilisation Q les vues d architecture les vues dynamiques les vues statiques 1 A priori il s agit d une vue dynamique Stefano Zacchiroli Paris 7 Le mod le objets 26 78 Une abondance de diagrammes Diagram A Structure Behaviour Diagram Diagram A A Class Component Object Activity Use Case Diagram Diagram Diagram Diagram Diagram Profile Composite Package i State Structure Deployment ackag Interaction Machine Diagram Diagram Diagram Diagram Diagram Diagram A Sequence Communication Interaction Timing T A Overview Notation UML Diagram Diagram Diagram Diagram Figure Les diagrammes d UML 2 x http en wikipedia org wiki File UML diagrams overview svg S
21. faisabilit dont nous avons parl e dans le cours pr c dent e tablir un business case pour le syst me e il peut amener l abandon du projet donc il est plus intense vers le d but du projet pour minimiser les risques Stefano Zacchiroli Paris 7 Le mod le objets 1377378 Phase laboration Il s agit de l analyse des besoins e Celle ci fait un usage intensif des cas d utilisation et donc de sc narios pour raffiner la compr hension du probl me pos et expliciter les sp cificit s du domaine e Des prototypes parmi lesquels on trouve l architecture ex cutable sont d velopp s pour valuer concr tement des points techniques risqu s Stefano Zacchiroli Paris 7 Le mod le objets 14 78 Phase construction Cette phase correspond la conception et au d veloppement e Elle est r p te plusieurs fois pour une progression incr mentale aboutissant diverses versions du syst me r solvant les probl mes techniques hauts risques en priorit e Dans une conception orient objet il est parfois difficile de bien distinguer la sp cification de l impl mentation gt Certains sp cialistes pr conisent la d finition de deux mod les disjoints un mod le logique et un mod le d impl mentation voir model driven engineering gt Cette distinction est importante car il doit toujours exister une sp cification servant de r f rence aux d veloppements et sur laquelle appuy le c
22. if RUP On s appuie sur une haute qualification des d veloppeurs pour limiter le plus possible la production de documents pr liminaires au d veloppement Les cas d utilisation sont repr sent s par des tests ex cutables Un prototype est d velopp tr s rapidement et dirig s par la validation de ces tests La sp cification est construite en m me temps que le logiciel une fois que celui ci est confront sous une forme ex cutable aux utilisations des clients Stefano Zacchiroli Paris 7 Le mod le objets 10 78 Perspectives du RUP Perspective dynamique les phases du processus et leur ordre temporel Perspective statique gt les work flows qui correspondent aux activit s de d veloppeurs et d autre acteurs Perspective pratique les bonnes pratiques best practices a utiliser pendant toute la dur e du processus Stefano Zacchiroli Paris 7 Le mod le objets iyd Perspective dynamique les phases du RUP Inception Construction Elaboration Transition initialisation inception construction laboration transition It ration 9 chaque phase peut tre it r e plusieurs fois avant de passer la phase successive micro it ration e l ensemble de phases est typiquement it r plusieurs fois comme dans tous les mod le it ratifs macro it ration Stefano Zacchiroli Paris 7 Le mod le objets 127978 Phase initialisation inception Cette phase correspond l tude de
23. ion il est tr s difficile d avoir un discours pr cis en s exprimant seulement l aide de cas d utilisation e Formaliser rapidement les concepts ou processus primordiaux permet d en saisir les subtilit s Stefano Zacchiroli Paris 7 Le mod le objets 37 78 Sommaire Sp cification l aide d UML e Vues d architecture Stefano Zacchiroli Paris 7 Le mod le objets eyes 38 78 Vues d architecture 9e L architecture est une vue d ensemble du syst me e C est un point de conception haut risque e s agit de partitionner le syst me en sous syst mes e Un bon partitionnement tablit gt une faible d pendance entre les sous syst mes gt affecte un r le clair et distinct chaque sous syst me permet de couvrir l ensemble des les cas d utilisation Stefano Zacchiroli Paris 7 Le mod le objets 39 78 Exemple paquets Le mod le objets D ChessGame ChessBoard User Interface Communication ChessServer ChessEngine GameManagement mc DE Communication Figure Diagramme d architecture ou de paquets a DAS 40 78 Diagramme des paquets contenu Un diagramme des paquets peut contenir classes importantes du syst me pour associer classes aux sous syst mes Q cas d utilisation pour montrer les
24. laims amp Payments bg se eer SL JS Search for Multiple Members emerges Claim Search e View Physician Senices Details i e Search by Claim Number Check Claim Status e View Prescription Drugs Details from Search i Search by Claim Status Print Claim Detail ep view Radiology Deal i k Search by Physician Provider GE i Submit Adjustment Request i amp Search by Referral Number sven Can DMA Remittance Search amp Search by Time Period Eee Chin San Search for a Claim SAYER CMSA le Search by Account Number bise CE Seah REO Remittances e Search by Date of Service OPE Ee from Claims amp Payments e Download Remittance Advice Search by Patient Name Search by Patient Number amp Print Remittance Advice View Remittance Details Search by Subscriber ld Search for Zero Payment Claims Search Remittance View Remittance Search Results from Search Lookup Fee Schedule Lookup Fee Schedule Print Fee Schedule amp Select Product Service Notification Search View Fee Schedule Search Search by Admitting Attending Physician oer Sean fe Search by Facility from Claims amp Payments Physician Provider Directory e Search by Notification Number 3 e Search far a Notification HELIUM FraciceFacliy Profile Q gt Search or E e Search for Medical erue amp Add a New Practi
25. li Paris 7 Le mod le objets 73 78 Exemple diagramme de r le lt lt role gt gt Attacker allowedAttackMoves list lt Move gt Figure Diagramme de r le ou de profil e Un r le peut tre jou par un objet dans une situation particuli re ou en fonction de son tat Stefano Zacchiroli Paris 7 Le mod le objets 74 78 Exemple mauvais r le ES allowedAttackMoves list lt Move gt Figure Point de vue incorrect sur un r le e faut distinguer g n ralisation et prise temporaire d un r le Stefano Zacchiroli Paris 7 Le mod le objets 75778 Exemple bon r le essPieces allowedMoves list Move allowedMovesKing list Move allowedMovesQueen list lt Move gt allowedMovesBishop list lt Move gt allowedMovesRook list Move allowedMovesPawn list lt Move gt allowedAttackMoves list Move allowedAttackMovesKing list lt Move gt allowedAttackMovesQueen list Move allowedAttackMovesBishop list lt Move gt allowedAttackMovesRook list Move allowedAttackMovesPawn list Move Figure Une impl mentation correcte d un r le g p Stefano Zacchiroli Paris 7 Le mod le objets 76 78 Sommaire Le mod le objets Un processus associ au mod le objets Sp cification l aide d UML 9 Vues de cas d utilisation Vues d architecture e Vues dynamiques 9 Vues statiques Q synth se
26. minar rd http ww tracemodeler com gallery oo AAC Stefano Zacchiroli Paris 7 Le mod le objets 53778 Diagramme d tat 9 Les diagrammes d tat UML state machine ou UML statechart repr sentent l volution de l tat du syst me ou d un sous syst me sous la forme d un automate e Une transition de cet automate est suivie en r action un v nement e Elle peut tre conditionn e par des contraintes exprim es sur le syst me Intuition UML statechart automate fini I h ritage entre les tats machine de Mealy sortie tat machine de Moore sortie tat trans variables amp gardes Stefano Zacchiroli Paris 7 Le mod le objets 54 78 Exemple diagramme d tat initial LS transition ANY KEY send_lower_case_scan_code NM ANY KEY send upper case scan code yf NY Sa n I state A N N Stefano Zacchiroli Paris 7 http en wikipedia org wiki File UML_state_machine_Fig1 png Le mod le objets Wu ge 55 78 Exemple diagramme d tat cont key count 1000 CAPS LOCK ANY KEY key count caps locked else pM EN p EN ANY KEY key count m count EET count d http en wikipedia org wiki File UML state machine Fig2 png Stefano Zacchiroli Paris 7 Le mod le objets eye cv 55 78 Diagramme d activit e un diagramme d activit mod
27. mpos de Stefano Zacchiroli Paris 7 Le mod le objets 67 78 Objectifs de la g n ralisation sp cialisation Sp cialisation e Ajout d une fonctionnalit e Focalisation sur un aspect sp cifique une classe G n ralisation 9 Factorisation de crit res communs 9 Abstraction des d tails Analogie avec la relation d inclusion ensembliste is a D finition Classe abstraite Une classe est abstraite si elle n est jamais vou e tre instanci e tre abstraite capture la notion de concept Stefano Zacchiroli Paris 7 Le mod le objets 68 78 Exemple g n ralisation Figure Diagramme de classe avec relation de g n ralisation e Piece est une super classe de Queen elle g n ralise cette derni re e Queen est une sous classe de Piece elle sp cialise cette derni re On exprime ici une relation d abstraction entre composants Annotations de la relation de g n ralisation On peut annoter la relation de g n ralisation par complete on ne peut plus rajouter une nouvelle sous classe incomplete on pourra rajouter une nouvelle sous classe dans le futur 9 disjoint les sous classes ne pourront pas tre les parents d une future sous classes overlap les sous classes pourront tre utilis es comme super classes d une m me sous classe dans le futur Intuition complete incomplete s occupent de la extensibilit horizontale de la g n
28. oueur du changement Cas probl matique L action n est pas applicable Le joueur est inform des causes de l erreur I peut formuler une autre action Activit s concurrentes Les animations de la sc ne se poursuivent tout au long de la r solution de la requ te d action Table sc nario r solution d une action Stefano Zacchiroli Paris 7 Le mod le objets 30 78 Grammaire des diagrammes de cas d utilisation e On repr sente un acteur par un personnage sch matis gt Attention cependant un acteur n est pas forc ment un utilisateur autres syst mes API etc e Le syst me est inclus dans un rectangle sa fronti re ventuellement tiquet e Les interactions entre le syst me et les acteurs sont repr sent es par des lignes 9 Les cas d utilisation sont des verbes l infinitif entour s par des ellipses e On repr sente des relations logiques voir plus loin entre les acteurs entre le cas d utilisation Stefano Zacchiroli Paris 7 Le mod le objets 319778 Exemple cas d utilisation ChessVideoGame play chess e a RE p d player 1 Play Chess E ae DS play chess These two players are not located at the same place Player 2 player 2 e En g n ral tout diagramme UML peut tre annot par un compl ment textuel d information attach ces entit s visuelles Stefano Zacchiroli Paris 7 Le mod le objets 32 78
29. plusieurs objets interviennent Le segment n au moins n objets interviennent Le segment n m au moins n et au plus m objets interviennent Stefano Zacchiroli Paris 7 Le mod le objets 65 78 Agr gation Composition 9e L agr gation est une relation d appartenance gt L agr gation est forcement binaire l association non gt Exemples container Les pi ces d un chiquier lui appartiennent Les joueurs d une partie appartiennent la partie e La composition est une relation d agr gation qui tablit une relation de vie ou de mort d un objet sur un autre gt Exemples Si l chiquier est d truit alors ses pi ces aussi Si une partie est termin e les joueurs peuvent en jouer une autre Ils survivent la partie Note La composition est une relation assez subtile et souvent tributaire de certains choix d impl mentation Il est souvent pr f rable de ne pas l utiliser sauf en C car la gestion explicite de la m moire n cessite une r flexion pr cise sur la notion de dur e de vie qu il faut consid rer d s la phase de sp cification Stefano Zacchiroli Paris 7 Le mod le objets 66 78 Exemple compositions et agr gations gt Employee D 1 vi 0s sub Airpl C t irplane omponen assembly assembly Figure diagramme de classe avec compositions et agr gations e Le losange vide signifie est agr g e Le losange plein signifie est co
30. ralisation disjoint overlap de sa extensibilit verticale Stefano Zacchiroli Paris 7 Le mod le objets 70 78 Exemple mauvaise g n ralisation eege allowedMoves list lt Move gt e La relation suivante n est pas correcte puisqu une r gle n est pas un cas particulier is a de tour et de fou e Il ne faut pas confondre factorisation de code et g n ralisation Stefano Zacchiroli Paris 7 Le mod le objets 71 78 Exemple diagramme composite FibonacciSystem Variable O Ivar FibonacciFunction var lindvari L depvar var var p i i HMinus2 HMinus1 Figure Diagramme composite var eser e Les diagrammes composites servent donner une vision abstraite de la structure interne d une classe e On brise ici le principe d encapsulation n utiliser qu en cas de stricte n cessit Stefano Zacchiroli Paris 7 Le mod le objets 72 78 Exemple diagramme de r alisation lt lt interface gt gt MovableObject T position Position move new_position Position Drawable Serializable Figure Diagramme de r alisation e Un diagramme de r alisation illustre la compatibilit entre un objet et une interface e Il y a deux notations possibles pour cela en UML Un lien vers un cercle faisant r f rence au nom de l interface Q Une relation de g n ralisation en pointill s vers une description pr cise de l interface Stefano Zacchiro
31. t resser a l utilisation d UML dans ces diff rentes phases pour les trois premi res it rations gt Dans ce processus elles correspondent a la sp cification du systeme Stefano Zacchiroli Paris 7 Le mod le objets 21 78 Sommaire Sp cification l aide d UML Vues de cas d utilisation Vues d architecture Vues dynamiques 9 Vues statiques Stefano Zacchiroli Paris 7 Le mod le objets 22 78 Pr sentation d UML 9 UML est l acronyme de Unified Modeling Language e UML est un ensemble de notations Ces notations sont en majorit des formats de diagrammes UML est standardis par l Object Management Group OMG UML est la notation la plus utilis e par l industrie logicielle e La derni re version de la sp cification d UML est toujours disponible http www omg org spec UML Current version courante 2 4 1 Ao t 2011 Nous ne pourrons pas l tudier en d tails gt Vous devez vous y r f rer pour crire vos sp cifications Stefano Zacchiroli Paris 7 Le mod le objets 23 78 Histoire 1990 Loopa 1995 1997 2005 e R solution des conflits par union plut t que par intersection Stefano Zacchiroli Paris 7 Le mod le objets 24 78 Critiques d UML Avantages e Plusieurs mod les sont r unis objet orient donn e flot de donn es 9 existe de nombreux outils pour produire des diagrammes UML e C est le r sultat d un consensus entr
32. tefano Zacchiroli Paris 7 Le mod le objets 27 78 Sommaire Sp cification l aide d UML 9 Vues de cas d utilisation Stefano Zacchiroli Paris 7 Le mod le objets eyes 28 78 Les cas d utilisation D finition Cas d utilisation rappel Un cas d utilisation est la repr sentation d une interaction entre le syst me et un acteur en vue de la r alisation d un objectif e On applique ici le principe de separation of concerns gt on se focalise sur une certaine utilisation du syst me en oubliant le reste e En plus de r duire temporairement la complexit du syst me cette unit de description est int ressante car elle est accessible aux clients non experts 9 Lorsque l on suit RUP les cas d utilisation sont d crits par deux notations gt les sp cifications en langage structur vues la derni re fois les diagrammes de cas d utilisation d UML e La m thode Agile repr sente les cas d utilisation par des programmes ex cutables pour pouvoir v rifier leur satisfiabilit de automatiquement et quantifier l avanc e du d veloppement Stefano Zacchiroli Paris 7 Le mod le objets 29 78 Retour sur l exemple en langage structur Contexte Une partie est en cours Le joueur a for mul une requ te d action Flot normal La requ te est excauc e L tat de la par tie est modifi e en accord avec le sc nario et l interface graphique est mise jour Un message textuel informe le j
33. work flows les colonnes correspondent aux phases 9 la hauteur d termine l intensit de work flows dans chaque micro it ration 9 on r p te tout le diagramme pour chaque macro it ration Stefano Zacchiroli Paris 7 Le mod le objets 18 78 Perspective pratique Bonnes pratiques encourag es par RUP d veloppement it ratif gestion explicite de requis utilisation de architecture composante mod lisation semi formelle et visuelle du logiciel avec UML assurance qualit 000000 gestion du changement logiciel et sp cification Commentaire e 3 5 et 6 sont encourag e explicitement dans RUP mais ne sont pas li e au reste du processus e l importante du 4 est discutable et comparer avec autres langages des mod lisation logiciel Stefano Zacchiroli Paris 7 Le mod le objets 19 78 Innovations du RUP e S paration entre phases et work flows chaque work flow est inter phase comme dans la r alit du projets de d veloppement e Work flow explicite pour le deployment du logiciel Stefano Zacchiroli Paris 7 Le mod le objets 20 78 Cours d aujourd hui Business value is delivered incrementally in time boxed cross discipline iterations Inception Elaboration Construction Transition I1 E1 E2 Business Modeling I requirements dmm AL l LE Analysis amp Design HL Implementation Test CLEEF RES 7 Deployment nae Time e Nous allons nous in
Download Pdf Manuals
Related Search
Related Contents
Leer más - Novartis PCAN-Router FD - User Manual - PEAK Presto Belgian FlipSide User's Manual 超音波式加湿器 MEITRACK® Parameter Editor User Guide Philips Zeolite gas filter AC4118 Ersatzteilliste Copyright © All rights reserved.
Failed to retrieve file