Introduction à la modélisation métier
- La démarche projet et les activités d'ingénierie logicielle. Importance de l'activité de conception.
- UML au sein de la démarche projet. Les différents diagrammes. La notion de stéréotype et de profil.
- La modélisation du métier : processus métier - diagramme d'activité et diagramme de classes du domaine.
Travaux pratiques
Prise en main de l'étude cas, d'Enterprise Architect : structuration du projet en packages et utilisation de profil. Modélisation du métier avec le diagramme d'activité.
Spécifier les exigences
- Exigences fonctionnelle et non fonctionnelle. Approche FURPS.
- Définition des acteurs.
- Définition des cas d'utilisation. Diagramme de cas d'utilisation.
- Illustration de scénarios de cas d'utilisation avec le diagramme de séquence.
Travaux pratiques
Spécification des exigences de l'étude de cas : diagrammes de cas d'usage et de séquence.
Concevoir le système - Modélisation statique
- L'architecture du code. Patterns en couches/layers. Pattern MVC. Structuration en packages.
- Identification des classes. Attributs. Opérations. Diagramme de classes.
- Relations d'association entre classes.
- Relations de généralisation.
Travaux pratiques
Réaliser la modélisation statique avec Enterprise Architect : structurer le code en packages. Réaliser le diagramme de classes.
Concevoir le système - Modélisation dynamique
- Définir les opérations.
- Scénarios de cas d'utilisation de niveau conception. Description des interactions avec le diagramme de séquence.
- Gestion des états. Diagramme d'états.
Travaux pratiques
Réaliser la modélisation dynamique avec Enterprise Architect : diagramme de séquence. Définition des états avec le diagramme de machine d'états.
Concevoir le système - Modélisation du déploiement
- La définition des composants déployables et de leurs interfaces.
- Diagramme de composants.
- Le déploiement des composants sur l'architecture matérielle.
- Diagramme de déploiement.
Travaux pratiques
Réaliser la modélisation du déploiement : diagramme de composants et de déploiement.
Introduction aux fonctions avancées de l'outil
- Génération de code et "reverse engineering".
- Génération de la documentation.
- Réalisation de grands projets et utilisation collaborative.