2018_2019:s3:concprogobjet:start
This is an old revision of the document!
Table of Contents
M3105 - Conception et Programmation Objet Avancées
Objectifs du module
- Produire une conception détaillée en appliquant des patrons de conception, la mettre en oeuvre en utilisant des bonnes pratiques de programmation orientée objet.
Compétences visées
- FA1-A : Analyse d’une solution informatique
- FA1-B : Conception technique d’une solution informatique
- FA1-C : Réalisation d’une solution informatique
Résumé par Jeanne Marcade et François Montigny (légèrement modifié) (janvier 2017)
Si vous ne deviez retenir qu’une seule chose de ce carnet de bord, ce serait celle-ci : il y a différents principes qui s'appliquent quand on conçoit une application orientée-objets. On ne peut pas toujours tous les concilier, on ne peut pas toujours tous les appliquer. Donc, il ne faut pas être dogmatique… mais il faut savoir réfléchir, choisir la meilleure solution, et surtout, il ne faut pas programmer par coïncidence ! Soyons capables, nous, développeurs, d’argumenter et expliquer nos solutions !
Si vous ne deviez retenir qu’une seule chose de ce carnet de bord, ce serait celle-ci : il y a différents principes qui s'appliquent quand on conçoit une application orientée-objets. On ne peut pas toujours tous les concilier, on ne peut pas toujours tous les appliquer. Donc, il ne faut pas être dogmatique… mais il faut savoir réfléchir, choisir la meilleure solution, et surtout, il ne faut pas programmer par coïncidence ! Soyons capables, nous, développeurs, d’argumenter et expliquer nos solutions !
S3T
planification par semaine
- 13h de cours sur 13 semaines
- 32h de TD sur 12 semaines pour 2h puis deux semaines de 4h dans le cadre des PT
- semaine du 3/9
- Cours :
- TD :
- (2h) TD : Rappels de COO (C1) (MBF,RL)
- semaine du 17/09
- Cours :
- Bases de GRASP : COO et responsabilités (C2,C3)(MBF) ()
- TD :
- Fin du TD sur les rappels de COO
- semaine du 24/09
- Cours :
- TD :
- semaine du 1/10
- Cours :
- TD :
- TD : Qui est responsable ?(MBF,RL)
- semaine du 8/10
- Cours :
- Art du codage (C2 C3)
- TD :
- semaine du 15/10
- Cours :
- Art du codage (C2 C3)
- TD :
- semaine du 22/10
- Cours :
- —
- TD :
- semaine du 29/10 VACANCES
- semaine du 5/11
- Cours :
- TD :
- semaine du 12/11
- Cours :
- TD :
- TD: Réutilisation(MBF,RL) (SL)*
- semaine du 19/11
- Cours :
- TD :
- Fin du TD: Réutilisation(MBF,RL)
- semaine du 25/11
- Cours :
- TD Design Pattern et Bilan de fin de module(MBF,RL)
- TD :
- TD Design Pattern(MBF,RL)
- semaine du 03/12
- Cours :
- Annulé remplacé par un TD
- TD :
- Fin TD Design Pattern (2h)(MBF,RL) (SL)
- semaine du 10/12
- TD : 4h
- Revision pour préparation à l'examen(MBF,RL) (SU)
- semaine du 17/12
- TD : 4h
- Revision pour préparation à l'examen(MBF,RL) (SU)
Modalités de mise en oeuvre
- Utilisation d’un environnement de développement intégré (EDI / IDE) comprenant la modélisation, d'un gestionnaire de versions et d'un environnement de test unitaire
- Nous nous basons sur l'environnement ECLIPSE intégrant JUnit.
- Les notions doivent être abordées au travers de réalisations concrètes
Communication et Rendus via SLACK espace de travail : dut-info-nice-18-19; Canal : CPO-AVANCEE (Téléchargez l'application sur vos machines personnelles et/ou téléphones, c'est un moyen vite adopté pour communiquer rapidement dans un contexte professionnel.) https://join.slack.com/t/dut-info-nice-18-19
Intervenants
| Nom | Affiliation | Adresse |
|---|---|---|
| Mireille Blay-Fornarino(MBF) | IUT /UCA/ I3S | Bureau XXX Ou Bâtiment Templiers :Bureau 449 (www) |
| Rosa Lecat(RL) | IUT /UNS/ | Bureau XXX |
Planification
voir : Planification
Evaluation du module
Ce module est évalué par
- Devoir1(0,75)
- Devoir2(0,75)
- DS(1)
un examen (coeff. 1) et une note de TD (coeff. 1,5) composée de 2 notes (cf. évaluation des TDs).
Une page recto-verso A4 est autorisée à l'examen (pas forcément manuscrite).
* Ce rendu peut se faire par binôme (exceptionnellement triplet).
- Son contenu correspond aux différents TDs et vise à mettre en relief ce que vous avez appris.
- Sa forme peut être un document textuel ou un document web
- Il a pour cible d'expliquer à d'autres développeurs, l'art d'une programmation pragmatique au travers d'exemples issus de l'expérience acquise dans ce module et dans le module “Méthodologie” ou éventuellement des projets tutorés. Il ne peut pas s'appuyer sur d'autres exemples.
- Pour chaque exemple, utiliser les moyens les plus adéquates pour expliquer : diagrammes UML, codes, traces d'exécution ….
- Voici quelques questions auxquelles nous voulons trouver des réponses dans votre document :
- Questions de QCM
- Des tests pour s'auto-évaluer
- Quelles sont les erreurs à ne pas commettre? Raconter votre expérience et expliquer où était l'erreur.
- A quelles situations complexes, avez-vous été confronté et comment les avez-vous résolues?
- Quels patterns avez-vous utilisés?
- Quelles sont les architectures logicielles que vous avez utilisées? Quand? Pourquoi?
NE METTEZ PAS TOUTES LES BETISES QUE VOUS TROUVEZ SUR LE WEB DANS VOS DOSSIERS !!!!!
Références
- Des cours en ligne sur YouTube de Xavier Blanc:
- Introduction cours 1 : https://www.youtube.com/watch?v=BNEtWb3WceQ
- cohésion : 20:49 du 1e
- couplage : 22:07 du 1e
- Un SUPER exemple (un jeu!) expliquant la conception
- Le couplage et quelques règles: http://www.labri.fr/perso/xblanc/teaching.html
- UML 2 et les design patterns de Craig Larman : ce livre est disponible en bibliothèque universitaire, une partie du cours s'appuie sur ce livre.
- Sur le choix d'une structure : https://qntm.org/gay
2018_2019/s3/concprogobjet/start.1535879403.txt.gz · Last modified: 2018/09/02 09:10 by blay