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 : 01/09/2016 à 13:37:21

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 Clément Béra clement.bera@inria.fr
2 TP mardi 10h20-11h50 M5 A15 Clément Béra clement.bera@inria.fr
3 TD mercredi 13h20-15h20 M5 A7 Yves Roos Yves.Roos@univ-lille1.fr
3 TP mercredi 15h045-17h10 M5 A13 Yves Roos Yves.Roos@univ-lille1.fr
4 TD vendredi 8h-10h M5 A8 Yoann Dufresne yoann.dufresne@ed.univ-lille1.fr
4 TP mercredi 15h40-17h10 M5 A15 Yoann Dufresne yoann.dufresne@ed.univ-lille1.fr
5 TD mardi 10h20-12h20 M5 A3 Maxime Colmant maxime.colmant@inria.fr
5 TP jeudi 10h20-11h50 M5 A16 Maxime Colmant maxime.colmant@inria.fr
Jean-Christophe Routier
dernière modification : 01/09/2016 à 15:43:14
Séance Cours TD TP Remarque
1 du 05/09 au 10/09
  • introduction, rappels,
  • premiers éléments de conception
pas de TP
  • cours en M1 Archimède, mardi 6 septembre 8h30-10h
A étudier
2 du 12/09 au 17/09
  • types génériques
  • méthodes génériques
  • génériques et typage
  • festival MIX CITE jeudi 15 septembre
3 du 19/09 au 24/09
  • tests, Mock class, tests et héritage
  • introduction à SOLID
  • principe OCP
  • début du LSP
projet donjon
4 du 26/09 au 01/10
  • SOLID (suite)
  • LSP (suite)
  • SRP
  • DIP
  • ISP
  • introduction aux design patterns
projet donjon
5 du 03/10 au 08/10 pas de cours projet actions/piscine
6 du 10/10 au 15/10
  • de la bonne conception d'une architecture logicielle pour minimiser les bugs
  • 3 principes essentiels : KISS, DRY et YAGNI
  • les formes de test et le TDD
projet actions/piscine
7 du 17/10 au 22/10
  • TDD (suite)
  • les méthodes XP
  • introduction aux anti-patrons
projet actions/piscine
8 du 24/10 au 05/11 Devoir surveillé 13h30-15h. SN1 amphis Maige et Gosselet. projet questionnaires interruption pédagogique d'automne du 27/10 au 02/11 inclus
9 du 7/11 au 12/11 Dettes, analyses et métriques projet questionnaires vendredi 11 novembre férié
10 du 14/11 au 19/11 Génération et transformation de code. projet questionnaires
11 du 21/11 au 26/11 pas de cours projet plugins
12 du 28/11 au 03/12 pas de cours libre projet plugins
13 du 05/12 au 10/12 pas de cours pas TD, sauf rattrapage projet plugins DS2 le 13 décembre, 14h-17h, bâtiment A4.
Jean-Christophe Routier
dernière modification : 30/11/2016 à 12:44:03

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

Un jour, un pattern

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 : 02/12/2016 à 07:31:11