IFT232 Conception orientée objet 1
IFT 232 Méthodes de Conception Orientée Objets
Plan de cours
INFORMATIONS GÉNÉRALES
Professeur : Sylvain Giroux (Sylvain.Giroux@USherbrooke.ca)
D4-1010-10
Session : Hiver 2007
Crédits : 3
Horaire : Mardi 15h30 17h20
Mercredi 10h30 12h20
Local : D7-2021
Consultation : Mardi 14h30 - 15h30
Pré-requis : IFT 159 Analyse et programmation
ou GIF 600 Conception d’un système informatique distribué
Site web : http://www.dmi.usherb.ca/~sgiroux/cours/2007/IFT232
Liste de redistribution : h200[email protected]ooke.ca
OBJECTIFS
Objectifs généraux
Spécifier, concevoir et tester des composants logiciels.
Tester l'intégration des composants.
Mesurer la qualité de la conception.
Appliquer le processus de conception au sein d’un cadre documenté et normalisé.
Objectifs spécifiques
A la fin du cours, l’étudiant devra être capable de :
Maîtriser un langage de spécification (UML)
Maîtriser la programmation par objets
Maîtriser la refactorisation
Maîtriser la notion de schémas de conception.
Maîtriser les processus de tests.
Être capable d’évaluer la qualité de conception d’un programme.
CONTENU
Présentation des types abstraits algébriques.
Critères de conception.
Etude des concepts d’encapsulation, d’héritage et de polymorphisme.
Critères de composition en classes, schémas de conception et cadres d'application.
Documentation de la conception avec la notation UML.
Techniques de revue de conception.
Tests boîte blanche (basés sur la structure du programme) et tests boîte noire (basés sur la spécification du
programme).
Tests d'intégration.
Mesure de qualité de la conception.
Présentation des normes de conception IEEE.
IFT232 Conception orientée objet 2
Semaine
Contenu
1
Organisation du cours
Plan de cours, logiciels utilisés dans le cours, projet.
Programmation par objets
Les principes de base de la programmation par objets : instanciation,
encapsulation, héritage, polymorphisme, transmission de messages…
Eléments de Java : classes, interfaces, variables, typage, exceptions...
2
Spécifications et tests unitaires:
Types abstraits algébriques
Spécification de programmes; préconditions, postconditions, invariants…
Test unitaires: JUnit
3
Schéma de conception : Principes généraux, Singleton, State
Refactorisation
Critères de conception et qualité de la conception.
Techniques de refactorisation
4
Méthodes de conception
Méthodes de conception agiles.
Normes de conception IEEE
UML
5 -6
Programmation par composants : le modèle JavaBeans (événements, introspection...)
7
Examen intra
Pas de cours
8
Semaine de Relâche
Pas de cours
9-10
Etude de cas sur les schémas de conception et la refactorisation : Singleton,
Observer, Adapter, Command, CompositeAbstract Factory, Factory Method, Template
Method, Decorator
11
Frameworks:
Principes et applications
Etude de cas : JUnit
12
Approfondissement sur les tests : tests boîte noire, tests boîte blanche, tests
d’intégration
13
Approfondissement : Mesure de qualité de la conception
14
Remise des projets
15
Examen Final
IFT232 Conception orientée objet 3
Evaluation
Projet
/30
Intra
/30
Durée : 1h50
Final
/40
Durée : 2h50
Projet
Les notions suivantes seront appliquées dans un projet de moyenne envergure : méthodologie agile, tests,
patrons de conception et refactorisation. Les équipes seront composées de 6 à 10 étudiants. A la fin du projet,
chaque équipe devra réaliser une démonstration du projet et remettre un rapport.
Bibliographie
Documents très fortement recommandés
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns, Addison-Wesley, 1994.
Sun Microsystems, JavaBeans, v 1.01, 1997. (beans101.pdf)
Erich Gamma and Kent Beck, JUnitTest Infected: Programmers Love Writing Tests, Java Report, July
1998, Volume 3, Number 7, http://junit.sourceforge.net/doc/testinfected/testing.htm
Manuels et documents complémentaires recommandés
M. Fowler et K. Scott, UML distilled, A Brief Guide to the Standard Object Oriented Modeling Language,
Addison-Wesley, 2003.
Extreme programming
o Kent Beck, Extreme Programming Explained, Addison-Wesley, 1999
o Extreme programming, A gentle introduction, http://www.extremeprogramming.org/
o Martin Fowler, Is Design Dead?, http://martinfowler.com/articles/designDead.html
Joshua Kerievsky, Refactoring to Patterns, Addison-Wesley, 2004
o Refactoring To Patterns Catalog, http://www.industriallogic.com/xp/refactoring/catalog.html
M. Fowler, et al., Refactoring, Improving the design of existing code, Addison-Wiley, 2000.
o Refactoring Home Page, http://www.refactoring.com/
Kent Beck, Test Driven Development, Addison-Wesley, 2002.
Références
Barbara Liskov, Program Development in Java, Abstraction, Specification and Object-Oriented Design,
Addison-Wesley, 2001.
Sun, Java Tutorial, http://java.sun.com/docs/books/tutorial/
Joshua Bloch, Effective Java Programming Language Guide, Addison-Wesley, 2001.
Lisa Crispin, Tip House, Testing Extreme Programming, Addison-Wesley, 2002.
Logiciels disponibles
Editeur UML : Rational Rose for Java
Java : JSE 1.5.0 (http://java.sun.com)
IDEs : Eclipse (http://www.eclipse.org/)
Tests : JUnit (http://www.junit.org/)
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !