Académique Documents
Professionnel Documents
Culture Documents
INGENIERIE SYSTEME
COURS
2
3
Table des matières
Chapitre 1: L’outil de modélisation SysML ............................................................................ 6
I. Introduction .................................................................................................................... 6
II. Éléments graphiques des diagrammes........................................................................... 9
1. Cadre du diagramme .................................................................................................. 9
2. Formes géométriques et liens ..................................................................................... 9
3. Commentaires ...........................................................................................................10
III. Modélisation SysML ...................................................................................................11
1. Diagrammes comportementaux .................................................................................11
1-1. Diagramme de cas d’utilisation ...........................................................................11
1-2. Diagramme de séquence (SysML Sequence Diagram).......................................13
1-3. Diagramme d’états / transitions (SysML State Machine Diagram).......................15
1-4. Diagrammes d’activités .......................................................................................17
2. Diagrammes structurels .............................................................................................19
2-1. Diagramme de définition de blocs (SysML Block Definition Diagram) ....................19
2-2. Diagramme de blocs internes (SysML Internal Block Diagram) ..............................19
3. Diagramme transversal ..............................................................................................21
3-1. Diagramme d'exigences (SysML Requirements Diagram). .....................................21
Chapitre 2 : Modélisation des exigences par SysML ............................................................23
I. Introduction ................................................................................................................24
II. Cadrer le système......................................................................................................24
III. Définir le cycle de vie en utilisant SYsML ....................................................................26
IV. Définir les contextes en utilisant SysML ......................................................................27
V. Définir les utilisations en utilisant SysML .....................................................................28
1. Définir les concepts système .....................................................................................28
2. Définir les cas d’utilisation ........................................................................................28
VI. Décrire les cas d’utilisation en utilisant SysML .............................................................30
1. Description textuelle ..................................................................................................30
2. Formalisation des scénarios .....................................................................................30
VII. Définir les exigences fonctionnelles en utilisant SysML .............................................33
VIII. Définir les exigences non fonctionnelles en utilisant SysML.......................................34
IX. Assurer la traçabilité en utilisant SysML ......................................................................35
1. Traçabilité des Exigences fonctionnelles/Cas d’utilisation .........................................35
2. Traçabilité des Exigences entre les processus d’ingénierie des exigences ................35
Annexe .................................................................................................................................37
I. Définition d’une exigence ..............................................................................................37
II. Exemple de typologie d’exigences ................................................................................37
III. caractéristiques des exigences (AFIS) .........................................................................37
IV. Gabarit de rédaction d’une exigence ...........................................................................38
4
V. Identifiants et stéréotypes d’exigence ...........................................................................38
Bibliographie : ......................................................................................................................39
5
Chapitre 1: L’outil de
modélisation SysML
I. Introduction
L’ingénierie système (IS) représente un ensemble des activités adéquates pour concevoir, faire
évoluer et vérifier un système, elle apporte une solution économique et performante aux besoins
d’un client tout en satisfaisant l’ensemble des parties prenantes. Les méthodes de l’IS s’appuient
sur des approches de modélisation et de simulation pour valider les exigences, et pour vérifier
ou évaluer le système.
Depuis longtemps, les ingénieurs système ont utilisé des techniques de modélisation. Parmi les
plus connues, on trouve SADT et SA/RT, qui datent des années 80, ainsi que de nombreuses
approches basées sur les réseaux de Pétri ou les machines à états finis. Ces techniques sont
limitées par leur portée et leur expressivité ainsi que par la difficulté de leur intégration avec
d’autres formalismes, comme avec les exigences système
UML se définit comme un langage de modélisation graphique et textuel destiné à comprendre
et décrire des besoins, spécifier et documenter des systèmes, représenter des architectures
logicielles, concevoir des solutions et communiquer des points de vue.
UML unifie à la fois les notations et les concepts orientés objet. Il ne s’agit pas d’une simple
notation graphique, car les concepts transmis par un diagramme ont une sémantique précise et
sont porteurs de sens au même titre que les mots d’un langage.
L’essor d’UML dans le domaine du logiciel et l’effort industriel de développement d’outils qui
l’accompagne ont naturellement conduit à envisager son utilisation en ingénierie système.
Cependant, du fait de sa conception fortement guidée par les besoins du passage à la
programmation par objets, le langage était, tout au moins dans ses premières versions, peu
adapté à la modélisation des systèmes complexes et donc au support de l’ingénierie système.
SysML (Systems Modeling Language) (apparut en 2007) est basé sur UML et remplace la
modélisation de classes et d'objets par la modélisation de blocs pour un vocabulaire plus adapté
6
à l'Ingénierie Système. Un bloc englobe tout concept logiciel, matériel, données, processus, et
même la gestion des personnes.
Comme représenté sur la figure 1, SysML réutilise une partie d'UML, et apporte également ses
propres définitions (extensions SysML). SysML s’articule autour de neuf types de
diagrammes1, chacun d’eux étant dédié à la représentation des concepts particuliers d’un
système. Ces types de diagrammes sont répartis par l’OMG en trois grands groupes : 4
structurels, 4 dynamiques, et le diagramme d’exigences.
1
Le SysML, est un ensemble de représentations graphiques. Chaque graphique est appelé
diagram en anglais, et par abus de langage, nous le nommerons diagramme en français
7
La structure du système est représentée par les diagrammes de blocs. Le diagramme de
définition de blocs (block definition diagram) décrit la hiérarchie du système et les
classifications système/composant. Le diagramme de bloc interne (internal block diagram)
décrit la structure interne du système en termes de parties, ports et connecteurs. Le diagramme
de packages est utilisé pour organiser le modèle.
Les diagrammes comportementaux incluent le diagramme de cas d’utilisation, le diagramme
d’activité, le diagramme de séquence et le diagramme de machines à états. Le diagramme de
cas d’utilisation fournit une description de haut niveau des fonctionnalités du système. Le
diagramme d’activité représente les flots de données et de contrôle entre les actions. Le
diagramme de séquence représente les interactions entre les parties du système qui collaborent.
Le diagramme de machines à états décrit les transitions entre états et les actions que le système
ou ses parties réalisent en réponse aux événements.
Le diagramme d’exigences capture les hiérarchies d’exigences, ainsi que leurs relations de
dérivation, de satisfaction, de vérification et de raffinement. Ces relations fournissent la
capacité de relier les exigences les unes aux autres, ainsi qu’aux éléments de conception et aux
cas de tests
8
II. Éléments graphiques des diagrammes
1. Cadre du diagramme
Chaque diagramme SysML représente un élément particulier du modèle selon un certain point
de vue : afin de le repérer, chaque diagramme comporte un « cartouche » présenté figure 2,
positionné sur la partie supérieure gauche du cadre.
Les neuf diagrammes du langage SysML sont composés des mêmes types de formes
géométriques : des rectangles à coins droits ou arrondis, des ellipses et des lignes. Selon les
diagrammes, tout ou partie de ces formes géométriques seront utilisées.
Plusieurs types de relations peuvent être rencontrées entre les formes géométriques dans les
diagrammes SysML : le tableau de la figure 3 regroupe les liens les plus classiques.
9
Figure 3. Les principaux liens graphiques du langage SysML.
3. Commentaires
Dans tous les diagrammes du langage SysML, il est possible d’utiliser des notes graphiques
sous la forme de « Post-it» avec éventuellement les deux mots clés problem (problème) pour
indiquer les problèmes encore à résoudre et rationale (raison) pour justifier certains choix. Ces
notes permettent de commenter n’importe quel élément d’un diagramme (forme graphique ou
lien) et elles seront donc utilisées pour expliciter un point qui pourrait être difficile à
comprendre ou modéliser par le lecteur.
10
III. Modélisation SysML
1. Diagrammes comportementaux
Le diagramme de cas d’utilisation est un schéma qui montre les cas d’utilisation (ovales)
reliés par des associations (lignes) à leurs acteurs (icône d'un stick man). Chaque association
signifie simplement «participe à». Ce diagramme permet de représenter les besoins attendus
par un système.
On utilise un diagramme pour chaque phase de vie où le système rend des services (besoins
attendus)
– Exploitation [maintenance, …]
– La mission devrait être le cas d’utilisation principal !
Les principaux concepts d’un modèle de cas d’utilisation sont présentés sur la figure 4 :
Les acteurs et systèmes externes présents dans ces diagrammes sont les parties prenantes
et systèmes externes impliqués
Une relation d’extension est formalisée par le mot « extend » et une flèche en pointillée,
un cas B est une extension d’un cas B lorsque le cas B peut être appelé au cours de
l’exécution de A
Une relation d’inclusion est formalisée par le mot-clé « include » et une flèche en
pointillée : Un cas inclut le cas B lorsque A est sollicité B l’est obligatoirement
12
Figure 5. MODÈLE DE CAS D’UTILISATION : EXEMPLE DE BASE
13
"Comment est réalisé ce cas d'utilisation ? " et montrer les interactions entre différents éléments
d'un point de vue séquentiel, enchaînement et nature des échanges
Il est utilisé pour documenter la transformation des données d’entrée reçues de l’environnement
en données de sortie vers l’environnement, (Données : informations, matériels voire énergie).
Méthode de construction d’un diagramme de séquences (Figure 6)
1. Identifier le comportement à décrire : Cas d’utilisation
2. Mettre le « système » au centre : instance bloc « système »
3. Mettre les acteurs à gauche : instances d’acteur
4. Mettre les entités externes à droite : instances de bloc
5. Définir les interactions : messages entre les lignes de vie
• Favoriser le type de message asynchrone (asyncSignal)
– NB : d’autres types seront utilisés lors de la conception de l’architecture
6. Définir les périodes d’activité système : périodes d’activation
• Structurer ces périodes en les regroupant par situation
7. Structurer pour clarifier : référence à une autre séquence
14
Figure 7. Diagramme de séquences : Exemple
15
fonction des interactions et de répondre à la question : "Comment représenter les différents états
du système ?". Il est basé sur la théorie des automates à états finis.
16
Figure 9. Diagramme d’états : exemple de base
17
Figure 10. Diagramme d’activités : principaux concepts
18
2. Diagrammes structurels
19
Un bloc peut avoir plusieurs ports qui spécifient des points d’interaction différents. Les ports
peuvent être de deux natures :
Port standard : désigne une interface permettant d'invoquer un service / une opération
Port de flux : canal d'Entrée / Sortie par lequel transite de la matière, de l'énergie ou de
l'information (MEI).
20
Figure 15. Exemple : diagramme interne de bloc
3. Diagramme transversal
3-1. Diagramme d'exigences (SysML Requirements Diagram).
Une exigence permet de spécifier une capacité ou une contrainte qui doit être satisfaite par un
système. Elle peut spécifier une fonction que le système devra réaliser ou une condition de
performance, de fiabilité, de sécurité, etc.
Les exigences servent à établir un contrat entre le client et les réalisateurs du futur système
Un Diagramme d'exigences permet de documenter les exigences en lien avec les autres modèles
réalisés
– Permet de relier les exigences entre elles et avec d’autres éléments de modélisation
– Permet de mettre en évidence comment vont être satisfaites les exigences (lien de
satisfaction) … par un composant, par une fonction, …
21
Méthode de construction d’un diagramme d’exigences (figure 16)
1. Identifier la fonctionnalité à spécifier : Cas d’utilisation
• Service attendu du système ou fonction principale
2. Définir l’exigence fonctionnelle à associer : Exigence
3. Relier l’exigence au cas d’utilisation : Lien
• « refine » si le cas d’utilisation est décrit par d’autres modèles
• « trace » sinon
4. Définir les exigences dérivées : Exigence et lien « derive »
• En se posant des questions systématiquement par rapport aux stéréotypes d’exigences
qualité (performance, interface, …)
5. Justifier si nécessaire exigences et liens : Raisonnement
6. Si nécessaire ajouter les modalités des tests : Cas de test et lien « verify »
22
Figure 17. Diagramme d’exigences : principaux attributs
23
I. Introduction
L’activité d’Ingénierie des Exigences du Système System élicite et analyse les exigences de
l’Acquéreur et des Parties Prenantes y compris les exigences juridiques et/ou réglementaires.
Elle établit les exigences du système convenu. En parallèle avec les activités de conception de
l’architecture, elle établit les exigences sur les Constituants du Système.
La méthode que nous allons utiliser est basée sur le processus technique de l’I, elle est composée
de 8 activités :1-cadrer le système, 2- Définir le cycle de vie, 3- Définir les contextes, 4- Définir
les cas d’utilisation, 5- Décrire les cas d’utilisation, 6- Définir les exigences non fonctionnelles,
7- Définir les exigences non fonctionnelles, 8- Assurer la traçabilité.
24
Figure 1. Mission principale du système (PFMS)
Si nécessaire la mission peut être raffinée
Définir des exigences pour spécifier des sous missions et leur donner un identifiant, on
peut leur associer un stéréotype comme « mission » pour clarifier
Relier les sous missions à la mission par des liens de dérivation
Définir des exigences pour spécifier des performances, contraintes, et leur donner un
identifiant, on peut leur associer des stéréotypes pour clarifier
Relier ses exigences aux missions par des liens de dérivation
25
Figure 2. Mission et sous missions du systèmes
26
Figure 3. Cycle de vie du système
27
V. Définir les utilisations en utilisant SysML
28
Mettre les acteurs représentant PPS impliquées (dans un rôle) dans les utilisations du
système dans la phase de vie ;
Mettre les blocs représentant les systèmes externes concernés (dans une interaction)
dans les utilisations du système dans la phase de vie ;
Définir les cas d’utilisation principaux correspondant aux services ou fonctionnalités
attendus du système, ils peuvent être :
Nommés en utilisant de préférence un verbe d’action à l’infinitif ;
Décomposer si nécessaire (lien « include ») ;
Prolongés, étendus ou complétés en cas d’événement particulier ou
d’option(lien « extend ») ;
Associer les acteurs et les systèmes externes aux cas d’utilisation (lien d’association).
Remarques
Il faut pas trop décomposer pour ne pas faire l’analyse fonctionnelle trop tôt ;
IL est recommandé de mettre les acteurs et les systèmes externes principaux à
gauche et les secondaires à droite ;
Les acteurs et les systèmes externes présents dans ces diagrammes sont
forcément dans les diagrammes de contexte. La réciproque n’est pas vrai, tous
les acteurs présents dans les diagrammes de contexte ne sont pas dans le
diagramme de cas d’utilisation (PPS on utilisatrices) ;
La mission principale du système se retrouve généralement dans le cas
d’utilisation de la phase exploitation
1. Description textuelle
Pour Décrire Textuellement les cas d’utilisation, on réalise un nouveau diagramme de cas
d’utilisation (UCD SysML) en cohérence avec les précédents :
Mettre les cas d’utilisations définis précédemment ;
Définir une note pour décrire le scénario ;
Attacher la note au cas d’utilisation
Pour formaliser les cas d’utilisation, on peut réaliser des diagrammes d’état (STMD SysML)
des diagrammes de séquence (SD SysML) et des diagrammes d’activités (AD SysML).
A ce niveau, le système devrait rester en vision boite noire. Pour autant di une partie de sa
structure est déjà connue, on peut la faire apparaitre.
Afin d’avoir une vision d’ensemble du système, on peut réaliser un diagramme d’état du
système (STMD SysML), sur la base de tous les cas d’utilisation identifiés et des modes
opératoires associés, pour définir les principaux états du système et les conditions de passage
de l’un à l’autre :
30
Définir les états stables représentant les différentes situations de vie et cas d’utilisation
associés :
Utiliser des états « composites » , préciser éventuellement les points d’entrée et
de sortie, pour représenter les cas d’utilisation inclus ;
Utiliser des états « concurrents » pour représenter du parallélisme ;
Définir un état initial et les éventuels états finaux ;
Relier les différents états par des transistions pour identifier les chemins possibles
suivant les scénarios opérationnels (modes de marche,…) :
Définir les évènements qui permettent le passage d’un état à l’autre et
éventuellement des conditions de garde en fonction des situations (condition
booléenne ou [sinon]([else]) ;
Des états supplémentaires comme « en veille » ou « en attente » peuvent être
nécessaires.
Pour formaliser les interactions du système avec son environnement, on peut réaliser pour
chaque cas d’utilisation au moins un diagramme de séquence (SD SysML) basé sur les
scénarios décrits textuellement s’ils existent et en tenant compte des concepts système
éventuellement définis :
Mettre le bloc système au centre du diagramme ;
Mettre les acteurs identifiés précédemment (opérateur, mainteneur,..) à gauche du
système ;
31
Mettre les blocs représentant les entités externes identifiées précédemment (autres
acteurs : systèmes, matériels ) à droite du système ;
Définir les messages entre les lignes de vie :
A cette étape, seul le type de message asynchrone (asyncSignal ) peut
être utilisé, car il s’agit d’identifier les interactions ;
Les autres types de messages seront utilisés lors de la conception de
l’architecture ;
Les messages peuvent supporter indifféremment les flux d’information,
de matière ou d’énergie ;
32
c. Spécification des activités du système
Pour formaliser les activités du système, on peut réaliser pour chaque cas d’utilisation au moins
un diagramme d’activité (AD SysML) basé sur les scénarios décrits textuellement en tenant
compte des concepts système éventuellement définis :
Définir les activités (actions) du système ;
Définir les objets échangés ;
Relier les actions par des flux de contrôle, d’objets, de synchronisation ou de divergence
pour identifier les chemins possibles suivant les scénarios ;
Définir les conditions éventuelles et les associer aux flux ;
33
Relier chaque exigence au cas d’utilisation correspondant :
Utiliser un lien « trace » si le cas d’utilisation est décrit uniquement
textuellement
Utiliser un lien « refine » si le cas d’utilisation est décrit par au moins un
diagramme SysML (état, séquence ou activité) ;
Associer les stéréotypes adaptés, s’ils ont été définis préalablement (exemple « Besoin
– service attendu », « Exigence-Fonctionnelle »,…) ;
Relier les exigences entre elles :
Utiliser des liens de dérivation « derivReqt » en cohérence avec les liens
« include » et « extend » des cas d’utilisation.
Remarque :
L’exigence correspondant à la mission principale du système devrait se retrouver avec le cas
d’utilisation principale de la phase d’exploitation.
Dans SysML d’autres propriétés non normatives sont proposées : source (origine du besoin)
risque (si non satisfaite), methode de vérification. Dans le cas où l’outil ne supporte pas ces
extensions, il est possible d’utiliser l’attributs description. Par exemple (Source) du besoin
(partie prenante, besoin initial, CdC initial, courriel, norme ,…) peut être précisée.
34
Relier chaque exigence à l’exigence fonctionnelle correspondante : Utiliser des
liens de dérivation « deriveReqt » ;
35
Définir une matrice Exigences/Exigences qui met en évidence les liens « derivReqt »
entre les exigences d’une même phase d’ingénierie :
Chaque exigence d’un niveau doit être liée soit à une exigence d’un niveau supérieur
d’ingénierie, soit à une exigence du même niveau ;
Exemple : lors de l’analyse des exigences par le MOE (Maitre
d’œuvre), toute exigence définie doit être liée à un besoin ou à
une autre exigence.
Chaque exigence d’un niveau doit être liée soit à une exigence d’un niveau inférieur
d’ingénierie, soit être satisfaite par un élément du système.
La traçabilité des exigences permet de vérifier que toutes les exigences d’un niveau sont prises
en compte et qu’aucune exigence n’est orpheline (superflue).
36
Annexe
37
– Non ambiguïté : ne permet qu’une seule interprétation
– Pure prescription : porte que le Quoi? Et non sur le Comment?
– Vérifiabilité, testabilité : à toute exigence peut être associée une méthode permettant
la vérification de son obtention
– Faisabilité : peut être satisfaite avec l’état de l’art technologique
– Réalisme : peut être satisfaite dans les contraintes du projet
Caractéristiques (niveau global) :
– Cohérence : pas d’exigences contradictoires
– Complétude : pas de manques
38
Bibliographie :
39