L'émergence de l'approche Objet
- Les problèmes sur les projets de développement. L'émergence des concepts Objet et leur impact.
- Les qualités attendues d'un développement Objet.
Les concepts de base
- Les ressemblances et différences entre l'objet au sens commun et l'objet informatique.
- Les notions de classes, d'encapsulation, d'héritage, d'abstraction, de polymorphisme.
- Les objets, propriétés, opérations et liaisons.
- La séparation des interfaces et des implémentations.
- Les avantages : extensibilité, réutilisabilité, rapidité de conception, mythe ou réalité ?
Analyse et conception par objets, UML
Les projets à objets
- Rappels sur le cycle de vie du logiciel. L'objet et l'approche itérative. La modélisation, le développement, les acteurs et les rôles.
- Historique des méthodes Objet. Comparaison.
- Nécessité d'un formalisme universel de représentation des concepts.
Les méthodes de conception autour d'UML
- La genèse d'UML. Les caractéristiques essentielles.
- La présentation du Processus Unifié.
- L'analyse des spécifications. Les cas d'utilisation. Les scénarios et les diagrammes de séquences.
- L'analyse du domaine. Diagrammes de classes, d'états transitions et de collaborations.
- La conception. L'algorithmique vue par les diagrammes d'activités.
- La réalisation avec des langages objets.
- L'architecture. Diagrammes de composants et de déploiement.
- Une comparaison synthétique entre Merise et UML.
Les principes des modélisations réussies
Principes de modélisation
- La réification ? Pourquoi et quand mettre des informations sous forme d'objets ? Comment traduire des concepts métiers sous forme d'objets.
Autonomie, interaction et interfaces
- Les objets comme entités autonomes. L'interaction entre objets. Les interfaces.
Abstraction et concrétisation
- L'abstraction à partir d'une analyse. L'extensibilité et l'adaptabilité des conceptions abstraites. La réutilisation. La réalisation par les classes concrètes.
L'objet en programmation
Les grands langages objets
- Quel langage choisir ? Les caractéristiques fondamentales des langages. Comparaison : C++, Java, etc. Les approches de ces langages à objets. L'impact des modes d'exécution. Les outils de développement, le marché, les acteurs, les catégories et les tendances.
L'approche Java
- Les caractéristiques du langage. L'intérêt d'une machine virtuelle. L'importance des bibliothèques de classes. L'organisation d'un projet Java.
- Le " tout Java ". De l'Intranet à la carte à puce, des téléphones mobiles à la station de travail.
- Stratégies autour de Java. Quelle attitude adopter ?
L'organisation de la réutilisation avec les Design patterns
- Favoriser la réutilisation par l'industrialisation du processus de conception. Mise en place de solutions types réutilisables : les design patterns.
- Les travaux du GOF (Gang Of Four) et les grandes catégories de Design Patterns.
Objets métier, frameworks
- Qu'est-ce qu'un framework, comment l'utiliser ? Rapport avec les composants logiciels. Les pièges à éviter lors de la conception de frameworks.
- Différences entre design patterns et frameworks.
Les clients-serveurs à base d'objets
- Les architectures à base d'objets répartis. CORBA, Microsoft COM-DCOM, Java RMI. Apports et limites.
- Prise en charge des services techniques afin de tendre vers un assemblage d'objets métiers.
Les objets métier, serveurs d'applications et architectures n-tiers
Les architectures multiniveaux
- Les limites du 2-tiers en matière de modularité, d'évolutivité et de capacité à accompagner une montée en charge. Les apports des architectures multiniveaux. L'ouverture sur Internet. Sécurité. Composants métiers.
- Les offres : JEE, .NET, Corba Component Model.
Le standard JEE et le marché des EJB
- Le modèle. Extension des notions de composants JavaBeans aux architectures distribuées. Spécification JEE. Les acteurs du marché des serveurs JEE, de Sun à JBoss. L'intégration. Le mapping objet/relationnel. Les différents types d'EJB : session, entité, message.
L'approche Microsoft .NET
- L'architecture .NET. Portabilité et interopérabilité. Evolution de COM à .NET. C#, un nouveau langage objet orienté composants. Comparaison avec Java. L'infrastructure CLR. Les classes de base de .NET, ADO.NET, les WebServices…
L'approche Model Driven Architecture
- Les concepts. L'outillage. Profils et métamodèle.
Les infrastructures Web à base d'objets
- Les architectures à base de services Web, le fonctionnement, les constituants. SOAP, WSDL, UDDI.
- SOA (Service Oriented Architecture), les concepts.
- Standards de gestion de processus métier.
- Les offres en présence.