SysML – description comportementale

Diagramme des cas d’utilisation (UC = Use Case)

Comment décrire les interactions des acteurs avec le système ?

La définition d’une « frontière » autour du système permet de caractériser les échanges entre le système et l’environnement avec lequel il interagit afin de décrire les différents cas d’utilisation (use case) et les acteurs (actor) qui y participent.

Le diagramme des cas d’utilisation permet de décrire ces différentes situations qui concernent tout ou partie de son cycle de vie.

Acteur

Acteur = rôle joué par un  utilisateur humain ou un autre système.

Les acteurs peuvent être des humains ou des éléments qui interagissent directement avec le système, en participant à au moins un cas d’utilisation.

Un acteur principal est un acteur à qui le système rend service, au sens du besoin auquel le système doit répondre.

 

Cas d’utilisation

Cas d’utilisation = ensemble de séquences d’actions réalisées par le système et qui produisent un résultat observable intéressant pour un acteur.

 

Relations entre cas d’utilisation

Types de relation entre cas d’utilisation :

  • Inclusion (« include ») : le « cas 1 » est inclus dans le « cas 2 ».
    Lorsque le « cas 2 » est exécuté alors le « cas 1 » a obligatoirement été exécuté.
    Les inclusions permettent également de décomposer un cas complexe en sous-cas plus simples.

  • Extension (« extend ») : le « cas 1 » étend le « cas 2 ». 
    Lorsque le « cas 2 » est exécuté alors le « cas 1 » ne l’est pas obligatoirement.

 

Exemple : le gyropode Segway®

 

 

Diagramme de séquence (SD = Sequence Diagram)

Point de vue « système »

Pour un cas d’utilisation donné, le diagramme de séquence (du point de vue « système ») montre la séquence des actions réalisées par l’acteur principal et les réponses du système

Le système est vu comme une « boite noire ». L’ordre chronologique se déroule vers le bas.

Acteur et système sont représentés par des rectangles. Chacun possède une ligne verticale appelée ligne de vie de l’objet. Les objets communiquent en échangeant des « messages » représentés par des flèches, orientées de l’émetteur vers le récepteur (destinataire).

On représente un objet en activité par un rectangle placé sur la ligne de vie.

Pour le message synchrone, la flèche est pleine, un message de retour est attendu. Le message de retour (flèche pointillée) est obligatoire mais pas toujours tracé.

Pour le message asynchrone, la flèche est ouverte. L’envoi d’un message se fait à n’importe quel moment et sans attente d’une quelconque réponse.

 

 

Exemple : radio-réveil

 

Diagramme d’état (STM = State Machine Diagram)

Le diagramme d’état nous permet voir les états du système selon les évènements qui s’y produisent. Il permet de représenter les comportements des blocs, des cas d’utilisation, des acteurs, des sous-systèmes, etc…

Il permet de décrire le fonctionnement séquentiel du système sous forme d’un « programme » représenté graphiquement.

États

Un état (state) représente une situation durant la vie d’un bloc fonctionnel pendant laquelle :

  • il satisfait une condition
  • il exécute une action (ou activité)
  • il attend un événement

 

Transitions

Les états sont reliés entre eux par des transitions, permettant ainsi les changements d’état du système.

Une transition peut être déclenchée par divers éléments (tous sont optionnels) :

  • un élément déclencheur appelé événement (s’il est omis, le déclenchement est déterminé par la fin de l’activité de l’état source)
  • une condition de garde : exprimée par une expression booléenne qui doit être vraie lorsque l’événement se produit pour que la transition soit déclenchée.
  • des effets : action (ou activité) exécutée lorsque la transition est déclenchée.

 

 

Exemple : radio-réveil

  • l’état « Radio ON » satisfait la condition « power_ON »
  • l’état « Radio_ON » exécute l’action « émettre son »
  • l’état « Radio_OFF » attend l’événement « power_ON » ou « power_AUTO »

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *