IFT 785 Approches Orientée Objets

Post on 17-Jan-2016

45 views 0 download

description

IFT 785 Approches Orientée Objets. Plan de cours. Information générale. Professeur : Sylvain Giroux sylvain.giroux@USherbrooke.ca D4-1010-10 Session  : Hiver 2005 Crédits  :  3 Horaire : jeudi 18h45 – 21h45 Consultation  : Mardi 10h30 - 12h00. Objectifs généraux. - PowerPoint PPT Presentation

Transcript of IFT 785 Approches Orientée Objets

IFT 785 Approches Orientée Objets

Plan de cours

Information générale

Professeur : – Sylvain Giroux – sylvain.giroux@USherbrooke.ca– D4-1010-10

Session : Hiver 2005 Crédits :  3

Horaire : – jeudi 18h45 – 21h45

Consultation : – Mardi 10h30 - 12h00

Objectifs généraux

Connaître les concepts des approches orientées objets;

Concevoir le développement de systèmes informatiques dans une optique orientée objets;

Comparer des méthodes et outils orientés objets afin de pouvoir choisir ceux qui conviennent le mieux dans le développement de systèmes particuliers.

Objectifs spécifiques

Décrire les concepts fondamentaux de la programmation par objets ainsi que leurs variations dans différents langages de programmation, en particulier Java;

Décrire et appliquer UML;

Décrire et appliquer les principaux patrons de conception (design patterns);

Décrire et appliquer les procédures de factorisation de programmes orientés objets;

Utiliser et définir des frameworks orientés objets;

Appliquer et intégrer les procédures de tests dans les programmes objets;

Décrire et appliquer l’approche de conception “programmation extrême”;

Manipuler la réflexivité et le concept de métaclasses;

Décrire et utiliser la programmation par acteurs.

Contenu

Concepts de base : objet, acteur, agent, classe, message, héritage, délégation,  instanciation, clonage, spécialisation, différenciation, classe abstraite,  généricité, polymorphisme, persistance;

Concepts avancés: frameworks, métaclasses, réflexivité, introspection;

Méthodes d'analyse et de conception  orientées objets: UML, programmation extrême;

Étude de langages orientés objets, tels que Smalltalk, Java, ObjVlisp, ABCL;

Outils pour le développement orienté objet: JUnit.

Organisation du cours Semaine par semaine

Evaluation

Exercices– Non évalués

Projet individuel – 50 %

Final Durée : 2h50– 50 %

Références

Agha, Gul, Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986. Beck,  Kent, Extreme Programming Explained: Embrace Change, Addison-Wesley Pub Co; 1999 Beck, Kent, Test Driven Development, Addison-Wesley, 2002.Bloch, Joshua, Effective Java Programming

Language Guide, Addison-Wesley, 2001. Briot, Jean-Pierre, From Objects to Actors: Study of a Limited Symbiosis in Smalltalk-80, LITP 88-58 RXF,

Université Pierre et Marie Curie, France, sept. 1988. Cointe, Pierre, Metaclasses are First Class: the ObjVlisp model, OOPSLA '87 Proceedings, 1987, Orlando,

Florida, SIGPLAN Notices, vol. 22, no 12, pp. 156-167. Fowler, Martin, UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 3rd ed.

2003. Fowler, Martin, et al., Refactoring: Improving the Design of Existing Code, Addison-Wesley; 1999 Gamma, Erich and Kent Beck, JUnitTest Infected: Programmers Love Writing Tests, Java Report, July 1998,

Volume 3, Number 7Gamma, Erich, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Addison-Wesley;1995 Goldberg, Adele , Smalltalk-80, The Language, Addison Wesley Professional; 1989

Liskov, Barbara, Program Development in Java, Abstraction, Specification and Object-Oriented Design, Addison-Wesley, 2001.

Roberts, Don, Ralph Johnson, Evolving Frameworks A Pattern Language for Developing Object-Oriented Frameworks.

Sun, Java Tutorial, http://java.sun.com/docs/books/tutorial/ Sun Microsystems, JavaBeans, v 1.01, 1997. (beans101.pdf) Yonezawa, A., et al., Object-Oriented Concurrent Programming in ABCL/1, OOPSLA 86 Proceedings, 

SIGPLAN Notices, vol. 21, no 11, pp. 258-268

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/index.htm