Home

Cours 3, partie 2

image

Contents

1. Exemple de diagramme lt lt interface gt gt Serializable l A ommunication gt 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 gt Les relations entre ces classes induisent des d pendances entre les sous syst mes D pendances entre sous syst mes gt Lorsqu un sous syst me d pend d un autre on doit commencer par tablir l interface de ce dernier Exemple de diagramme Network API na GameHandler eomm initiate game gt On peut pr ciser les relations de d pendances l aide d annotations Voir la sp cification d UML pour conna tre les annotations standards Exemple de diagramme Diagramme de d ploiement Vues dynamiques gt Les vues dynamiques d crivent le comportement du syst me Vues dynamiques NPESE P gt Elles permettent de pr ciser les cas d utilisation sous la forme d interaction entre objets ou de d crire l volution de l tat des objets de facon abstraite en termes de r actions vis vis de leur environnement et des messages qui leur sont envoy s Exemple de diagramme Exemple de diagramme Server Communication GameManager GameEngine Initiate Connection Player Luke 5 SentGaMmelsOver Player DarkVador ger I I I I I i Reply the current server state I I Connect
2. Les diff rentes variantes du Rational Unified Process Les phases du Rational Unified Process Business value is delivered incrementally in time boxed cross discipline iterations gt Le Unified Process UP est la version la plus document e du RUP EE gt C est une version g n rique adaptable aux besoins particuliers culalere pee efeja Business Modeling gt Le Agile Unified Process AUP ajoute un caract re volutif RUP Requirements i ppe P PE E On s appuie sur une haute qualification des d veloppeurs pour limiter le plus Analysis amp Design 7 CL Deployment e LL LL if d velopp tr s rapidement et dirig s par la validation de ces tests La munu a n Implementation 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 sp cification est construite en m me temps que le logiciel une fois que ime celui ci est confront sous une forme ex cutable aux utilisations des clients gt Dans ce diagramme les lignes correspondent aux it rations gt Les colonnes correspondent aux phases Phase initialisation inception Phase laboration gt s agit de l analyse des besoins gt Celle ci fait un usage intensif des cas d utilisation pour raffiner la gt Cette phase phase correspond l tude de faisabilit dont nous avons parl e compr hension
3. Analysis amp Design Implementation Test Deployment Time gt Nous allons nous int resser aux diagrammes d UML utilis s dans ces diff rentes phases Sp cification l aide d UML Pr sentation gt UML est l acronyme de Unified Modeling Language gt UML est un ensemble de notations gt Ces notations sont en majorit des formats de diagrammes gt UML est standardis par l Object Management Group OMG gt UML est la notation la plus utilis e par l industrie logicielle gt La sp cification d UML 2 2 se trouve ici http www omg org spec UML 2 2 gt Nous ne pourrons pas l tudier dans ses recoins Vous devez vous y r f rer pour crire vos sp cifications Histoire State Charts AdalBooch RDD 1990 COBA ooa _Eusion _ TT 1995 SOMA MOSES 1997 2000 2003 aa 2005 gt R solution des conflits par union plut t que par intersection Critiques d UME gt Avantages gt Plusieurs mod les sont r unis objet orient donn e flot de donn es gt existe de nombreux outils pour produire des diagrammes UML gt C est le r sultat d un consensus entre plusieurs coles de mod lisation gt Inconv nients gt 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 gt C est seulement depuis la version 2 0 que la syntaxe est standardis
4. gt un nom gt des multiplicit s gauche et droite gt des r les affect s chaque objet Syntaxe des multiplicit s Un entier n n objets interviennent dans la relation L toile x plusieurs objets interviennent Le segment n x x au moins n objets interviennent v vV y NY Le segment n m au moins n et au plus m objets interviennent Agr gation Composition gt L agr gation est une relation d appartenance gt Exemples gt Les pi ces d un chiquier lui appartiennent gt Les joueurs d une partie appartiennent la partie gt 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 gt Si l chiquier est d truit alors ses pi ces aussi gt Si une partie est termin e les joueurs peuvent en jouer une autre lls survivent la partie Cette derni re relation est assez subtile et souvent tributaire de certains choix d impl mentation Il est 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 Exemple de diagramme Employee Component 0 7 sub assembly gT assembly Diagramme de classe avec compositions et agr gations gt Le losange vide signifie est agr g gt Le losange plein signifie est co
5. des programmes ex cutables de fa on pouvoir v rifier leur satisfiabilit de fa on automatique et quantifier l avanc e du d veloppement Retour sur l exemple en langage structur Contexte Une partie est en cours Le joueur a formul une requ te d action Flot normal La requ te est excauc e L tat de la partie est modifi e en accord avec le sc nario et l in terface graphique est mise jour Un message textuel informe le joueur du changement Cas probl matique L action n est pas applicable Le joueur est in form des causes de l erreur Il 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 Sc nario r solution d une action Grammaire visuelle des diagrammes de cas d utilisation Exemple de diagramme d UML ChessVideoGame play chess gt On repr sente un acteur par un personnage sch matis CL Attention cependant un acteur n est pas forc ment un utilisateur These two players ar LT Player 1 ES not located at the EPS player_1 same place eg Play Chess gt On repr sente des relations logiques entre les acteurs voir plus loin gt Le syst me est inclus dans un rectangle ventuellement tiquet s y ot gt Les interactions entre le syst me et les acteurs sont repr sent es par des fl ches pointill es Player player_2
6. e gt Les notations sont parfois redondantes Diff rentes vues sur un syst me gt UML fournit des diagrammes pour 4 types de vues gt les vues de cas d utilisation gt les vues d architecture gt les vues dynamiques gt les vues statiques Une abondance de diagrammes Diagram A Structure Behavior Diagram Diagram A Class Component Object Activity Use Case Diagram Diagram Diagram Diagram Diagram Profile pairean Deployment Package Interaction State Machine Diagram Diagram Diagram Diagram Diagram Diagram 4 Sequence Communication eh Timing Diagram Diagram TETAN Diagram Diagram Les diagrammes d UML 2 2 Les cas d utilisation gt Rappel de la d finition 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 gt On applique ici le principe de s paration des probl mes en sous probl mes on se focalise sur une certaine utilisation du syst me en oubliant le reste gt 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 gt Lorsque l on suit RUP les cas d utilisation sont d crits par deux notations gt les diagrammes de cas d utilisation d UML gt les sp cifications en langage structur vues la derni re fois gt La m thode AGILE repr sente les cas d utilisation par
7. gt Les cas d utilisation sont des verbes l infinitif entour s par des ellipses M On repr sente des relations logiques entre les cas d utilisation voir plus loin gt En g n ral tout diagramme UML peut tre annot par un compl ment textuel d information attach ces entit s visuelles Exemple de diagramme Exemple de diagramme ChessVideoGame ChessVideoGame play chess Player j h play chess Player include DE mu 2 N x Se J include amm A DS f Connect to server j Artificial intelligence Connect to server D Artificial intelligence gt Une relation d h ritage permet de classifier les acteurs s PE l 2 gt On retrouve ici les relations tend et inclus d finies la derni re fois gt Si l acteur A gt h rite de l acteur alors tous les sc narii de sont 0 accessibles A tude de cas Diagramme de cas d utilisation Exercice Traduisez la description textuelle du cas d utilisation en un diagramme R le des cas d utilisation dans RUP gt Ils jouent un r le central gt Ils servent de mat riau de base la phase de conception gt Classifier les cas d utilisation en termes logiques de priorit ou de risque permet d organiser l analyse qui suit gt De nombreuses vues dynamiques sont des raffinements des cas d utilisatio
8. allowedMovesBishop list lt Move gt lt lt parameter gt allowedMovesRook list lt Move gt allowedMovesPawn list lt Move gt AttackVisitor o m allowedAttackMoves list lt Move gt allowedAttackMovesKing list lt Move gt allowedAttackMovesQueen list lt Move gt allowedAttackMovesBishop list lt Move gt allowedAttackMovesRook list lt Move gt allowedAttackMovesPawn list lt Move gt Une impl mentation correcte d un r le Synth se R sum gt Nous avons bri vement pr sent RUP Nous en tudierons les principes dans le cours de conception orient e objet des syst mes gt Nous avons survol UML Ce sera un outil que nous appliquerons et approfondirons par la suite
9. confondre factorisation de code et g n ralisation Exemple de diagramme FibonacciSystem Diagramme composite gt Les diagrammes composites servent donner une vision abstraite de l tat interne d un objet gt On brise ici le principe d encapsulation n utiliser qu en cas de stricte n cessit Exemple de diagramme lt lt interface gt gt MovableObject EEE position Position move new position Position Drawable Serializable Diagramme de r alisation gt Un diagramme de r alisation illustre la compatibilit entre un objet et une interface gt y a deux notations possibles pour cela en UML gt Un lien vers un cercle faisant r f rence au nom de l interface gt Une relation de g n ralisation en pointill s vers une description pr cise de l interface Exemple de diagramme lt lt role gt gt Attacker allowedAttackMoves list lt Move gt Diagramme de r le ou de profil gt Un r le peut tre jou par un objet dans une situation particuli re ou en fonction de son tat Exemple de diagramme O allowedAttackMoves list lt Move gt Point de vue d impl mentation maladroit sur un r le gt faut distinguer g n ralisation et prise temporaire d un r le Exemple de diagramme essPieces na allowedMoves list lt Move gt allowedMovesKing list lt Move gt allowedMovesQueen list lt Move gt
10. du probl me pos et expliciter les sp cificit s du domaine dans le cours pr c dent gt Des prototypes parmis lesquels on trouve l architecture ex cutable sont d velopp s pour valuer concr tement des points techniques risqu s Phase construction gt Cette phase correspond la conception et au d veloppement gt Elle suit en g n ral une progression incr mentale aboutissant diverses versions du syst me r solvant en priorit les probl mes techniques hauts risques gt Dans une conception orient objet il est parfois difficile de bien distinguer la sp cification de l impl mentation certains experts pr conisent la d finition de deux mod les disjoints un mod le logique et un mod le d impl mentation gt Cette distinction est importante car il doit toujours exister une sp cification servant de r f rence aux d veloppements et sur laquelle appuyer le cahier des charges Phase transition gt La phase de transition de ce processus correspond l activit de maintenance et de d ploiement gt 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 Cours d aujourd hui Business value is delivered incrementally in time boxed cross discipline iterations Elaboration Construction Transition tion pd Kid Business Modeling Requirements
11. e 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 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 Co t 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 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 cision il est tr s difficile d avoir un discours pr cis en s exprimant seulement l aide de cas d utilisation Formaliser rapidement les concepts ou processus primordiaux permet d en saisir les subtilit s Vues d architecture vY V y 7y L architecture est une vue d ensemble du syst me C est un point de conception haut risque Il s agit de partitionner le syst me en sous syst mes 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 gt permet de couvrir l ensemble des les cas d utilisation Exemple de diagramme ChessBoard User Interface ChessEngine GameManagement Diagramme d architecture ou de paquets
12. es d tat repr sentent l volution de l tat du syst me ou d un sous syst me sous la forme d un automate gt Une transition de cet automate est suivie en r action un v nement gt Elle peut tre conditionn e par des contraintes exprim es sur le syst me Exemple de diagramme Exemple de diagramme PaymentDataCheck Yes lt lt PSten gt gt lt lt PSteo gt gt ConfirmOrder i panahe lt lt PStep gt gt lt lt PSteo gt gt CreateOrder EE ToppingAvailableCheck Sendinvoice Saprority 3 SArekRace 0 ms SAMOTECASE 2 ME lt lt PSteo gt gt _ lt lt PSten gt gt SArelDeadine 12 m85 ChangelOrder Yes lt lt PSteo gt gt InitiatePizzaBakinq SApe od 12 ms SAvsedResouroe 04 0 ms No lt lt PSteo gt gt mEn lt lt PSteo gt gt lt lt PSteo gt gt PizzaReady No lt lt PSten gt gt lt lt PSteo gt gt SArelDesdine 5 ms DeliverPizza SApetoi 5 ms SALSERESOUTCE 1r 20 0 ms Yes lt lt PSten gt gt lt lt PSteo gt gt ChangeOrder No lt lt PSten gt gt CancellOrder Diagramme d activit Diagramme de mesure temporelle Vues statiques Vues statiques gt Les vues statiques tablissent la structure du syst me gt l s agit d num rer les diff rentes classes d objets et leur relation Exemple de diagramme BankAccount owner String balance Dollars 0 deposit amount Dollars wit
13. hdrawl amount Dollars Diagramme de classe r duit une classe 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 relation d abstraction Instanciation une relation d affectation de param tres vY VvV V V YV Vy Yy R alisation une relation de conformit entre une interface et une impl mentation Relation d association Il s agit de la notion math matique de relation Chaque objet impliqu a un r le dans la relation gt gt Une relation a une arit gauche et droite gt gt Exemples gt Un sc nario est jou par un joueur dans un partie gt Une action est appliquable sur plusieurs objets d une sc ne gt Des objets sont n cessaires pour autoriser une action Exemple de diagramme Enrollment Student Marks Received Name Get Average To Date Name reee b Get Final Mark Seminar Number one Number Email Address o_sordered FIFO A iiia on waing Student Number Average Mark enrolled 3 MA Add Student 0 Drop Student Is Eligible To Enroll Get Seminars Taken Name instructs Address Phone Number Email Address Sala Some seminars may not have an instructor Diagramme de classe avec associations gt Un association est form e par
14. mpos de Objectifs de la g n ralisation sp cialisation gt Sp cialisation gt Ajout d une fonctionnalit gt Focalisation sur un aspect sp cifique une classe gt G n ralisation gt Factorisation de crit res communs gt Abstraction des d tails Analogie avec la relation d inclusion ensembliste gt Une classe est abstraite si elle n est jamais vou e tre instanci e Cette caract ristique capture la notion de concept Exemple de diagramme Diagramme de classe avec relation de g n ralisation gt Piece est une super classe de Queen elle g n ralise cette derni re gt Queen est une sous classe de Piece elle sp cialise cette derniere 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 incomplete on pourra rajouter une nouvelle sous classe dans le futur complete on ne peut plus rajouter une nouvelle sous classe vY VvV y NY disjoint les sous classes ne pourront pas tre les parents d une future sous classes gt overlap les sous classes pourront tre utilis es comme super classes d une m me sous classe dans le futur Exemple de diagramme gt La relation suivante n est pas correcte puisqu une r gle n est pas un cas particulier de tour et de fou gt l ne faut pas
15. n gt Ces raffinements pr cisent le vocabulaire et les m canismes mis en jeu gt Si une nouvelle utilisation du syst me appara t pendant l analyse des besoins il est syst matiquement ins r dans la base des cas d utilisation gt La validation consiste souvent formuler une version v rifiable ex cutable des cas d utilisation et y confronter le syst me gt Enfin le manuel d utilisation du syst me s appuie tr s largement sur cette base de connaissance Activit s li es l explicitation des cas d utilisation gt titre indicatif voici une succession d activit s pouvant mener l obtention des cas d utilisation 1 Identification des acteurs principaux gt Les acteurs satisfaire en priorit gt Les entit s externes vitales au syst me Identification des cas d utilisation principaux gt On omet les situations exceptionnelles gt On obtient une description intentionnelle centr e sur les objectifs gt On met jour les termes et concepts incontournables du syst me Identification des acteurs secondaires gt Des acteurs qui interviennent dans les cas d utilisation d couverts Identification des cas d utilisations secondaires gt Par raffinement des cas d utilisation principaux Factorisation des redondances 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 tud
16. to a game I I Confirm the connection os Initiate a game Waiting for game state E D create Dedicated game engine Ta I GamelOver Diagramme de collaboration ou de communication Game description I Move EEE Check Move on game ID Waiting for new game state Les objets soulign s correspondent des instances gt On repr sente ici un sc nario comme un encha nement d envoi de messages entre objets New game state gt Le nom entre crochets symbolise l tat de l objet chaque tape du sc nario lorsqu il est informatif gt Cette notation met l accent sur les objets n cessaires la r alisation d un Diagramme de s quence cas d utilisation Diagramme de s quence gt Un diagramme de s quence pr sente les interactions entre les objets comme une succession de couples message r ponse gt On peut y d noter des contraintes de r ponses synchrones ou asynchrones des tats bloquants gt Cette notation met l accent sur le protocole de communication entre les objets Exemple de diagramme Continue Diagramme d tat Exemple de diagramme Start game Receive move request Move Game is not over Determine move Wait for opponent move Opponent move received Display game result Game is over Game Over Diagramme d tat Diagramme d tat gt Les diagramm

Download Pdf Manuals

image

Related Search

Related Contents

TICRO 100 QSGuide  Xerox Phaser 6700 User's Manual  Infineon C515C-8R / -8E, C515C-L User`s Manual  DT722 User`s Manual  User Manual  Touch • PLS™  Catalogo Strumentazione per il settore ALIMENTARE  

Copyright © All rights reserved.
Failed to retrieve file