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.
Exercices
Démonstrations d'environnements pour le développement objet et d'applications présentant
les notions abordées.
Analyse et conception objets, 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
- Historique, évolution et objectifs. Vues de l'architecte.
- Le coeur de l'UML : les différents types de diagrammes. Différences entre diagrammes
statiques et dynamiques.
- Présentation de plusieurs démarches de modélisation.
- Extensions UML : stéréotype, profils, contraintes, etc.
Exercices
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 du modèle des cas d'utilisation.
- Comment identifier les acteurs ? Comment décrire un cas d'utilisation ? Les scénarios.
- Formats, pré-conditions, post-conditions, relations (utilisation, inclusion, extension).
Exercices
Capture des besoins sur des cas concrets et expressions de ces 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 ces éléments et de leurs
relations
- Diagramme de classe : son rôle et son utilisation. Exemples.
- Comment identifier les classes utiles ?
- Une classe en UML : nom, attributs et opérations. Visibilité (publique, privée et protégée).
- Formalisme et notation.
- Relations entre classes (association, généralisation, agrégation et composition).
- Multiplicités, rôles, contraintes, etc.
- Classes abstraites, interfaces, packages.
- Diagramme d'objets et instances de classes.
Exercices
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
Montrer l'évolution du système et les interactions entre objets
- Diagramme de séquence : interactions entre objets au cours du temps. Message
(synchrone et asynchrone).
- Diagramme de collaboration : 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.
- Notations et exemples.
Exercices
Compléter les études de cas par la modélisation de la dynamique du système. Contexte
d'utilisation des diagrammes dynamiques.
Finalisation du système
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.).
Exercices
Définir l'architecture des solutions proposées. Imbrication finale des diagrammes UML.
Concepts avancés, outillage
Compléments de conception
- Modèles de données. Mapping Objet/Relationnel. Autres modèles.
- Conception des écrans d'IHMs.
- Répondre à des problèmes récurrents
- Design Patterns (ex : singleton, adaptateur, proxy, façade...), leur rôle dans la conception.
- Frameworks, réutilisation.
Ateliers de modélisation
- Génération de rapports, de code. Création de stéréotypes, etc.
- Format XMI d'échange de modèles UML entre AGLs.
UML et les méthodes projet
- Différentes approches. Intégration d'UML.
- Introduction au Rational Unified Process (RUP), itérations, phases et activités.
- Autres possibilités (XP, etc.).
Exercices
Test des fonctionnalités avancées de l'AGL.