Home
        Cours 3, partie 2
         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
 
 
    
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