Conception Orientée Objet
Cette unité se déroule au S5 de la licence mention
Informatique, parcours INFO et parcours MIAGE. Il s'agit d'une UE obligatoire.
Objectifs
Cette UE suit directement l'
UE POO du S3. Les objectifs de l'UE COO
sont :
- la compréhension et la maîtrise de la notion de polymorphisme ;
- la connaissance des principes essentiels de la conception objet et
leur maîtrise pour favoriser une bonne construction de logiciels ;
- la conception de tests pour aider la maintenance sur le long terme
et augmenter la confiance des développeurs ;
- la reconnaissance et l'application des principaux patrons de
conception (design patterns).
Les design patterns sont introduits afin d'illustrer ces propos.
Responsable
Clément Quinton
Volume horaire
- 6 séances d'1h30 de Cours réparties sur 5 semaines
- 6 séances d'1h30 de TD et 6 séances d'1h30 de TP en alternance pendant 12 semaines
Crédits
3 ECTS
Clément Quinton
dernière modification :
09/11/2021 à 07:44:01
Objectifs
Cette UE suit directement l'UE POO du S3.
Maîtriser la notion d'héritage de classes et ainsi poursuivre et approfondir la compréhension et la maîtrise de la notion de polymorphisme. Connaître les principes essentiels de la conception objet et savoir les utiliser au mieux pour favoriser une bonne construction de logiciels. Connaître, savoir appliquer et reconnaître les principaux « design patterns ».
ces propos.
Compétences
A l'issue de ce module les étudiants doivent
- maîtriser les concepts de la programmation objet :
-
maitriser les différentes manières de mettre en œuvre le polymorphisme ;
-
connaître quelques principes de conception objet et savoir les mettre en œuvre ;
-
être en mesure de concevoir une application avec une approche objet :
-
savoir faire une analyse objet d'un problème et faire les choix de conception appropriés en utilisant de manière pertinente les concepts des langages à objets ;
-
connaître les principaux patterns de conception (« design patterns »), être en mesure d'identifier des situations où ils s'appliquent et les mettre en œuvre ;
-
adopter une méthodologie de conception rigoureuse : documenter un programme, écrire et utiliser des tests de non régression .
Le langage support est Java. L'IDE Eclipse est présenté et utilisé, les tests sont réalisés à l'aide de JUnit.
Compétences du référentiel licence auxquelles contribue cette unité
- Participer à la conception et à la réalisation d'applications logicielles :
- connaître plusieurs styles/paradigmes de programmation et plusieurs langages ;
- mettre en œuvre des méthodes d'analyse pour concevoir des applications et algorithmes à partir d'un cahier des charges partiellement donné ;
- mettre en œuvre les concepts de l'approche objet ;
- comprendre l'importance de la notion de test de logiciel, mettre en œuvre des tests élémentaires.
-
Évaluer une solution informatique :
- expliquer et documenter la mise en œuvre d'une solution technique.
Bibliographie
- Effective
Java (Second edition) par Joshua Bloch. Addison-Wesley, ISBN 978-0321356680.
- Penser en java, version
française de Thinking in
java.
-
"Java, Tête la Première" de Kathy Sierra & Bert
Bates. Editions O'Reilly ISBN 2-84177-276-4.
Ce livre n'est plus édité en français, il faut donc se tourner
vers la version anglaise "Head first Java"
(2nd édition). Editions O'Reilly, 0-596-00920-8 ou vers la version électronique en français
- L'orienté
objet de Hugues Bersini. Editions Eyrolles, ISBN 2-212-12084-2.
-
Big Java (2nd Edition) de Cay Horstmann. Editions
Wiley. ISBN 0-471-69703-6
- "Design Patterns, Tête la Première" de Eric & Elisabeth Freeman
Edition O'Reilly, ISBN 2-84177-350-7
Ce livre n'est plus édité en français, il faut donc se tourner
vers la version anglaise
Head First Design
Patterns. Editions O'Reilly, ISBN 0-596-00712-4. ou vers la
version électronique en français "Design
Patterns - Tête la première"
Clément Quinton
dernière modification :
09/11/2021 à 07:44:01
Clément Quinton
dernière modification :
09/11/2021 à 07:44:01
Semaine |
Cours |
TD |
TP |
Remarque |
du 06/09 au 10/09 |
- Introduction, rappels : polymorphisme, lookup
- Premiers éléments de conception : responsabilité unique, OCP, séparer ce qui change de ce qui ne change pas
|
|
|
Horaires spécifiques cette semaine :
- Cours le mardi 08/09, 10h15-11h45, amphi M1 Archimède
|
du 13/09 au 17/09 |
- Tests : rappels, mock, héritage de tests, test d'exception, TDD
|
|
|
Cours le lundi, 14h45-16h15, amphi M1 Archimède
|
du 20/09 au 24/09 |
- Mutation Testing
- Types paramétrés (génériques) : introduction, création, méthodes paramétrés, gestion des bornes.
|
|
|
|
du 27/09 au 01/10 |
|
|
|
|
du 04/10 au 08/10 |
|
|
|
Rendu Competitions v1 - 10/10/21 23:59
SUJET v2
|
du 11/10 au 15/10 |
|
|
|
|
du 18/10 au 22/10 |
Pas de cours
|
|
|
|
du 25/10 au 29/10 |
Pas de cours
|
TD
|
|
|
du 01/11 au 05/11 |
|
|
|
Interruption pédagogique automne
|
du 08/11 au 12/11 |
Pas de cours
|
|
TP
|
Rendu Competitions v2 - 14/11/21 23:59
SUJET v3
Les fichiers qui vont avec
|
du 15/11 au 19/11 |
Pas de cours
|
TD
|
|
|
du 22/11 au 26/11 |
Pas de cours
|
|
TP
|
|
du 29/11 au 03/12 |
Pas de cours
|
TD
|
|
|
du 06/12 au 10/12 |
Pas de cours
|
|
TP
|
Rendu Competitions v3 - 12/12/21 23:59
|
du 13/12 au 17/12 |
Pas de cours
|
|
|
|
Erreur : include(signature.php): failed to open stream: No such file or directory
Erreur dans le fichier : https://gitlab-ens.fil.univ-lille1.fr/routier/portail-coo/raw/master/miage/semainier.php
Emplacement de l'erreur : 481
Erreur : include(): Failed opening 'signature.php' for inclusion (include_path='.:/usr/share/php')
Erreur dans le fichier : https://gitlab-ens.fil.univ-lille1.fr/routier/portail-coo/raw/master/miage/semainier.php
Emplacement de l'erreur : 481
L'évaluation s'effectue suivant une procédure de contrôle continu.
Quatre notes seront attribuées à chaque étudiant durant le semestre :
- Projet : trois notes sur 20 correspondant à chacun des 3 livrables du projet.
- DS : une note sur 20 d'un devoir surveillé en fin de semestre.
La note finale sur 20 (N) est calculée comme suit :
N = 50% * moyenne(livrables) + 50% * DS
L'unité acquise apporte 3 ECTS.
Clément Quinton
dernière modification :
09/11/2021 à 07:44:01
Compléments - Design patterns
- une "refcard" sur les design patterns
Un jour, un pattern
Ressources
Sujets d'examen
Bibliographie
Clément Quinton
dernière modification :
09/11/2021 à 07:44:01