0% ont trouvé ce document utile (0 vote)
15 vues43 pages

Diagramme SysML : Cas d'utilisation

Le document présente un cours sur les diagrammes de comportement en SysML, incluant les diagrammes de cas d'utilisation, d'activité, de séquence et d'état. Chaque type de diagramme est décrit en termes de ses composants, de son utilisation et des bonnes pratiques à suivre lors de leur création. Les diagrammes sont essentiels pour modéliser le comportement des systèmes et faciliter la communication des exigences et des processus.
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues43 pages

Diagramme SysML : Cas d'utilisation

Le document présente un cours sur les diagrammes de comportement en SysML, incluant les diagrammes de cas d'utilisation, d'activité, de séquence et d'état. Chaque type de diagramme est décrit en termes de ses composants, de son utilisation et des bonnes pratiques à suivre lors de leur création. Les diagrammes sont essentiels pour modéliser le comportement des systèmes et faciliter la communication des exigences et des processus.
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Iulia-Cristina Stanica, PhD

Ingénierie des [Link]@[Link] /


[Link]@[Link]

Systèmes – Cours 8
Faculté d’Ingénierie en Langues
Etrangères
Université POLITEHNICA de Bucarest
Objectifs pour aujourd’hui

+ SysML (suite)
+ Diagrammes de comportement
SysML – Taxonomie des diagrammes
(rappel)
SysML – diagrammes de
comportement
+ Les diagrammes de comportement incluent le diagramme de cas
d'utilisation, le diagramme d'activité, le diagramme de séquence et le
diagramme d'état.
+ Un diagramme de cas d'utilisation fournit une description de haut niveau des
fonctionnalités obtenues grâce à l'interaction avec ou entre les systèmes ou les
composants du système.
+ Le diagramme d'activité représente le flux de données et de contrôle entre les
activités; le seul diagramme de comportement différent de UML2.
+ Un diagramme de séquence représente l'interaction entre les parties
collaborant d'un système.
+ Le diagramme d'état décrit les transitions d'état et les actions qu'un système
ou ses composants effectuent en réponse à des événements.
SysML – diagrammes de
comportement

+Décrivent le comportement:
+Du système entier
+D’un certain processus de l’application
+D’un certain objet de l’application
Diagramme de cas d’utilisation
+Angl: use case diagram (uc)
+Obtenu après l’analyse des
besoins de l'utilisateur
+Inclure les fonctionnalités du
système, en termes d'acteurs,
cas d'utilisation et relations
entre eux
+Décrire la fonctionnalité d'un
système en termes de la façon
dont ses utilisateurs
l'utilisent pour atteindre leurs
Diagramme de cas d’utilisation
+Il inclue:
+Ensemble d'acteurs
+Cas d'utilisation
+Des relations
+Cas d'utilisation - acteur
+Cas d'utilisation – cas d’utilisation:
+ Inclusion
+ Extension
+ Généralisation
+Descriptions
Diagramme de cas d’utilisation –
définitions utiles
+Cas d’utilisation
= un ensemble de séquences d’actions qui sont réalisées par le
système et qui produisent un résultat observable intéressant
pour un acteur particulier.
= abstraction du dialogue entre un acteur et le système (scénario)
+Il permet de décrire ce que le futur système devra faire, sans
spécifier comment il le fera.
+Un cas d’utilisation doit être relié à au moins un acteur.
+ Attention : Un cas d’utilisation ne doit donc pas se réduire à
une simple action.
Diagramme de cas d’utilisation –
définitions utiles
+Acteurs
= rôle qu'une entité externe joue par rapport au système)
= rôle joué par un utilisateur humain ou un autre système qui
interagit directement avec le système étudié.
+ Un acteur participe à au moins un cas d’utilisation.
+ D’habitude - un acteur principal et les autres secondaires
+ Représentations graphiques:
Diagramme de cas
d’utilisation

