2014_2015:s3:concprogobjet:start
Table of Contents
M3105 - Conception et Programmation Objet Avancées
xxx
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
Contenus (Extrait du PPN 2013)
- C1 : Approfondissement de la modélisation objet pour l’analyse, la conception et la programmation
- Nous reviendrons sur le cours de S2 pour à la lumière des patterns MVC et DAO revoir les diagrammes de séquence en conception
- Nous reprendrons les diagrammes de classes pour travailler plus spécifiquement les diagrammes de packages
- C2 : Compréhension et mise en oeuvre de patrons de conception (design pattern), éléments d'architecture logicielle
- Nous mettrons en avant quelques patterns d'architectures: DAO, CRUD et les seuls patterns de conception Factory, Builder et Singleton qui jouent sur les architectures. 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)
- Nous nous appuierons sur les bases des nouvelles méthodes de développement, axés sur les principes agiles, pour mettre en avant ces notions.
- C4 : Sensibilisation aux tests d'intégration
- Nous étudierons les Mocks et autres approches de l'intégration
- Le projet forcera une étape importante d'intégration qui sera préparée au début du projet, puis mise en oeuvre dans la dernière phase du projet.
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
- Les notions doivent être abordées au travers de réalisations concrètes
- Une étude de cas partagée avec le M3301- Méthodologie de la production d’applications nous permet de travailler la mise en oeuvre.
Intervenants
Nom | Affiliation | Adresse |
---|---|---|
Mireille Blay-Fornarino | IUT /UNS/ I3S | Bureau XXX Ou Bâtiment Templiers :Bureau 449 (www) |
Rosa Lecat | IUT | Bureau XXX |
--- | IUT | Bureau XXX |
Planification
Ce module sera mené en concordance avec le module M3301.
En particulier par différents exercices, nous travaillerons la mise en oeuvre de cette partie du projet.
Dans le cadre de ce module, nous mettrons l'accent sur les parties “Conception” et “Programmation”.
-
- TD : Rappels de COO et environnement de développement sous Eclipse (C1) (S3T : 1/9) (S3A : 12/9) (S3D : 19/1)
- Bases de GRASP : COO et responsabilités(S3D : 30/1)(C2,C3)
- TD : Savoir décomposer un problème ! (S3T : 8/9)(S3D : 30/1)
- Focus sur le rôle du programmeur par The Pragmatic Programmer: From Journeyman to Master (S3D : 30/1) (C2,C3)
- TD : Soyons Pragmatique ! (S3T : 23/9) (S3D : 30/1)
- Suite du cours sur “The pragmatic Programmer” et Ouverture aux principes SOLID (S3D : 16/2 & 9/3) (C2 C3)
- TD4 : (S3T : 1/10)(S3D : 16/3)
- Principes SOLID (S3D : 9/3)(C2 C3)
- TD4 : (S3T : 8/10)(S3D : 23/3)
- Retour sur l'analyse et la conception au tableau (S3T : 15/10)
- Tests d'Intégration : Mocks 1) (C1,C2,C4)(S3T 16/10)
- Fin du TD 4 pour les étudiants n'ayant pas terminés et TD5 : (S3T : 15/10)
- Tests et TDD (C1,C4)
- TD 5: Réutilisation : (S3T : 20/10)(S3D : 2/3 & 9/3)
-
- TD 6 : Tests d'intégration et Observeur : (S3T : 3/11)
- Suite du cours sur la séparation (MVC et listeners) (DAO)
- TD 6 : Tests d'intégration et Observeur : (S3T : 10/11)
-
- TD 6 : Tests d'intégration et Observeur (S3T : 17/11)
-
- TD 7 : Qualité des codes (S3T : 24/11)
- TD 8 (S3T : 1/12)
- TD 8 (S3T : 8/12)
- TD 8 (S3T : 15/12)
Evaluation du module
Ce module est évalué par un examen (coeff. 1) et une note de TD(coeff. 1,5).
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.
1)
A la demande des étudiants confrontés à ces problèmes
2014_2015/s3/concprogobjet/start.txt · Last modified: 2015/07/17 21:07 by blay