UML 2 - Analyse et conception
La conception UML: un atout pour l'agilité?
Le monde du développement logiciel est aujourd'hui en quête d'agilité. Il s'agit souvent de mettre en oeuvre une méthode de gestion de projet agile, favorisant le développement rapide d'un logiciel répondant aux besoins des utilisateurs. Mais qu'en est-il de l'agilité du logiciel lui-même, c'est-à-dire de sa capacité à s'adapter aux nouveaux besoins ? Cette agilité là n'est pas adressée par l'agilité de la méthode, mais par l'application de bonnes pratiques de conception logicielle au niveau du code lui-même. Que le projet adopte une méthode agile ou non, les choix structurants de conception du code doivent être partagés par tous les développeurs. Ces choix doivent donc être définis et formalisés de façon claire et rigoureuse.
Objectifs
- Savoir utiliser le formalisme UML 2 pour le développement agile d'un système d'information
- Découvrir UML de façon concrète et pratique au travers des différentes étapes du projet de développement
- Maîtriser les bonnes pratiques de conception logicielle fondamentales (déclinées autour de la séparation des préoccupations et de la limitation des dépendances)
- Comprendre comment formaliser la conception dans un document lisible et rigoureux, à l'aide du formalisme UML (utilisation de l'outil Enterprise Architect)
Public
- Architecte logiciel, concepteur-développeur
- Chef de projets et développeurs agiles
Prérequis
- La connaissance d'un langage orienté objet est fortement recommandé pour suivre cette formation
Méthode pédagogique
Une présentation des meilleures pratiques de conception d'architecture logicielle (architecture en couches MVC, patterns de communication, la structuration en packages, …) avec UML 2.
Etude de cas complète depuis la modélisation du métier jusqu'à la conception, avec le modeleur Enterprise Architect (autre modeleur possible sur demande).
Une progression pédagogique très opérationnelle : Les diagrammes sont présentés pour chacune des étapes d'un projet de développement géré de façon agile ou non.