Objectifs généraux

publicité
IFT 232 Méthodes de Conception Orientée Objets
Plan de cours
INFORMATIONS GÉNÉRALES
Professeur :
Session :
Crédits :
Sylvain Giroux ([email protected])
D4-1010-10
Hiver 2006
3
Local :
Mardi 13h30 – 15h20
Mercredi 10h30 – 12h20
D7-2015
Consultation :
Mardi 10h30 - 12h00
Pré-requis :
IFT 159 Analyse et programmation
ou GIF 600 Conception d’un système informatique distribué
Horaire :
Site web : http://www.dmi.usherb.ca/~sgiroux/cours/2006/IFT232
Liste de redistribution : [email protected]
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
1
Semaine
1
2
3
4
Contenu
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
Méthodes de tests:
 Test unitaires: JUnit
 TP 1 : Définir les spécifications et les tests pour un programme
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…
Suisse
9 janvier
16 janvier
23 janvier
30 janvier
7
Normes de conception IEEE
UML
 Cas d’utilisation
 Vue logique : Diagrammes de classes, d’état, d’interactions, de collaboration.
 Composants logiciels
 Déploiement
Programmation par composants
 le modèle JavaBeans (événements, introspection, etc.)
 Application du schéma de conception Observateur (TPs)
Programmation par composants
 Le modèle JavaBeans (suite)
 Programmation visuelle et génération de code :
 Application aux interfaces usagers
Intra – pas de cours
8
Relâche
27 février
9
Etude de cas
6 mars
5
6
6 février
13 février
20 février
Prendre un des examens de maîtrise
Schéma de conception :
 Principes généraux
 Singleton,
IFT232 Conception orientée objet
2
 Observer,
 Adapter,
 Command,
 Composite
 Abstract Factory,
 Factory Method,
 Template Method
 Decorator
Suite Etude de cas
Frameworks
 Principes et applications
 Etude de l’implémentation de JUnit en tant que framework
Approfondissement sur les tests
 Tests boîte noire,
 Tests boîte blanche,
 Tests d’intégration
Approfondissement
 Mesure de qualité de la conception (métrique, voir livre Marc)
Remise des projets
Examen Final
10
11
12
13
14
15
13 mars
20 mars
27 mars
3 avril
10 avril
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
Projet
Intra
Final
/10
/15
/35
/40
Durée : 1h50
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
3


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/)
IFT232 Conception orientée objet
4
Téléchargement