0% ont trouvé ce document utile (0 vote)
370 vues39 pages

Cours UML

Ce document présente le langage UML (Unified Modeling Language). Il décrit les différents types de logiciels, les critères de qualité du logiciel, les statistiques sur les erreurs dans le développement logiciel et l'intérêt d'UML. Le document présente également les concepts d'OMG, les diagrammes UML et les versions d'UML.

Transféré par

Sabah Kabbou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
370 vues39 pages

Cours UML

Ce document présente le langage UML (Unified Modeling Language). Il décrit les différents types de logiciels, les critères de qualité du logiciel, les statistiques sur les erreurs dans le développement logiciel et l'intérêt d'UML. Le document présente également les concepts d'OMG, les diagrammes UML et les versions d'UML.

Transféré par

Sabah Kabbou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UML

Unified Modelling Language

3ème Année : Filière Mécatronique

2011/2012
Younes Lakhrissi (ENSA Fès)
1

Plan

 Chapitre 1 : Contexte UML


 Chapitre 2 : Diagramme de cas d’
d’utilisation
 Chapitre 3 : Diagramme de classes
 Chapitre 4 : Diagramme de sé
séquence
 Chapitre 5 : Diagramme d’é
d’états
tats
 Chapitre 6 : Diagramme d’
d’activité
activité

Le langage UML – [ Y. Lakhrissi ] 2


Chapitre I
Contexte UML

Les catégories de logiciel (1/3)

 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

 2 - Logiciel de traitement de donné


données
 Ils stockent, recherchent, transforment et présentent l'information aux
utilisateurs
 Grandes quantités de données avec des corrélations complexes,
enregistrées dans les bases de données
 Largement utilisés en administration des affaires
 Fiabilité des résultats
 Sécurité dans l’accès aux données

Le langage UML – [ Y. Lakhrissi ] 4


Les catégories de logiciel (2/3)

 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

Le langage UML – [ Y. Lakhrissi ] 5

Les catégories de logiciel (3/3)

 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

 Validité : Conformité d'un logiciel avec sa spécification


 Robustesse : Capacité à fonctionner même dans des conditions anormales
 Extensibilité : Facilité d'adaptation à des changements de spécifications
 Réutilisabilité : Capacité à être réutilisé en tout ou partie dans une nouvelle
application
 Compatibilité : Facilité avec laquelle des composants logiciels peuvent être
combinés
 Efficacité : Utilisation optimale des ressources matérielles
 Portabilité : Facilité de transfert dans différents environnements
 Vérifiabilité : Facilité à valider ; bien structuré et modulaire
 Intégrité : Aptitude à protéger les codes et les données
 Facilité d'utilisation : Ergonomie, Facilité d'apprentissage, bien documenté

Le langage UML – [ Y. Lakhrissi ] 7

Quelques statistiques

 Étude du gouvernement amé


américain en 1979
 Logiciels payés mais jamais livrés 40%
 Logiciels livrés mais jamais utilisés 30%
 Logiciels utilisés après modification 25%
 Logiciels utilisés tel quel 5%

Part des erreurs

36%

erreurs de définition.
erreurs de codage
64%

Le langage UML – [ Y. Lakhrissi ] 8


Bilan

 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

Le langage UML – [ Y. Lakhrissi ] 9

OMG : Object Management Group

 Parlons les mêmes langages et partageons les mêmes technologies !


  Les standard de l’OMG : UML, XMI, CWM, CORBA, IDL, …

 Expression de contraintes sur les modè


modèles UML
  OMG-OCL

 Adaptabilité
Adaptabilité, extension d’
d’UML
  Profils UML

 Interopé
Interopérabilité
rabilité
  Méta-modélisation
  OMG-MDA

 Réutilisation des solutions


  Composants, l’architecture CORBA

Le langage UML – [ Y. Lakhrissi ] 10


UML
Unified Modelling Language
 Description
 Il est né en début de 1997 dans l'optique d'unifier les méthodes
d'analyse et de conception des systèmes.
 Consensus autour des méthodes existantes (OMT, OOSE, OOA/OOD)
 se définit comme le langage, standard, universel de modélisation
graphique et textuelle.
 Notation couvrant toutes les phases du cycle de vie logiciel
 Issu de la recherche de l’OMG
 L'OMG adopte en novembre 1997 UML 1.1 comme langage de
modélisation des systèmes d'information à objets.

 La version d'UML actuelle est UML 2.4 (janvier 2011) ;


 après UML 2.3 (mai 2010) ;

Le langage UML – [ Y. Lakhrissi ] 11

UML

 Diagrammes UML utilisables tout au long du projet


 analyse → conception → implantation

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

