Les objectifs de cette formation UML2
Contenu de cette formation UML
Participants de cette formation UML
Ce cours est destiné aux chefs de projets, analystes, concepteurs, archit-ectes logiciels et développeurs amenés à participer au développement de projets objets.
Pré-requis de cette formation UML
Connaissances de base en génie logiciel. Expérience souhaitable en analyse et conception d'applications.
Travaux pratiques
Plusieurs études de cas complètes permettent d'appréhender les différentes phases de la modélisation objet en UML. Plusieurs environnements, issus de l'industrie ou de la communauté Open Source, sont présentés à titre de démonstration.
Programme de cette formation UML
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 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
- 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, etc.
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 ces é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.
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.).
Exercice
Définir l'architecture des solutions proposées. Imbrication finale des diagrammes UML.
Concepts avancés, outillage
Compléments pour la conception
- Modèles de données. Mapping Objet/Relationnel. Autres modèles.
- Conception d'écrans d'IHM.
- Répondre à des problèmes récurrents : les Design Patterns (singleton, adaptateur…) et leur rôle. Frameworks, réutilisation.
Ateliers de modélisation
- Génération de rapports, de code, etc.
- Format XMI d'échange de modèles UML entre AGL.
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.).
Exercice
Test des fonctionnalités avancées de l'AGL