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 2006
Crédits : 3
Horaire : Mardi 13h30 15h20
Mercredi 10h30 12h20
Local : D7-2015
Consultation : Mardi 10h30 - 12h00
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/2006/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.
Connaître un large éventail de schémas de conception.
CONTENU
Présentation des types abstraits algébriques.
Critères de conception.
Revue 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
Outils utilisés dans le cours : Eclipse, cvs, Junit, Rational Rose
Projet
Expliquer le déroulement du projet
Donner la grille d’évaluation
Formation des équipes
Principes de la POO
Revue des concepts d’encapsulation, d’héritage et de polymorphisme en Java.
Types abstraits algébriques
Spécification de programmes; préconditions, postconditions, invariants…
Séance d’exercices sur Java voir et compléter exercices I
9 janvier
2
Méthodes de tests:
Test unitaires: JUnit
TP 1 : Définir les spécifications et les tests pour un programme
16 janvier
3
Schéma de conception :
Principes généraux
Singleton,
State
Refactorisation
Critères de conception et qualité de la conception.
Techniques de refactorisation
Refactorisation :
o Refactorisation d’un programme
o Identifier les fonctions de refactorisation utilisée dans Eclipse
Programmation extrême, principes
23 janvier
4
Suisse
Normes de conception IEEE
UML
Cas d’utilisation
Vue logique : Diagrammes de classes, d’état, d’interactions, de collaboration.
Composants logiciels
Déploiement
30 janvier
5
Programmation par composants
le modèle JavaBeans (événements, introspection, etc.)
Application du schéma de conception Observateur (TPs)
6 février
6
Programmation par composants
Le modèle JavaBeans (suite)
Programmation visuelle et génération de code :
Application aux interfaces usagers
13 février
7
Intra pas de cours
20 février
8
Relâche
27 février
9
Etude de cas
Prendre un des examens de maîtrise
Schéma de conception :
Principes généraux
Singleton,
6 mars
IFT232 Conception orientée objet 3
Observer,
Adapter,
Command,
Composite
Abstract Factory,
Factory Method,
Template Method
Decorator
10
Suite Etude de cas
13 mars
11
Frameworks
Principes et applications
Etude de l’implémentation de JUnit en tant que framework
20 mars
12
Approfondissement sur les tests
Tests boîte noire,
Tests boîte blanche,
Tests d’intégration
27 mars
13
Approfondissement
Mesure de qualité de la conception (métrique, voir livre Marc)
3 avril
14
Remise des projets
10 avril
15
Examen Final
17 avril
Travaux pratiques
TP1 : spécifications et tests
TP2 : refactorisation
TP3 : Application du Observer Design Pattern
Projet
Programmation agile : Pair programming
Tests
Patrons de conception
Refactorisation
Evaluation
TPs
/10
Projet
/15
Intra
/35
Durée : 1h50
Final
/40
Durée : 2h50
Documents obligatoires
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns, Addison-Wesley, 1994.
Sun Microsystems, JavaBeans, v 1.01, 1997. (beans101.pdf)
IFT232 Conception orientée objet 4
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
Refactorisation
Manuels 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
Editeur UML : Rational Rose for Java
Java : JSE 1.5.0 ou JSE 1.4.2 (http://java.sun.com)
IDEs : Eclipse (http://www.eclipse.org/)
Tests : JUnit (http://www.junit.org/)
1 / 4 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 !