Home
        Analyse, Conception et Programmation par Objets
         Contents
1.              lt dinclude gt  gt   i  1    Tourner le volant     lt  lt includ   gt  gt        Voiture     lt  lt include gt  gt    tablir le contact    N      Passer une vitesse          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  123    UML   mod  le fonctionnel       Diagramme de s  quence   cas d   utilisation   exemple       dabCL1 Distibuteur de billets    introduireCarte      saisirCode 7435        Fe afficher  Saisissez votre code         choisirRetra  it      v  rifierCode 7435   J 772   code OK     afficherMenuPrincipal            choisirMontant 200     Le afiicherMenuRetraits         KI                Le    v  rifierR  serve 200     7   r  serve OK   ES afficher  Pour r  cup  rer vos billets  reprenez votre carte      ejecterCarte                        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  125    UML   mod  le fonctionnel    Exemple de factorisation par la relation    include    j          Distributeur de billets    Consulter compte    4  lt  lt include gt  gt   Retirer argent N    Client    Effectuer virement                Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  124    M  thodologie pour l   analyse et la validation    M  thodologie pour l   analyse et  la validation      Rappel   le cycle en V     M  thodologie   introduction       Les   tapes de l   analyse       Pr  p
2.            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  155    UML   mod  le d implantation  Hyperg  n  ricit      L   hyperg  n  ricit   est un m  canisme de Modelio    base de  r  gles  langage J  permettant         de rendre param  trable la g  n  ration de code  et de  documentation       D d   automatiser au maximum la phase de conception  technique et de codage     Principe     gt  on utilise les directives pr  d  finies sous Modelio pour    annoter les   l  ments de mod  lisation lors de la phase de  conception         si besoin  on peut d  finir de nouvelles directives et  modifier le jeu de r  gles pilotant la g  n  ration de code       gt  l   id  e est de sp  cifier des principes    un niveau global   quitte    les invalider localement         le code g  n  r   tient alors compte des directives choisies     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  157    UML   mod  le d implantation    Directives  ou    tagged values          M  canisme g  n  ral permettant d   annoter le mod  le en vue        principalement  de son implantation        Tout   l  ment du mod  le peut   tre annot     package     classe  op  ration  param  tre  association  etc        Sous Modelio   directives interpr  t  es par des r  gles    d   hyperg  nericit       D Exemples de directives pr   d  finies pour les op  rations      o virtual et inline  C   seulement   JavaNat
3.      R  partition des co  ts de maintenance       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  1 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  2    Les concepts objets    D  fis des langages et m  thodes objets         Quatre d  fis principaux      R  duire les co  ts de d  veloppement des logiciels   R  duire les co  ts de maintenance     Faciliter la r  utilisation de composants logiciels d  j    r  alis  s        Accro  tre la qualit   du logiciel        et une r  volution en cours pour les Informaticiens    D  veloppement de biblioth  ques de composants logiciels    r  utilisables     Construction d   applications par assemblage de  composants selon des m  thodes rigoureuses et    prouv  es        Travail    un plus haut niveau d   abstraction que le code     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  3    Les concepts objets  Modularit         D  composabilit   modulaire   d  composition d   un  logiciel complexe en sous syst  mes moins complexes         lt   gt        Composabilit   modulaire   utilisation d      l  ments  existants pour construire de nouveaux logiciels                             Compr  hensibilit   modulaire   compr  hension de    chaque module pris isol  ment      gt  Protection modulaire   chaque module est responsable  de ses dysfonctionnements et les traite localemen
4.      t      d   instances minimum et maximum pouvant   tre li  es     une instance de la classe   Exemples  2   0 2  1    1  10 50  100     description   string   Salaire   integer       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  47 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  48    UML   mod  le des classes UML   mod  le des classes    Association orient  e j Exercice   associations    orienter               L orientation sp  cifie un sens d   utilisation  c    d    la    classe qui utilise vs la classe qui est utilis  e  Assureur    Une association peut ainsi        tre orient  e dans un sens        tre orient  e dans les 2 sens   Fichier R  pertoire       ne pas   tre orient  e        A l   issu de l   analyse  toutes les associations devraient    tre orient  es  et  sauf cas tr  s particulier  dans un seul Professeur    sens     D Exemple      Biblioth  que Ouvrage       Isi l     propulsion  propu seut   R  acteur  1 1 ci       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  49 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  50    UML   mod  le des classes    Visibilit   d   une association orient  e j          Une association orient  e peut   tre    o priv  e    o prot  g  e      o public      gt    Exemple       propulseur     direct
5.     Disque_Dur P  V  hicule_Transposrt_ A  rien Pr   condition       Post condition     altitude  gt  600 pieds   re    Avion_Tourisme H  licopt  re       Post condition    i d  coller     d  coller     1  t altitude  gt   Bande_Magnetique         2 E   1000 pieds         Post condition A         Pr   condition  altitude  gt  1600 Pr   condition   piste  gt  300 m  pieds   piste  gt  5 m     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  69 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  70                               UML   mod  le des classes UML   mod  le des classes    R  gles relatives aux orientations des liens entre classes Orientations mutuelles   exercice j             Les orientations mutuelles sont      viter   Fe i Jaaa         Critiquer am  liorer cette mod  lisation      g  ne p  dagogique        difficult  s pour d  veloppement  tests et int  gration       Humain   gt  Degr   de gravit        o niveau conceptuel   grave    o niveau contextuel   g  nant    o niveau op  rationnel   acceptable     D  mauvais  Exemples   p    pouse                                                       Rappel   d  pendances mutuelles entre packages  strictement interdites        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  71 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim 
6.     d utiliser le syst  me        Un cas d utilisation correspond    une s  quence  d interactions entre le syst  me et un ou plusieurs acteurs        Un jeu de cas d   utilisation permet de d  crire de mani  re  informelle le service rendu par le syst  me dans sa  globalit    autrement dit  ils fournissent une expression    fonctionnelle du syst  me        Un cas d utilisation porte un nom        Notation   un ellipse autour du nom du cas d   utilisation        Les diagrammes de cas d utilisation permettent de  visualiser les liens entre acteurs et cas d   utilisations     ainsi que les liens entre cas d   utilisation        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  118    UML   mod  le fonctionnel UML   mod  le fonctionnel    Diagramme de cas d   utilisation   exemple j Relations entre cas      utilisation j             Inclusion         MOI   gt  permet une approche    top down    de la sp  cification    des besoins utilisateurs  indique qu   un cas d   utilisation  Se d  placer se d  compose en plusieurs autres         G  n  ralisation      permet de d  finir un cas d   utilisation comme un cas  Ecouter de la musique Eee     particulier d   un autre plus g  n  ral et ou plus abstrait     Conducteur  gt    Extension    n T  l  phoner   permet la gestion des    variantes          pouvant   tre ajout  es  ou pas     une fonctionnalit    Garagiste initiale mais qui ne sont pas strictement n  cessaires    la  comp
7.    Conception       Int  gration    R  alisation                                        Relative rigidit        cycle    classique    car relativement facile    ma  triser et     mettre en oeuvre     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  21    Analyse et conception       Cycle en cascade    Encha  nement lin  aire des phases               Analyse    N    Conception  R  alisation    Int  gration    N    Validation                                                         Cycle tr  s rigide      retour en arri  re extr  mement co  teux        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  20    Analyse et conception    Cycle en spirale  ou    it  ratif     j       Chaque phase du cycle est ponctu  e par une analyse des       risques encourus sur la phase suivante        Si les risques sont importants l     quipe aura recourt    du  prototypage        Chaque it  ration fournit une nouvelle version du syst  me   pas forc  ment compl  te      Analyse d  taill  e    Conception Analyse pr  liminaire          agrsion 2    Validation    Int  gration    Cycle puissant mais d  licat    ma  triser        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  22    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     Analyse et conception    M  thodes d   analy
8.   CCSI  Mines ParisTech  imprim   le 15 septembre 2011  140    M  thodologie pour l   analyse et la validation    A7   Sp  cifier en d  tail le mod  le     gt    Compl  ter la sp  cification de chaque classe         attributs et op  rations      pour chaque op  ration   liste des param  tres et type de  retour      pour chaque attribut et param  tre   son type      pour chaque association   orientation  cardinalit   s  et  r  le s       d  pendances vers d   autres classes      caract  re    de classe    des attributs  ops   assocs       Sp  cifier  lorsque c   est n  cessaire    o les invariants des classes et des packages      o les automates d     tats des classes      les pr    post conditions des op  rations      les diagrammes d   activit  s des op  rations        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  142    M  thodologie pour l   analyse et la validation       A7   Sp  cifier en d  tail le mod  le  suite        gt  Appliquer les r  gles d emploi du mod  le des classes   suppression des cycles  etc          Ajouter les pr  cisions documentaires utiles    la clart   de    la mod  lisation         Par contre  il est inutile en phase d   analyse de sp  cifier       gt    les visibilit  s       les accesseurs  pour les attributs et les associations          les constructeurs  sauf si ils sont non triviaux      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembr
9.   Mines ParisTech  imprim   le 15 septembre 2011  133 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  134    M  thodologie pour l   analyse et la validation M  thodologie pour l   analyse et la validation    A2     tablir le dictionnaire  ou    glossaire       Pr  cision sur le dictionnaire                  Moyen pour   tablir et figer la terminologie du domaine    D  finition Traduction Nom de l application     UML   informatique             Point d   entr  e et r  f  rentiel initial de l   application      gt    Outil de communication avec les clients                    Outil pour assurer la coh  rence entre analyse  conception  et r  alisation   Pr  ciser les noms et les d  finitions propres     l application  remplir les 2 premi  res colonnes   D Rangement par ordre alphab  tique     Justifier toute absence de terme       ventuellement  constitu   de deux parties      Retirer les synonymes et qualifier les homonymes  1  dictionnaire des notions        Valider le dictionnaire avec le    client     2  dictionnaire des actions        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  135 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  136    M  thodologie pour l   analyse et la validation M  thodologie pour l   analyse et la validation    A3   Identifier et d  finir les classes d   interface j A4   Structur
10.   ajout de raccourcis dans les chemins entre classes       d  pend pas de la plate forme utilis  e      pour l   acc  s aux op  rations les plus fr  quemment    invoqu  es     AbstractButton button fac createButton       AbstractButton button2 fac createButtont     acc  l  ration des acc  s au niveau des associations de    cardinalit     lev  e ou variable  via ordonnancement des    instances ou liaison directe vers certaines instances             AbstractLabel lab fac createLabel          d  placement d   attributs vers la classe qui les utilise  directement      D suppression des classes    inutiles     via rapatriement des  donn  es m  thodes dans la classe utilisatrice          ajout de dispositifs pour m  moriser les r  sultats des  op  rations co  teuses en temps     cache      pour     bufferiser    certains acc  s co  teux  etc        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  179 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  180    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    Conception d  taill  e   r  sum   Conception d  taill  e   bilan j    La conception d  taill  e consiste en   A la fin de cette   tape               un certains nombre de choix techniques d  licats   toutes les d  cisions de d  tail ont   t   prises et      document  es    o param  trage et encapsulation des    comp
11.   destinataire  Groupe                                           Professeur  1   Mati  re                Enseignement             enseignant                      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  63 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  64    UML   mod  le des classes UML   mod  le des classes    R  gles relatives aux attributs j R  gles relatives aux attributs  2  j    Identifiant d   une classe   valeur caract  risant un objet      Tout attribut d   une classe devrait   tre du type d   une   le sous ensemble minimal des attributs n  cessaires pour  classe   l  mentaire  sinon   association   distinguer de fa  on certaine 2 instances quelconque de la    classe   e g    num  de s  curit   sociale vs nom   pr  nom               Un attribut doit avoir une signification pour toutes les  instances de la classe dans laquelle il est d  fini     La valeur d   un attribut n   appartenant pas    l identifiant 7  de la classe ne doit pas d  pendre  fonctionnellement       o d   un attribut n   appartenant pas non plus    T      o d   un sous ensemble strict de T        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  65 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  66    UML   mod  le des classes UML   mod  le des classes    R  gles 
12.   et ou un descriptif textuel        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  114    UML   mod  le fonctionnel    UML   mod  le fonctionnel    1  Acteurs   2  Cas d   utilisation   3  Diagrammes de cas d   utilisation     4  Relations entre cas d   utilisation     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  115    UML   mod  le fonctionnel       Acteurs   exemple j    Propri  taire    Constructeur    N    N       N             Voiture             Conducteur     lt  lt actor gt  gt   Garagiste    Passager    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  117    UML   mod  le fonctionnel       Un acteur est une entit   ext  rieure au syst  me et amen  e     interagir avec lui     D Un acteur est une classe  avec st  r  otype    actor            Un acteur peut repr  senter un utilisateur direct du  syst  me  humain  ou un autre syst  me        On distingue      o les acteurs primaires  ceux pour qui le syst  me est  directement pr  vu       o les acteurs secondaires  ceux dont l   existence est la  cons  quence des besoins des utilisateurs primaires         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  116    UML   mod  le fonctionnel    Cas d   utilisation  ou use cases  j        gt    Un cas d utilisation est une mani  re particuli  re
13.   g  nie logiciel          Shari L  Pfleeger  Software Engineering  Theory and Practice  2nd  Edition   Prentice Hall  2001  659p         Carlo Ghezzi  Mehdi Jazayeri  Dino Mandrioli  Fundamentals of    Software Engineering  Prentice Hall  2003  604p        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  200    
14.   le 15 septembre 2011  72    UML   mod  le des classes UML   compl  ments au mod  le des classes    Exercice   le plombier et l     picier         Comme pour les associations     viter dans la mesure du    possible les utilisations contextuelles mutuelles     UML   compl  ments au mod  le    Exercice   critiquer am  liorer cette mod  lisation    des classes          Epicier Plombier    1  Interfaces      vendre_victuailles    r  parer_plomberie   2  Classes param  trables    faire_r  parer_plomberie    acheter_victuailles                  3  Attributs associations d  riv  s et identifiants     4  Responsabilit  s  etc         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  73 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  74    UML   compl  ments au mod  le des classes UML   compl  ments au mod  le des classes    Interfaces   notations j    Deux notations pour interfaces et liens de r  alisation             Concept similaire aux interfaces Java  Une interface        porte un nom  1  Notation    compacte      E  n      liste des op  rations  publiques         peut lister des signaux  notamment des exceptions    ClasseUtilisatrice    ne comporte ni attributs  ni associations   Z      ne peut pas   tre instanci  e   Tj   ClasseR  alisatrice    o  13 12    sert    sp  cifier un type abstrait pouvant   tre implant            par une ou plusieurs classes     2  Nota
15.   le dynamique         Diagramme d     tats    Sc  nario                         Diagramme d   activit  s       e parfois utile ee tr  s utile eee indispensable       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  148    UML   mod  le d implantation    UML   mod  le d   implantation      Composant      Diagramme de composants     Noeud et liaison      Diagramme de d  ploiement     Directives       Hyperg  n  ricit          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  150    UML   mod  le d implantation UML   mod  le d implantation    Diagramme de composants j            l  ment physique du syst  me D  finition des composants logiciels en terme de   codes source ou ex  cutable  fichier de donn  es      composition et de d  pendances        St  r  otypes pr  d  finis     lt  lt executable gt  gt        ex  cutable         ServeurJeuEnR  seau          library               file            document               table       lt  lt executable gt  gt        EntityBean    et    SessionBean    Clientjoueur   support pour les EJB en cours de standardisation         Liens possibles entre composants   d  pendance et    composition     Comme une classe  un composant peut    r  aliser    une   ou plusieurs  interface s         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  151 Analyse  conception et programmation
16.  2    0          Soit une classe Carr   h  riti  re d   une classe  Rectangle  son invariant peut s     crire en Java    largeur    hauteur    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        40    UML   mod  le des classes       Une op  ration est d  finie par      o son nom     o ses param  tres   nom  type  valeur par d  faut  mode de  passage        passage par valeur   In       passage par r  f  rence pour un r  sultat   Out        passage par r  f  rence d   une valeur qui pourra   tre  modifi  e   Inout      o son type de retour   ventuel      o son action sur l   instance courante        modification possible  mode par d  faut         op  ration    constante      propri  t   query        Une op  ration peut   tre    de classe     notation   soulign       gt    Une op  ration peut   tre abstraite      notation   en italique ou   tiquette  abstract     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        42    UML   mod  le des classes UML   mod  le des classes    Classe  attribut  op  ration   exemple Pr    Post conditions j       Pr   conditions d   une op  ration   ensemble des          conditions pr  alables    l   ex  cution de l   op  ration     date_paye   date    Post conditions d   une op  ration   ensemble des    indice   integer 0 conditions devant   tre v  rifi  es    l   issue de l   ex  cution  facteur   real de l   op  ration    augmen
17.  Analyse et conception    M  thodes d   analyse et de conception   historique         UML   RUP  ou   quivalent   OMT OOA Classe relation M  thodes objets  O00D HOOD OOSD    SA RT Diagrammes Etat Transition    R  seaux de P  tri M  thodes comportements    Entit   Relation  MERISE     IA NIAM M  thodes donn  es    Data flow SADT SA SD  Structure Chart M  thodes fonctionnelles    hi  rarchiques    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  24    UML   introduction    UML   introduction      Fondements     Historique et perspectives     Disponibilit      4  Exemple     5  Contenu d   UML     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  26    UML   introduction UML   introduction       Principales qualit  s du mod  le objet   Unified Modeling Language  UML       o association donn  es traitements  encapsulation     gt  Langage de mod  lisation   universel      o s  paration entre interface et implantation    R  sultat de la convergence en 1995 des m  thodes     public priv          OMT  James Rumbaugh      o organisation hi  rarchique des classes  h  ritage       OOA OOD  Grady Booch        Objectory OOSE  Ivar Jacobson     Principales limites du mod  le  et des langages  objet      Standard industriel sous la direction de l   Object    o mod  lisation des relations non hi  rarchiques   Management Group  OMG  depuis UML 1 1  1997       o vision dynamique de 
18.  Critiquer am  liorer le diagramme suivant          CONDITION  m       Soci  t    Cabinet recutement Mr X Personne non CONDITION  m2      demande  Dir  achats                                                      proposerEntrevue  15 mars 14h          CONDITION1  m3         entrevue             CONDITION2  m4         d  cideEmbauche Mr X   CONDITION3  m5               _   false                notifierRefus Mr X        notifierRefus                              Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  105 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  106    UML   mod  le dynamique    Diagramme de collaboration   notations           Classe1    1 m1        2 m2 x y  J       3 m2 x2 y2       4 m3         objetMachin Classe2    1 1 create   Na  2 1 81  x y  Na  3 1 82 x2 y2  Na  41830 Na  4 1 1 destroy   Sa       JobjetTruc Classe3    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     107    UML   mod  le dynamique       Diagrammes d   activit  s   utilisation    Deux contextes d   utilisations distincts      1  Macroscopique     Mod  lisation d   un flux de traitements  workflow       o permet de d  composer les activit  s du point de vue  des acteurs du syst  me   d  tailler expliciter les activit  s m  tiers      o diagramme associ   typiquement    un cas    d utilisation    ventuellement    un pack
19.  classes  r  le des    associations  etc      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  113    UML   mod  le dynamique    Diagramme d   activit  s   autre exemple               Consommateur Serveur Cuisinier    Choisir table       Apporter carte   arriv  e nouveau client      client pr  t    commander        Demander choix  Passer commande    Noter commande       Pr  parer commande                Mod  lisation d   un workflow    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  112    UML   mod  le dynamique    R  sum   et mode d   emploi du mod  le dynamique      Si besoin     titre documentaire  expliciter le contexte       g  n  ral  m  tier     travers un  ou plusieurs   diagramme s  d   activit  s       Expliciter les interactions utilisateur syst  me    travers    un  ou plusieurs  sc  nario s  macroscopique s        Identifier les classes ayant des comportements  syst  matiques  r  agissant    des conditions particuli  res   Pour ces classes d  finir un  ou plusieurs  diag  d     tats       Pr  parer un jeu de sc  narios d  taill  s pour tester    illustrer la faisabilit   des principales fonctionnalit  s en  termes d   encha  nements de m  thodes  diag  de  s  quence et ou diag  de collaboration      Si besoin  et    titre documentaire  sp  cifier le  fonctionnement des principales ops  de chaque classe           travers un diag  d   activit         
20.  d  pendance et  l lister les  l param  tres  1    Classe param  tr  e  ensemble d   associations partant d   une classe     effectifs  Classes objets actifs   pour mod  liser les applications    Classe param  tr  e differament multi thread  es  notation   rectangle    bord gras         Multi objets   collection d   instances similaires dans un  diagramme d instance     D S  mantique identique aux templates C   et Java        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  81 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  82    UML   mod  le dynamique UML   mod  le dynamique    7 x    Occurrence  instantan  e  d   une situation donn  e  UML   mod  le dynamique significative pour le syst  me     Les   v  nements peuvent   tre      o internes au syst  me    mis par un objet           v  nements     A N o externes  capteur physique  bouton d   une IHM  etc       Diagrammes d     tats       Diagrammes de s  quence  Un   v  nement peut appara  tre dans les diagrammes        Diagrammes de collaboration  FER    x r  s o de s  quence  de collaboration  d   activit        Diagrammes d   activit         o de classes    v  nements    signaux    seulement  voir    Importance des commentaires     plus loin        R  sum   et mode d   emploi du mod  le dynamique        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  8
21.  et ses  d  clinaisons   RUP  EUP          o une m  thodologie    ad hoc     adapt  e aux besoins  sp  cifiques d   une   quipe pour un projet donn        D Principales m  thodologies compatibles UML      o    g  n  rales   g  n  riques      UP RUP      Catalysis        o    agiles      XP  Scrum  Crystal       cf  bibliographie      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  130    M  thodologie pour l   analyse et la validation M  thodologie pour l   analyse et la validation    L analyse  en 8   tapes  A1   Expression des besoins  Requirements Elicitation     Identifier les utilisateurs du syst  me  au sens d   acteurs          Huit   tapes  pas forc  ment s  quentielles          UML   entit   externe au syst  me et amen  e    interagir    A1  Expression des besoins  avec lui      A2    tablir le dictionnaire   gt  Pour chaque type d utilisateur      1  Identifier les besoins fondamentaux   ceux dont la       A3  Identifier et d  finir les classes d   interface        e N  satisfaction motivent la r  alisation du syst  me     AA  Structurer le mod  le  2  Identifier les besoins op  rationnels   ensemble des         ARTE ae  A5  Construire les premiers sc  narios  actions que l   utilisateur devra effectuer pour satisfaire    chacun de ses besoins fondamentaux   A6  V  rifier la coh  rence de l   analyse pr  liminaire     Mod  liser les utilisateurs en termes d   acteurs   A7  D  tailler le mod  le   Mod  liser l
22.  fix   par       montant            lt  accessible aux seules instances de la classe  ainsi  qu aux instances des classes d  riv  es     Post condition   Le solde du compte a bien   t   diminu   de       Priv      notation   nom pr  fix   par           montant         lt  accessible seulement aux instances de la classe        Exemple    Salaire     date_paye   date   indice   integer 0   facteur   real        augmenter iIn montant euro    calculer_salaire   euro   donner_avance ln montant euro    payer      calculer moyenne salaires   euro       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  45 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  46    UML   mod  le des classes UML   mod  le des classes    Association Classe d   association j          Permet d   attacher des propri  t  s  attributs et ou    p v  hicule_propuls    propulseur   ne 8 z Are    Avion l R  acteur op  rations  directement    l    association liant deux classes   1 1 propulsion 2         Attention   une classe d   association ne peut   tre reli  e                Une association peut avoir   H H S  qu      une seule association  par contre elle peut   tre en    o un nom  relation avec d   autres classes      o deux r  les             gt    Exemple    o une orientation  voir p 49   p    zo iy E ARE employeur employ    o deux cardinalit  s     la cardinalit   indique les nombres Consultant    
23.  l analyse  1  d   identifier les classes qu   on pourrait   viter de    r  aliser    from scratch        gt  Principes        be   pour ces classes  d     valuer la pertinence d   une  o regrouper par fonctionnalit        r  alisation    from scratch    selon des crit  res    d  finir    o minimiser le nombre de d  pendances entre a  i parmi    sous syst  mes    o fiabilit    performance  portabilit         tenir compte de l   architecture du syst  me     monolithique  distribu  e      voir C4    o minimisation des risques  des co  ts et ou d  lais     tenir compte des objectifs de conception  notamment  en termes de performances      gt    Remarque   utiliser un framework peut conduire    des    choix impos  s  en termes de flux de contr  le notamment     se   5 voir C7       Utiliser les diagrammes de composants pour pr  senter la    d  composition en sous syst  mes    su  p y Bien comprendre les diff  rences entre      o biblioth  ques de classes    o frameworks      o patterns        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  161 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  162    M  thodologie de la conception    l   int  gration    A propos de    design patterns             gt    Synonymes      patron    ou    sch  ma de conception           Origine   ouvrages de l   architecte Christopher Alexander   The Timeless Way of Building  A Pattern Langua
24.  notes  organisation et ou projet en terme de processus de    d  veloppement D   Les    relations         d  pendances  associations  g  n  ralisations     gt    L      extensibilit           st  r  otypes  propri  t  s  contraintes  commentaires       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  31 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  32    UML   introduction UML   mod  le des classes    Contenu d    UML   neuf types de diagramme       Aspects    fonctionnels      UML   mod  le des classes    o Diagramme de cas d   utilisation  ou use case diagram      Expression des besoins   An            Aspects    structurels        Packages     o Diagramme de classes    An    Co      Classes   o Diagramme d   instances  ou d   objets     An    o Diagramme de composants   Co     Attributs  op  rations  invariants et  i pr    post conditions   o Diagramme de d  ploiement   gt   Co      i   Associations et agr  gations      Aspects    dynamiques         o Diagramme d     tats transitions  ou statechart   G  n  ralisation     diagram    gt   An    Co     Instances et diagrammes d   instances  o Diagramme de s  quence  ou sc  nario     An       3   R  gles d   emploi du mod  le des classes   o Diagramme de collaboration   gt   An      o Diagramme d   activit  s    An         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 
25.  objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  96    UML   mod  le dynamique UML   mod  le dynamique    Diagrammes d     tats   pr  cisions sur les   tats   Diagrammes d     tats     tats composites       Pour chaque   tat  possibilit   de sp  cifier   D Permet de simplifier les automates d     tats en consid  rant            jet E j TT  des   tats compos  s de sous   tats   o une action ex  cut  e    l   entr  e dans l     tat      o une action ex  cut  e    la sortie de l     tat   D   Le diagramme d     tat correspondant    un   tat   SA         composite    doit comporter au maximum un   tat initial   o une activit      effectuer tant qu   on reste dans l     tat   P p a  et un   tat final     o des transitions internes  qui ne d  clenchent donc pas  les actions ci dessus       o des   v  nements dont le traitement est    retard           gt    Exemple      Appel en attente    entry incr  menterCompteurClientsEnAttente    exitdecr  menterCompteurClientsEnAttente      do jouerMusiqueDouce    after 90 seconds  jouerMessageExcusePourAttente    toucheClavier n  defer             Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  97 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  98    UML   mod  le dynamique UML   mod  le dynamique    Diagrammes d     tats   quatri  me exemple j Sc  narios  ou diagrammes d   interactions       D Exemples de trait
26.  package P1     Cas particuliers   composition  classe d   association  import P2     association    de classe      public class C1 extends C2      f si f tected ArrayList R   new ArrayList lt C3 gt        Cf  la doc Modelio pour plus de d  tails sur la traduction protected AfraylisisCis R Anew ArrayListeC3z0       o    en Java des concepts UML                 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  187 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  188    M  thodologie de la conception    l   int  gration Tests    Document de conception   plan type j      Pr  sentation g  n  rale          Situation et objectifs  documents de r  f  rence  etc       Architecture       Contraintes d implantation  architecture technique   principes d   implantation    D  finitions       Conception g  n  rale   Tests de fiabilit       D D  finition compl  te du mod  le  package par           Tests fonctionnels   package        package P      Tests non fonctionnels   classes C1  C2      Cn  chacune accompagn  e le cas   ch  ant de ses     Profiling et optimisation     invariants  pr    post conditions  Tests de portabilit      diagrammes d   tats           package Po     Quand s   arr  ter de tester       4  Tra  abilit      5  Plan d   int  gration       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  189 Analyse  co
27.  par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  152    UML   mod  le d implantation UML   mod  le d implantation    Diagramme de d  ploiement  1       Ressource mat  rielle utilis  e lors de l   ex  cution    D  finition des noeuds en tant  qu   unit  s physiques         exemples   PC  serveur Web  Imprimante      d   ex  cution       pas de st  r  otypes pr  d  finis      D  finition des liaisons en tant que liens de    communication     PE  ServeurUnix    serveur    Distinction classe vs instance    exemple   PC vs monPC   PC       Les noeuds peuvent accueillir des composants   ou plus pr  cis  ment des instances de composants      Donn  es encod  s selon  protocole Lambda       Les noeuds sont reli  s par des liaisons         exemples   Ethernet  Internet       possibilit   de sp  cifier le d  bit        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  153 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  154    UML   mod  le d implantation    Diagramme de d  ploiement  2          D  finition de la r  partition des composants sur les       diff  rents noeuds           serveurDuJeu ServeurUnix     Jeu ServeurJeuEnR  seau    serveur                client    client          unAutrePC PC          unMac Mac  SE ASE ER  nul    n  m  Ci  rh Jeu ClientJoueur    Jeu ClientJoueur                               unPC PC    Jeu ClientJoueur              
28.  programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011       utilisation conceptuelle    ou op  rationnelle     include  C4 hxx  P contextuelle    185    UML    Java       classe    attribut publique    attribut prot  g      attribut priv    op  ration    g  n  ralisation    association    package  invariants  pr    et post     conditions       classe publique    attribut prot  g   avec m  thodes  publiques d   acc  s    attribut prot  g   avec m  thodes  d   acc  s prot  g  s  idem mais tout    priv         fonction membre    h  ritage  attribut de type ArrayList    m  thodes d   acc  s    paquetage    if   condition     throw new RuntimeException    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  186    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    R  alisation   acc  s aux associations depuis Java R  alisation   g  n  ration de code Java                Pour chaque association  6 m  thodes sont automatiquement package P1    ajout  es    la classe utilisatrice  cela d  pend toutefois de la                         configuration du projet   Soit  par exemple  une classe CI C2                utilisant une classe C2 avec comme r  le R  on a les 6  m  thodes suivantes d  finies dans C1            int cardR    C2 getR  int   void setR int C2   void appendR  C2                                void eraseR  int  Cl java       void eraseR  C2 
29.  tre d   une op  ration  en UML   d  pendance        op  rationnel   utilisation dans le corps de la m  thode          en UML   d  pendance      gt    Exemple    Mammif  re    Personne Nourriture  propri  taire A         gt  Couteau       rovcrene                     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  56    UML   mod  le des classes    Diagrammes d   instances  ou diagrammes d   objets  j     gt    Possibilit   d   y m  langer classes et instances         gt    D  signation des instances      nom_de_l   instance   Nom de la Classe       ou bien nom de l instance       ou bien   Nom_de_ la Classe       Utilisation      o permet de visualiser les valeurs des attributs      o permet de visualiser la totalit   des instances lorsqu   on  en conna  t    l   avance le nombre      o permet d illustrer sur des exemples la pertinence des  diff  rents liens      o permet de visualiser l     tat du syst  me    un instant  donn        o facilite la compr  hension de structures de donn  es  complexes  r  cursives      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  58    UML   mod  le des classes    Diagrammes d   instances   exemple j          payeDeMrMachinMars2001  Virement       Id   integer 1263636737          compteMrMachin Compte_particulier             Num   integer 03003 03080 13462345 06          compteCieLambda Compte_societe          Num  integer 0305
30. 2 01367 00031487 02       Question   il y a plusieurs anomalies dans ce diagramme   lesquelles      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  59    UML   mod  le des classes    R  gles relatives aux packages j          Pas de d  pendances mutuelles entre 2 packages  ni de  cycles dans les liens entre packages       gt  Voir les packages comme moyen de structuration  strict  en vue d   un d  coupage du travail de conception    programmation en   quipes s  par  es      Dans un m  me package  ne pas ouvrir la visibilit   sur les  classes priv  es d   un package  ni par h  ritage  ni par une  association publique       mauvais  Exemples                        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  61    UML   mod  le des classes    R  gles d   emploi du mod  le des classes j    D   Un mod  le peut   tre correct  c   est    dire coh  rent par       rapport aux notations et    la syntaxe  sans qu   il soit pour  autant valide  c    d  sans correspondre au probl  me que  l   on veut mod  liser       gt  Il ne sera pas surprenant que le mod  le objet construit ait  besoin de nombreuses r  visions     It  rer pour clarifier les noms  ajouter des d  tails   prendre en compte correctement les contraintes  structurelles        Choisir les noms avec soin  Ils sont importants  Ils  doivent   tre pr  cis  descriptifs  non ambigus      gt    Documenter syst  mati
31. 3 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  84    UML   mod  le dynamique UML   mod  le dynamique    Quatre types d   v  nements j   v  nements de type    signal    j       Un signal est un objet   mis de mani  re asynchrone par               v  nements asynchrones       X srli i  y un objet      metteur       destination d   un autre objet       o   v  nement signal   stimulus asynchrone r  cepteur        d  clenche r  action chez le destinataire      pas de    valeur de retour    possible mais possibilit   Un signal peut   tre d   origine interne ou externe au    d     mettre un autre signal en r  ponse au premier  syst  me     o   v  nement temporel   expiration d   une Exemple de signal interne   une exception  Java      temporisation  s   aa  Exemple de signal externe   une action de l   utilisateur    o   v  nement modification   passage    vrai d   une  via IHM  ou l   action d   un capteur physique   expression bool  enne        En tant qu   objet  un signal doit   tre instance d   une classe         v  nements synchrones   portant le st  r  otype    signal     classe    d  finir dans le      mod  le des classes    o   v  nement appel   appel d   une op  ration     se     ne     Aussi  il peut comporter des attributs et des op  rations  d  clenche l   op  ration chez le destinataire   2       sp  cifiques        valeur de retour    possible vers l   appelant     Possibilit   de visualiser les   missions p
32. 5    M  thodologie de la conception    l   int  gration    C4   d  finir le d  ploiement des composants       Valider un choix d   architecture         o nombre  nature et caract  ristiques des noeuds    o nature et caract  ristiques des liaisons      o le cas   ch  ant  OS  SGBD  etc      gt    D  finir le d  ploiement des composants sur les noeuds      o traiter les probl  mes induits par le d  ploiement    transferts des donn  es  synchronisation  s  curit    etc       o se souvenir que le logiciel survit g  n  ralement au  mat  riel     gt  minimiser l   impact d   un portage sur une  autre architecture        Utiliser les diagrammes de d  ploiement pour pr  senter  l   architecture  noeuds et liaisons  et le d  ploiement des  composants sur les noeuds        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  164    M  thodologie de la conception    l   int  gration    C6   d  cider une politique de contr  le d   acc  s     gt  Il s   agit de g  rer les diff  rences d   acc  s    ventuelles        entre les diff  rents acteurs      o acc  s plus ou moins   tendu aux fonctionnalit  s du  syst  me      acc  s aux donn  es cr    es par l   utilisateur lui m  me    acc  s aux donn  es cr    es par les autres utilisateurs    acc  s aux donn  es internes au syst  me      acc  s aux donn  es    confidentielles    ou     strat  giques        Identifier les donn  es et fonctionnalit  s accessibles       chaque acteur     Mettr
33. Plan    Analyse  Conception  et Programmation par Objets    Les concepts objets  Analyse et conception      UML    introduction         Norbert Kajler et Fabien Moutarde UML   mod  le des classes     Norbert Kajler  Fabien  Moutarde     mines paristech fr  UML   compl  ments au mod  le des classes    Ann  e 2011 2012 UML   mod  le dynamique   Derni  re mise    jour le 15 septembre 2011     UML   mod  le fonctionnel    M  thodologie pour l   analyse et la validation            A UML   mod  le d implantation  WL M  thodologie de la conception    l int  gration    Mines ParisTech Tests      60 Bd Saint Michel Bibliographie  75272 Paris Cedex 06       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  i Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  ii    Les concepts objets Les concepts objets    Crise du logiciel         Les concepts objets      Pourquoi la programmation par objets             Qualit   du logiciel     Modularit         Abstraction et encapsulation   41 8  FRR   ss  Modifications dans les exigences des utilisateurs    A Objet  message  m  thode  17 4  Modifications de formats de donn  es    12 4  Corrections d   erreurs en urgence      Classe et instance        9  Corrections d   erreurs de routine            H  ritage     Modifications du mat  riel          r Polymorphisme  Documentation          Am  lioration d   efficacit                  Autres  
34. age  une    classe ou une collaboration      2  Microscopique     Mod  lisation d   une op  ration  flowchart       o visualise la s  quence d   instructions correspondant  au corps de la m  thode       programmation visuelle         o diagramme associ   typiquement    une op  ration     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     109    UML   mod  le dynamique       Diagrammes d   activit  s         Graphe orient   associ      une activit          Permet de sp  cifier le fonctionnement interne d   une  activit   en la d  composant en    o actions  e g  envoi de signal  appel d   op  ration   cr  ation destruction d   objet    valuation d   une  expression       sous activit  s  chacune pouvant   tre sp  cifi      son tour  par un diagramme d   activit  s      Rappel   les activit  s sont d  composables et    interruptibles alors que les actions ne le sont pas     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        108    UML   mod  le dynamique       Diagrammes d   activit  s   principes et notations         Actions et sous activit  s se repr  sentent de la m  me  mani  re en tant que sommet du graphe tandis que les  arcs indiquent l   encha  nement depuis l     tat initial  jusqu      l     tat final        Les sous activit  s peuvent comporter des champs    entryetexit     Contrairement aux diagrammes d     tats  les transitions  s   effectuent d  s 
35. ages sur l   Objet  UML  les  patterns  etc    3  Quelques URLs       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  197 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  198    Bibliographie       Ouvrages de r  f  rence          sur le langage de mod  lisation UML    VF   Eyrolles         Grady Booch  James Rumbaugh  Ivar Jacobson  The Unified  Modeling Language User Guide  Addison Wesley  2005  500p        James Rumbaugh  Ivar Jacobson  Grady Booch  UML 2 0 Guide de  r  f  rence  Campus Press  2004  774p        Jos Warmer  Anneke Kleppe  The Object Constraint Language    Precise Modeling with UML  2nd ed    Addison Wesley  2003  232p          Sur les m  thodologies    Unified process             Ivar Jacobson  Grady Booch  James Rumbaugh  The Unified  Software Development Process  Addison Wesley  1999    463p   VF   Eyrolles       Jim Arlow  Ila Neustadt  UML 2 and the Unified Process  2nd ed     Addison Wesley  2005  592p       pour d  couvrir les m  thodologies    l  g  res             Kent Beck  eXtreme Programming  Campus Press  2002  230p       Alistair Cockburn  Crystal Clear   A Human Powered Methodology  for Small Teams  Addison Wesley  2004  312p         Henrik Kniberg  Scrum et XP depuis les Tranch  es  CAMedia Inc   2007  150p  Disponible gratuitement en ligne     www infoq com minibooks scrum xp from the trenches     Analyse  conception et programm
36. aration de la validation       R  sum     pertinence des diff  rents   l  ments d   UML       Document d   analyse        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  126    M  thodologie pour l   analyse et la validation    Rappel   le cycle en V          Mise en parall  le des phases de construction et de    v  rification         Expression  des besoins  et  Analyse       E ti nem  prepararon Validation    E    Int  gration    Pa    tests unitaires    NT    R  alisation                         Conception  r  liminaire                      Conception  d  taill  e                                     Cycle bien adapt   aux    petits    projets     au del     penser au cycle en spirale      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  127    M  thodologie pour l   analyse et la validation    M  thodologie   contenu      R  pond aux questions suivantes            Quelles sont les diff  rentes phases du cycle de vie et  comment s   encha  nent elles      D Comment s   y prendre pour identifier les besoins   structurer le syst  me en classes et packages  planifier les    moyens    mettre en oeuvre pour chaque phase           Quand utiliser quel diagramme  plus quels st  r  otypes  et ou annotations  et pour quoi faire      Quelles sont les productions dues    l   issue de chaque  phase   quels documents  logiciels et ou donn  es      Qui r  alise quoi dans chaq
37. ation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  199    Bibliographie  Quelques URLs    http   www omg org    Site de l OMG    Documentation sur UML  normalis   par 1 OMG     http   www modeliosoft com      Site sur l   outil Modelio  voir aussi www softeam fr     http   www rational com     Site de la division d   IBM qui commercialise les outils Rational  le  RUP          UML Resource Center    http   www extremeprogramming org   http   www xprogramming com       Sites d  di  s    l    Extreme Programming  XP     http   www agilemodeling com     Site de r  f  rence pour l    Agile Modeling  AM     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  201    Bibliographie          Quelques ouvrages sur l   Objet  UML  les patterns  etc          pour approfondir UML  et les patterns           Bernd Bruegge  Allen H  Dutoit  Object Oriented Software  Engineering   Using Uml  Patterns and Java  2nd edition    Prentice Hall  2003  800p        Michael R Blaha  James Rumbaugh  Mod  lisation et conception    orient  es objet avec UML 2 Pearson Education  2005  585p     pour approfondir les    patterns             Erich Gamma  Richard Helm  Ralph Johnson  John Vlissides   Design Patterns  Addison Wesley  1995  395p   VF   Eyrolles         Eric Freeman  Elisabeth Freeman  Kathy Sierra  Bert Bates  Design    patterns t  te la premi  re O   Re  lly  2005  639p          pour approfondir gestion de projets  amp
38. des occurrences  d     v  nements     Il est d  fini par un automate d   tats fini  c    d  un graphe  orient   dont les noeuds sont des   tats et les ar  tes des    transitions     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  91    UML   mod  le dynamique    Diagrammes d     tats     tats et transitions j    Les diagrammes d     tats sont d  finis par         des   tats   situations caract  ristiques et stables du  fonctionnement des instances de la classe     o Cas particuliers   les   tats initial et final      gt  des transitions   mani  res dont un objet passe d   un   tat     un autre    Une transition peut      o correspondre    l   arriv  e d   un   v  nement      o avoir une condition de garde      o donner lieu    l   ex  cution d   une op  ration de la classe  et ou l     mission d   un   v  nement     Notation      Evti condi  m   Evt2    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  93    UML   mod  le dynamique       Diagrammes d     tats   principes       gt    Un diagramme d   tats est g  n  ralement associ      une  classe  peut aussi   tre relatif    un use case ou au syst  me  global         Une classe peut avoir plusieurs diagrammes d     tats      gt    Un diagramme d   tats doit   tre d  terministe   pour  chaque   tat les transitions sortantes doivent    correspondre      o    des   v  nements diff  rents      o ou alors   tre gard  e
39. dice   integer 0  facteur   real       Types   l  mentaires pr   d  finis en UML   boolean  char   integer  real  string        Possibilit   de d  finir de nouveaux types   l  mentaires au  niveau d   une classe ou d   un package     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  39    UML   mod  le des classes    Invariant de classe   exemple j          La contrainte associ  e    l   attribut valeur a   t    d  clar  e comme un invariant               Une simple annotation     but documentaire       Remarque   outre l   invariant  on a associ   une note     l attribut valeur  En fait on peut associer une note    toute  entit   UML et ce dans n   importe quel diagramme     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  41    UML   mod  le des classes       Invariant de classe j     gt    Ensemble de contraintes d   int  grit   que doit satisfaire  l   ensemble des instances de la classe        Ces contraintes expriment tout ce qui ne peut pas   tre  exprim   par les attributs et les op  rations     D Expression syntaxique uniquement   sous forme  textuelle et ou sous forme d   expressions bool  ennes dans  le langage d   implantation final  e g  C   ou Java  ou en    langage    OCL     Object Constraint Language    Exemples          L   invariant de la classe NombrePai r est que le modulo  2 de la valeur de l   attribut value doit   tre nul  ou en  Java  value
40. e        Comportement   emprunter    rendre    d  missionner          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     Les concepts objets    Encapsulation    Technique consistant    regrouper en une m  me entit    un  objet  des donn  es et les proc  dures pour manipuler ces  objets        Les donn  es  ou attributs  sont appel  es la partie  statique de l   objet         les proc  dures  ou m  thodes  sont appel  es la partie    dynamique     Exemple    LR  Classe Polygone  Attributs  ar  tes  couleur des bords  couleur du fond  M  thodes  dessiner    effacer    d  placer               Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  7    Les concepts objets    Abstraction de donn  es   exercice         Pourquoi l    abstraction de donn  es est une    bonne  pratique         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  9    Les concepts objets       Interface et implantation      S  paration stricte entre       l implantation de l   objet  ou partie priv  e          et son interface  ou partie publique      Classe Rectangle    Public int calculerSurface      void dessiner      int h  1  x  y   int calculerSurface     return h   1     void dessiner                L interface doit   tre aussi simple et s  re que possible     La partie priv  e est r  serv  e au concepteur d  veloppeur  de l   objet  in
41. e 2011     143    M  thodologie pour l   analyse et la validation       Qualit   de l   analyse d  taill  e   reviewing      Liste  non exhaustive  de questions    se poser         tous les termes du dictionnaire sont ils bien d  finis et  compr  hensibles par l   ensemble des intervenants      Pour chaque classe   est elle n  cessit  e directement ou  indirectement par un cas d   utilisation   Si oui  dans quel  cas d   utilisation des instances de cette classe sont elles  cr  es  modifi  es  d  truites      Pour chaque attribut   quel est son type   quand est il  initialis     modifi        Pour chaque association   quand est elle travers  e   sa    multiplicit   et son orientation sont ils justifi  s      Y a t il des entit  s portant le m  me nom  et si oui  pourquoi  d  notent elles bien des notions identiques       Toutes les entit  s sont elles bien d  crites avec un m  me  niveau de d  tail         les cas d   erreurs sont ils tous d  crits et trait  s     idem pour phases d   initialisation et d   arr  t du syst  me     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     145    M  thodologie pour l   analyse et la validation       A8   V  rifier la qualit   de l   analyse d  taill  e       V  rifier    o la correction   o la completude   o et la consistance de la mod  lisation     sinon retour en A1 ou A7        penser    utiliser l   outil si il permet la recherche  automatique de d  fauts dans la mod  lisatio
42. e classe d  riv  e NE PEUT h  riter  que d   une m  re      gt     complete      toutes les classes filles sont sp  cifi  es      gt     incomplete      la liste des classes filles est    incompl  te        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  54    UML   mod  le des classes    Contraintes sur la g  n  ralisation   exemples j           disjoint                    incomplete           Animal                 disjoint              Mammif  re   Oiseau   Carnivore    D S7    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011                    UML   mod  le des classes       Utilisation contextuelle et op  rationnelle   exemple    Soit la m  thode manger de la classe Chien         manger  Nourriture repas        Utilise les classes       couteau  fourchette     Couteau prendre      Fourchette prendre           Fourchette immobiliser  repas       Couteau couper  repas                  Utilisation contextuelle de   nourriture        Utilisation op  rationnelle de   couteau   et   fourchette          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     UML   mod  le des classes    Liens entre classes   r  sum   j          Trois niveaux pour les liens d   utilisation entre classes      1  conceptuel   liens forts et permanents entre objets    en UML   association et g  n  ralisation        contextuel   param 
43. e en place les m  canismes pour g  rer les diff  rents  niveaux d   acc  s au syst  me  fonctionnalit  s et donn  es         Mettre en place les m  canismes pour authentifier les  utilisateurs     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  166    M  thodologie de la conception    l   int  gration    C8   identifier les conditions aux limites j    M  thodologie de la conception    l   int  gration    C7   d  cider la nature du flux de contr  le global j     gt    Il s   agit  pour chaque composant qui s ex  cute sur un           gt  Il s   agit de pr  ciser      processus propre  de choisir parmi   o les phases de d  marrage et d   arr  t du syst  me      i   Pis   CERN  o le mode proc  dural   le programme encha  ne les o le cas   ch  ant  l interruption du syst  me      actions selon un ordre strictement d  termin   en o le cas   ch  ant  les modes de fonctionnement     d  grad  s     panne de disque dur  de courant  de    r  seau      ou simple maintenance      s   interrompant seulement lorsqu   il attend des donn  es  de l utilisateur ou d   un autre programme         adapt   aux syst  mes    l    IHM en mode texte        typique des langages proc  duraux  Les aspects    prendre en compte incluent      le mode r  actif   une boucle globale traite les vitessede demarage       v  nements selon leur arriv  e et les transmet aux int  grit   des donn  es en toutes circonstances      objet s  concern   s     bloquag
44. ement au sein du syst  me     Invalide  compose n in invalide     Associ  s    un package  une classe  ou un cas    d utilisation                 d  croche aa  En composition    compose n  n valide        S   expriment sous la forme d   une s  quence d   envois de    messages et ou signaux entre des objets  objets concrets  after 15 seconds     ou prototypes    occup     A   gt    Diagrammes utiles pour      Tonalit   occup  e o v  rifier la compl  tude de l analyse  mettre en   vidence    appelant raccroche a  gt   des incoh  rences  etc      i connect     f    appel   raccroche o documenter l    analyse  illustrer le fonctionnement    d   une partie du syst  me      ogue Sonnerie    g  appel   d  croche o pr  parer des jeux de test     Diagramme d     tats de la classe T  l  phone avec             visualisation du contenu de l     tat composite Actif       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  99 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  100    UML   mod  le dynamique UML   mod  le dynamique    Diagramme de s  quence vs de collaboration   Diagramme de s  quence   notations    objetMachin Classe2    Deux types de diagrammes s  mantiquement   quivalents T  1                   disponibles en UML pour exprimer des sc  narios   create      objetTruc Classe3                les diagrammes de s  quence pour mettre en   vidence la             dimension 
45. er le mod  le               Point de d  part   cas d   utilisation et dictionnaire  D  finir les associations entre classes      gt  Identifier les classes  et les op  rations associ  es  qui D  finir les g  n  ralisations entre classes    satisfont les besoins op  rationnels des utilisateurs           ces classes sont les classes d   interface  ou boundary Indiquer les classes    abstraites        classes             n D  finir l   organisation en packages   Poursuivre dans cette voie en consid  rant    individuellement chaque classe C identifi  e      o C peut elle r  aliser ses services de mani  re autonome    Sinon de quoi a t elle besoin   Quelle autre classe  pourrait satisfaire ce besoin      o quelles op  rations suppl  mentaires la classe C  peut elle fournir pour constituer une entit   coh  rente         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  137 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  138    M  thodologie pour l   analyse et la validation    A5   Construire les premiers sc  narios         Point de d  part         1  les cas d   utilisation      2  les classes d   interface identifi  es en A3        D  finir les sc  narios sous forme de diagrammes de  s  quences  et ou de collaboration      D Remarque   lors de l   analyse  les sc  narios sont  pertinents    la fois pour      o pr  ciser le cahier des charges et les use cases  sc  nari
46. es besoins par des cas d   utilisation     A8  V  rifier la qualit   de l   analyse d  taill  e       D  crire  bri  vement  sous forme textuelle chaque cas    d utilisation        Identifier aussi les besoins non fonctionnels    vitesse des traitements  capacit   d   acc  s simultan     etc        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  131 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  132    M  thodologie pour l   analyse et la validation M  thodologie pour l    analyse et la validation    Exercice   l   ascenceur j Pr  cisions sur l   analyse fonctionnelle    Soit un ascenceur dans un petit immeuble d   habitation de 5    Utiliser le vocabulaire du client exclusivement        tages plus 2 niveaux en sous sol  Quels sont   o pas de termes typiquement informatiques  classe       les utilisateurs   instance  attribut  association  g  n  ralisation  etc              z   5 f     BEN  les besoins fondamentaux   o l   ensemble de l    analyse fonctionnelle doit   tre      j srati   i aa    les besoins op  rationnels   facilement compr  hensible par le client        Fournir une vue strictement externe du syst  me    r  aliser   on ne s int  resse donc pas encore    son architecture         Clarifier     la mani  re d   un contrat  ce que le syst  me    doit faire et ce qu   il ne doit pas faire        Analyse  conception et programmation par objets     CCSI
47. es comporte trois classes         Rappel   une classe peut   tre publique  priv  e ou    prot  g  e au sein de son package               Une classe peut comporter des attributs  des op  rations    et un invariant        Une classe peut   tre en relation avec   Compte_particulier      des classes du m  me package        des classes publiques appartenant    des packages     visibles    depuis le package courant   la classe Compte est abstraite  italique       Une classe peut   tre abstraite  au sens Java C      la classe Compte est la classe m  re des deux autres      notation   nom de la classe en italique    classes du package       Ou alors   criture de la propri  t    abstract  sous le    nom  Remarque      l   ext  rieur de leur package de d  finition les    noms de classes sont pr  fix  s par le nom du package       Remarque   deux classes peuvent porter le m  me nom           i   Exemple   Comptes   Compte_societe  condition de ne pas appartenir au m  me package        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  37 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  38    UML   mod  le des classes       Un attribut poss  de      o un nom   o un type   o   ventuellement une valeur par d  faut       Un attribut peut   tre    de classe       static en    C   Java        notation   nom et type de l   attribut soulign          D Exemple      date_paye   date  in
48. es d   acc  s    namespace    assert condition     M  thodologie de la conception    l   int  gration       R  alisation   acc  s aux associations depuis C      Pour chaque association  4 m  thodes sont automatiquement  ajout  es    la classe utilisatrice  cela d  pend toutefois de la  configuration du projet   Soit  par exemple  une classe C1  utilisant une classe C2 avec comme r  le r  on a les 4  m  thodes suivantes d  finies dans C1      inte card r     C2x get_r int i 0    void append_r  const C2     void erase_r  const C2x      Autres possibilit  s         g  rer les associations    la main en annotant l   association  par la directive  ou   tagged value    own         cas particuliers   composition  classe d   association   association    de classe         Cf  la doc Modelio pour plus de d  tails sur la traduction   en C   des concepts UML        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  183 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  184    M  thodologie de la conception    l   int  gration    R  alisation   g  n  ration de code C        M  thodologie de la conception    l int  gration    R  alisation   d   UML    Java               package P1                                                                 include  P1 hxx      include  C2 hxx    include   C3 hxx            include  C1 hxx      include  C5 hxx              Analyse  conception et
49. es d   acc  s s  lectifs  maintenance         adapt   aux syst  mes    l   IHM relativement simple  x Hs    g  ne occasionn  e aux autres syst  mes lorsque le    les threads   le programme se compose de processus    logiciel est arr  t    interrompu  en cours de d  marrage     l  gers    qui s   ex  cutent en    et r  agissent    des n    v  nements diff  rents    information des diff  rents acteurs lorsque le syst  me    adapt   au syst  mes complexes   n   est pas dans un   tat de fonctionnement normal       l  gant  intuitif  mais d  licat    mettre au point        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  167 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  168    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration          Conception pr  liminaire   r  sum      La conception pr  liminaire consiste en      1  un certains nombre de choix strat  giques globaux      stockage des donn  es et contr  le des droits d   acc  s    frameworks et classes pr   existantes s  lectionn  es    nature du flux de contr  le      organisation du syst  me en sous syst  mes         choix de l   architecture en terme de noeuds et liaisons     2  un certains nombre d   ajouts et de modifications dans les  mod  les issus de l   analyse         ajouts des diagrammes de composants et de  d  ploiement         modifications des autr
50. es diagrammes pour prendre en  compte les choix ci dessus ainsi que les conditions  aux limites         pr  cisions documentaires relatant les choix de  conception et les raisons de ces choix  tra  abilit        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     Conception pr  liminaire   bilan      A la fin de cette   tape         toutes les d  cisions globales  strat  giques  ont   t   prises    et document  es         tous les packages sont identifi  s et chaque classe    appartient    un package et un seul       gt  il sera donc possible de parall  liser la suite du  d  veloppement en confiant chaque package    une    quipe      gt  il est possible  et souhaitable  de pr  parer sans attendre    l int  gration        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     170    M  thodologie de la conception    l   int  gration    Int  gration   ordonnancement des travaux j       Se baser sur les d  pendances entre packages                                                                                                      Test P6   Test P5   Assemblage P4 P6  Test P4 P6  Assemblage P3 P6  Test P3 P6  Assemblage P4 P5 P2  Test P2 P4 P5  Assemblage P1 P3 P4  Test P1 P3 P4          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  171    M  thodologie de la conception    l   int  gration    C9   compl  ter la 
51. et classes r   utilis  s j        gt    Il s   agit de    o param  trer les frameworks et les classes r   utilis  es      o modifier la mod  lisation pour tenir compte des  frameworks et biblioth  ques de classes utilis  es     Aussi  il est prudent    o d   anticiper l     volution des frameworks et classes  r   utilis  es      o de pr  voir leur remplacement   ventuel par d   autres  plus performants  ou moins co  teux        On tachera donc de d  coupler au maximum ces  classes des autres classes du syst  me        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  174    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    Pattern    Adapter      Exercice   le pattern    Singleton                lt  lt description gt  gt  A   r SRR  Target Comment faire en sorte qu   une classe ne puisse   tre    x instanci  e qu   une fois au maximum      Client     InterfaceFournisseur             ClasseExistante           lt  lt description gt  gt   Adapter  ou  Wrapper      lt  lt comment gt  gt     Dans cet exemple  Client n   a besoin que des m  thodes me1     me2   et me3   de ClasseExistante        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  175 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  176    M  thodologie de la conception    l   int  gration M  thodo
52. ge        Objectifs    o identifier nommer diffuser les meilleures pratiques      o acc  l  rer la communication et les prises de d  cisions  durant les phases d   analyse et  surtout  de conception     D Comporte syst  matiquement        titre  diagramme  propos  description  exemple s          et si besoin   contre indications  patterns connexes  etc      gt    Exemples de patterns   composite  abstract factory   adapter  MVC  etc        Cf  exemples plus loin dans le cours    et Bibliographie     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  163    M  thodologie de la conception    l   int  gration    C5   d  cider le mode de stockage des donn  es       gt  Il s   agit de ma  triser la gestion des donn  es stock  es en       m  moire permanente  sur disque       donn  es    stocker entre 2 ex  cutions du programme    donn  es trop volumineuses pour la m  moire vive    donn  es    partager avec d   autres programmes      donn  es    sensibles    qu   il faut   tre s  r de pr  server  m  me en cas de crash     Identifier les donn  es    stocker  objets    persistants         D  cider mode de stockage parmi   simple fichier  BDD  relationnelle  BDD objet     Crit  res    o taille et nature des donn  es    stocker    o complexit   des requ  tes      o performance souhait  e  temps d   acc  s et m  moire         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  16
53. ication du    quoi     c    d  description    1  Cycle de vie d   un logiciel  d  taill  e du syst  me    r  aliser     2  M  thode d   analyse et de conception  Conception   d  finit   comment    le syst  me sera    r  alis    et comment il se d  compose en modules   3  Atelier de G  nie Logiciel     R  alisation   codage de chacun des modules     4 Analyse et conception   bj  ts  Int  gration   test unitaire de chaque module et    int  gration des diff  rentes modules dans le syst  me        Validation   v  rification de la conformit   globale du  logiciel produit par rapport    sa sp  cification        Maintenance    volution            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  17 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  18    Analyse et conception    Analyse et conception par objets         Description du monde r  el       Analyse    xN    Mod  les d   objet et interactions    P    Conception     x  Architecture d  taill  e du syst  me  et des modules                         2T    R  alisation    LL                 Syst  me r  alis   avec un  langage    objets    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  19    Analyse et conception    Le cycle en V    Mise en parall  le des phases de construction et de  v  rification            pr  paration                Analyse Validation    N Es 
54. ion      o par type d   acteurs    o par cas d   utilisation      o ou par packages        Compl  ter et finaliser les sc  narios de validation     et  le cas   ch  ant  les jeux de tests correspondant         Planifier la phase de validation en termes de temps et de    moyens n  cessaires     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  147    M  thodologie pour l   analyse et la validation    Document d   analyse   plan type j      Pr  sentation g  n  rale          Situation et objectifs  documents de r  f  rence  etc       Sp  cification pr  liminaire          Dictionnaire      Repr  sentation globale de l   application     D Description r  sum  e       D  finition des utilisateurs          Cas d   utilisation  et acteurs   exemples  sc  narios        Sp  cification d  taill  e        gt    D  finition du mod  le des classes  par package       package p      classes C1  C2      Cn  chacune accompagn  e le cas   ch  ant de ses    invariants  diagramme d     tat           package p2      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  149    M  thodologie pour l   analyse et la validation       R  sum     pertinence des diff  rents   l  ments d    UML       Phase          Mod  le fonctionnel         Acteur et use case       Mod  le des classes         Package  Classe  Attribut  Op  ration  Association  Visibilit    Invariant    Pr    Post condition       Mod
55. ion    Le conducteur doit pouvoir manipuler le volant  mais  pas le moteur     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  51    UML   mod  le des classes    G  n  ralisation   sp  cialisation j    Expression du lien    est sous classe de    entre classes        G  n  ralisation simple  1 super classe au maximum  ou  multiple     Toutes les propri  t  s d   une super classe sont vraies pour  chaque classe fille        L   invariant d   une sous classe comprend celui de sa  super classe     D Exemple de g  n  ralisation simple      NV    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  53    UML   mod  le des classes       Cas particulier d   associations   les agr  gations       Une agr  gation d  note l   id  e de    faire partie de           On distingue      o l   agr  gation partag  e  ou agr  gation   Exemple            Groupe de travail Personne                      o l   agr  gation de composition  ou composition   Exemple      Voiture       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  52    UML   mod  le des classes    Contraintes sur la g  n  ralisation      UML permet d   ajouter des pr  cisions sur les liens de       g  n  ralisation  Plusieurs contraintes sont pr   d  finies       gt     overlapping    une classe d  riv  e peut h  riter de  plus d   une m  re      gt     dis joint     un
56. ion   m0 0 1        ces transparents    m3      c3           a1   string                       livres et sites web sur UML  cf  Bibliographie         http   www ensmp fr CC Docs Besoin d   un outil adapt       dition des diagrammes   gestion des coh  rences entre diagrammes  g  n  ration de  la doc et du code  etc     AGL comme    Rational Software Modeler  Rose          Modelio               Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  29 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  30    UML   introduction UML   introduction    Contenu d   UML   survol rapide   Contenu d   UML   hi  rarchie des concepts               Une notation unifi  e    Les    diagrammes     voir p 33        facilite la compr  hension   communication d   une    Ra Les    choses     ou things  mod  lisation    gs     o structurelles    Un m  ta mod  le compl  tement sp  cifi     classes  interfaces  collaborations  cas  d   utilisation  classes actives  composants  noeuds         sp  cifie formellement la s  mantique d    UML    o dynamiques  ou behavioral       facilite la r  alisation d   outils et l     change d   une  interactions  automates    mod  lisation entre outils   o groupantes     Attention   UML n   impose pas de    processus de packages   d  veloppement     ou    m  thodologie     sp  cifique o annotantes      possibilit   d   adapter UML aux sp  cificit  s de chaque  
57. iser  frameworks et biblioth  ques de classes   syst  me complet      maximiser les performances   temps de r  ponse     C4  D  finir le d  ploiement des composants sur les noeuds      PS  nombre de transactions  besoin en m  moire  etc       C5  D  cider le mode de stockage des donn  es  maximiser la fiabilit     robustesse  disponibilit       s  curit    etc   C6  D  cider une politique de contr  le d   acc  s  PA PAES re i  maximiser l   extensibilit    la portabilit    l    ergonomie     C7  D  cider la nature du flux de contr  le global  etc     C8  Identifier les conditions aux limites  Attention   ces objectifs sont souvent incompatibles          avant passage    la conception d  taill  e  ou    object   temps de r  ponse vs besoin en m  moire     design      rapidit   vs taille de l   ex  cutable     rapidit   de r  alisation vs autres crit  res     On pourra s   appuyer sur les besoins non fonctionnels  identifi  s au d  but de l   analyse        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  159 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  160    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    C2   d  composer le syst  me en sous syst  mes   C3   r   utiliser  frameworks et biblioth  ques de classes      gt    Il s   agit             gt  S   appuyer sur la d  composition en packages issue de 
58. ive         D Exemples de directives pr   d  finies pour les attributs    o JavaShort  JavaLong  JavaGenerateAccessor       o     amp    g  n  ration d   un pointeur vs r  f  rence  C       o short  long  const  create  fullaccess  array       C       D Exemples de directives pr   d  finies pour associations    o JavaGenerateAccessor  ordered       Java     o access fullaccess  ordered       C          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  156    M  thodologie de la conception    l   int  gration    M  thodologie de la conception       l   int  gration    1  Conception pr  liminaire et int  gration     2  Conception d  taill  e et tests unitaires     3  R  alisation   d UML    C     Java     4  Document de conception        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  158    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    Conception pr  liminaire  ou    system design       C1   identifier les objectifs de conception      D Expliciter et ordonner les objectifs de conception parmi            Huit   tapes  pas forc  ment s  quentielles          C1  Identifier les objectifs de conception  r  duction des co  ts de d  veloppement et ou    d installation et ou de fonctionnement    C2  D  composer le syst  me en sous syst  mes     r  duction des d  lais de livraison du prototype et ou du  C3  R   util
59. jets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  194    Tests Tests    Profiling et optimisation j Tests de portabilit        Si besoin  en cas de performances insuffisantes                 gt    Compilation et tests  fonctionnels et performance  de       Etude dynamique du code    l ex  cution   mise en chaque ex  cutable sur les diff  rentes architectures vis  es      vidence des parties du code    optimiser en priorit    o    mat  riels x OSs x autres logiciels      asse t on du temps    l   ex  cution   ne     Dan  E Ar         Si n  cessaire  tester avec des p  riph  riques d   E S  utilisation d   outils tels que prof  Unix  ou Rational    PurifyPlus  IBM      diff  rents      o   cran basse vs haute r  solution    o   cran couleur vs monochrome    o claviers de type diff  rents      Oo           Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  195 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  196    Tests Bibliographie       Exercice   quand s   arr  ter de tester   j    Les tests permettent de d  celer des erreurs  jamais de    garantir qu   il ne reste plus d   erreurs dans le code         gt  Comment   valuer le nombre N d   erreurs non encore    d  cel  es dans le programme      Bibliographie    1  Ouvrages de r  f  rence      Est il possible d   avoir une id  e a priori de la fiabilit   du  logiciel produit      2  Quelques autres ouvr
60. l   application      Versions utilis  es   UML 1 5   gt  UML 2 0  2005     o m  thodologie  d  couverte des classes  g  n  ration et      i       Extensions      Profiles         documentation du code  reverse engineering  etc          UML Profile for Enterprise Distributed Object  Computing  EDOC        m  thodes d   analyse et de conception objets telles   UML P  for Schedulability  Performance and Time    que   OMT  OOAD  Classe Relation  UML   RUP  UML     UML Testing Profile     Catalysis  etc        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  27 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  28    UML   introduction UML   introduction  Disponibilit   Formalisme utilis   dans UML         Essentiellement graphique           Standard disponible librement sur le site Web de l    OMG      http   www omg org uml     Notations sp  cifiques pour chacun des concepts UML       documentation de r  f  rence tr  s technique  plut  t packages  classes  relations  instances    tats  etc     destin  e    des utilisateurs avertis   auteurs d ouvrages        gt    Exemple    concepteurs d   outils UML notamment   P    Support   par de nombreux AGL  Rational Software  Modeler  Modelio  Rhapsody  Together       permettant la  mod  lisation  g  n  ration de code  C    Java  C   etc          g  n  ration des documentations  retro conception            C2    i e  Documentat
61. l  tion du cas d   utilisation de d  part   Changer les bougies     dont la pr  sence ou l   absence d  pend  par exemple  du  mat  riel utilis   pour le d  ploiement du syst  me     Faire la vidange    NOTA  BENE   penser au crit  re de    sous partie          strictement n  cessaire    pour discriminer entre relations       d   inclusion et d   extension        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  119 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  120    UML   mod  le fonctionnel UML   mod  le fonctionnel    Relations entre cas d   utilisation   exemple Double int  r  t de la relations    include    j             Parmi les trois sortes de relations entre cas d   utilisation        PE la relation    include    est la plus utile car elle permet    tout    la fois de hi  rarchiser et de factoriser les cas  Faire la vidange side    l d utilisation      lt  lt extend gt  gt       R  parer automobile J   Garagiste N e       xs   lt  lt include gt  gt     ks  Changer plaquettes de frein  si  R  parer une Formule 1 Changer l   aileron                Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  121 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  122    UML   mod  le fonctionnel       Exemple de hi  rarchisation par la relation    include   
62. lement via les classes dont elle    D Une classe  abstraite ou pas  peut implanter z  ro  une ou h  rite  inclut  au minimum  le code correspondant       plusieurs interfaces  l   ensemble des m  thodes d  finies dans l   interface     D Inversement  une m  me interface peut   tre implant  e par          VD P P P Lien d   implantation entre une classe abstraite et une  z  ro  une ou plusieurs classes     interface    D Seules les classes non abstraites peuvent   tre instanci  es    s  mantique moins claire que dans les autres cas   permet de combiner un sous typage abstrait et ou un    d  but de concr  tisation         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  79 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  80    UML   compl  ments au mod  le des classes UML   compl  ments au mod  le des classes    Classes param  trables  ou classes templates    Responsabilit  s           En vrac              i    Responsabilit  s  d   une classe    mention  pour les classes    param  tre s  formel s        ANT   lt  lt comment gt  gt  A d   interface  sous le nom de la classe du  ou des  cas  I    Le st  r  otype d utilisation qu   elle prend en charge  cf  transparent 137    cr     lt  lt bind gt  gt  est sur la recherche des classes d   interface    pr  d  fini en UML  pour sp  cifier la       3  nature de cette Contraintes    Xor     ou exclusif  au niveau d   un   
63. logie de la conception    l   int  gration    C11   Restructurer j Pattern    AbstractFactory    j    Il s   agit  pour chaque diagramme de classes  de traiter les             cas suivants    AbstractFactory  suppression des g  n  ralisations multiples si le langage    cible ne les permet pas   createlabel    createButton      transformation des associations n aires en associations A  binaires      PcFactory MacFactory       remplacement des classes d   association par des classes       ordinaires   createLabel   createLabel      createButton   createButton                            le tout en maintenant dans la mesure du possible la          lisibilit   des diagrammes     l        l  En fonction des objectifs  il peut s   agir aussi de   l AbstractButton             pr  parer la r  utilisation de certaines classes         augmenter la portabilit   du syst  me PcLabel   vis    vis des classes techniques d    IHM par exemple            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  177 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  178    M  thodologie de la conception    l   int  gration M  thodologie de la conception    l   int  gration    Pattern    AbstractFactory     utilisation  j C12   Optimiser j    AbstractFactory fac   newPcFactory    Les techniques suivantes devront   tre utilis  es    bon          escient         La suite du code est portable  ne  
64. m  re s  ou super classe s    Classe Tour  Attribuits    Selon les langages objets    position  couleur f    M  thodes   une ou plusieurs classe s  racine s         h  ritage simple ou multiple      d  placer     plus ou moins grand nombre de classes pr   d  finies          Analogie avec le concept type   variable        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  11 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  12    Les concepts objets Les concepts objets    H  ritage simple   exemple Relation client vs Relation d   h  ritage       Vision hi  rarchique               Relation client    a un    Classe V  hicule  Attributs  nb_passager objets   M  thodes  avancer   Exemples      relation de composition  de collaboration entre les      une voiture a 4 roues        une voiture a 1 moteur     Attributs  puissance    Relation d   h  ritage      est un       relation de sp  cialisation  relation hi  rarchique entre        relation d   h  ritage les objets       Exemples       Vision ensembliste     Na    une voiture est un v  hicule      V  hicule   une Twingo est une voiture         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  13 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  14    Les concepts objets Les concepts objets    Polymorphisme   Ava
65. mmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  192    Tests Tests    Tests fonctionnels j Tests non fonctionnels j    Impossible de tout tester  surtout dans le cas d   une IHM             V  rifier les performances du logiciel      graphique   par contre on peut   o temps de calcul      Tester un maximum de points nn RU ne  ni o besoin m  moire    l   ex  cution      pr  voir du temps pour les tests      o en cas d   IHM graphique   r  activit   de l    IHM  fluidit      Faire tester par un maximum de personnes diff  rentes des animations     informaticiens et non informaticiens    i  o etc     Accumuler les cas de tests      batterie de centaines  voire milliers  de cas de tests      Cas particulier des    tests de charge            Automatiser l    application et l    analyse des cas de tests o de plus en plus n  cessaires  Web  e commerce              utiliser des outils adapt  s  y compris des    robots    o n  cessite un outil ad hoc pour simuler des milliers    pour tester les IHMs    voire des millions  de requ  tes pendant un temps  d  fini      Batterie de tests    r   appliquer syst  matiquement sur   i Mie    o r  sultats souvent impr  visibles avant le test  chaque nouvelle version du code x         gt  tester sur un prototype le plus t  t possible    tests de non r  gression        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  193 Analyse  conception et programmation par ob
66. n     Compl  ter le dictionnaire en pr  cisant les formes de    mod  lisation UML des termes et les noms informatiques    utilis  s  colonnes n   3 et n   4          Nom Traduction Nom    UML    D  finition    informatique                      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        144    M  thodologie pour l   analyse et la validation       Pr  cisions sur l   analyse d  taill  e         Les objectifs sont assez oppos  s    ceux de l   analyse  fonctionnelle      o utilisation d   un langage davantage informatique   cas d   utilisation et sc  narios mais aussi diagrammes  de classe  diagrammes d     tats  etc        obtention d   une vue    la fois externe et interne du  syst  me    r  aliser      niveau de d  tail dans la compr  hension des besoins qui    va bien au del   de ce qui int  resse g  n  ralement  l utilisateur  c    d  l   aspect contractuel de l   analyse  fonctionnelle      Ne doit pas comporter de redondances  d   incoh  rences  ou d   impr  cisions     en effet  il s   agit de bien mesurer la complexit    interne de la chose    r  aliser et de d  limiter l   espace des  d  cisions    prendre lors de la phase suivante     conception      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        146    M  thodologie pour l   analyse et la validation    Pr  paration de la validation         D D  finir une strat  gie en vue de la validat
67. nception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  190    Tests Tests    Tests de fiabilit       gt  Il faut comprendre    les tests    comme la recherche Analyse dynamique du code lors de l   ex  cution      active et syst  matique de diff  rences entre le D d  tection d   incoh  rences dans les classes entit  s  de  fonctionnement suppos   du programme et son non respect du mode d   emploi des m  thodes         fonctionnement effectif  en termes de fonctionnalit  s  de   gt  Test syst  matique des pr    post conditions et invariants     fiabilit   etde performances   Nota Bene   il vaut mieux pr  venir que gu  rir        On appelle cas de test  ou test case   un ensemble    3 je   d  tection de probl  mes m  moire  surtout utile pour  compos   des   l  ments ci dessous FF P   P    langages sans garbage collector comme C ou C        1  nom du cas de test  on          D d  tection des parties de code jamais parcourues       2  input  donn  es et ou commandes    l   ex  cution lors des tests    y code suspect   inutile et ou jamais test      3  oracle  r  sultat attendu    T P tou    AS zia   Utilisation d   outils tels que Rational PurifyPlus  IBM        et destin      mettre en   vidence une faute dans une    partie du programme      Relecture syst  matique du code  cf  m  thodologie XP         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  191 Analyse  conception et progra
68. ntage du polymorphisme      D Propri  t   d   une m  thode de pouvoir se comporter de  gt    En programmation structur  e  Pascal  C  etc              mani  re diff  rente sur des objets de classes diff  rentes  pour chaque pi  ce faire        selon t de 1 j       Polymorphisme statique   E E ES  cas Tour   deplacer Tour   double mult  double  double    cas Roi   deplacer Roi     double mult  int  double    cas Fou   deplacer Fou     int mult  int  int    fin selon  f fin pour     Polymorphisme dynamique   Serr S     Piece p    gt    En programmation par objets  C    Java  etc        p new Tour        ou new Roi   ou     o D  finition d   une classe abstraite Piece     o D  finition des sous classes Tour  Roi  Fou      avec  p deplacer        se  pour chacune une m  thode deplacer sp  cifique        hr     D  placer    pour chaque pi  ce p faire  L  PAU p   deplacer       fin pour                                                 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  15 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  16    Analyse et conception Analyse et conception  Cycle de vie d   un logiciel      D un probl  me    sa solution Informatique               Expression des besoins  sp  cifications fonctionnelles    description d  taill  e des fonctionnalit  s souhait  es du    Analyse et conception point de vue des futurs utilisateurs     Analyse   sp  cif
69. os utilisables aussi pour la validation      o d  tailler les appels de m  thodes entre les classes    sc  narios utilisables aussi pour les phases suivantes   conception  r  alisation et tests unitaires      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  139    M  thodologie pour l   analyse et la validation    A6   V  rifier la coh  rence de l   analyse pr  liminaire    V  rifier la coh  rence entre         1  le contenu du dictionnaire    2  les cas d   utilisation    3  les sc  narios      4  les   l  ments mod  lis  s jusqu ici dans les diff  rents  diagrammes de classe     Il s   agit notamment de v  rifier la coh  rence entre la vision  externe  les cas d   utilisation  et interne  diagrammes de  classe  du syst  me     Attention   il est fr  quent de devoir    boucler    plusieurs  fois sur les   tapes A1    A6 avant de parvenir    une analyse  pr  liminaire satisfaisante     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  141    M  thodologie pour l   analyse et la validation    AS   exemple     C1  C2Control                     T T   Usager i i   2 besoinOpil   l    I   I   1                serviceta   creerBidule          gt   create                        gt  besoinOpib    l          saisirDonn  es      ____ data    remplirBidule data     service1b         remplir data                                Analyse  conception et programmation par objets   
70. osants classes frameworks r   utilis  s   chaque entit   est compl  tement sp  cifi  e      o nature des optimisations    effectuer    i TOEN  il est donc temps de passer    la r  alisation de chaque         gt    ackage       un certains nombre d   ajouts et modifications dans les P 8       mod  les issus de la conception pr  liminaire   il est possible  et souhaitable  de pr  parer les tests    o restructurations des diff  rents diagrammes de classes unitaires       pour  notamment  prendre en compte les choix  techniques ci dessus      sp  cification finale des APIs  contraintes   pr    post conditions  exceptions         visibilit  s    ajouts de pr  cisions documentaires  notamment    descriptions techniques des m  thodes            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  181 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  182    M  thodologie de la conception    l   int  gration       R  alisation   d UML    C        UML    C         classe    attribut publique    attribut prot  g      attribut priv    op  ration    g  n  ralisation    association    package    invariants  pr    et    post conditions    class    attribut prot  g   avec m  thodes  publiques d   acc  s    attribut prot  g   avec m  thodes  d   acc  s prot  g  s  idem mais tout    priv         fonction membre    h  ritage  public par d  faut   collection  liste  tableau   avec m  thod
71. ossibles de  signaux dans un diagramme de classe    l   aide d   une  d  pendance portant le st  r  otype    send           Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  85 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  86    UML   mod  le dynamique  Exemple de signaux dans un diagramme de classes j     lt  lt signal gt  gt   ContextePhysique              lt  lt signal gt  gt   PbTemp  rature     temp  rature   integer  LE       lt  lt signal gt  gt   lt  lt signal gt  gt   TropFroid TropChaud     lt  lt signal gt  gt   lt  lt signal gt  gt   BeaucoupTropFroid BeaucoupTropChaud     lt  lt signal gt  gt   PbHumidit         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  87    UML   mod  le dynamique      v  nements    temporels     ou time events  j       Permet de sp  cifier le passage d   une certaine quantit   de       temps        Instant de r  f  rence par d  faut   l   entr  e dans l     tat  courant  voir plus loin      D Exemples      o after 30 seconds    o after 2 ms since exiting EnVeille   fait r  f  rence    la sortie de l     tat de nom EnvVeille        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  89    UML   mod  le dynamique    Cas particulier de signal   les    exceptions           gt    Instance d   une classe portant le st  
72. que l   action ou sous activit   pr  c  dente  est termin  e        Possibilit   d   inclure les instances cr    s  modifi  es ou  d  truites au sein de l   activit   en dessinant un lien de  d  pendance vers l   instance depuis l     l  ment du  diagramme d   activit   qui l   a cr      modifi  e ou d  truite      gt    Notations sp  cifiques pour        branchement conditionnel        concurrence  fork  amp  join           partionnement en lignes d   eau  ou    swimlane         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        110    UML   mod  le dynamique       Diagramme d   activit  s   exemple    EA     val  lt  seuil  reima       Mod  lisation d   une m  thode       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  111    UML   mod  le dynamique    Importance des commentaires      Outre les diagrammes vus jusqv   ici  et afin de pr  ciser le       mieux possible la dynamique du syst  me          Penser    d  crire les traitements en attachant des  descriptifs textuels aux op  rations complexes  Ces  descriptifs peuvent   tre de diff  rentes sortes      1  Summary   bref r  sum    e g  1 ligne      2  Description   sp  cification explication d  taill  e du    traitement        Comment   commentaire technique  destin   au    concepteur programmeur          Prendre soin d   utiliser exactement les termes employ  s    pour la description du mod  le  nom des
73. quement le mod  le des classes  Un  diagramme sp  cifie la structure d   un mod  le  mais ne  peut pas d  crire  notamment  les raisons qui ont pouss         certains choix        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  60    UML   mod  le des classes    R  gles relatives    la d  finition de classes            Une classe doit correspondre    une certaine    r  alit      de  la chose    mod  liser      o ne pas faire appara  tre de classes inutiles    o ne pas dupliquer de classes      o chaque classe doit pouvoir se justifier par les  op  rations qu   elle fournit de mani  re exclusive et ou  repr  senter un concept clairement identifi   du syst  me        Les classes  et les associations  doivent correspondre     des   l  ments stables  par opposition    des   tats  des  d  pendances  etc      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  62    UML   mod  le des classes UML   mod  le des classes    R  gles relatives    la d  finition de classes   exercice R  gles relatives    l   arit   des associations            Que penser de cette mod  lisation      On   vitera l     criture d   associations d   arit    gt  2       Ceci n   est nullement restrictif   toute association       n aire peut se transformer en n associations binaires              Exemple         chose_enseign  e    Mati  re  emballage contenu    Professeur i  Suite_De_Pages enseignant   
74. r  otype    exception        Exemple          lt  lt exception gt  gt   PilePleine    NS                      lt  lt throw gt  gt     Re       Fajouter    5 enlever       lt  lt exception gt  gt   PileException     lt  lt exception gt  gt   PileVide       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  88    UML   mod  le dynamique      v  nements    modification     ou change events     D Permet de repr  senter un changement d     tat ou la       satisfaction d   une condition        La condition qui d  finit un   v  nement    modification     peut faire r  f  rence aux attributs et aux op  rations de la  classe recevant l     v  nement  plus ceux des classes  visibles depuis cette derni  re       gt    Exemples      o when temperature  gt  30  o when nblinstances   1000    o when client cpt solde  gt  calculerSeuil        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  90    UML   mod  le dynamique    Diagrammes d     tats  ou statechart diagram  j          Exprime les r  gles d   utilisation des op  rations de la    classe ainsi que les aspects r  actifs du syst  me      o permet de contr  ler l   ordre d   ex  cution des op  rations  au sein d   une classe      o permet de sp  cifier que certaines op  rations ne  peuvent s   appliquer que lorsque l   objet est dans un  certain   tat et ou certaines contraintes sont satisfaites      o permet de tenir comptes 
75. relatives    la g  n  ralisation   R  gles relatives    la g  n  ralisation   exercice      Que penser de ces g  n  ralisations               Ne pas factoriser artificiellement des concepts diff  rents        Rappel   une instance ne peut jamais changer de classe Objet Avec Nom _Et Age     penser aux   tats dans ce cas     nom   string     age   integer       Se souvenir que toute classe d  riv  e h  rite de l   ensemble  des propri  t  s de la classe de base  F R    Personne Plan  te             El  ment _G  rable    Compte_Bancaire    Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  67 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  68       UML   mod  le des classes UML   mod  le des classes          R  gles relatives    la g  n  ralisation   exercice  2  R  gles relatives aux pr    post conditions       Une classe fille doit permettre l   exploitation de chaque    Critiquer am  liorer cette mod  lisation   ue du    op  ration dans tous les cas autoris  s au niveau de la    classe m  re          P  riph  rique   gt  maintient ou r  duction des pr   conditions        Aussi  une op  ration sp  cialis  e doit pouvoir accomplir   controler        3 vI   attendre   au moins ce qu   accomplit son   quivalent dans la classe     lire   de base      ecrire                  __     piste  gt 3 km     de     maintient ou augmentation des post conditions   x  gt    Exemple
76. s par des conditions incompatibles     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        92    UML   mod  le dynamique       Diagrammes d     tats   exemple      emprunter      En rayonnage    retourner    Diagramme d     tats de la classe Livre    Remarquer         l     tat initial         les 2 autres   tats         les 2 transitions  chacune   tant d  clench  e par un    v  nement de type appel     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011        94    UML   mod  le dynamique UML   mod  le dynamique    Diagrammes d     tats   deuxi  me exemple   Diagrammes d     tats   troisi  me exemple j             EnVeille  d  butEmbarquement embarquerPassagers     d  barqu  rPassagers            i r tropChaud temp  ratureSouhait  e    temp  ratureSouhait  e     autorisationRejoindreLaPist   rejoindrePiste  demandeAutorisationD  collage    temp  ratureOK Pr  tAD  coller  temp  ratureOK        rejoindreA  rogare    autorisationDeD  collage d  coller    tropChaud temp  ratureSouhait  e   Chauffage Refroidissement                tropFroid temp  ratureSouhait  e  Las pe R  autorisationDAtt  rissage atterir         Diagramme d     tats de la classe Thermostat changerCap      Diagramme d     tats de la classe Avion       Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  95 Analyse  conception et programmation par
77. se et de conception      gt     M  thodologie    ou    software development process             Objectifs    o permettre la sp  cification du logiciel    l   aide d   un    langage de mod  lisation  e g  UML       o guider les diff  rents intervenants lors des diff  rentes  phases du d  veloppement logiciel      o conduire    un meilleur contr  le des facteurs    conomiques pertinents   qualit    co  t  d  lais  risques   D N  cessite en pratique      o un outil  logiciel  pour saisir manipuler v  rifier les  sp  cifications exprim  es dans le langage de  mod  lisation  ainsi que pour superviser le d  roulement  du projet     o une formation pr  alable des intervenants au projet        Exemple de m  thodologies   OMT  Booch  UP RUP            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  23    Analyse et conception    Atelier de G  nie Logiciel  ou   AGL        gt    Un AGL rassemble typiquement         o des   diteurs graphiques et syntaxiques permettant de  saisir v  rifier l   ensemble d   une mod  lisation      un ou plusieurs g  n  rateurs de code    un g  n  rateur de documentation      une suite d   outils de G  nie Logiciel tels que          gestionnaire de versions    gestionnaire de tests      analyseur de performances       gt    Exemples d   AGL   Rational Software Modeler  Rose    Together  Modelio  Visual Paradigm  Entreprise  Architect            Alternatives gratuites   Bouml  StarUML            25   
78. septembre 2011  33 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  34    UML   mod  le des classes UML   mod  le des classes    Packages   exemple         Un package peut comporter d   autres packages          gt  Encapsulation des classes en distinguant         Banque          o les classes priv  es     classes strictement internes au package                         o les classes prot  g  es Transactions                gt   Comptes                       classes pouvant   tre utilis  es par des classes             appartenant    des packages    fils          o les classes publiques     classes pouvant   tre utilis  es par des classes de S Dans chaque diagramme   n c  ntr  le librement le    n   importe quel package   niveau de d  tail         Banque             Liens de g  n  ralisation  de r  f  rencement et de Comptes                      composition entre packages  un package peut encapsuler Transactions Compte                   d   autres packages         Compte_particulier             Compte_societe                                  Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  35 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  36    UML   mod  le des classes UML   mod  le des classes    Packages et classes   exemple         Une classe appartient    un  et un seul  package           Le package Compt
79. sp  cification      Il s   agit de terminer la description de tous les   l  ments          implanter         r   examen des classes  notamment les classes techniques  ajout  es lors de la conception      finaliser les APIs  interfaces de programmation     travailler au niveau des signatures en v  rifiant la  coh  rence  ordre des param  tres  nommage            expliciter les pr    post conditions de chaque m  thode      pr  ciser les exceptions      pr  ciser les visibilit  s      ajouter les directives d   implantation           ventuellement  d  crire le corps de chaque m  thode en  utilisant les m  thodes d   acc  s et de manipulation des  relations et des attributs  voir plus loin      Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  173    M  thodologie de la conception    l   int  gration       Conception d  taill  e   ou    object design    ou    class design        Quatre   tapes  pas forc  ment s  quentielles          C9  Compl  ter la sp  cification   C10  Frameworks et biblioth  ques de classes   C11  Restructurer     C12  Optimiser       avant passage    la r  alisation   Objectif   rapprocher  par   tapes successives  la    mod  lisation issue de l   analyse pr  liminaire de sa    concr  tisation informatique    venir        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  172    M  thodologie de la conception    l   int  gration    C10   Frameworks 
80. t     Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  5    Les concepts objets       Qualit   du logiciel    Facteurs externes  concernent utilisateurs et d  veloppeurs     Validit     aptitude    satisfaire exactement les t  ches d  finies  par sa sp  cification    Robustesse   capacit      fonctionner m  me dans des  conditions anormales    Extensibilit     facilit   d   adaptation d   un logiciel aux  changements de sp  cification     Compatibilit     aptitude    pouvoir   tre combin      d   autres    logiciels        Efficacit    portabilit    facilit   d   utilisation  etc     Facteurs internes  concernent uniquement les d  veloppeurs         R   utilisabilit     possibilit   de r  utiliser des   l  ments d   un  logiciel pour r  aliser de nouvelles applications       V  rifiabilit     facilit   de pr  paration r  alisation des  proc  dures de certification        Modularit    lisibilit    etc        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011     Les concepts objets       Processus d   abstraction j    Processus de structuration simplification de la r  alit           D  finition des fronti  res conceptuelles        Suppression des d  tails non significatifs pour  l application      gt    Concentration sur la vue externe de l   objet     Exemple   abstraction du concept d   usager dans une  biblioth  que         Attributs   num  ro  nom  pr  nom  adress
81. temporelle dans l   encha  nement des  interactions entre objets          gt  les diagrammes de collaboration pour mettre en    vidence comment les objets coop  rent pour mener          bien le sc  nario                                               Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  101 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  102    UML   mod  le dynamique UML   mod  le dynamique    Diagramme de s  quence   exemple et exercice j Diagramme de s  quence   autre exemple    Critiquer am  liorer le sc  nario suivant   5 T  l  phone    I  Jean Employ    Patron salaireDeJean   Usager      T T  demanderAvance 4000                                                     d  crocher   l       donnerAvance 2000                       composer 9294           demander 9294           nnerAttenteDeConnexion            sonnerOccup                    rembourser 2000  rembourserAvance  2000                             raccrocher                                          Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  103 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  104    UML   mod  le dynamique UML   mod  le dynamique    Diagramme de s  quence   exercice Diagramme de s  quence   notations pour switch  amp  while                                    
82. ter In montant euro    calculer_salaire   euro Elles sont toujours sous forme syntaxique    donner_avance iIn montant euro   payer     calculer moyenne salaires   euro    o texte    usage documentaire    o expression en langage OCL      o expression bool  enne exprim  e dans le langage  d implantation  e g  Java ou C      Question   il y a plusieurs anomalies dans cette  sp  cification  lesquelles      Elles comprennent toujours implicitement l   invariant de  la classe  Cas particuliers    o pour le constructeur  l   invariant n   est pas ajout      la    pr   condition mais il l   est    la post condition      o pour le destructeur  l   invariant est ajout      la  pr   condition  mais ne l   est pas    la post condition        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  43 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  44    UML   mod  le des classes UML   mod  le des classes    Pr    Post conditions   exemple j Visibilit   des attributs  op  rations et associations       Public     notation   nom pr  fix   par                l  ment accessible    tous   Soit l   op  ration     PSRS     Package     notation   nom pr  fix   par      d  biterCompte  montant in Euros       lt  accessible aux seules instances des classes    appartenant au m  me package        Pr   condition   Le solde du compte est sup  rieur    25   pi  a    Prot  g       notation   nom pr 
83. tion    d  taill  e       Possibilit   de g  n  ralisation entre interfaces        Lien d   implantation  ou de    r  alisation     entre une ClasseUtilisatrice  classe C et une interface I      la classe C implante les op  rations list  es dans I                  lt  lt interface gt  gt        Lien de d  pendance entre une classe C et une interface I              classe C utilise le type abstrait d  fini par I                     gt    NOTA BENE   en termes de m  ta mod  le UML  une    interface est une classe avec le st  r  otype    interface       autreOp  ration               Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  75 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  76    UML   compl  ments au mod  le des classes UML   compl  ments au mod  le des classes    Interfaces   exemple             Simulateur       Matrice           get In l integer  In c nteger  real   afficher      ajouter In mMatrice S    mult In mMatriceXQ    Calculateur          MatriceCarr  e                          puissance in n integer     N N N   s  lt  lt thraw gt  gt          NS    N  lt  lt throw gt  gt   N a    MatriceCarr  e    I  l  l  lt  lt th roWz gt           MatriceCreuse          MatriceCreuse MatriceDense  convertirEnDense   MatriceDense  lt  lt exception gt  gt    get In l integer    In c integer  real       lt  lt throw gt  gt  MatrixException   afficher   T gt    ajo
84. ue phase            Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  129    M  thodologie pour l   analyse et la validation    M  thodologie   introduction         M  thodologie  ou software development process          o d  marche menant de la sp  cification d   un besoin    la  r  alisation d   un logiciel  ou    la modification d   un  logiciel existant       o comporte de nombreux aspects   techniques mais aussi  gestionnaires  planification du d  veloppement   optimisation des co  ts et des d  lais  ma  trise des  risques         Guide les diff  rents intervenants      quilibre    trouver entre      o des contraintes destin  es    assurer la ma  trise des  co  ts  des d  lais et le respect des sp  cifications      o la cr  ativit   indispensable  notamment  lors des phases  d   analyse et de conception        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  128    M  thodologie pour l   analyse et la validation    M  thodologie et UML j     gt    UML n inclut pas de m  thodologie           Toutefois     o UML sugg  re l   utilisation d   une m  thodologie bas  e  sur les cas d utilisation      o les auteurs d    UML proposent la m  thodologie     RUP     Rational Unified Process         Il faut en fait distinguer    o le langage de mod  lisation UML      o les r  gles d   utilisation des diff  rents mod  les      o les m  thodologies g  n  riques comme l   UP
85. uter In m Matrice    EE   mult In mMatriceR         _                      Z lt ihrows        lt  lt throw gt    gt           MatriceCarr  eCreuse MatriceCarr  eDense                               MatriceCarr  eCreuse        puissance in n integer              Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  77 Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  78    UML   compl  ments au mod  le des classes UML   compl  ments au mod  le des classes    R  sum     interfaces  classes  classes abstraites   R  sum     g  n  ralisations et liens d   implantation      En UML et en Java            D G  n  ralisation entre deux interfaces     gt  une interface   quivaut    un type abstrait  n   inclut aucune   relation de nature sous type   type entre deux types  implantation    abstraits        une classe  non abstraite    quivaut    un type abstrait    G  n  ralisation entre deux classes      accompagn   d   une implantation compl  te   la sous classe h  rite    la fois le type abstrait et        P   l implantation correspondant    la classe m  re      une classe abstraite est un concept interm  diaire qui p  P    quivaut    type abstrait accompagn   d   une implantation      5   Lien d   implantation entre une classe  non abstraite  et  incompl  te  ou vide      une interface        relation de nature type concret   type abstrait    Remarques        la classe    ventuel
86. visible aux utilisateurs de la classe      Abstraction de donn  es   partie publique constitu  e  exclusivement de m  thodes  pas de donn  es         Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  8    Les concepts objets       Objet  Message  M  thode j    Les objets sont des entit  s autonomes communicantes qui  s     changent des messages      Messages    TE  US Objet  Br  attributs   m  thodes     Valeurs E       Message   requ  te d   une action que doit r  aliser l   objet    Messages    envoy  s    dam    r  cepteur        Les messages sont mis en oeuvre par les m  thodes de  l   objet r  cepteur     D La d  nomination message objet met en   vidence l   id  e  que l   objet est responsable de l   ex  cution de la requ  te  port  e par le message        Analyse  conception et programmation par objets     CCSI  Mines ParisTech  imprim   le 15 septembre 2011  10    Les concepts objets Les concepts objets    Classe et instance j          Re K    Relation entre deux classes A et B permettant de d  finir   gt  Classe   mod  le d objets ayant les m  mes types de      Je la classe B    partir de la classe A   propri  t  s et de comportements     gt    Chaque instance d   une classe poss  de ses propres    La classe m  re transmet ses attributs et ses m  thodes       valeurs pour chaque attribut  ses classes filles     Exemple   D   La classe fille ou sous classe est un cas particulier de la        gt  ou des classe s  
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
User Guide Advanced Wireless Camera Kit (K2)  manual de instruções (pt)  取扱説明書  functions - northwick.eu  2007年 - リーテム  wartungsarbeiten an fahrgestell und motor - KTM    Copyright © All rights reserved. 
   Failed to retrieve file