User Tools

Site Tools


2018_2019:s3:concprogobjet: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
2018_2019:s3:concprogobjet:td:td2 [2018/09/18 08:58]
blay [Responsabilités : Analyse et développement de la partie Métier]
2018_2019:s3:concprogobjet:td:td2 [2018/10/05 10:57] (current)
blay [Rendus]
Line 24: Line 24:
  
 <note tip>Les questions ci-après sont là pour vous guider dans le développement. Il n'est pas demandé d'y répondre par écrit. <note tip>Les questions ci-après sont là pour vous guider dans le développement. Il n'est pas demandé d'y répondre par écrit.
 +
 +Utilisez **SonarLint** pour vous aider à améliorer vos codes, [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=2018_2019:​s3:​methodo:​td:​env1|vous l'avez installé en 1e semaine]] ! 
 +
 +Pour les S3A :​[[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=2018_2019:​s3:​concprogobjet:​td:​s3atd1#​generation_des_codes_10_mn| Utiliser la génération de code.]]
  
 A la fin de cette page, vous avez des "​tuyaux"​ pour manipuler des listes et des HashMap </​note>​ A la fin de cette page, vous avez des "​tuyaux"​ pour manipuler des listes et des HashMap </​note>​
Line 29: Line 33:
  
   - Quels modèles utilisez-vous pour analyser le problème ?   - Quels modèles utilisez-vous pour analyser le problème ?
-  - Dans vos diagrammes de séquences, faîtes bien apparaître les interfaces graphiques et les contrôleurs mais dans les diagrammes de classe concentrez vous uniquement sur la partie métier dans un premier temps.  ​+  - Dans vos diagrammes de séquences, faîtes bien apparaître les interfaces graphiques et les contrôleurs mais dans les diagrammes de classe concentrez vous uniquement sur la partie métier dans un premier temps. Cela ne signifie pas que vous devez modéliser tous les diagrammes de séquences.  ​
   - Qui est responsable de retrouver à partir de son nom un forum? un canal de messages? (Pattern expert)   - Qui est responsable de retrouver à partir de son nom un forum? un canal de messages? (Pattern expert)
   - Qui est responsable de créer un forum? un canal de message? pourquoi? ​ (Pattern créateur)   - Qui est responsable de créer un forum? un canal de message? pourquoi? ​ (Pattern créateur)
Line 120: Line 124:
   - Quel type de contrôleur avez-vous défini en respectant les directives données? ​   - Quel type de contrôleur avez-vous défini en respectant les directives données? ​
   - Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique.   - Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique.
-  - Visualisez votre code correspondant à la création d'un forum (et uniquement ​cette partie) sous la forme d'un diagramme de séquences.\\ ​''​Outils => Code => Instant Reverse to sequence diagram''​ {{ :​2015_2016:​s3:​concprogobjet:​td:​tosequencediagram.png?​300 |}}+  - Visualisez votre code correspondant à la création d'un forum (et uniquement ​cela) sous la forme d'un diagramme de séquences.\\ ​
   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.
  
Line 141: Line 145:
     }     }
 </​code>​ </​code>​
- 
- 
-==== aide ==== 
-**Pour vous aider** voici un exemple possible du programme principal dont vous pouvez vous inspirer :  
-<code java> 
-    Controleur c = new Controleur();​ 
-    c.start(); 
-</​code>​ 
- 
-Et pour le contrôleur :  
-<code java> 
-public class Controleur { 
-    RegistreDeforum registre = new RegistreDeforum();​ 
-    UI ui = new UI(); 
- 
-    public void start() { 
-        String commande = ui.lireCommande();​ 
-        switch (commande.charAt(0)) { 
-        case '​c':​ 
-            creerforum();​ 
-            start(); 
-            break; 
-        case '​b':​ 
-            creerBoite();​ 
-            start(); 
-            break; 
-..... 
- 
-private void creerforum() { 
-        String nomDuforum = ui.getNomDuforum(registre.getNomsforum());​ 
-        boolean reussi = registre.creerforum(nomDuforum);​ 
-        if (!reussi) 
-            ui.afficher("​Erreur le forum existe déjà"​);​ 
-        else 
-            ui.afficher("​forum " + nomDuforum + " créé"​);​ 
-    } 
-</​code>​ 
- 
  
  
Line 191: Line 157:
 ===== Rendus ===== ===== Rendus =====
  
-<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%| Le 17 octobre à minuit ​>+<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%| Le octobre à 19h , le 18 octobre à 17h pour les S3A>
  
-  * Utilisez la [[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20150930110548/​BoiteDepot-blay-20150930110658584420|boite de dépôt]] pavec date limite : le 17 octobre à minuit.+  * Utilisez la [[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20150930110548/​BoiteDepot-blay-20150930110658584420|boite de dépôt]] pavec date limite : le octobre à 19h pour les S3T, le 18 octobre à 17h pour les S3A
   * Le rendu consiste en :   * Le rendu consiste en :
-      - Un document contenant +      - Un **document** contenant 
-        ​votre modèle((Modèle = diagrammes UML)) final (Tout le monde n'​aboutit pas au même modèle, c'est certain, bien mettre des diagrammes pas le projet Modelio) +        ​votre modèle((Modèle = diagrammes UML)) final (Tout le monde n'​aboutit pas au même modèle, c'est certain, bien mettre des diagrammes pas le projet Modelio) 
-        ​des explications sur les raisons de ce modèle, les choix que vous avez faits et les leçons apprises. +        ​des explications sur les raisons de ce modèle, les choix que vous avez faits et les leçons apprises. ​((Si c'est bien fait vous commencez votre carnet de bord! )) dont, 
-      Les codes et les tests en particulier les tests JUNIT; +               ​Explications sur le couplage 
-      Il est préférable que les codes soient commentés en respectant les consignes ​d'une javadoc mais ce n'est pas essentiel (([[https://​www.jetbrains.com/​help/​idea/​2016.2/​creating-documentation-comments.html|Utiliser IntelliJ pour vous aider à commenter ​les méthodes]]))+               ​Le rôle du contrôleur 
 +        - La couverture de tests (copie(s) ​d'écran par exemple), elle n'est pas forcément excellente, mais expliquez, si vous le pouvez, les choix que vous avez faits. 
 +      ​Les codes et les tests.
  
 Dans cet exercice nous évaluons votre capacité à concevoir les bons modèles et la "​bonne"​ architecture relativement à vos objectifs. Des modèles incomplets sont évidemment considérés comme faux au regard de ces objectifs. Dans cet exercice nous évaluons votre capacité à concevoir les bons modèles et la "​bonne"​ architecture relativement à vos objectifs. Des modèles incomplets sont évidemment considérés comme faux au regard de ces objectifs.
2018_2019/s3/concprogobjet/td/td2.1537253930.txt.gz · Last modified: 2018/09/18 08:58 by blay