Le langage UML – [ Y. Lakhrissi ] 12


UML 2.4 (Janvier 2011)

Diagramme UML2

Diagramme structurel Diagramme comportemental

Diagramme de Diagramme Diagramme


Diagramme Diagramme de Diagramme cas d'utilisation d'activités d'états
de classes composants d'objets
Diagramme
Diagramme Diagramme de Diagramme de d'interaction
de packages déploiement structure composite

Diagramme de Diagramme de Diagramme Diagramme de


séquence communication de temps vue d'ensemble
des interactions

Le langage UML – [ Y. Lakhrissi ] 13

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

Le langage UML – [ Y. Lakhrissi ] 15

Cas d’utilisation - Exemple

 Gestion des voitures dans un garage spé


spécialisé
cialisé

Gérer les voitures

enregistrer
Client
ChefAgence
<<include>>

effectuer maintenance

Maintenicien

ResponsableAtelier
effectuer le test
proceder à l'expertise

Electricien Mecanicien réparer <<extend>>

Le langage UML – [ Y. Lakhrissi ] 16


Eléments du diagramme

 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.

 Relations entre les cas d’


d’utilisation et les acteurs

relation

Acteur Cas d ’utilisation

Le langage UML – [ Y. Lakhrissi ] 17

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

Acteur humain Client Acteur non humain

Le langage UML – [ Y. Lakhrissi ] 18


Cas d’utilisation

 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

Le langage UML – [ Y. Lakhrissi ] 19

Relations dans un diagramme de cas


d’utilisations
 Relation de communication :
 Entre un acteur et un cas d’utilisation: Exprime l’échange d’informations entre
l’acteur et le système.
Déclenche / participe UC
acteur

 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

Le langage UML – [ Y. Lakhrissi ] 20


Relation d’inclusion : exemple

Le langage UML – [ Y. Lakhrissi ] 21

Relation d’extension : Exemple

Le langage UML – [ Y. Lakhrissi ] 22


Exercice 1 : Le GAB
(Guichet Automatique Bancaire)
 Description des services offerts par le GAB :
 Distribution d'argent à tout porteur de carte bancaire via un lecteur de carte et un
distributeur de billets.
 Consultation de solde du compte, dépôt en numéraire (via un lecteur de billets) et
dépôt de chèques pour les porteurs de carte bancaire clients de la banque.
 Tous les retraits effectués par carte bancaire sont soumis aux contrôles du
Système d'Information de la Banque (SIB). Il est aussi nécessaire de recharger le
distributeur en argent liquide, de récupérer les chèques déposés et les cartes
avalées.

 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.

Le langage UML – [ Y. Lakhrissi ] 23

Solution

Porteur de CB retirer de l'argent

consulter le solde <<Actor >>


SIB

Client de la banque
déposer du numéraire recharger le distributeur

récupérer les cartes avalées

déposer des chèques

Opérateur de
récupérer les chèques déposés
maintenance

Le langage UML – [ Y. Lakhrissi ] 24


Affinement des cas d’utilisation

Le langage UML – [ Y. Lakhrissi ] 25

Affinement des cas d’utilisation

Le langage UML – [ Y. Lakhrissi ] 26


Exercice 2 : modélisation d’un magasin

 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.

Le langage UML – [ Y. Lakhrissi ] 27

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 *

Le langage UML – [ Y. Lakhrissi ] 29

Attributs

 Une classe peut contenir des attributs


Person
 La syntaxe d’un attribut est :
 visibilité nom : type
- name : string
+ firstName : string
 La visibilité est: # id : string
 ‘+’ pour public nbPerson : integer
 ‘#’ pour protected /completeName : string
 ‘-’ pour private

 UML définit ses propres types :


 Integer, real, string, boolean …

 Un attribut peut être un attribut de classe, il est alors souligné.


 Un attribut peut être dérivé, il est alors préfixé par le caractère ‘/’

Le langage UML – [ Y. Lakhrissi ] 30


Héritage

 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

Le langage UML – [ Y. Lakhrissi ] 31

Associations

 Les associations binaires connectent deux éléments entre eux.


 Une association binaire est composé
composée de deux associations ends.
ends.
 Une association end est paramé
paramétré
trée par :
 Un nom (le rôle joué par l’entité connectée)
 Une multiplicity (0, 1, *, 1..*, …)
 Un genre d’agrégation (composite, aggregation, none)
 Plusieurs propriétés: isNavigable, …

Person

members
Company Employee
1 *

Le langage UML – [ Y. Lakhrissi ] 32


Associations - Exemples

 Lecture des rôles :

héberge >
Université Etudiant

