Cours 1
Cours 1
Cours 1
Site : http://uml.free.fr
UML 1
Plan
► Introduction
► Modéliser avec UML
► Diagrammes de cas d’utilisation
► Diagrammes de classes
► Diagrammes d’objets
► Diagrammes de séquence
► Diagrammes de collaboration
► Diagrammes d’états/transition
► Autres diagrammes
UML
2
Introduction
► Les systèmes deviennent de plus en plus complexes et
dépassent la compréhension et la maîtrise par un seul
individu. Le recours à un modèle conceptuel s’avère
indispensable
► Un modèle est une représentation abstraite d’un
système, qui facilite l’étude et la communication entre
intervenants au sein d’un projet
► Il est utilisé et progressivement enrichi dans toutes les
étapes d’un projet : spécification, analyse, conception,
test, intégration et rétro-ingénierie
► UML (Unified Modeling Language) est le standard
industriel de modélisation orientée objet
UML
3
Objectifs poursuivis
► Représenter des systèmes entiers (au-delà
du seul logiciel) par des concepts objets
► Créer un langage de modélisation utilisable
par les humains et les machines
► Établir un couplage explicite entre les
concepts et les produits exécutables
UML
4
Rappel sur les objets
► Un objet est une entité aux frontières précises
Il est identifié (avec un nom)
Il est insécable (il doit être complet)
► Un ensemble d'attributs caractérise son état
Son état peut agir sur l’état d’autres objets
► Un ensemble de méthodes (d'opérations)
définissent son comportement
► Un objet est une instance de classe (une
occurrence d'un type abstrait)
UML
5
Notions fondamentales
► la notion d’objet et de classe (d'objets)
► L’ encapsulation (les interfaces des objets)
► L’ héritage (les hiérarchies d'objets)
► L’ agrégation (la construction d'objets à l'aide
d'objets)
► + autres mécanismes fournis par les langages
orientés objet, favorisant la généricité du code ou
améliorent sa robustesse.
UML
6
Approche objet
► Un ensemble de concepts stables, éprouvés et
normalisés
► Une solution destinée à faciliter l'évolution
d'applications complexes
► Une panoplie d'outils et de langages performants
pour le développement
UML
7
Limites
► L'approche objet est moins intuitive que l'approche
fonctionnelle !
Quels moyens utiliser pour faciliter l'analyse objet ?
Quels critères identifient une conception objet
pertinente ?
Comment comparer deux solutions de découpe objet
d'un système ?
► L'application
des concepts objets nécessite une
grande rigueur !
Le vocabulaire est précis (risques d'ambiguïtés,
d'incompréhensions).
Comment décrire la structure objet d'un système de
manière pertinente ?
UML
8
Solution
► Un langage pour exprimer les concepts objet qu'on utilise, afin
de pouvoir :
Représenter des concepts abstraits (graphiquement par exemple)
Limiter les ambiguïtés (parler un langage commun)
Faciliter l'analyse (simplifier la comparaison et l'évaluation de solutions)
UML
9
Les points forts d’UML
► UML est un langage formel et normalisé
gain de précision
gage de stabilité
encourage l'utilisation d'outils
UML
11
Modèles et modélisation
► Modéliser : comprendre et représenter
UML
12
Exemple de modèles
► Modèle météorologique :
à partir de données (nuage, vents, pression
atmosphérique…), permet de prévoir les conditions
climatiques pour les jours à venir
► Modèle économique :
à partir d'hypothèses macro-économiques (évolution du
chômage, taux de croissance...), permet de simuler
l'évolution de cours boursiers
► Modèle démographique :
définit la composition d'un panel d'une population et son
comportement, dans le but d'augmenter l'impact de
démarches commerciales, etc...
UML
13
Caractéristiques des modèles
► Lecaractère abstrait d'un modèle doit notamment
permettre :
de faciliter la compréhension du système étudié
► Un modèle réduit la complexité du système étudié.
de simuler le système étudié
► Unmodèle représente le système étudié et reproduit ses
comportements
UML
15
Démarche itérative et incrémentale
► Pour modéliser un système complexe, il vaut
mieux s'y prendre en plusieurs fois, en affinant
son analyse par étapes
► Cette démarche devrait aussi s'appliquer au cycle
de développement dans son ensemble, en
favorisant le prototypage
► Le but est de mieux maîtriser la part d'inconnu et
d'incertitudes qui caractérisent les systèmes
complexes
UML
16
Une démarche pilotée par les
besoins des utilisateurs
► Ce sont les utilisateurs qui guident la définition des
modèles :
Le système à modéliser est défini par les besoins des utilisateurs
(les utilisateurs sont les clients du système)
UML
17
Rédiger un modèle avec UML
► UML permet de définir et de visualiser un modèle, à l'aide de diagrammes
► Chaque type de diagramme UML possède une structure (les types des
éléments de modélisation qui le composent sont prédéfinis)
► Par extension et abus de langage, un diagramme UML est aussi un modèle (un
diagramme modélise un aspect du modèle global)
UML
18
Diagrammes
► 5 vues statiques du système :
diagrammes de cas d'utilisation (Fonctionnel)
diagrammes de classes
diagrammes d'objets
diagrammes de composants
diagrammes de déploiement
UML
19
Diagrammes de cas d’utilisation
UML
20
Use case diagrams
► Expression du comportement du système (actions et
réactions), selon le point de vue de l’utilisateur
► Décrivent le système et les relations entre le système et
l’environnement
► Intérêts:
Permettent de délimiter les frontières du système
Constituent un moyen d’exprimer les besoins d’un système
Utilisés par les utilisateurs finaux pour exprimer leurs attentes et
leurs besoins
Permettent d’impliquer les utilisateurs dès les premiers stades du
développement
Constituent une base pour les tests fonctionnels
UML
21
Convention graphique
UML
22
Éléments de base
► Acteur : entité (personne ou système) externe qui
interagit avec un système considéré, en échangeant de
l’information (entrée/sortie)
L'acteur peut consulter ou modifier l'état du système.
En réponse à l'action d'un acteur, le système fournit un service
qui correspond à son besoin.
Les acteurs peuvent être classés (hiérarchisés).
UML
24
Relations entre cas d’utilisation
► Relation d’utilisation : <<include>>
Le cas d’utilisation contient un autre cas
d’utilisation
► Relation d’extension : <<extend>>
Le cas d’utilisation étend (précise) les objectifs
(le comportement) d’un autre un autre cas
d’utilisation
UML
25
Exemple
Client distant
<<extend>>
Virement
Client <<include>>
<<include>>
UML
26
Collaboration
► Interactionentre objets, dont le but est de
répondre à un besoin d'un utilisateur
(réaliser un objectif du système)
Vente Vente
véhicule « réalise » véhicule
UML
28