Présentation
Ce module est l’approfondissement des modules M2103 (Bases de la programmation orientée objet) et M2104 (Bases de la conception orientée objet) abordés au S2. Il s’agit d’être capable de concevoir et d’implémenter des applications logicielles. Plus précisément, deux axes sont développés.
Le premier consiste en la production de conceptions logicielles détaillées à l’aide de patrons de conception (plus connus sous le nom de design patterns). Des éléments d’architecture logicielle seront assimilés, et la représentation UML sera utilisée.
Le deuxième consiste en l’utilisation des bonnes pratiques de la programmation orientée objet pour traduire des conceptions logicielles sous forme de code. L’utilisation d’un environnement de développement, la réalisation de tests unitaires sont autant d’outils permettant d’assurer la réutilisabilité et la qualité des composants logiciels créés.
Objectifs
Les objectifs de ce module sont :
Appliquer les principes SOLID durant la conception d’une application ;
Utiliser des patrons de conception (dans la représentation UML) adaptés aux problèmes de conception rencontrés ;
Traduire la représentation UML en Java, en utilisant les bonnes pratiques de la programmation orientée objet.
Documents
Les documents de cours (CM, énoncés de TD/TP et corrections) sont mis en ligne ci-dessous.
Contacts
Groupe Rouge et Jaune : Bouchaïb Lemaire
Groupe Vert : Axel Bacher
Groupe Orange : Haïfa Zargayouna
Groupe Bleu : Guillaume Santini
Contacter prenom.nom@univ-paris13.fr pour toute question en dehors des séances
Organisation
Le module couvre 40 heures de formation découpées en 9 séances de 4 heures.
Calendrier prévisionnel
Numéro Séance |
Contenu |
Lien support |
Séance 1 et 2
|
Révision des principes de conception (UML, principes SOLID) et de programmation (Java) objet abordés au S2. Introduction du module |
|
Séance 3 |
Patron de conception Stratégie |
Corrigé |
Séance 4 |
Patron de conception Décorateur |
|
Séance 5 |
Patron de conception Observateur |
|
Séance 6 |
Patron de conception Composite |
|
Séance |
Contrôle |
|
Séance 7 et 8 |
Architecture MVC |
Sources Corrigé modélisation Corrigé diagramme de séquence Corrigé java (vue textuelle) Corrigé java (vue textuelle et graphique) |
Séance 9 |
|
|
Séance |
Contrôle |
Modalités d’évaluation
Deux évaluations sur table seront réalisées. Chacune de ces évaluations sera composée de plusieurs exercices. Chaque exercice pose un problème de conception qui ne peut être résolu qu’avec l’utilisation d’un patron de conception particulier, non indiqué. L’élève doit choisir le patron de conception adéquat (vu en cours), réaliser la conception logicielle adaptée et la traduire en Java. Les bonnes pratiques de la programmation objet (vues en cours) doivent bien évidemment être mises en oeuvre.
Contrôle 1 : 21/11/2019
Contrôle 2 : 10/01/2020
Bibliographie
Freeman, E., Freeman, E., Sierra, K., & Bates, B. (2005). Design patterns: tête la première. O’Reilly®.