2017_2018:s3:concprogobjet:start
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 !
Contenus (Extrait du PPN 2013)
- C1 : Approfondissement de la modélisation objet pour l’analyse, la conception et la programmation
- Rappels du cours de S2
- Retours sur les diagrammes de séquence en conception, à la lumière des patterns MVC et DAO
- Retours sur les diagrammes de classes
- Diagrammes de packages
- Interfaces et Classes abstraites
- Point de vue : Intégration
- C2 : Compréhension et mise en oeuvre de patrons de conception (design pattern), éléments d'architecture logicielle
- Quelques patterns d'architectures: DAO, CRUD
- Quelques patterns de conception. D'autres “design patterns” seront étudiés dans un module dédié en S4.
- C3 : Notions avancées de programmation orientée objet (par exemple : responsabilité unique, principe ouvert-fermé, notions de dépendance et de couplage)
- GRASP, SOLID, Programmation Pragmatique, …
- C4 : Sensibilisation aux tests d'intégration
- Nous étudierons les Mocks et autres approches de l'intégration
- Le projet en méthodologie forcera une étape importante d'intégration.
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
Intervenants
Nom | Affiliation | Adresse |
---|---|---|
Mireille Blay-Fornarino(MBF) | IUT /UNS/ I3S | Bureau XXX Ou Bâtiment Templiers :Bureau 449 (www) |
Rosa Lecat (RL) | IUT | Bureau XXX |
Sami Lazreg (SL) | IUT /UNS/ I3S | Bâtiment Templiers :Bureau 402 |
Planification
voir : Planification
Evaluation du module
Ce module est évalué par 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).
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
2017_2018/s3/concprogobjet/start.txt · Last modified: 2017/12/14 17:31 by sami_lazreg