+ Relation acteur –
cas d’utilisation =
association
+ Chaque association
signifie simplement
«participe à ».
Diagramme de cas d’utilisation
+Les relations entre les cas d'utilisation:
+Include: use-case-1 inclut use-case-2 signifie use-case-1 (cas de base)
incorpore explicitement use-case-2 de façon obligatoire.
+ Extends: le cas d'utilisation 1 étend le cas d'utilisation 2 signifie que le
cas d'utilisation 1 est une alternative au cas d'utilisation 2 (optionnel)
+ Généralisation/spécialisation: le cas d'utilisation 1 spécialise le cas
d'utilisation 2 signifie que le cas d'utilisation 1 inclut le même
comportement du système que le cas d'utilisation général 2, mais
apporte également des détails supplémentaires (héritage)

+ Obs: La généralisation/spécialisation peut être appliquée aux acteurs


aussi
Diagramme de cas d’utilisation
Diagramme
de cas
d’utilisation
Pour plus de détails: description
typique d’un cas d’utilisation
[Code] Nom cas d’utilisation
Acteurs Les personnes impliquées dans ce cas d’utilisation
Règles métiers Les règles métiers affectées dans ce cas (leurs codes)
Sommaire Description courte du cas
Précondition(s) Contrainte imposée au système lors du lancement du
cas d'utilisation
Post- Contrainte imposée au système à la fin du cas
condition(s) d'utilisation
Pas Les pas décrivant le déroulement du cas d’utilisation
Exceptions Situations exceptionnelles qui ne peuvent pas être
facilement décrites dans le flux d'événements
[Croquis [optionnel] Schéma (mock-up) décrivant l’interface
interface] utilisateur pour le cas d’utilisation
[UC1] Creation compte
Acteurs Visiteur
Règles métiers BR1, BR5, BR6
Sommaire Ce cas d’utilisation décrit la création du compte d’un visiteur de la plateforme
Précondition(s) L’application doit contenir un nombre de comptes plus petit que la capacité max de
l’application.
Le visiteur doit avoir un compte d’email ou sur un réseau social (Facebook, Twitter, Google).
Post-condition(s) Un nouveau compte est ajouté dans la base de données
Pas 1. Sélectionner l’option « Création compte »
2. Le système affiche la fenêtre correspondante pour la création du compte
3. L’utilisateur introduit les données demandées:
If on choisit la création du compte utilisant email + mot de passe, on va compléter
les champs spécifiques
Else, si on choisit création du compte en utilisant un réseau social, on choisit
l’option du réseau correspondant: Facebook, Twitter ou Google
4. L’utilisateur introduit le code captcha
5. L’utilisateur envoie le formulaire pour la vérification
6. Le système vérifie le texte captcha
7. Le système vérifie les données introduites
8. Le système affiche le message du succès

Exceptions • Au pas 7, si les données ne sont pas valides, l’utilisateur reçoit une notification et on revient
au pas 3.
7.a. S’il y a un champ vide
7.b. Si l’adresse d’email n’existe pas / n’est pas valide
7.c. Si un utilisateur avec le même email / même compte social existe déjà dans la bd
7.d. Si le mot de passe ne respecte pas les demandes min
7.e. Si les deux champs du mot de passe contiennent des infos différentes

[Croquis interface] Annexe 1. Creation compte


Annexe 1. Creation compte
Logiciel utilisé: Balsamiq [Link]
UC – bonnes pratiques pour le projet
final
+ Identifier correctement les acteurs et les fonctionnalités de chacun
+ Se rendre compte quand les détails sont suffisants!
+ Utiliser la généralisation aussi pour les acteurs
+ Pas nécessaire de placer dans un diagramme des cas d’utilisation tous
les interacteurs du système (ex: alimentation électrique);
environnement complet = bdd
+ Vous devez utiliser des relations entre les cas d’utilisation (inclusion,
extension, généralisation), MAIS il ne faut pas abuser : elles
peuvent rendre les diagrammes de cas d’utilisation trop difficiles à
décrypter
+ Côté design: éviter les intersections 
UC – correct ou non?

Linkedin
Diagramme d’activité Quel systeme celui-ci?

+Le diagramme d’activité est un diagramme


