Académique Documents
Professionnel Documents
Culture Documents
Pourquoi UML
Pourquoi Modéliser
Pourquoi modéliser ?
Modèle
Une simplification de la réalité.
Une abstraction centrée sur la représentation conceptuelle et physique d’un système.
ABSTRACTION
Système réel Modèle
Diagramme
Support graphique de modélisation, chaque diagramme propose un point de vue différent.
mise en œuvre d’un ensemble d’éléments de visualisation représentant des éléments de
modélisation (graphe)
UML -Unified Modeling Language
Définition
UML est un langage de modélisation orienté objet standard qui permet de représenter
(de manière graphique) et de communiquer les divers aspects d’un système informatique.
●
UML n'est pas une méthode de conception et pas un langage de programmation
1995 :
UML 0.8 (intégrant la méthode Booch)
UML 0.9 (intégrant les méthodes OOSE et OMT)
1996 : UML 1.0 proposé à l’OMG
1997 : UML 1.0 standardisé par l’OMG
1998 : UML 1.2
1999 : UML 1.3
2000 : UML 1.4
2003 : UML 1.5 puis UML 2.0
3
Outils de modélisation UML
4
Diagrammes d’UML
Vue des cas d'utilisation -------------------> vue des acteurs (besoins attendus)
Définition
Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système.
Eléments constitutifs :
Acteurs
Cas d’utilisation
l’interaction entre l’acteur et le cas d’utilisation.
Les concepts de base
Acteur
Un acteur représente un rôle joué par une entité extérieure
au système étudié et qui interagit avec celui-ci.
représente un ensemble cohérent de rôles qu’un utilisateur
Nom de l’Acteur
peut effectuer.
Catégories:
Acteurs principaux : personnes utilisant le système (ie. l’initiative des échanges nécessaires
pour réaliser le cas d’utilisation)
Acteurs secondaires: qui administrent le système (paramètrent le système en lui
fournissant les informations nécessaires )
Types:
Matériel externe: dispositifs matériels faisant partie du domaine de l’application (ex.
imprimante, scanner, etc.)
Autres systèmes (ex. serveur Web, système de contrôle d’accès, etc.)
Les concepts de base
Remarques :
Pour identifier les acteurs, il faut classer les utilisateurs par catégories et chacune d’elles
correspond à un rôle joué par un acteur
Plusieurs personnes peuvent jouer le même rôle, ils correspondent dans ce cas à un seul acteur
Une même personne peut jouer différents rôles, elle correspond dans ce cas à plusieurs acteurs
Les concepts de base
Cas d’utilisation
Ensemble cohérent de fonctionnalités fournies par le système ou un Nom Cas d’utilisation
sous-système en réponse à une action de l’utilisateur. Ce ci se
traduit par l’échange de messages entre le système et les acteurs.
Les cas d’utilisation
Relations/Interactions
Les acteurs sont reliés aux cas d’utilisation qu’ils peuvent
déclencher Cas d’utilisation
Le trait représente des données qui sont échangées entre
l’utilisateur et le système Acteur
Schéma général
Remarques :
Les cas d’utilisation peuvent être contenus dans un cadre qui représente les limites du
système. Le nom du système figure à l’intérieur du cadre, en haut. Les acteurs sont alors forcément
à l’extérieur du cadre puisqu’ils ne font pas partie du système.
Par convention et dans la mesure du possible ; Les acteurs principaux sont situés à gauche
du cas d'utilisation. Les acteurs secondaires sont situés à droite du cas d'utilisation.
Acteur principal
Nom du système Système
C.U. 1
Acteur secondaires
C.U. 2
Traiter une
commande
Commander
un produit
Préparer une
facture
Payer une Fournisseur
Client
facture
Livrer un
produit
Etudiant
un acteur A est une généralisation d'un acteur B si l'acteur A peut
être substitué par l'acteur B.
Responsable du groupe
Relation entre les acteurs Le directeur des ventes est un préposé aux commandes
avec un pouvoir supplémentaire : en plus de pouvoir passer
et suivre une commande, il peut gérer le stock. Par contre,
le préposé aux commandes ne peut pas gérer le stock.
Préposé aux
Préposé aux commandes
Suivre une commande Suivre une commande
commandes
Directeur
Directeur des ventes
des ventes
Relations entre les cas d’utilisation
Relation d’inclusion
Une instance du d’utilisation cas A inclut le
comportement décrit par le cas d’utilisation B
(dans le sens de la flèche ) << includes >>
A B
B est une partie obligatoire de A
Relation d’extension
Une relation d'extension entre cas d'utilisation signifie que le cas d'utilisation source étend le
comportement du cas d'utilisation destination.
Elle est représentée par une flèche en traits pointillés et par le mot clé « étend » (ou « extend »
en anglais) placé à proximité de cette flèche.
L’extension peut intervenir à un point précis du cas étendu. Ce point s’appelle le point
d’extension. Il porte un nom, qui figure dans un compartiment du cas étendu sous la rubrique
point d’extension, et est éventuellement associé à une contrainte indiquant le moment où
l’extension intervient. L’extension peut être soumise à une condition. Graphiquement, la
condition est exprimée sous la forme d’une note.
Une contrainte définit des propositions devant être maintenues à vraies pour garantir la validité
du système modélisé. On représente une contrainte sous la forme d'une chaîne de texte placée
entre accolades { }.
Une note en UML est une annotation qui peut concerner n’importe quel élément UML. Une note
contient une information textuelle comme un commentaire, un corps de méthode ou une
contrainte. Graphiquement, elle est représentée par un rectangle dont l'angle supérieur droit est
plié. Une note n'indique pas explicitement le type d'élément qu'elle contient, toute l'intelligibilité
d'une note doit être contenue dans le texte même. On peut relier une note à l'élément qu'elle
décrit grâce à une ligne en pointillés
Relations entre les cas d’utilisation
Relation de généralisation
Rechercher par
nom
Rechercher
fournisseur
Rechercher par
Client
ville
Relations entre les cas d’utilisation
Rubrique optionnelle
Contraintes non fonctionnelles : Confidentialité: les informations concernant le client ne doivent pas être divulgués
Contraintes liées à l’interface homme-machine : Toujours demander la validation de la part du client
DIAGRAMME DE
CLASSE
Diagramme de classe
Définition
Ce diagramme représente la description statique du système en intégrant dans chaque
classe la partie dédiée aux données et celle consacrée aux traitements.
Rappel
Nom de la
classe
Cardinalités
Etudiant Formation
+ Matricule + IDformation
+ Nom + Filière
+ Prénom * Suivre 1 + Cycledeformation
Public − Datenaissance + Année
− Lieunaissance + Université
+ Modifier (…)
Privé
+ Age(…)
Attributs
Méthodes Association
Les concepts de base
Une association entre classes représente les liens qui existent entre les instances de ces classes
Une association peut être identifiée par son nom.
Il est possible d’exprimer les multiplicités (cardinalités) sur le lien d’association.
La multiplicité indique un domaine de valeurs pour préciser le nombre d’instance d’une
classe vis-à-vis d’une autre classe pour une association donnée.
1 Un et un seul
Notation des multiplicités d’association :
0..1 Zéro ou 1
N N (entier naturel)
Dans cet exemple, une personne travaille pour une et une seule entreprise.
L’entreprise emploie au moins une personne.
L’entreprise est l’employeur des personnes qui travaillent pour elle et une
personne a un statut d’employé dans l’entreprise.
Les concepts de base
Association binaire
Une association binaire est représentée par un
simple trait.
Classe association
Une classe-association est nécessaire quand une association
doit posséder ces propres propriétés.
Association entre les classes
1
1..*
1..*
1..*
Chapitre
Homme Module
Exercice
Lors de son inscription en début d’année, chaque étudiant remplit une fiche sur laquelle il
indique certains renseignements comme son numéro d’identification nationale, son nom et
prénom, son adresse et la liste des matières qu’il s’engage à suivre. Un code lui sera
automatiquement attribué. Une matière est caractérisée par un code et un intitulé. Chaque
matière est placée sous la responsabilité d’un enseignant identifié par un code et caractérisé par
son nom, prénom et le numéro de son bureau. Cet enseignant se rend disponible un jour dans la
semaine à un horaire précis afin de donner tout renseignement concernant les matières qu’il
dirige.
Définition
Un diagramme de séquence montre quels sont les objets qui participent à l’exécution du use-
case et quels sont les messages qu’ils échangent
Description des interactions entre un acteur et les objets du système d’un point de vue
temporel.
L’accentestmissurlachronologiedesenvoisdemessages
Chaque bloc ou objet participant dans le processus est représenté par une barre verticale.
Deux utilisations
Documentation des cas d’utilisation
– Evénements qui surviennent dans le domaine de l’application
Représentation précise des interactions entre objets
– Echanges de messages
Concepts de base
:Objet
Ligne de vie des objets
Est représentée par une ligne verticale en traits pointillés, placée sous le
symbole de l’objet concerné.
Cette ligne de vie précise l’existence de l’objet concerné durant un certain
laps du temps.
Barre d’activation
:Objet
Les diagrammes de séquence permettent de représenter les périodes d’activité
des objets. Une période d’activité correspond au temps pendant lequel un
objets effectue une action, soit directement, soit par l’intermédiaire d’un autre
objet qui lui sert desous-traitant. Les périodes d’activité se représentent par
des bandes rectangulaires placées sur les lignes de vie. Le début et la fin d’une
bande correspondent respectivement au début et à la fin d’une période
d’activité.
Concepts de base
Message synchrone
Un message synchrone est utilisé dans le cas ou l’émetteur reste en attente de
la réponse à son message avant de poursuivre ses actions.
Message synchrone
Le message de retour peut ne pas être représenté car il est inclus dans la fin
d’exécution de l’opération de l’objet destinataire du message.
Message retour
Message asynchrone
Message asynchrone est utilisé dans le cas ou l’émetteur n’attend pas la réponse
à son message, il poursuit l’exécution de ses opérations.
Message asynchrone
Concepts de base
Remarque:
- L’ordre d’envoi d’un message est déterminé par sa position sur l’axe vertical du diagramme ;
le temps s’écoule « de haut en bas » de cet axe.
- La disposition des objets sur l’axe horizontal n’a pas de conséquence pour la sémantique du
diagramme.
Message récursif
l’envoi de messages récursifs se représente par un dédoublement de la bande
rectangulaire.
L’objet apparait alors comme s’il était actif plusieurs fois.
Remarque :
Un objet peut également s’envoyer un message. Cette situation se représente par une
flèche qui revient en boucle sur la ligne de vie de l’objet.
Fragments d’interaction
Définition
Un fragment d’interaction dit combiné correspond à un ensemble d’interaction auquel on
applique un opérateur d’intéraction .
Plusieurs opérateurs ont été définis dans UML: loop, alt, opt, etc.
LOOP [condition]
Fragments d’interaction
L’opérateur Ref
REF
Diagrammes de séquence (résumé)
[Sinon] Utilisateurauthentifié
RécupérerEmailsdeUSER
CollecterEmails
deUSER
EmailsdeUSER
2
Affichage 3
Exercice
Afin de développer une application interactive de jeu d’échecs sur Smartphone, nous nous
intéressons à la modélisation chronologique des différentes actions génériques qui
doivent s’exécuter pour dérouler une partie entre deux joueurs. Les Smartphones de ces
deux derniers sont connectés directement en mode Bluetooth.
Nous supposons que l’application dispose d’une fonctionnalité lui permettant de vérifier la
validité d’un coup et une autre lui permettant de vérifier si le roi est en position d’échec et
mat. Les coups sont notés en algébrique et échangés entre les Smartphones sous forme de
chaînes de caractères. Par exemple, le coup « Cg5 » signifie que le joueur a déplacé
son cavalier à la case indexée par la colonne « g » et la ligne « 5 ». Le mouvement du doigt
sur l’écran introduit le coup à jouer et l’application dispose la fonctionnalité de le
correspondre à la notation algébrique.
26
Définition
Le diagramme de communication constitue une autre représentation des interactions que celle
du diagramme de séquence.
le diagramme de communication met plus l’accent sur l’aspect spatial des échanges que
l’aspect temporel.
Diagramme de communication
DIAGRAMME
D’OBJETS
Diagramme d’objets
Définition
Le diagramme d’objets fait parties des diagrammes structurels (statique).
Il représente les objets d’un système (c.a.d. les instances des classes) et leurs liens (c.a.d. les
instances des associations) à un instant donné.
Il donne une vue figée du système à un moment précis.
A un diagramme de classe correspond une infinité de diagrammes d’objets.
Nous nous servirons du diagramme d’objet pour donner des exemples, des cas de figure, qui
permettront d’affner le diagramme de classe et de mieux le comprendre.
Diagramme d’objets
Remarque :
Le nom d’un objet est souligné. Il peut être désigné sous trois
formes :
nom de l’objet, désignation directe et explicite d’un objet ;
nom de l’objet : nom de la classe, désignation incluant le nom
de la classe ;
nom de la classe, désignation anonyme d’un objet d’une classe
donnée.
DIAGRAMME DE
D’ÉTAT-
TRANSITION
Diagramme d’état de transition
Définition
Un diagramme d’état de transition peut être vu comme un ordinogramme pour un objet
bien précis du système étudié. Il peut représenter un automate d’états finis.
Un état : représente une situation durant la vie d’un objet pendant laquelle :
Il satisfait une certaine condition
Il exécute une certaine activité
Ou bien il attend un certain événement
Un événement :
un événement peut être la réception d’un message, l’appel d’une opération, le passage du
temps (mot clé : after) le changement dans la satisfaction d’une condition.
Un événement peut porter des paramètres qui représentent le flot d’information entre objets.
Une transition:
Une transition représente un changement d'état; elle est déclenchée par un événement.
Pour passer d’un état à un autre (une transition), il faudrait un événement. Une condition ou
(condition de garde) est une expression booléenne qui doit être vraie lorsque l’événement arrive
pour que la transition soit déclenchée.
Diagramme d’état de transition
Evènement
Etat
Etat initial
Transition
Etat final
DIAGRAMME DE
DÉPLOIEMENT
Diagramme de déploiement
Définition
Modélise l'aspect matériel de l'application
Montre la disposition physique des différentes ressources matérielles (PC, Modem, Station de
travail, Serveur, etc.) qui composent le système, leurs interconnexions et la répartition des
programmes/exécutables sur ces matériels.
Chaque ressource est matérialisée par un nœud représente par un cube comportant un nom
Les associations entre nœuds sont des chemins de communication qui permettent l' échange
d'informations
Un système est généralement décrit par un petit nombre de diagrammes de déploiement
(généralement un seul su t)
Diagramme de déploiement
DIAGRAMME DE
COMPOSANTS
Diagramme de déploiement
Définition
un composant est un élément logiciel remplaçable et réutilisable qui fourni ou reçoit un service bien
précis. Il peut être vu comme une pièce détachée du logiciel. Les plu-gins, les drivers, les codecs, les
bibliothèques sont des composants.
La notion de composant est proche de celle d’objet, dans le sens de la modularité et de réutilisation
avec toute fois une granularité qui peut être différente. Le composant est à l’architecture du logiciel ce
que l’objet est à l’architecture du code.
✔ Les interfaces requise : Ce sont des interfaces qui fournissent un service au composant et dont il a
besoin pour fonctionner.
✔ Les interfaces fournies : Ce sont des interfaces par lesquels le composant fourni lui-même un
service.
Il existe plusieurs possibilités pour représenter un composant
Montrer les limites d’un système et ses fonctions principales à l’aide des cas d’utilisation et
des acteurs.
Illustrer les réalisations de Cas d ’Utilisation à l’aide de diagrammes d’interaction.
Représenter la structure statique d’un système à l’aide de diagrammes de classes,
associations, contraintes.
Modéliser la dynamique, le comportement des objets à l’aide de diagrammes
états/transitions.
Révéler l’implantation physique de l’architecture avec des diagrammes de composants et
de déploiement.