Vous êtes ici : FIL > Portail > Licence Info > L3S5 Info > COO

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 S4. 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.

Responsables

Romain Rouvoy/Jean-Christophe Routier

Volume horaire

  • 1h30 de Cours pendant 8 semaines
  • 2h de TD, 1h30 de TD-machine pendant 12 semaines

Crédits

5 ECTS
Jean-Christophe Routier
dernière modification : 13/09/2017 à 14:08:22

Objectifs

Cette UE suit directement l'UE POO du S4.

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

Jean-Christophe Routier
dernière modification : 31/08/2016 à 09:04:20
Gpe Nature Horaire Salle Enseignant e-mail
Cours lundi 13h30-15h00 M1 Gallois Romain Rouvoy/Jean-Christophe Routier Romain.Rouvoy@univ-lille1.fr/Jean-Christophe.Routier@univ-lille1.fr
1 TD mardi 10h20-12h20 M5 A1 Jean-Christophe Routier Jean-Christophe.Routier@univ-lille1.fr
1 TP mercredi 10h20-11h50 M5 A16 Jean-Christophe Routier Jean-Christophe.Routier@univ-lille1.fr
2 TD vendredi 10h20-12h20 M5 A1 Quentin Baert quentin.baert@univ-lille1.fr
2 TP mardi 10h20-11h50 M5 A15 Quentin Baert quentin.baert@univ-lille1.fr
3 TD mercredi 13h20-15h20 M5 A7 Yves Roos Yves.Roos@univ-lille1.fr
3 TP mercredi 15h40-17h10 M5 A13 Yves Roos Yves.Roos@univ-lille1.fr
4 TD vendredi 8h-10h M5 A8 Jérémy Lictevout jeremy.lictevout@gmail.com
4 TP vendredi 10h20-11h50 M5 A14 Jérémy Lictevout jeremy.lictevout@gmail.com
5 TD mardi 10h20-12h20 M5 A3 Benjamin Danglot benjamin.danglot@inria.fr
5 TP jeudi 10h20-11h50 M5 A16 Benjamin Danglot benjamin.danglot@inria.fr
6 TD jeudi 13h30-15h30 P2 314(b) Bilel Derbel bilel.derbel@univ-lille1.fr
6 TP jeudi 15h40-17h10 M5 A11 Bilel Derbel bilel.derbel@univ-lille1.fr
Jean-Christophe Routier
dernière modification : 30/08/2017 à 09:49:07
Séance Cours TD TP Remarque
1 du 04/09 au 09/09
  • introduction, rappels : polymorphisme, lookup
  • premiers éléments de conception : responsabilité unique, OCP, séparer ce qui change de qui ne change pas
  • tests : rappels, mock, héritage de tests, test d'exception
  • types paramétrés (génériques) : introduction, création
pas de TP
une introduction à maven et au gitlab du FIL à travailler avant la première séance de TP. extraits de code fournis
Horaires spécifiques cette semaine :
  • Cours le mardi 05/09, 8h30-10h, amphi M1 Châtelet
  • Cours le jeudi 05/09, 8h30-10h, amphi M1 Châtelet
  • TD : voir emploi du temps du S5
2 du 11/09 au 16/09
  • types paramétrés, méthodes paramétrés, problématique de typage, gestion des bornes
  • introduction à SOLID
festival MIX CITE jeudi 14 septembre
3 du 18/09 au 23/09
  • les principes SOLID : présentation à partir de petits cas d'études
  • rapide introduction à la notion de design patterns
  • projet donjon
4 du 25/09 au 30/09
  • projet donjon
5 du 02/10 au 07/10
  • projet piscine
rendu projet donjon cette semaine
6 du 09/10 au 14/10
  • projet piscine
7 du 16/10 au 21/10
  • projet piscine
8 du 23/10 au 28/10
du 30/10 au 04/11 interruption pédagogique automne
9 du 6/11 au 11/11 samedi 11 novembre férié
10 du 13/11 au 18/11
11 du 20/11 au 25/11
12 du 27/11 au 02/12
13 du 04/12 au 09/12
14 du 12/12 au 16/12
Jean-Christophe Routier
dernière modification : 20/09/2017 à 12:56:42

L'évaluation s'effectue suivant une procédure de contrôle continu. Trois notes seront attribuées à chaque étudiant durant le semestre :

  • TP : une note sur 20 de Travaux Pratiques attribuée par l'enseignant de Travaux Pratiques.
  • DS1 : une note sur 20 d'un devoir surveillé en milieu de semestre.
  • DS2 : une note sur 20 d'un devoir surveillé en fin de semestre.

La note finale sur 20 (N) est calculée comme une moyenne pondérée de ces notes :

N = (TP + sup(DS1 + 2*DS2, 3*DS2)) /4

Pour la seconde session une note DS est attribuée, la note de TP est conservée. Le calcul se fait par

N=(TP + 3*DS)/4

L'unité acquise apporte 5 ECTS.

Jean-Christophe Routier
dernière modification : 30/06/2016 à 09:09:29

Diapositives du cours

Avertissement : ces documents sont des supports de cours et non un polycopié. Ils ne se veulent pas auto-suffisants et ils ne le sont certainement pas. Le cours en amphi est un complément indispensable. Leur diffusion ici a pour objectif de permettre d'être plus attentif en cours et de faciliter la prise de notes.

Compléments - Cours



Compléments - Design patterns

  • une "refcard" sur les design patterns

Compléments - divers

  • un rapide document apportant des information complémentaires sur les jar : gestion des ressources et prise en compte de bibliothèques externes.
    Une archive avec accès à des ressources en chemins relatif et absolu. A tester via le jar et en décompressant le jar : le même code fonctionne dans les 2 cas.

Ressources

  • l'UE POO sur le portail.

Sujets d'examen

Bibliographie

Jean-Christophe Routier
dernière modification : 12/09/2017 à 13:33:30