Université < Etudie dans Etudiant

 Lecture des cardinalité


cardinalités

suivi par suit


Etudiant Cours
* attends 0..8

Un cours est suivi par plusieurs Un étudiant suit des cours


étudiants (0 ou plusieurs). (de 0 jusqu’à 8 cours).

Le langage UML – [ Y. Lakhrissi ] 33

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 »

 Exemples de composition :  Exemples d’


d’agré
agrégation :
 Maison / chambres  Equipe de foot / joueurs
 Table / pieds  Classe / étudiants
 …  …

Le langage UML – [ Y. Lakhrissi ] 34


Composition Vs Agrégation

Composition

Ecole strcturéeEn Departement


1 1..*
1
Agrégation
forme
*
Etudiant

Salle Parent
Personne
1
*

Enfants *

* 1..2 *
Chaises tableau équipement <S'occupe de

Le langage UML – [ Y. Lakhrissi ] 35

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.

Professeur Etudiant Compagnie Employé


1..* 1..* 1 1..*

Travail
Cours
salaire : real
nb_heure : integer

 Autres exemples :
 Homme - Femme : mariage(date)
 Propriétaire - Locataire : ContratDeLocation(adresse, montant, date début, durée)

Le langage UML – [ Y. Lakhrissi ] 36


Associations N-aire

 Les associations N-aire connectent plusieurs éléments entre eux.


 Les associations N-aire sont très peu utilisées.
 A éviter si on peut la décomposer en associations binaires

Salle

lieu
Etudiant Cours Enseignant

Début
Fin

Le langage UML – [ Y. Lakhrissi ] 37

Diagramme de classes - Résumé

Le langage UML – [ Y. Lakhrissi ] 38


Exercice 1 - Associations

 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

passager <Transporte véhicule


personne véhicule
conducteur Conduit> véhicule

propriétaire Possède> véhicule

Le langage UML – [ Y. Lakhrissi ] 39

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).

Le langage UML – [ Y. Lakhrissi ] 40


Exercice 3

 Exprimer sous forme de diagramme de classes les relations


existantes entre les membres d’
d’une famille : pè
père, mè
mère et enfants

Le langage UML – [ Y. Lakhrissi ] 41

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.

Le langage UML – [ Y. Lakhrissi ] 43

Les objets

 Les objets manipulé


manipulés dans un diagramme de sé
séquence sont :
 soit des entités appartenant au système (instance d’une classe)
 soit des acteurs (utilisateurs du système)

 Ils sont identifié


identifiés par l’l’intermé
intermédiaire des cas d’
d’utilisation ou des
diagrammes de classe.
 Dans UML, les objets sont repré
représenté
sentés comme suit :

Le langage UML – [ Y. Lakhrissi ] 44


La ligne de vie

 Elle est repré


représenté
sentée par une ligne verticale en dessous des objets.
 Elle repré
représente la pé
période de temps durant laquelle l’l’objet “existe”
existe”.

 La ligne de vie d’
d’un objet dé
détruit se termine par une croix (X).

Le langage UML – [ Y. Lakhrissi ] 45

Messages : activation des objets

 Une période d’activité correspond au temps pendant lequel un objet


effectue une action directe ou indirecte.

 Repré
Représentation

Le langage UML – [ Y. Lakhrissi ] 46


Les messages
 Les objets communiquent en échangeant des messages représentés sous
forme de flèches.
 La dimension verticale représente l’écoulement du temps.
 Les messages sont étiquetés par le nom de l’opération ou du signal invoqué
 Il existe plusieurs types de messages :
 Message de création
 Message de destruction
 Message simple
 Valeur de retour
 Message synchrone
 Message asynchrone
 Réflexif
 …

Le langage UML – [ Y. Lakhrissi ] 47

Principaux types de messages

Le langage UML – [ Y. Lakhrissi ] 48


Types de messages - Résumé

Objet 1 Objet 2

message simple
message synchrone
message de création
Objet 3

message retour

message asynchrone

message réflexif

message de destruction

Le langage UML – [ Y. Lakhrissi ] 49

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.

Le langage UML – [ Y. Lakhrissi ] 50


Proposition de solution

Le langage UML – [ Y. Lakhrissi ] 51

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

 Exemple DET d'un citoyen

Le langage UML – [ Y. Lakhrissi ] 53

Comporte 2 types d'informations

 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…

Le langage UML – [ Y. Lakhrissi ] 54


Etat

 Un état se compose de plusieurs parties


 le nom
 l'activité attachée à cet état
 les actions réalisées pendant cet état

 Exemple

