Cours UML
Cours UML
2011/2012
Younes Lakhrissi (ENSA Fès)
1
Plan
1 - Logiciel à temps ré
réel
Réaction immédiate requise
Systèmes de contrôle et de surveillance
Manipulent et contrôlent le matériel technique
Environnement contraignant
3 - Embarqué
Embarqués
Systèmes exécutés dans du matériel électronique isolé
machine à laver, télévision, lecteur DVD, téléphone mobile,
magnétoscope, four à micro-ondes, réfrigérateur, joueur MP3, ...
Difficile à modifier
4 - Les systè
systèmes distribué
distribués
Synchronisent la transmission, assurent l’intégrité des données et la
sécurité, ...
Technologies utilisées
CORBA, DOM/DCOM/.NET, SOAP, EJB, …
5 - Les systè
systèmes de maté
matériel
Systèmes d'exploitation, exécutions de matériel de bas niveau
6 - Les systè
systèmes d'entreprise
Décrivent les buts, les ressources, les règles et le travail réel dans une
entreprise
7 - Sur mesure
Pour un client spécifique
8 - Générique
Vendu sur le marché
• un tableur, un outil de base de données
• un outil de traitement de texte
•…
9-…
Le langage UML – [ Y. Lakhrissi ] 6
Les critères de qualité du logiciel
Quelques statistiques
36%
erreurs de définition.
erreurs de codage
64%
Complexité
Complexité des logiciels à développer:
La problématique du domaine
Le processus de développement
Besoins fonctionnels en augmentation
Besoins techniques en augmentation
Nombreux intervenants
Besoin de modé
modéliser, de comprendre, d’
d’abstraire, de dé
détailler …
Besoin d’
d’unifier les efforts
Besoin d’
d’unifier les langage pour mieux communiquer
Adaptabilité
Adaptabilité, extension d’
d’UML
Profils UML
Interopé
Interopérabilité
rabilité
Méta-modélisation
OMG-MDA
UML
la structuration les
des objets composants
Vue logique Vue logiciels
statique implantation
Diagrammes
classes, objets, Diagrammes
collaborations, composants
les fonctions Vue externe
du systè
système cas
d’utilisation
Vue logique Vue
dynamique déploiement
la dynamique l’architecture
des objets Diagrammes Diagrammes physique
états, activités, déploiement
séquences
Diagramme UML2
Chapitre II
Diagramme des cas d’utilisation
14
Diagramme Use Cases
Description
Le premier diagramme à développer lors d’une modélisation UML
Décrit le système du point de vue de l’utilisateur
Permet de classer les acteurs et de structurer les objectifs du système.
Fixe le périmètre entre le système et son environnement
Permet d'identifier les fonctionnalités que doit fournir le système
Permet de structurer les besoins des utilisateurs et les objectifs
correspondants d'un système.
En ré
résumé
sumé … deux points essentiels à retenir :
Identifie les fonctionnalités que doit fournir le système
Identifie les acteurs interagissant avec le système, ainsi que leurs
besoins
enregistrer
Client
ChefAgence
<<include>>
effectuer maintenance
Maintenicien
ResponsableAtelier
effectuer le test
proceder à l'expertise
Acteur
Un rôle joué par une personne, ou un service, qui interagit avec le
système étudié.
Cas d’
d’utilisation
Image d’une fonctionnalité attendue, déclenchée en réponse à la
stimulation d’un acteur.
relation
Les acteurs
Définitions :
Rôle joué par une entité externe en interaction avec le système étudié.
Nature physique d’un acteur :
acteurs humains directs.
acteurs non humains : un autre système.
Nature logique d’un acteur :
Acteur primaire : acteur responsable du déclenchement de l’activité, et pour
lequel le cas d’utilisation produit un résultat observable.
Acteur secondaire : acteur qui participe à l’activité, sollicité pour des
informations complémentaires.
Représentation :
<<actor>>
SI banque
Définitions :
Les UC spécifient les besoins d’un système.
Un UC modélise une fonctionnalité du système.
Un UC correspond à un service visible à l’utilisateur.
Un UC est stimulé par un acteur.
Repré
Représentation
<<actor>>
Acteur non
Cas d’utilisation 1 Humain
Cas d’utilisation 2
Acteur 1
Acteur 2
Relation d’
d’inclusion :
Entre deux cas d ’utilisation: Exprime que le cas d’utilisation source comprend
également le comportement décrit par le cas d’utilisation cible (utile pour la
factorisation de cas).
« include »
UC 1 UC 2
Relation d’
d’extension :
Entre deux cas d’utilisation: Exprime que le cas d’utilisation source étend le
comportement du cas d’utilisation cible
« extend »
UC 1 UC 2
A faire
Identifier les acteurs ;
Identifier les cas d’utilisations ;
Construire le diagramme des cas d’utilisations;
Détailler et organiser les cas d’utilisation en ajoutant des relations d’inclusion
et/ou d’extension.
Solution
Client de la banque
déposer du numéraire recharger le distributeur
Opérateur de
récupérer les chèques déposés
maintenance
Le client entre dans le magasin, passe dans les rayons, prend des
articles (ou les réserve si le stock est insuffisant) ;
Il demande éventuellement des renseignements ou procède à des
essais ;
Il passe à la caisse où il règle ses achats ;
Il peut bénéficier d’une réduction ou d’un avoir ;
Il peut régler en liquide, par chèque (pour un montant supérieur à 15
euros, ou par carte pour un montant supérieur à 13 euros) ;
Une livraison est possible pour les achats encombrants.
Chapitre III
Diagramme de classes
28
Diagramme de Classes
Définitions :
Un diagramme de classes est un graphe d’éléments connectés par des relations.
Un diagramme de classes est une vue graphique de la structure statique d’un
système.
Une classe représente la structure commune d’un ensemble d’objets.
Une classe est représentée par un rectangle qui contient une chaîne de
caractères correspondant au nom de la classe.
Ce rectangle peut être séparé en trois parties (nom, attributs, opérations).
Le nom de la classe doit commencer par un caractère alphabétique et ne doit
pas contenir le caractère ‘::’
Person
Exemple :
members
Company Employee
0..1 *
Attributs
Définition
L’héritage est une relation entre un élément général et un élément plus
spécifique. L’héritage existe entre des classes, des packages, des
UC…
L’héritage multiple est possible en UML.
Animal
FormeGeometrique
Carnivore Herbivore
Rectangle Cercle
Lion Mouton Lapin
Associations
Person
members
Company Employee
1 *
héberge >
Université Etudiant
Composition Vs Agrégation
Agré
Agrégation
Association entre une classe de type « ensemble » avec plusieurs classes
de type « éléments »
Elle exprime une relation de propriété.
Composition :
Agrégation avec une contrainte de durée de vie
La suppression de la classe « composé » implique la suppression des
classes « composant »
Composition
Salle Parent
Personne
1
*
Enfants *
* 1..2 *
Chaises tableau équipement <S'occupe de
Classes-Associations
Une classe-association est une association qui est aussi une classe.
Les classes-associations sont utilisées lorsque les associations doivent porter des
informations.
Il est toujours possible de se passer des classes-associations.
Travail
Cours
salaire : real
nb_heure : integer
Autres exemples :
Homme - Femme : mariage(date)
Propriétaire - Locataire : ContratDeLocation(adresse, montant, date début, durée)
Salle
lieu
Etudiant Cours Enseignant
Début
Fin
Spé
Spécification :
Soit deux classes : personne et véhicule.
Exprimer le fait qu’une personne peut posséder un véhicule, le conduire
ou être un simple passager.
Solution
Exercice 2
Repré
Représenter par un diagramme de classes le systè
système de gestion de
fichiers suivant (vu par un utilisateur) :
les fichiers, les raccourcis et les répertoires (sauf la racine) sont
contenus dans des répertoires et possèdent un nom ;
un raccourci peut concerner un fichier, un répertoire ou un autre
raccourci ;
au sein d’un répertoire donné, un nom ne peut identifier qu’un seul
élément (fichier, sous-répertoire ou raccourci).
Chapitre IV
Diagramme de séquence
42
Diagramme de séquences
Définition :
Illustration des cas d’utilisation
Description de l’ordre des interactions entre les objets qui composent le
système pour accomplir une tache.
Représentation se concentrant sur la séquence des interactions d’un
point de vue temporel.
Adaptés à la modélisation des aspects dynamiques des systèmes
temps réels et des scénarios complexes mettant en œuvre peu d’objets.
Remarque :
Une interaction se traduit par un envoi de message entre objets.
Les objets
La ligne de vie d’
d’un objet dé
détruit se termine par une croix (X).
Repré
Représentation
Objet 1 Objet 2
message simple
message synchrone
message de création
Objet 3
message retour
message asynchrone
message réflexif
message de destruction
Exercice 1
Spé
Spécification :
On souhaite modéliser l'envoi, par un enseignant, des notes d'une classe
d'étudiants à l'administration
L’administration effectue un traitement sur ces notes.
3 listes sont générées : « Validés », « NonValidés », « Rattrapage »
Si la note de l’étudiant est sup à 10 : l’étudiant est ajouté dans la liste
« Validés »
Si la note de l’étudiant est inférieure à 6 : l’étudiant est ajouté dans la liste
« NonValidés »
Sinon l’étudiant est ajouté dans la liste « Rattrapage »
A faire :
Identifier les objets nécessaires à la réalisation de ce scénario.
Créer le D.S qui représente le déroulement de ce scénario.
Chapitre V
Diagramme d’états-transitions
52
Objectif
Définition
Vue synthétique du fonctionnement dynamique d'un objet
Décrit le comportement d'un objet tout au long de son cycle de vie
Décrit tous les états possibles d'un unique objet à travers l'ensemble
des cas d'utilisation dans lequel il est impliqué
On ne s'intéresse qu'aux objets qui ont un comportement complexe
Des états
Initial (1 et 1 seul)
Final (aucun ou plusieurs possibles)
intermédiaires ex : mineur et majeur
Des transitions
induisant un changement d'état
ex : naissance, anniversaire…
Exemple
Transition
Définition
passage unidirectionnel et instantané d’un état (source) dans un autre état (cible)
Déclenché
clenchée
Par un événement
Automatiquement à la fin d'une activité (transition automatique)
Syntaxe
Evénement [garde] / action
État 1 État 2
Opé
Opération qui né
nécessite un certain temps d’
d’exé
exécution
Peut être interrompue à chaque instant
Associé
Associée à un état (é
(état "en train de faire ceci")
Bilan
représenter les états possibles d’un lecteur audio sous forme d’un
diagramme d’états.
Exercice 2
Modé
Modéliser les diffé
différents états d’
d’une personne en relation avec son
activité
activité.
Voici quelques indices : au chômage, en activité, en retraite si age>60,
en recherche d’emploi, perte d’emploi, en formation si il n’a pas la
compétence pour exercer son travail, …
Au chomage
En activité
61
Objectif
Demander achat
Synchronisation
Les anné
années bissextiles sont identifié
identifiées par les dé
définitions suivantes :
soit divisibles par 4 mais non divisibles par 100
soit divisibles par 400.
Exemples :
Ainsi, 2011 n'est pas bissextile.
L'an 2008 était bissextile suivant la première règle.
L'an 1900 n'était pas bissextile, car divisible par 100,et non divisible par 400.
L'an 2000 était bissextile car divisible par 400.
Développer un diagramme d’
d’activité
activité qui dé
détermine si une anné
année est
bissextile ou non
r = a mod 400
r=0
r≠0
r = a mod 100
branchement r≠0
r=0
r = a mod 4 activité
r≠0 r=0
transition
a n’est pas bissextile a est bissextile
fusion
fin
Une activité
activité peut être complexe et composé
composée d’
d’une sé
série de sous-
sous-
activité
activités.
Exemple :
∆=b2-4ac
∆≠0 ∆=0
∆<0 ∆>0
Résolution de
l’équation du
second degré s=∅ s=(-b-sqrt(∆))/(2a) s=-b/(2a)
s=(-b+sqrt(∆))/(2a)
le compte existe
ajouter
la somme
couloir
d’activité
Le langage UML – [ Y. Lakhrissi ] 68
Couloirs d’activité – Exemple 2
Description :
Le joueur lance 10x2 dés
Si le total fait 7, il marque 10 points à son score
En fin de partie, son score est inscrit dans le tableau des scores.
Use Cases
Play
Player
Diagramme d’
d’activité
activité
menu
view Start
Highscore turn=0
Roll
Dice
turn++
[true]
Turn<10
[false]
Update
highscore
menu
view Start
Play Highscore turn=0
Player
Roll
Dice
turn++
View High Score [true]
Turn<10
[false]
Update
highscore
Bilan
74
UML 2.4 (Janvier 2011)
Diagramme UML2
UML - Bilan
Fonctionnel
3 axes de - Diagramme de Use Cases
Statique Dynamique
- Diagramme de Classes - Diagramme d’états
- Diagramme d’objets - Diagramme d’activités
- Diagramme de composants - Diagramme de séquence
- Diagramme de déploiement - Diagramme de communication
Synthè
Synthèse