II.2.2. Description de quelques Diagrammes :
a. Diagramme de cas d'utilisation :
Le diagramme de cas d'utilisation est un diagramme UML
utilisé pour donner une vision globale du comportement fonctionnel d'un
système logiciel. Il est utile pour des présentations
auprès de la direction ou des acteurs d'un projet, mais pour le
développement, les cas d'utilisation sont plus appropriés. Un cas
d'utilisation représente une unité discrète d'interaction
entre un utilisateur (humain ou machine) et un système. Il est une
unité significative de travail. Dans un diagramme de cas d'utilisation,
les utilisateurs sont appelés acteurs (actors), ils interagissent avec
les cas d'utilisation (use cases).
Les Cas d'utilisation : Ils permettent de
décrire l'interaction entre l'acteur et le système. L'idée
forte est de dire que l'utilisateur d'un système logiciel a un objectif
quand il utilise le système ! Le cas d'utilisation est une description
des interactions qui vont permettre à l'acteur d'atteindre son objectif
en utilisant le système. Les use case (cas d'utilisation) sont
représentés par une ellipse sous-titrée par le nom du cas
d'utilisation (éventuellement le nom est placé dans l'ellipse).
Un acteur et un cas d'utilisation sont mis en relation par une association
représentée par une ligne.
Relations : Trois types de relations sont
pris en charge par la norme UML et sont graphiquement
représentées par des types particuliers de ces relations. Les
relations indiquent
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 21
que le cas d'utilisation source présente les
mêmes conditions d'exécution que le cas issu. Une relation simple
entre un acteur et une utilisation est un trait simple
? Les inclusions : Dans ce type d'interaction
le premier cas englobe l'autre et son issue dépend souvent de la
résolution du second. Ce type de description est utile pour extraire un
ensemble de sous-comportements communs à plusieurs tâches, comme
une macro en programmation. Elle est représentée par une
flèche en pointillée et le terme
<<include>>.
? Les extensions : Les extensions
(Extend) représentent des prolongements logiques de certaines
tâches sous certaines conditions. Autrement dit un cas d'utilisation A
étend un cas d'utilisation B lorsque le cas d'utilisation A peut
être appelé au cours de l'exécution du cas d'utilisation B.
Elle est représentée par une flèche avec le terme
<<Extend>>. Ce type de relation peut être utile pour
traiter des cas particuliers ou préciser les objectifs, ou pour tenir
compte de nouvelles exigences au cours de la maintenance du système et
de son évolution.
? Les généralisations : La
troisième relation est la relation de généralisation ou
spécialisation. Le cas d'utilisation A est une
généralisation de B, si B est un cas particulier de A
c'est-à-dire lorsque A peut être substitué par B pour un
cas précis. Ces relations sont des traits peins terminés par des
flèches en triangle.
Utilisateurs (Acteurs) :
Ils sont des entités externes qui interagissent avec le
système, comme une personne humaine ou un robot. Une même personne
peut être plusieurs acteurs pour un système, c'est pourquoi les
acteurs doivent surtout être décrits par leur rôle, ce
rôle décrit les besoins et les capacités de l'acteur.
b. Diagramme de Séquences :
Le diagramme de séquences est la représentation
graphique des interactions entre les acteurs et le système selon un
ordre chronologique dans la formulation UML (Unified Modeling Language). Il
permet de cacher les interactions d'objets dans le cadre d'un scénario
d'un Diagramme des cas d'utilisation. Dans un souci de simplification, on
représente l'acteur principal à gauche du diagramme, et les
acteurs secondaires éventuels à droite du système. Le but
étant de décrire comment se déroulent les actions entre
les acteurs ou objets.
La dimension verticale du diagramme représente le
temps, permettant de visualiser l'enchaînement des actions dans le temps,
et de spécifier la naissance et la mort d'objets. Les périodes
d'activité des objets sont symbolisées par des rectangles, et ces
objets dialoguent par le biais de messages.
Plusieurs types de messages (actions) peuvent transiter entre les
acteurs et objets :
? message simple : le message n'a pas de
spécificité particulière d'envoi et de réception ?
message avec durée de vie : l'expéditeur attend une
réponse du récepteur pendant un
certain temps et reprend ses activités si aucune
réponse n'a lieu dans un délai prévu ? message synchrone :
l'expéditeur est bloqué jusqu'au signal de prise en compte par
le
destinataire. Les messages synchrones sont symbolisés
par des flèches barrées ? message asynchrone : le message est
envoyé, l'expéditeur continue son activité que le
message soit parvenu ou pris en compte ou non. Les messages
asynchrones sont
symbolisés par des demi-flèches
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 22
? message déroulant : le message est mis en attente
dans une liste d'attente de traitement chez le récepteur.
Le langage permet de décaler l'envoi et
réception des messages, pour montrer les délais de la
communication non négligeables. . La plupart des ateliers UML ne
prennent cependant pas en compte cette spécificité. Pour les cas
plus complexes, on peut intégrer des algorithmes dans les diagrammes de
séquences. Par le biais de cadres d'interaction, on peut préciser
les spécificités d'un ensemble de messages :
V' alt : fragments multiple alternatifs (si
alors sinon)
V' opt : fragment optionnel
V' par : fragment parallèle (traitements
concurrents)
V' loop : le fragment s'exécute plusieurs
fois
V' neg : une interaction non valable
c. Diagramme de classe :
Le diagramme de classe est un schéma utilisé en
génie logiciel pour présenter les classes et les interfaces des
systèmes ainsi que les différentes relations entre celles-ci. Ce
diagramme fait partie de la partie statique d'UML car il fait abstraction des
aspects temporels et dynamiques. Une classe décrit les
responsabilités, le comportement et le type d'un ensemble d'objets. Les
éléments de cet ensemble sont les instances de la classe.
Une classe est un ensemble de fonctions et de données
(attributs) qui sont liées ensemble par un champ sémantique. Les
classes sont utilisées dans la programmation orientée objet.
Elles permettent de modéliser un programme et ainsi de découper
une tâche complexe en plusieurs petits travaux simples.
Les classes peuvent être liées entre elles
grâce au mécanisme d'héritage qui permet de mettre en
évidence des relations de parenté. D'autres relations sont
possibles entre des classes, chacune de ces relations est
représentée par un arc spécifique dans le diagramme de
classes. Elles sont finalement instanciées pour créer des objets
(une classe est un moule à objet : elle décrit les
caractéristiques des objets, les objets contiennent leurs valeurs
propres pour chacune de ces caractéristiques lorsqu'ils sont
instanciés).
Une classe est représentée par un rectangle
séparée en trois parties :
> la première partie contient le nom de la classe
> la seconde contient les attributs de la classe
> la dernière contient les méthodes de la
classe.
|