Le langage UML – [ Y. Lakhrissi ] 55

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

 Événement : provoque le changement d'état


 Garde : condition booléenne qui valide ou non le déclenchement d'une transition
 Action : opération réalisée lors du changement d'état

Inscription [paiement ok]/ dépôt dossier


Élève non inscrit Élève inscrit

Le langage UML – [ Y. Lakhrissi ] 56


Les actions d'une machine à états

 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")

Le langage UML – [ Y. Lakhrissi ] 57

Bilan

Le langage UML – [ Y. Lakhrissi ] 58


Exercice 1

 représenter les états possibles d’un lecteur audio sous forme d’un
diagramme d’états.

Le langage UML – [ Y. Lakhrissi ] 59

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

Embauche Perte d’emploi

En activité

Pas compétence UML Do:travailler()


Compétence UML > 60 ans
En formation
En retraite

Le langage UML – [ Y. Lakhrissi ] 60


Chapitre VI
Diagramme d’activité

61

Objectif

 Description des activités d’un cas d’utilisation ou d’une opération


 Une activité représente une exécution d'un mécanisme, un déroulement
d'étapes séquentielles.
 Exécution synchronisée : plusieurs activités en // avant de passer à
l’activité suivante

 C’est une variante du diagramme d’état

Le langage UML – [ Y. Lakhrissi ] 62


Nœud décisionnel

 Un nœud décisionnel est un nœud de contrôle permettant de choisir un


flux de sortie en fonction d’une expression booléenne

Demander achat

[Prix < somme disponible] [sinon]

Achat possible Achat refusé

Le langage UML – [ Y. Lakhrissi ] 63

Synchronisation

 Il est possible de synchroniser


les transitions à l'aide des barres
de synchronisation fork et join.
 Fork permet de scinder le flux
courant en plusieurs flux
concurrentiels

Le langage UML – [ Y. Lakhrissi ] 64


Exercice - année bissextile

 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

Le langage UML – [ Y. Lakhrissi ] 65

Solution - année bissextile


début

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

Le langage UML – [ Y. Lakhrissi ] 66


Activité et sous-activité

 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 langage UML – [ Y. Lakhrissi ] 67

Couloirs d’activité - Exemple 1

 Si deux activités s’exécutent dans deux objets banque compte


différents, elles sont représentées dans deux
couloirs d’activité différents
 Exemple : +add(compte:String,somme:int) dans Déterminer
Banque le compte

le compte existe

ajouter
la somme

couloir
d’activité
Le langage UML – [ Y. Lakhrissi ] 68
Couloirs d’activité – Exemple 2

Le langage UML – [ Y. Lakhrissi ] 69

Exercice - Un jeu de dés

 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.

 Identifier les cas d’


d’utilisations possibles du systè
système.
 Développer un diagramme d’
d’activité
activité pour ce jeu.

Le langage UML – [ Y. Lakhrissi ] 70


Solution - Un jeu de dés

 Use Cases

Play
Player

View High Score

Le langage UML – [ Y. Lakhrissi ] 71

Solution - Un jeu de dés

 Diagramme d’
d’activité
activité

menu

[highscore] [start] [exit]

view Start
Highscore turn=0

Roll
Dice
turn++
[true]

Turn<10

[false]
Update
highscore

Le langage UML – [ Y. Lakhrissi ] 72


Solution - Un jeu de dés

 Use Cases / Diagramme d’


d’activité
activité

menu

[highscore] [start] [exit]

view Start
Play Highscore turn=0
Player
Roll
Dice
turn++
View High Score [true]

Turn<10

[false]
Update
highscore

Le langage UML – [ Y. Lakhrissi ] 73

Bilan

74
UML 2.4 (Janvier 2011)

Diagramme UML2

Diagramme structurel Diagramme comportemental

Diagramme de Diagramme Diagramme


Diagramme Diagramme de Diagramme cas d'utilisation d'activités d'états
de classes composants d'objets
Diagramme
Diagramme Diagramme de Diagramme de d'interaction
de packages déploiement structure composite

Diagramme de Diagramme de Diagramme Diagramme de


séquence communication de temps vue d'ensemble
des interactions

Le langage UML – [ Y. Lakhrissi ] 75

UML - Bilan
Fonctionnel
3 axes de - Diagramme de Use Cases

modélisation - Diagramme d’activités


- Diagramme de séquence

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

Le langage UML – [ Y. Lakhrissi ] 76


UML

 Synthè
Synthèse

 La version d'UML actuelle est UML 2.4 (jan 2011)

 Les travaux d'amélioration d’UML se poursuivent !

Le langage UML – [ Y. Lakhrissi ] 77

Vous aimerez peut-être aussi