Cours du Master PISE
[Link]@[Link]
[Link]
©2017
1
Note
• ce support a été établi à partir des ouvrages :
• de Pierre-Alain Muller (Modélisation UML)
• de Pascal Roques (UML en action, UML par la
pratique)
• des supports :
• de Colette Johnen (Université Bordeaux - LabRI)
UML ?
• Un langage de modélisation
• simple
• qui limite les ambiguïtés
• indépendant des langages d’implémentation
3
Un diagramme UML
4
• UML
• est une notation issue de la fusion de notations
plus anciennes
• BOOCH, OMT, OOSE
• n’est pas une méthode, c’est juste une notation
5
• Méthode
• ensemble de règles guidant un processus de
production
6
• Production d’un système informatique, trois phases
• analyse
• ici on modélise
• réalisation
• ici on programme
• livraison
• ici on empaquète
7
• La modélisation nécessite de passer d’un cahier
des charges à une spécification nettement plus/
mieux formalisée
• Nécessité de fixer un langage pour représenter
le modèle
• UML est un langage (graphique) de
modélisation
8
• Première normalisation : UML 1.1 (1997)
• UML 2.0 (2004)
• Aujourd’hui UML 2.4.1 (08/2011) (Formal) /
UML 2.5 (12/2013) (Adopted)
• spécification publique (UML est décrit en UML)
• œuvre commune de l’[Link]
9
• Toute construction
• nécessite de clarifier l’articulation entre les
structures
• suite itérée de décompositions - compositions
• On décompose pour comprendre
• On compose pour construire
10
• UML encourage l’approche « objet »
• Un objet est une abstraction du monde réel
• L’approche objet a pour but de mettre en
correspondance l’espace du problème avec
l’espace de la solution
• pas de trop grande distance, sinon difficultés…
11
• La modélisation se focalise habituellement sur différents
aspects selon trois axes (identification et description) :
• fonctionnel
• utilisation
• statique
• structure
• dynamique
• évolution
12
• repose sur les 4+1 vues de Kruchten
• il y a 5 façons importantes de «voir» un système
• L’axe fonctionnel :
• diagrammes de cas d’utilisation
• diagrammes de séquence
• diagrammes d’activité
• Diagramme de cas d’utilisation :
• L’axe statique :
• diagramme de classes
• diagramme de packages
• diagramme d’objets
• diagramme de structure
• diagramme de déploiement
• Diagramme de classes :
• Diagramme de packages :
• Diagrammes d’objets :
• Diagramme de structure :
• L’axe dynamique
• diagrammes d’états
• diagrammes d’activités
• diagrammes de séquences
• diagrammes de communication
• Diagramme d’états :
• Diagramme d’activités :
• Diagramme de séquence :
Les diagrammes UML
• UML repose donc sur la représentation en
diagrammes
• diagrammes structurels ou statiques
• diagrammes comportementaux
• diagrammes d’interactions ou dynamiques
• diagrammes de structure :
• classes, les concepts qui interviennent dans le système
• objets, les objets instances de classes
• composants, le point de vue «physique»
• déploiement, les «matériels» et la répartition des «logiciels»
• paquetages, le regroupement logique d’éléments
• structures composite
• profils
• diagrammes comportementaux :
• cas d’utilisation, identifie les relations entre le
système et l’extérieur
• états-transitions, automate décrivant un
comportement
• activités, flux de comportements
• diagrammes d’interactions :
• séquences, enchaînement de traitements ou
interactions
• communications, protocole entre composants
• interactions globales, enchaînements de
séquences
• temporels, variations temporisées
• La représentation UML des catégories de
diagrammes UML!
Modèle fonctionnel
Acteur
• Entité externe qui agit avec le système à décrire
• Humain
• Système externe
•
Acteur :
Pa
sh
um
ain
Hu
ma
in
Diagramme de cas
• Ce diagramme fait apparaître les liens entre les
acteurs et les cas
• Il est effectué par un recensement des exigences
• Diagramme de cas :
• Un exemple :
• Diagramme de contexte statique (pas un
diagramme officiel mais très utile) :
• vue simplifiée permettant de lister les acteurs
• Spécialisation d’acteurs
• un Client de la banque est un Porteur de carte
est-un
• Diagramme de cas :
• Diagramme de cas :
• Acteurs secondaires :
• Distinguer les cas pour lever les ambigüités :
Fragments…
Séquence
• décrit un scénario particulier entre composants
• proche d’un diagramme temporel
• enrichi…
Activité
• décrit un scénario du système (sans préciser
quelles entités sont impliquées)
• très proche d’un organigramme
• Diagramme d’activité :
Diagramme complet
• Un diagramme plus complet…
• inclusion, extension des cas
• le diagramme
complet est
complexe
• et pourtant le
système est
simple!
• d’où la
structuration en
paquetages…
• Paquetages :
• Cas pour les opérations
non client