Formation : ESIEA: Architecture et Ingénierie du logiciel : INFORMATIQUE SCIENTIFIQUE ET LANGAGES OBJET
Se former avec
ESIEA
- Renseignements :
- Durée : 180 Heures
- Type : En centre
- Diplômant : Oui
-
Prix H.T. € :N.C.
- Objectifs :
- Le module INF5038 propose une étude comparative des langages objets. Le
premier objectif est de comprendre les concepts techniques sur lesquels
s'appuient ces langages et comment ces concepts ont été mis en oeuvre
dans différents langages objets. Le deuxième objectif est d'étudier les
particularités des langages objets dans le cadre du développement de
logiciels : techiques de conception, tests, choix du meilleur langage.
A la fin de ce module, vous serez capable de:
* présenter les différents concepts techniques sur lesquels reposent les
langages objets : classes, objets, contrôle d'accès, typage, héritage,
exceptions, variables et méthodes d'instance
* comparer les différentes manières de mettre en oeuvre ces concepts
techniques dans différents langages
* présenter en détails un thème particulier de l'approche objet : design
patterns, réutilisabilité, gestion des objets, tests et fiabilité,
comparaison de plusieurs langages à propos d'un même problème
d'implémentation
* comprendre les autres thèmes grâce au travail de vos camarades
- Public visé :
-
Majeure : Architecture et Ingénierie du Logiciel
- Pré-requis :
- Connaissance des concepts objets - algorithmique - programmation
- Partie technique:
- Classes et objets: classe, objet, métaclasse, interface,
introspection, durée de vie d'un objet
- Contrôle d'accès: pourquoi le contrôle d'accès, comment, exemples de
divergence entre les langages
- Typage: typage du premier ordre, typage du second ordre, héritage vs
typage, polymorphisme, typage statique, typage dynamique, typage paramétré
- Héritage: héritage simple/multiple/simple avec interface, redéfinition
des méthodes et des variables, gestion des collisions de nom
- Exceptions: quand les utiliser, comment les définir, comment les traiter
- Variables: d'instance, de classe, passage par valeur/référence/pointeur
En combinant ces aspects techniques, vous étudierez ensuite:
- Design patterns: pour quoi faire, comment les identifier, comment les
appliquer
- Réutilisabilité : stratégies, limites, améliorations de l'approche
objet (notions de composant)
- Gestion des objets : comparaison, copie simple, copie en profondeur,
gestion efficace de la mémoire, garbage collector automatique et
semi-automatique
- Tests et fiabilité: framework de tests, programmation défensive, tests
unitaires et d'intégration: spécificité des objets, principes des
bouchons/mocks/stubs, mutations de code
- Implémentation: réaliser un exemple simple mettant en oeuvre les
différents aspects des langages objets et comparer l'implémentation de
cet exemple dans 3/4 langages de votre choix.
Langages utilisés pendant le cours (à titre indicatif): C++, Java, C#,
PHP5, Eiffel, Python, VB .NET, Objective-C, Smalltalk, Ruby
Quelques ouvrages intéressants au centre de documentation de Paris
* Les langages Objets de C. Bailly, JF Chaline, HC Ferri, P Gloess, B
Marchesin, Cepadues-editions, 1987
* Conception et programmation par objets, B. Meyer, 1990
* Le génie logiciel orienté objet, Jacobson, Christersen, Jonssen,
Overgaard, 1992
* Object-oriented analysis & design, O'Docherty, 2005
* Les objets, Bouzeghoub, Gardarin, Valduriez, 1998
* Comparative Programming Languages, Wilson, Clark, 1993
* Le test des logiciels, S Xanthakis, P Régnier, C Karapoulios, 2005
* Test logiciel en pratique, J Watkins, 2006
* Introduction à Java, P Niemeyer, J Knudsen, Editions O'Reilly, 2002
* Microsoft Visual Basic .NET, G. Nicot, Micro Application, 2003
* Eiffel, le langage, B. Meyer, InterEditions, 1994
* Programmer en Java, C Delannoy, 2000
* Apprendre le Java et le C++ en parallèle, JB Boichat, 2003
* C# Professionnel 2ème édition, Robinson, Scott Alen, Cornes, Glynn,
Greenvoss, Harvey, Nagel, Skinner, 2003
* PHP5 cours et exercices, Engels, 2005
* Smalltalk programmation orientée objet et développement
d'applications, Briffault, Sabah, 1996
* Le langage C++, les spécifications du standard ANSI/ISO expliquées, J
Charbonnel, 1997
2008 au 2009 (75)
2008 au 2009 (38)