L'approche Objet
- Comprendre les principales notions de l'approche Objet.
- Rappel sur les paradigmes de programmation (logique, impératif, Objet...).
- Les objets : identité, état et comportement. Relations au monde réel et aux systèmes informatiques.
- Popularité, avantages de l'Orienté Objet.
- Abstraction, encapsulation, classification. Classes et instances. Classes abstraites. Concept d'héritage.
- Méthodes et envois de messages entre objets. Polymorphisme. Surcharge et redéfinition.
Exercice
Démonstrations d'environnements pour le développement Objet et d'applications présentant les notions abordées.
Analyse et conception Objet, introduction à l'UML
- Pourquoi modéliser ? Appréhender le spectre de l'analyse et de la conception.
- Domaine métier et modélisation d'une solution informatique. Le modèle, un artefact central du processus projet.
- Analyse et conception d'une solution informatique. Impacts des langages de programmation.
- Evolution vers l'analyse/conception Objet. Avantages.
- Présentation générale d'UML. Evolution et objectifs. Vues de l'architecte.
- Le cœur de l'UML : les différents types de diagrammes (statiques et dynamiques).
- Présentation de plusieurs démarches de modélisation.
- Extensions UML : stéréotype, profils, contraintes...
Travaux pratiques
Présentation des études de cas. Analyse des domaines métiers.
Diagramme UML des cas d'utilisation
- Capture et description des besoins fonctionnels de l'application.
- Principaux objectifs et utilisation. Décrire les fonctionnalités du système.
- Eléments du diagramme : cas d'utilisation, acteurs et frontière du système. Etapes de construction.
- Comment identifier les acteurs ? Comment décrire un cas d'utilisation ? Les scénarios.
- Formats, pré et post conditions, types de relations.
Exercice
Capture et expressions des besoins via les diagrammes de cas d'utilisation. Mise en situation réelle.
Diagrammes UML de modélisation statique
- Montrer une vue d'ensemble du système, de ses éléments et de leurs relations.
- Diagramme de classe : rôle, utilisation, exemples.
- Comment identifier les classes utiles ?
- Une classe en UML : nom, attributs et opérations. Visibilité (publique, privée et protégée).
- Relations entre classes (association, généralisation, agrégation et composition).
- Multiplicités, rôles, contraintes, etc.
- Diagramme d'objets et instances de classes.
- Diagramme de structure composite.
Exercice
Acquérir sur les études de cas le savoir-faire nécessaire à la conception de classes et à la modélisation objet.
Diagrammes UML de modélisation dynamique
- Evolution du système et interactions entre objets.
- Diagramme de séquence : interactions entre objets au cours du temps. Messages synchrone et asynchrone.
- Diagramme global d'interactions.
- Diagramme de communication : rôle des objets, interactions, concurrence de traitements...
- Diagramme d'état transition : états possibles d'un objet et événements déclenchant les transitions.
- Diagramme d'activité : flux des activités pour réaliser une opération, objets en charge de ces activités.
- Diagramme de temps : variations au cours du temps.
- Notations et exemples.
Exercice
Compléter les études de cas par la modélisation de la dynamique du système. Contexte d'utilisation des diagrammes dynamiques.
L'architecture logicielle et matérielle du système
- Modèles d'architectures. Organisation en couches. Sous-systèmes.
- Les paquetages et leurs relations.
- Diagramme de composants : organisation du code en modules, dépendances.
- Diagramme de déploiement : déploiement physique du système (machines, réseaux, etc.).
Exercice
Définir l'architecture des solutions proposées. Imbrication finale des diagrammes UML.
Concepts avancés, outillage
- Modèles de données. Mapping Objet/relationnel. Autres modèles.
- Répondre à des problèmes récurrents : les Design Patterns (singleton, adaptateur...) et leur rôle.
- Frameworks, réutilisation.
- Introduction au développement piloté par les modèles (MDA - MDD).
- Ateliers de modélisation : génération de rapports, de code... Format XMI d'échange de modèles UML entre AGL.
- UML et les méthodes projet. Les différentes approches. Intégration d'UML.
- Introduction au processus unifié (UP), cycle en Y, itérations, phases et activités.
- Autres possibilités (XP...).
Exercice
Test des fonctionnalités avancées de l'AGL.