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 »