• slide-formation

UML 2 Analyse et conception


Pré requis

- Connaitre le langage orienté objet

Objectifs de la formation

- 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
- Comprendre comment formaliser la conception dans un document lisible et rigoureux, à l'aide du formalisme UML

Public :

Les architectes logiciels, les concepteurs développeur, les Chef de projets et développeurs agiles

Contenu du cours

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

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é) et les informations du domaine (diagramme de classe)
- 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

Concevoir le système logociel - les fondamentaux

- Définir la plateforme technique : définir l'architecture matérielle (diagramme de déploiement), choisir le framework logiciel
- 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) : utiliser les scénarios de cas d'utilisation – répondre aux exigences fonctionnelles, séparer les préoccupations selon MVC
- Affiner la structuration du code source : affiner la structuration en packages (diagramme de packages), factoriser du code avec la généralisation – du bon usage de l'héritage, faire communiquer les classes en limitant les dépendances: utilisation des interfaces et des singletons – pattern de communication requête/notification, gérer les états (diagramme d'états)
- Concevoir les composants déployables : définir les composants et leurs interfaces (diagramme de composant), définir le déploiement des composants (diagramme de déploiement)

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

Pour aller plus loin

- Compléments sur les processus itératifs/agiles
- Le processus TUP (Two Tracks Unified Process) et l'approche MDA (Model Driven Architecture)
- Mettre en place UML dans l'entreprise

 

Powered by Amazing-Templates.com 2014 - All Rights Reserved.