comportemental appelé Activity Diagram (act) qui
permet de représenter le déroulement d’un
processus sous la forme d’une activité
correspondant à une décomposition
séquentielle d’actions appelées aussi tâches.
+Focus: sur le comportement
+ Les éléments de base du diagramme d’activité
sont les suivants :
• des actions ;
• des flots de contrôle entre actions ;
• des décisions (aussi appelées branchements
conditionnels) ;
• un début et une ou plusieurs fins possibles.
Diagramme d’activité
• Décrit le flot de contrôle et de données pendant l'exécution du
système
• Activité = transformation des entrées dans des sorties à travers
une séquence d'actions contrôlée
• Une activité – décomposée dans des actions
• Une action traite des tokens placés sur ses pins. Les tokens sur
les pins d'entrée sont consommés, traités par l'action et placés sur
les pins de sortie pour que d'autres actions soient acceptées
(token = unité minimale transportée, t.q. info, énergie etc).
Diagramme d’activité - noeuds
• Nœuds exécutables :
• nœuds d'action
• du traitement de l'exception
• Nœuds de contrôle
• initiale
• finale (activité finale, flux final)
• décision
• merge (unification des branches de décision)
• fork (parallélisation)
• join (unifier branches parallèles)
• Nœuds d'objet
Diagramme d’activité - flots
+Flot de contrôle – transition d’une action a une autre
(ligne continue)
+Flot d’objet – transition entre une action et un objet
(ligne pointillée)
Différences UML vs SysML – SysML
introduit:
• Contrôle de données (on peut
arrêter actions qui s’exécutent)
• « Overwrite » les valeurs des
nœuds objets avec des valeurs
nouvelles
• Introduction des probabilités
dans les nœuds de décision
Diagramme d’activité
Diagramme d’activité - objets

• Comment on explique
ce diagramme
simplifié?
Diagramme d’activité - objets
• Les nœuds d'objet sont des sous-types de nœuds d'activité.
• En général, un objet en UML est la plus petite instance avec des
valeurs.
• Dans le diagramme d'activité, les objets représentent des
données. Pendant l'exécution d'une action, les nœuds d'objet
conservent ces données.
• 2 types principaux:
• Pins = lien entre le flot d'actions et le flot d'objets; objets internes
• Nœuds paramètres = valeurs fournies / renvoyées; objets sur les
frontières
• Avant qu'un comportement ne soit exécuté, on peut lui fournir des valeurs pour le
traitement. Les nouvelles valeurs sont renvoyées après le traitement.
• Les nœuds comme ceux-ci n'ont que des arêtes d'activité entrants ou sortants
Diagramme d’activité - objets
Diagramme d’activité - objets
Diagramme d’activité – signaux
(évènements)

• Génération de signaux :
envoyés à un processus
externe
• Signaux d'acceptation :
reçus d'un processus extérieur
• Signaux de temps : reçus
lorsque le temps s'est écoulé
ou qu'une heure définie arrive
Diagramme d’activité
– avec swimlanes
Act – bonnes pratiques pour le projet
final
+ Trouver une activité suffisamment détaillée pour
avoir du sens a réaliser le diagramme
+ Utiliser des blocs de décision, des nœuds objets etc.
pour clarifier les infos
+ N’oubliez pas d’avoir un nœud initial et un nœud
final pour chaque branche qui doit être finalisée
Act – Quels
sont les
problèmes?
Diagramme de séquence (Seq)
• Montre l’interaction des objets
organisés dans une ordre
chronologique
• Il contient les objets et les
acteurs impliqués dans le
scénario / interaction + les
messages échangés entre eux
• Focus: sur le temps
• Les messages peuvent être
synchrones (on attend une
réponse avant de pouvoir
continuer) ou asynchrones (on
peut continuer d’envoyer d’autres
messages)
Diagramme de séquence – éléments (simplifié)

