Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Décisionnel Business Intelligence > UML 2 - Analyse et conception

UML 2 - Analyse et conception

La conceptionUML: 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 œuvre 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.1 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

Programme de la formation

1) Introduction et prise en main du sujet

  • Processus de développement: gestion de projet en cascade vs agile – la place des activités de spécification et de conception
  • Conception Orientée Objet : séparation des préoccupations et limitation des dépendances – introduction à UML
  • Prise en main de l'étude de cas: comprendre les besoins généraux du client

2) Définir le système à réaliser

  • S'approprier le métier: au travers de l'étude de cas, comprendre les processus métier (diagramme d'activité
  • Spécifier les exigences – au travers de l'étude de cas, définir et formaliser dans un document lisible et rigoureux -Les exigences fonctionnelles: identifier les acteurs et les cas d'utilisation du système - Les exigences non fonctionnelles à l'aide de l'approche FURPS - Le détail des interfaces du système
  • Prendre en main le plan de développement projet : objectifs et planification des différentes itérations/sprints de l'étude de cas

3) Concevoir le système logiciel – les fondamentaux

  • Définir la plate-forme technique : définir l'architecture matérielle (diagramme de déploiement
  • Concevoir un code source répondant aux exigences, maintenable et évolutif
  • Définir une architecture du code: le pattern en couches MVC, étendu au système entier
  • Concevoir les attributs: attributs identifiants et dérivés - association entre classes

(diagramme de classe)

  • Concevoir les traitements et la communication entre classes (diagramme de séquence
  • Affiner la structuration du code source : affiner la structuration en packages (diagramme de packages
  • Concevoir les composants déployables : définir les composants et leurs interfaces (diagramme de composant

4) Concevoir le système logiciel – Affinements techniques

  • Prendre en compte la persistance – itération/sprint 2
  • Prendre en compte la distribution – itération/sprint 3
  • Prendre en compte la technologie du Web – itération/sprint 4

5) Pour aller plus loin

  • Compléments sur les processus itératifs/agiles
  • Le processus TUP (Two Tracks Unified Process
  • Mettre en place UML dans l'entreprise

Les + de cette formation

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.