User Tools

Site Tools


2012_2013:s3:td:td2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2012_2013:s3:td:td2 [2013/02/09 14:56]
blay [Rendu]
2012_2013:s3:td:td2 [2013/08/04 17:57] (current)
blay [TD2-3 : Diagramme de classe : de l'analyse à la mise en oeuvre]
Line 3: Line 3:
  
  
-**Objectifs ​:​**  ​ +**Démarche ​:​**  ​Chaque groupe choisit un ou des cas d'​utilisation qu'il considère comme plus important ou critique. Il convient de justifier ce choix. Ces cas d'​utilisation seront alors approfondis.
  
 +===== Diagramme de classe niveau Analyse =====
 + 
   - Créer le modèle de domaine (classes sans méthode) en utilisant votre connaissance des cas d'​utilisation et de l'​étude de cas. Attention à bien définir les multiplicités des relations, les noms, ...   - Créer le modèle de domaine (classes sans méthode) en utilisant votre connaissance des cas d'​utilisation et de l'​étude de cas. Attention à bien définir les multiplicités des relations, les noms, ...
   - Utiliser une décomposition en package, si votre analyse s'y prête.   - Utiliser une décomposition en package, si votre analyse s'y prête.
 +
 +===== Préparation à la conception =====
   - En fonction des valuations qui ont été données à vos cas d'​utilisation et de la complexité que vous leur accordez, vous devez à présent accomplir les premières étapes de production des codes associés en vous limitant à la structure.   - En fonction des valuations qui ont été données à vos cas d'​utilisation et de la complexité que vous leur accordez, vous devez à présent accomplir les premières étapes de production des codes associés en vous limitant à la structure.
        * Transiter vers un nouveau modèle, qui sera le modèle de conception (celui où nous abordons l'​architecture):​ {{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​transition.png?​200|}}        * Transiter vers un nouveau modèle, qui sera le modèle de conception (celui où nous abordons l'​architecture):​ {{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​transition.png?​200|}}
-       * Travailler sur ce nouveau modèle ​en le complétant ​pour prendre ​en compte un ou des cas d'utilisations ​en détail. Dans ce nouveau modèle, vous ferez apparaître des objets d'​implémentation (Contrôleurs par exemple), ajouterez les méthodes, ​ect. Il est parfois difficile de trouver les méthodes. Pour cela, vous reprenez les diagrammes de séquences, vous les faîtes transiter, et vous les approfondissez...+ 
 +===== Diagrammes de séquence ​en conception ===== 
 +  - Reprenez les diagrammes de séquence de niveau Analyse ​pour les compléter au niveau Conception (travaillez ​en détail les diagrammes qui correspondent aux cas d'utilisation les plus pertinents. 
 +       * L'​acteur ne reçoit plus directement de message 
 +       * Le modèle MVC est mis en place 
 +       * Des objets sont associés aux lignes de vie 
 +       * Des objets de niveau conception apparaissent 
 +       * Les messages correspondent à des méthodes, le diagramme de classe s'​enrichit. 
 +===== Diagrammes de classes en conception ===== 
 +       * Compléter le diagramme de classes en fonction de vos diagrammes de séquence. Dans ce nouveau modèle, vous ferez apparaître des objets d'​implémentation (Contrôleurs par exemple), ajouterez les méthodes, ​etc Pour cela, vous reprenez les diagrammes de séquences, vous les faîtes transiter, et vous les approfondissez... 
 +       * Travaillez la navigation entre les classes.  
 +       * Utilisez les packages. 
 +<note warning>​Ne pas placer de relations correspondant à des références vers des objets comme des attributs. Ne pas utiliser de tableaux.</​note>​ 
 + 
 +===== Tests d'​intégration =====  
 +  - Quels tests d'​intégration prévoyez-vous?​ Dans quel ordre? 
 + 
 + 
 +===== Comparaisons des Diagrammes de classes en analyse et en conception =====
        * Naviguer vers le modèle de domaine        * Naviguer vers le modèle de domaine
-       * Visualiser les différences{{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​diff.png?​200|}}{{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​visudiff.png?​200|}} +       * Visualiser les différences ​entre votre modèle initial ​{{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​diff.png?​200|}}{{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​visudiff.png?​200|}} 
-  - Générer les codes en Java après sélection ​des classes ​+ 
 +===== Passage au code =====  
 +  - Générer les codes en Java 
 +  - Vérifier les codes obtenus. 
 +  - Corriger vos diagrammes de classe pour avoir des codes qui vous semblent corrects. 
 + 
 +===== Du code aux Modèles de classes ​===== 
   - Tenter le reverse après avoir complété les classes au niveau des codes   - Tenter le reverse après avoir complété les classes au niveau des codes
   - Utiliser les outils d'​analyse :    - Utiliser les outils d'​analyse : 
        * Select File > New Diagram > Others > Matrix Diagram to create a matrix diagram.        * Select File > New Diagram > Others > Matrix Diagram to create a matrix diagram.
        * {{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​analyseclasspkge.png?​200|}} ​        * {{:​2011_2012:​s3:​omgl:​mod-si:​tdimpl:​analyseclasspkge.png?​200|}} ​
-  - Quels tests d'​intégration prévoyez-vous?​ Dans quel ordre? 
  
 ===== Rendu ===== ===== Rendu =====
Line 33: Line 59:
   * Correction du diagramme de classes du niveau analyse : expression des multiplicités,​ rôles, ...   * Correction du diagramme de classes du niveau analyse : expression des multiplicités,​ rôles, ...
   * Utilisation des packages   * Utilisation des packages
-  * Codes java : La justesse des classes sera évaluée.+  * Codes java : La justesse des classes sera évaluée ​ainsi que leur correspondance avec votre diagramme de classe de niveau conception.
   * Quelques diagrammes de séquence de niveau conception bien travaillés en respectant le modèle MVC.   * Quelques diagrammes de séquence de niveau conception bien travaillés en respectant le modèle MVC.
   * Explicitation des tests d'​intégration prévus : quelles classes nécessiteront un mock?   * Explicitation des tests d'​intégration prévus : quelles classes nécessiteront un mock?
2012_2013/s3/td/td2.1360418175.txt.gz · Last modified: 2013/02/09 14:56 by blay