Les Concepts UML

Download Report

Transcript Les Concepts UML

UML
Langage de Modélisation Objet Unifié
Cours HEI 2009-2010
ALTRAN Nord – TI
© Reproduction interdite
Sommaire
Le Concept Objet
Modéliser avec UML
Conceptes et principes
Les diagrammes
© Reproduction interdite
Le Concept Objet
Qu’est ce- qu’un Objet ?
Un Objet possède:
• État : Valeurs d’un objets à un moment donné (attributs)
• Identité :attribut distinguant l’objet
• Comportement : compétences (actions réactions)
VOITURE
Immatriculation
Marque
Modèle
Couleur
Se déplacer()
Démarrer()
Arrêter()
Exemple d’un objet (classe) voiture vu par son propriétaire
© Reproduction interdite
Le Concept Objet
Exemple
Un objet MONTGOLFIERE
Attributs:
•Altitude
•Poids
•Niveau de gaz
Opérations:
•Monter
•Descendre
•Crever
© Reproduction interdite
Le Concept Objet
Classe et instance
Un Objet est une Instance de Classe
MA VOITURE
VOITURE
Immatriculation
Marque
Modèle
Couleur
Se déplacer()
Démarrer()
Arrêter()
4321 ABC 59
Ford
Focus
Noire
Se déplacer()
Démarrer()
Arrêter()
Deux instanciations de la classe voiture
LA VOITURE
DE MA FEMME
6789 XY 59
Renault
Twingo
Verte
Se déplacer()
Démarrer()
Arrêter()
© Reproduction interdite
UML
Présentation générale de UML
• Pourquoi Modéliser ?
• Les terminologies UML
• Utilisation de UML dans le cycle Projet
© Reproduction interdite
Présentation de UML
Pourquoi modéliser ?
Modèle: abstraction de la réalité, pour :
• Faciliter la compréhension du système étudié
• Simuler le système étudié en vue d’en faciliter l’évolution
Nécessité d’un formalisme : UML
• Langage de modélisation fondé sur les concepts orientés objets
• UML n’est pas une méthodologie …
© Reproduction interdite
Présentation de UML
• UML permet de définir et visualiser un modèle, à l’aide de
diagrammes.
• Un diagramme UML est une représentation graphique, qui
représente une perspective particulière du modèle.
• Chaque diagramme possède une structure et une sémantique
précise.
• L’ensemble des diagrammes UML offrent une vue complète
des aspects statiques et dynamiques du système.
© Reproduction interdite
Présentation de UML
L’utilisation d’outils pour la modélisation:
• Faciliter la navigation entre les différentes vues
• Centraliser, organiser, partager, synchroniser et versionner
(processus itératif) les diagrammes
• Faciliter l’abstraction par des filtres visuels
• Simplifier la production de documentation
• Génération de code et rétro-engineering
© Reproduction interdite
Présentation de UML
Terminologie UML
RELATIONS
DIAGRAMMES
Dépendance
Association
Généralisation
De cas d’utilisation
De classes
D’objets
De séquence
De collaboration
D’états-transitions
D’activités
De composants
De déploiement
© Reproduction interdite
Présentation de UML
Utilisation de UML dans le cycle projet :
Une démarche
• Itérative et incrémentale
• Guidée par les besoins des utilisateurs finaux
• Centrée sur l’architecture logicielle
…vers un Processus Unifié (RUP)
© Reproduction interdite
Les Concepts UML
• Classe: attributs et opérations
• Associations et cardinalités
• Contraintes
© Reproduction interdite
Les Concepts UML
Classes
• Les attributs sont typés
• Les prototypes des
méthodes sont spécifiés
• Les niveaux de visibilités
sont renseignés
VOITURE
- Marque : string
- Modèle : string
- Couleur : entier
+ Se déplacer(départ : lieu; arrivée: lieu)
- Démarrer()
- Arrêter()
+ LireMarque(): string
+ EcrireMarque( param_marque: string)
+ LireModele(): string
+ EcrireModele( param_modele: string)
+ LireCouleur(): string
+ EcrireCouleur( param_couleur: entier)
© Reproduction interdite
Les Concepts UML
Les niveaux de visibilité :
• +
• #
• -
: élément public
: élément protégé
: élément privé
© Reproduction interdite
Les Concepts UML
Les associations
• Association: relation entre classes décrivant un ensemble de
liens
• Lien: connexion entre un ensemble d’objets. Un lien est une
instance d’association
• Association N-aire: association entre n classes
• Rôle : rôle joué par la classe dans une association
• Cardinalité: nombre d’éléments dans un lien
• Multiplicité: spécification des cardinalités d’une association
© Reproduction interdite
Les Concepts UML
La multiplicité des associations (cardinalités)
• La multiplicité indique le nombre d’instances d’une classe qui peuvent être
mises en relation avec une seule instance de la classe associée.
• Notations: min..max
• Exemples:
• 1
: obligatoire
• 0..1
: optionnel
• 0..* ou *
: plusieurs
• 1..*
: au moins 1
• 1..5, 12
: entre 1 et 5, ou 12
© Reproduction interdite
Les Concepts UML
Exemple de multiplicités : Le mariage
MARI
1
1
Est marié avec
EPOUSE
Rôles
mari
HOMME
0..1
épouse
FEMME
0..1
Cardinalités
HOMME
A été marié avec
0..*
0..*
FEMME
© Reproduction interdite
Les Concepts UML
Les relations de dépendance :
• Relation d ’utilisation unidirectionnelle et d ’obsolescence (une
modification de l ’élément dont on dépend peut nécessiter une mise à
jour de l ’élément dépendant)
Dépendance
FenêtreGraphique
EvènementSouris
© Reproduction interdite
Les Concepts UML
La Navigation :
• Permet d’indiquer qu’une seule classe « connaît » l’autre
Electeur
*
vote
0..1
Candidat
Association à navigabilité restreinte
© Reproduction interdite
Les Concepts UML
Les associations N-aire :
• Association qui relie plus de 2 classes
PROFESSEUR
1
1
SALLE
Symbole d’association (peut
souvent être promu au rang
de classe d’association)
1..*
ETUDIANT
© Reproduction interdite
Les Concepts UML
Les classes d’association :
• Classe qui réalise la navigation entre les instances d ’autres classes
• La classe d’association peut participer au modèle (on peut la spécialiser
par exemple)
PROFESSEUR
1
1
SALLE
1..*
ETUDIANT
COURS
Jour
HeureDebut
Durée
Classe d ’association
© Reproduction interdite
Les Concepts UML
Acteur et rôle
Un acteur :
• est une entité externe (ressource humaine, machine) agissant sur le
système
• consulte et modifie l’état du système
• Un acteur possède un rôle dans chaque cas d’utilisation sur lequel il
intervient
© Reproduction interdite
Les Concepts UML
Cas d’utilisation :
• Le cas d’utilisation (USE CASE) est un ensemble d’actions
réalisées par le système, en réponse à une sollicitation d’un
acteur.
• Le cas d’utilisation décrit plusieurs chemins d’exécution
possibles.
© Reproduction interdite
Les Concepts UML
Le scénario:
• Le scénario est une instance de cas d’utilisation.
• Les scénario principaux décrivent les cas nominaux (chemin
« normal » d’exécution)
• Les scénario secondaires décrivent les cas alternatifs (cas
exceptionnels ou cas d’erreur)
• Les scénario
• Guident l’analyse et la conception du système
• Justifient à posteriori les choix d’architecture
• Servent de support pour organiser les campagnes de test
© Reproduction interdite
Les Diagrammes
La Modélisation du comportement
Diagrammes de cas d'utilisation (use cases)
Description des besoins
La modélisation des états
Diagrammes États-Transitions (automates) :
Récupération du comportement dépendant de l’état
Diagrammes d’activité
Spécification de la logique comportementale
© Reproduction interdite
La Modélisation du Comportement
Acteur = entité externe agissant sur le système
(être humain, machine, autre système ou sous-système )
l’acteur peut consulter et/ou modifier l ’état du système
Use case = séquence d ’actions réalisées par le système
produisant un résultat observable à un acteur particulier
© Reproduction interdite
La Modélisation du Comportement
Identifier les cas d’utilisation
(« use cases »)
Les Use Cases permettent de reformuler les besoins et constituent un moyen de
communication très efficace entre les utilisateurs et les équipes de
développement
Un Use Case décrit le système du point de vue de son utilisation :
• Interactions entre le système et les acteurs
• Réactions du système aux événements externes
• Permet de développer un système orienté utilisateur
© Reproduction interdite
La Modélisation du Comportement
Décrire les use cases
Notation graphique
Nom de l’interaction
Nom du cas
d’utilisation
Nom Acteur
L’ exécution du Use Case est contrôlée par
des événements externes envoyés par les
acteurs au système
© Reproduction interdite
La Modélisation du Comportement
Décrire les use cases
Notation graphique
Use case 1
Use case 2
Les Use Cases peuvent être organisés
en « paquetages » (packages)
© Reproduction interdite
La Modélisation du Comportement
Décrire les use cases
Description textuelle
SOMMAIRE D’IDENTIFICATION
•
•
•
•
•
•
Titre : nom (et numéro)
Auteur :
Date de mise à jour :
Résumé : description sommaire
Contexte d’utilisation :
Acteurs :
DESCRIPTION DES ENCHAINEMENTS
•
•
•
Pré-conditions :
Description enchaînement :
Post-conditions :
Besoins d’IHM (optionnel)
Contraintes non fonctionnelles (optionnel)
•
Fréquence, volumétrie, concurrence, disponibilité, confidentialité, etc ...
© Reproduction interdite
La Modélisation du Comportement
Exemple:
a c te u r : p e rs o n n e o u c o m p o s a n t à
p a c k a g e : re g ro u p e d e s é lé m e n ts d e m o d é lis a tio n
l'o rig in e d 'u n e in te ra c tio n
a v e c le s y s tè m e
s u iv a n t d e s c ritè re s p u re m e n t lo g iq u e s .
re p ré s e n te ic i le m o d è le c o n c e p tu e l d u
s y s tè m e é tu d ié
d is trib u te u r d e b ille ts
n a tu re d e l'in te ra c tio n
C o n s u lte r s o ld e c o m p te
se
visuali
débite
le t e ch n icie n d e
m a in t e n a n ce é t e in d le
d ist rib u t e u r a va n t d e
ra vit a ille r le co f f re
re tire r d e l'a rg e n t
C lie n t
o n n e p e u t re t ire r d e
l'a rg e n t , q u e d a n s la
lim it e d u st o ck d u co f f re
d u d ist rib u t e u r
é te in d re / a llu m e r
le d is trib u te u r
te c h n ic ie n
ra v ita ille r le c o ffre
n o te :
d o c u m e n te u n
é lé m e n t d u m o d è le
c a s d 'u tilis a tio n : o b je c tif d u s y s tè m e , m o tiv é p a r u n b e s o in d 'u n o u
p lu s ie u rs a c te u rs .
P a r a b u s d e la n g a g e , d é s ig n e a u s s i u n s y s tè m e
(c -à -d u n g ro u p e d e c a s d 'u tilis a tio n )
© Reproduction interdite
La modélisation des états
Diagrammes États-Transitions (automates) :
Récupération du comportement dépendant de l’état
Diagrammes d’activité
Spécification de la logique comportementale
© Reproduction interdite
La Modélisation des états
Diagrammes États-Transitions
NOTATION de base
État de départ (obligatoire)
Événement [condition]
État 1
transition
État 2
État de fin
TRANSITION = relation entre deux états dont le passage d’un état
vers un autre est en général provoquée par un événement
© Reproduction interdite
La Modélisation des états
Diagrammes États-Transitions
NOTATION des états
État de départ (obligatoire)
État de fin
État 1
État intermédiaire
État x
Super-état : état qui englobe d’autres
états et transitions
After (2s)
État y
H
Symbole spécial historique : mémorise le dernier sousétat actif d'un super-état, pour y revenir directement
ultérieurement
© Reproduction interdite
La Modélisation des états
Diagrammes États-Transitions
Transition automatique (événement interne)
• Soit quand l’activité associée à l’état source est terminée
• Soit quand la condition de garde devient vraie
Transition conditionnelle
Etat1
[ condition]
Etat2
[else]
Etat3
© Reproduction interdite
La Modélisation des états
Diagrammes États-Transitions
Actions et activités
ACTION :
opération inintérruptible déclenchée par un événement
- lié à une transition
notation : événement / action (exemple : il pleut / ouvrir parapluie)
- lié à un état
entry / action : action exécutée à l'entrée de l'état
exit / action
: action exécutée à la sortie de l'état
on événement / action : action exécutée à chaque fois que l'événement survient
ACTIVITE :
opération interruptible dans la description de l’état
do / activité
: activité récurrente ou significative, exécutée dans l'état
© Reproduction interdite
La Modélisation des états
Diagrammes États-Transitions
Exemple:
A jo u t e r u n a u d it e u r[ C o m p t e u r < 5 ]
Déb ut
In it ia lis a t io n
d o : C o u rs in it ia l
O u ve rt
A jo u t e r u n a u d it e u r
/ Com pte ur = 0
A nnul er
e n t ry : A u d it e u r e n re g is t ré
e x it : C o m p t e u r in c ré m e n t é
A nnul er
[ Com pte ur = 5 ]
A nnul é
d o : N o t i fie r le s a u d it e u rs e n re g is t ré s
F e rm é
d o : F in a lis e r le c o u rs
A nnul er
F in
© Reproduction interdite
La Modélisation des états
Diagrammes d’activité
Caractéristiques
• Le diagramme d’activité est une variante du
diagramme d’état
• Les états représentent des activités
• Les transitions sont des transitions automatiques
• Le diagramme d’activité est plutôt rattaché à une
opération ou un use case qu’à une classe :
• Il décrit l’algorithmique d’une opération: séquence
d’étapes, avec représentation des décisions et de la
synchronisation des flots de contrôles
• Il est focalisé sur les traitements internes et non pas sur
la réception d’évènements externes
© Reproduction interdite
La Modélisation des états
Diagrammes d’activité
Couloirs d’activités
Pour mieux localiser les responsabilités des actions
Client
Vendeur
Commander
Régler
Stock
Commande
[saisie]
Prendre
commande
Exécuter
commande
Livrer
commande
Commande
[livrée]
© Reproduction interdite
Liens Internet
UML:
• http://uml.free.fr
• http://www.rational.com/uml
• http://www.omg.org
• http://www.jeckle.de
• http://www.cetus-links.org/oo_uml.html
Outils:
• http://www.microsoft.com/france/visio/
• http://www.objecteering.com
Modélisation objet:
• http://objectsbydesign.com
© Reproduction interdite
Des questions
© Reproduction interdite
ALTRAN Nord – TI
Altran Nord / Adventec
Parvis de Rotterdam
1606 Tour Lilleurope
Tél. : +33 (0)3 28 36 22 30
Fax. : +33 (0)3 28 36
22 45 interdite
© Reproduction