• Notation - Objet:
Classe
• Ligne pointillée:
ligne de vie
(lifeline)
• Echanges entre
expéditeur et
destinataire:
Messages
• Des fragments
tels que: alt
(alternative if-else),
Diagramme de séquence - messages
+ Un message synchrone (émetteur bloqué en
attente de réponse) est représenté par une
flèche pleine.
+ Un message asynchrone (pas de reponse
attendue) est représenté par une flèche évidée.
+ Un message réflexif (self-message) qui permet
de représenter un comportement interne se
traduit par une flèche en boucle.
+ Une flèche pointillée représente un retour ou
réponse. Cela signifie que le message en
question est le résultat direct du message
précédent
+ Message de creation (create) – creation d’un
autre objet
+ Message de destruction (destroy) –
destruction d’un objet / arret de la ligne de vie
Diagramme de
séquence - fragments
+ SysML propose une notation très utile:
le fragment combiné. Chaque fragment
possède un opérateur et peut être divisé
en opérandes.
+ Les principaux opérateurs sont:
+ loop : boucle. Le fragment peut s’exécuter
plusieurs fois, et la condition de garde explicite
l’itération ;
+ opt : optionnel. Le fragment ne s’exécute que si la
condition fournie est vraie ;
+ alt : fragments alternatifs. Seul le fragment
possédant la condition vraie s’exécutera.
+ par : fragments parallèles. Permet d’exécuter
plusieurs opérandes en parallèle.
+ ref : permet de créer un hyperlien graphique avec
un autre diagramme de séquence.
Seq – bonnes pratiques pour le projet
final
+ Diviser le système dans plusieurs objets (UI,
contrôleurs, bd etc. - scenario boite blanche), pour
montrer plus clairement la séquence de messages
+ Utiliser plusieurs types de messages
+ Utiliser plusieurs types de fragments combinés
Diagramme
de
sequence

Quels sont les


problèmes?
Diagramme d’états (Stm)
• Angl. State machine diagram (Stm)
+ Habituellement utilisé pour représenter le comportement interne d'un
bloc au long de son cycle de vie
+ Issu du concept de machine à états finis
+ Spécifier la séquence d'événements qu'un objet traverse au cours
de sa vie en réponse à des événements (= triggers)
+ Contient:
+ L’état satisfait une certaine condition, exécute une certaine activité, attend un
certain événement
+ L’événement (trigger) est une spécification qui peut déclencher une réaction,
peut porter des paramètres qui matérialisent le flot d’informations ou de données
reçues. Il peut être accompagné de conditions
+Une transition possède : un événement déclencheur, une condition, un état cible
Diagramme d’états (Stm)
+ Elements:
- Les états (situation durant la vie d’un bloc)
- Les pseudo-états
- Etat composite (appelé aussi super-état,
décrit les évolutions internes d’un état à
l’aide d’un autre diagramme d’état.
- Les évènements et conditions de garde
(événement de signal, temporel etc.)
- Les transitions (passage d’un etat a
l’autre)
- Les effets comportementaux (actions,
activités).
Diagramme
d’etats - reveil

Quels sont les


problèmes?

Obs: Pour le projet final, seulement les blocs sufisamment complexes /


avec suffisamment d’etats doivent etre inclus sur un diagramme d’etats!
Conclusions
+Diagrammes de comportement – essentiels pour décrire
comment le système / un sous-système / un bloc agit
+ Buts: établissement acteur – fonctionnalités – relations
(uc), déroulement processus (act), échange messages
(seq) et précision états internes (stm)
Exercice(s)
+ Pensez aux types de diagrammes de structure que vous
considérez appropriés pour votre projet final. Justifiez votre
choix.
+ Pensez aux types de diagrammes de comportement que
vous considérez appropriés pour votre projet final. Justifiez
votre choix.

+ Essayez de réaliser les diagrammes pour votre projet


final et demander du feedback au prochain cours.
Références utiles
+ Cours “Sciences industrielles pour l’ingenieur” – Modelisation des
systemes avec SysML
+ Sanford Friedenthal, Rick Steiner, in Practical Guide to SysML,
2008, Science Direct
+ Guillaume FINANCE, “SysML Modelling Language explained”, 2010

+ SysML Diagram Tutorial – SysML Org


+ UML Sequence Diagram. Design Elements -
[Link]
sequence

+ Digital Guide IONOS, “Activity diagrams: clearly present


chronological activity processes with UML”
+ Object Nodes,
[Link]
+ Allen Holub’s UML Quick Reference, [Link]

Vous aimerez peut-être aussi