analyse des systèmes - sysml

16
Analyse des systèmes - SysML Cours de Première et Terminale 03 Octobre 2021 Table des matières 1 Ingéniérie des Systèmes 2 1.1 Cycle de vie d’un système .................................. 2 1.2 Analyse du besoin ...................................... 2 1.3 Le cahier des charges fonctionnel .............................. 3 2 Le langage sysML 4 2.1 Point de vue fonctionnel - Diagramme des exigences ................... 6 2.2 Point de vue structurel .................................... 7 2.2.1 Diagramme de définition de bloc .......................... 7 2.2.2 Diagramme de bloc interne ............................. 7 2.3 Point de vue comportemental ................................ 9 2.3.1 Diagramme des cas d’utilisation .......................... 9 2.3.2 Diagramme de séquence ............................... 11 2.3.3 Diagramme d’état .................................. 14 3 Annexes 16 3.1 Vocabulaire .......................................... 16 3.2 Quelques liens utils ...................................... 16 Je remercie d’avance les lecteurs pour leurs remarques et suggestions. 1

Upload: others

Post on 18-Jun-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyse des systèmes - SysML

Analyse des systèmes - SysML

Cours de Première et Terminale

03 Octobre 2021

Table des matières1 Ingéniérie des Systèmes 2

1.1 Cycle de vie d’un système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Analyse du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Le cahier des charges fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Le langage sysML 42.1 Point de vue fonctionnel - Diagramme des exigences . . . . . . . . . . . . . . . . . . . 62.2 Point de vue structurel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1 Diagramme de définition de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 Diagramme de bloc interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Point de vue comportemental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1 Diagramme des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.2 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Diagramme d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Annexes 163.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Quelques liens utils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Je remercie d’avance les lecteurs pour leurs remarques et suggestions.

1

Page 2: Analyse des systèmes - SysML

1 INGÉNIÉRIE DES SYSTÈMES

1 Ingéniérie des SystèmesL’ingénierie Système (IS) ou System Engineering (SE) en anglais est une démarche méthodologiquegénérale qui permet de concevoir, faire évoluer et vérifier un système. Elle regroupe l’ensemble desactivités permettant d’apporter une solution économique et performante aux besoins d’un client qu’ilsoit particulier ou entreprise.

Figure 1 – Ingéniérie Système

La démarche de l’Ingénierie Système fait appel à trois visions d’un produit ou d’un système :— Fonctionnelle : ce que fait le système. Cette vision est formalisée dans le Cahier des Charges

fonctionnel.— Structurelle : de quoi est constitué le système ? Quelle est la structure ? Quels sont es sous-

systèmes mis en oeuvre ?— Comportementale : que fait le système ?

Ces trois visions s’appuient sur de nombreux outils de représentation : dessins, plans, représentationen 2D ou 3D, schéma de principe, représentation symbolique... Ces outils sont aujourd’hui numériqueset, pour des raisons de compétitivités, sont communs à toutes les étapes du cycle de conception.

Figure 2 – Ingéniérie Système

1.1 Cycle de vie d’un système

La notion de « cycle de vie »est indissociable d’un système. Il recouvre les différentes étapes nécessairesà l’élaboration de tout produit, de l’analyse du besoins, à la fabrication en passant par la spécificationet la conception.Les préoccupations environnementales, la nécessité de réduire les pollutions et la consommation dematière première conduit à prendre en compte les contraintes de recyclage et d’élimination dès laconception du système.

1.2 Analyse du besoin

Selon la norme NF X50-150 « un besoin est une nécessité ou un désir éprouvé par un utilisateur ».Toute solution doit satisfaire au mieux les besoins exprimés ou implicites des utilisateurs. A cettefin, la collecte des besoins clients et la prise en compte des contraintes de toute nature conduit àétablir une liste des exigences du système. La gestion des exigences intervient tout au long du cycle dedéveloppement du produit, de la conception à la validation. Il convient, une pour une gestion efficacedes besoins de veiller aux points suivants :

2

Page 3: Analyse des systèmes - SysML

1.3 Le cahier des charges fonctionnel 1 INGÉNIÉRIE DES SYSTÈMES

Figure 3 – Cycle de vie

1. Attribuer un Id unique à chaque exigence. L’Id permet notamment la traçabilité des exigences...Si une exigence est dans le cahier des charges, elle doit être prise en compte dans les spécifications,être implémentée, être testée et validée et finalement être satisfaite par le produit livré.

2. Hiérarchiser les exigences3. Une description textuelle précise4. Pour chaque exigence définir :

— Priorité : haute, moyenne, basse (c’est important pour le phasage des projets et la réductiondu « time to market »)

— Source : client, marketing, technique, législation— Risque : haut, moyen, bas (risque en terme de délai, risque technique etc)— Statut : proposé, implémenté, testé, validée, livré

Au delà de la description textuelle et qualitative les exigences peuvent donner des information quan-titatives. On définit les notions suivantes :

— Critères : il s’agit d’une grandeur physique mesurable— Niveau attendu : la valeur exigée de la grandeur physique— Flexibilité : l’écart acceptable sur le niveau attendu exprimé soit en valeur absolue soit en écart

relatif (pourcentage)Par exemple : pour un véhicule automobile, la consommation de carburant est un aspect important,pour des raisons économiques et environnementales. Une exigence à ce sujet pourrait être :

— Id : 7.38.172— Description : la consommation du véhicule doit être aussi faible que possible (qualitatif)— Critère : la consommation moyenne pour 100 km sur route (quantitatif)— Niveau : inférieur à 4.2 litres pour 100 km— Flexibilité : plus ou moins 0.2 litres

1.3 Le cahier des charges fonctionnel

Le cahier des charges fonctionnel est un document qui formalise aussi précisément que possible lesbesoins du client. Il énumère notamment les différentes contraintes, financières, règlementaires, envi-ronnementales, humaines, techniques ou industrielles.

3

Page 4: Analyse des systèmes - SysML

2 LE LANGAGE SYSML

2 Le langage sysMLSysML signifie System Modeling Language. C’est un formalisme graphique donnant une descriptiondu système susceptible d’être comprise par l’ensemble des parties prenantes (stakeholders) d’un projet.Tout projet, même d’envergure limitée, implique de nombreux intervenants de sensibilité et de culturedifférente, client, juriste, expert d’un domaine technique. Pour le bien du projet, que tout ce petitmonde se comprenne n’est pas optionnel...

Figure 4 – Multiplicité des parties prenantes

Ainsi les diagrammes SysML permettent de représenter :— Les exigences du système— Les composants du système— Les flux de toute nature entre les composants du système (matière, énergie et information)— Le fonctionnement du système

Les diagramme SysML :— sont utilisés tout au long du projet, de l’analyse des besoins à la conception— sont communs à tous les champs disciplinaires— remplacent les autres formalismes de description de système tels que Grafcet, Fast, SADT etc)

Le langage graphique SysML propose neuf types de diagrammes, donnant une vision du systèmessuivant trois points de vue :

1. Fonctionnel : Définition des objectifs et des contraintes2. Structurel : Description des structures3. Comportemental : Description du comportement dynamique du système

La figure ci-après montre la répartition des diagrammes par points de vues :Tous les diagrammes sont constitué des éléments suivants :

— Un cadre— L’identification du type de diagramme et le système ou sous système auquel il se rapporte— Les éléments du diagramme (variables selon la nature du diagramme— De liaisons entre les éléments matérialisée par des traits ou des flèches

Le tableau ci-dessous précise le formalise utilisé pour indiquer chaque type de relation entre deuxentités. La dernière colonne indique le type de bloc dans lesquels le symbole est utilisé.

4

Page 5: Analyse des systèmes - SysML

2 LE LANGAGE SYSML

Figure 5 – Cycle de vie

Formalisme Signification DiagrammesA B Association : relation d’égal à égal entre deux élé-

ments.A utilise B

uc, bdd

A B Dépendance : deux éléments distincts mais l’un dé-pend de l’autre

req, uc, bdd

A B A entre dans la composition de B sans être indispen-sable à son fonctionnement

req, bdd

A B A entre dans la composition de B est lui est indispen-sable

req, bdd

A B dépendance de type « filiation » entre deux éléments.A est une sorte de B

req, bdd

A B Conteneur : relation d’inclusion entre deux éléments.B contient A ou A est inclu dans B

uc, bdd

La suite du document présente en détail chaque diagramme. Les exemples s’appuient sur l’analyseSysML d’un radio réveil, permettant d’afficher l’heure au plafond.

Figure 6 – Radio réveil (le système étudié)

5

Page 6: Analyse des systèmes - SysML

2.1 Point de vue fonctionnel - Diagramme des exigences 2 LE LANGAGE SYSML

2.1 Point de vue fonctionnel - Diagramme des exigences

Le diagramme des exigences (requirement diagram) est la version SysML du cahier des charges fonc-tionnel.

Objectif : le diagramme des exigences permet de regrouper et hiérarchiser les exigences du système.

Constitution :— Le mot clef req : dans le cartouche avec le nom du système et le nom du diagramme— Les exigences sont représentées par des rectangles contenant :

— L’identifiant unique de l’exigence— La description textuelle— Eventuellement des informations quantitatives sous forme de critères

— Les relations entre les exigences

Figure 7 – Diagramme des exigences

Les liaisons :— La liaison de contenance permet de décomposer les exigences en sous exigences et de les hié-

rarchiser.— La flèche en pointillé exprime différentes relations précisées par un mot clé. (voir le tableau

ci-après)

6

Page 7: Analyse des systèmes - SysML

2.2 Point de vue structurel 2 LE LANGAGE SYSML

derive Relie deux exigences de niveau différent. Une exigencedérive de l’exigence pointée.

derivReq Relie deux exigences de niveau différent. Une exigencedérive de l’exigence pointée.

refine Précise, en général de façon quantitative l’exigencepointée.

verify Un ou plusieurs éléments du modèle permettent desatisfaire une exigence

satisfy L’exigence est satisfaite par un autre élément du sys-tème

Table 1 – Dépendances entre les exigences

2.2 Point de vue structurel

2.2.1 Diagramme de définition de bloc

Les diagrammes de définition de bloc abrégé bdd (Block Definition Diagram) donnent une vision dela structure du système.Objectif : Montrer la constitution du système. Le diagramme répond à la question « qui contientquoi ? ».

Constitution :— L’identification du type de bloc : bdd (block definition diagram)— Les blocs représentés sous forme de rectangles. Les blocs contiennent

— La définition du bloc, son nom et son type— Des attributs qui représentent les propriétés qui caractérisent le bloc— Les opérations qui représentent les services fournis par le bloc. 1

— Les relations entre les blocs

Les liaisons :— Un trait et un losange plein : il s’agit d’une relation d’inclusion. Le bloc inclu est indispensable

au fonctionnement du bloc contenant.— Un trait et un losange vide : il s’agit d’une agrégation

Les liaisons entre les blocs et entre les diagrammes permettent de décomposer le système et de hié-rarchiser les blocs. Les blocs peuvent en effet représenter un système complet, un sous-système ouun composant élémentaire. Selon le niveau de zoom, les bdd peuvent donner une vision d’ensembledu système ou au contraire une vision détaillée. Il est alors nécessaire, pour rester lisible, de créerplusieurs diagrammes.

2.2.2 Diagramme de bloc interne

Le diagramme de bloc interne abrégé en ibd (Internal Block Diagram) décrits les échanges entre lesblocs.

Objectif : représenter les flux entre les blocs

Constitution :— Block : les block sont représentés par des rectangles. Les blocks sont ceux qui apparaissent dans

les diagramme de définition de block bdd.— Les ports standards et les ports de flux

1. Le bloc est proche de la classe en conception objet. La classe encapsule des données sous forme d’attributs et desméthodes

7

Page 8: Analyse des systèmes - SysML

2.2 Point de vue structurel 2 LE LANGAGE SYSML

Figure 8 – Diagramme de définition de block

Figure 9 – Diagramme de block interne

: flow port Les flux (flow port) indique les flux physiques entre lesblocs (données, fluides, énergie).

: port standard Les ports standard permettent la description de ser-vices logiques entre les blocs, au moyen d’interfacesregroupant des opérations.

8

Page 9: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

2.3 Point de vue comportemental

2.3.1 Diagramme des cas d’utilisation

Le diagramme des cas d’utilisation uc pour use case est un diagramme fonctionnel montrant lesinteractions entre les acteurs et le système d’étude. Il décrit ce que doit faire le système sans spécifiercomment.

Objectif : exprimer les services (use case) offerts par le systèmes aux utilisateurs (actors)

Constitution :— Le mot clef uc : il apparait en haut à gauche du cartouche avec le nom du système et le nom

du diagramme— Les cas d’utilisation sont représentés dans un ovale— Les acteurs humains sont représentés par un personnage stylisé (stickman)— Les liaisons

On distingue :— Les acteurs principaux placés à gauche du diagramme. Il agissent directement sur le système

et ont besoin d’utiliser le système.— Les acteurs secondaires placés à droite du diagramme. Il agissent sur le système mais n’ont

pas besoin d’utiliser le système. Il s’agit généralement d’un autre système qui échange avec lesystème principale. Par exemple, le réseau 4G interagit avec le téléphone d’un abonné, maisn’a pas besoin du téléphone de l’abonné.

Les liaisons :— Trait plein : relie les cas d’utilisation aux acteurs— Flèche en pointillé : dépendance entre deux items. La nature de la dépendance est précisée par

un mot clef extend ou include— Flèche en trait plein : relation de généralisation.

Figure 10 – Cas d’utilisation

Le diagramme ci-dessous reprends les mêmes cas d’utilisation que le précédent, mais fait apparaitreune relation de généralisation (ou de spécialisation). L’acteur principal est considéré dans l’état éveilléet dans l’état endormi deux cas particuliers pour lesquels les besoins sont différents.Enfin, le dernier diagramme introduit des dépendances entre les cas d’utilisation, la nature de ladépendance étant précisée par un mot clef extend ou include.

9

Page 10: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

Figure 11 – Cas d’utilisation

extend le cas source est une extension possible,une option du cas pointé

include le cas d’utilisation source comporte obli-gatoirement le cas pointé

Figure 12 – Cas d’utilisation

10

Page 11: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

2.3.2 Diagramme de séquence

Un diagramme de séquence sd pour Sequence Diagram est une représentation du comportementdynamique et des interactions entre les objets ou services repartis d’un système

Objectif : spécifier et ou décrire le comportement dynamique et temporel d’un système en termed’échange de messages entre les parties du système.

Constitution :— Le mot clé sd dans le cartouche— Les blocks représentés par un rectangle en haut du diagram. Le block peuvent être aussi un

utilisateur qu’un block ou un sous système.— Une ligne verticale par block appelée ligne de vie. La ligne de vie représente la progression

temporelle.— Les messages :

— Message synchrone représenté. L’émetteur attend une réponse et l’attente est bloquante— Message asynchrone— Message réflexif. Action sur l’élément lui même.

Figure 13 – Diagramme de séquence

Les différents types de message sont illustrés sur la figure ci-dessous.

Message synchrone : L’émetteur attend une réponse etl’attente est bloquanteMessage asynchroneMessage réponseMessage réflexif

Tout comme le déroulement des opérations dans un algorithme peut être controlées par des structuresconditionnelles du type if then else ou des structures itératives du type for, repeat, while, les séquences

11

Page 12: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

Figure 14 – Diagramme de séquence

peuvent être répétée, ou activée de facon conditionnelle. La séquence de message est placée dans uncadre accompagné d’un mot clé

— loop : la séquence de message est répétée. Le formalisme permet de préciser les conditions dela répétition ou le nombre de répétition

— alt : séquence conditionnelle. Deux séquences de message sont possibles. La première séquencede message n’est exécuté que si une condition est remplie dans le cas contraire c’est la séquencealternative qui est exécutée. (structure if <condition> then else)

— opt : séquence optionnelle : la séquence de messages n’est exécuté qui si une condition estsatisfaite. (structure if <condition> then)

Le diagramme ci-dessous illustre ces notions sur un diagramme complexe dans lequel une applica-tion mobile engage un dialogue avec l’infrastructure des serveurs. MWSAPP Signifie Mobile WirelessSecurity Application

Figure 15 – Structure de controle

Les diagramme de séquences sont utilisés notamment dans deux cas.— La conception d’IHM (Interface Homme Machine) afin définir précisément les interactions entre

l’utilisation et le système.

12

Page 13: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

— Les échanges protocolaires entre système d’informations. Par exemple échange entre un clientde messagerie et le serveur IMAP (Internet Message Access Protocol) d’un FAI (Fournisseurd’accès Internet)

13

Page 14: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

2.3.3 Diagramme d’état

Les diagrammes d’état stm (Pour State Machine) représente les différents états d’un système ainsique les changement d’état possible.

Objectif : formaliser les états d’un système, les transitions entre les état ainsi que les événements etcondition qui engendre les transitions.

Constitution :— Le mot clef stm dans le cartouche— Les états du système représentés par des rectangle à coin arrondis— Les transitions représentées par des flèches entre— Deux états virtuels : l’état initial et l’état final

Etat initial

Etat final

Transition

RectangleEtat

Figure 16 – Diagramme d’état

Les transitions sont déclenchées par des événements. Cependant, une transition peut être complétéepar :

— Une condition ( guard )— Des paramètres

14

Page 15: Analyse des systèmes - SysML

2.3 Point de vue comportemental 2 LE LANGAGE SYSML

— Une activitéLa syntaxe complète d’une transition est donc : event[condition]( parameters) / ActivtyA l’initialisation, lors de la création de la machine a état, un jeton virtuel est placé au point de départ.Si les conditions le permettent, la transition vers le premier état se produit et le jeton passe au premierétat.Chaque état défini un comportement du système :

— entry behavior : permet de définir les traitements effectués lorsque le jeton arrive dans unétat

— do active : définit les traitements réalisés lorsque le jeton est dans un état— exit behavior : permet de définir les traitements réalisés lorsque le jeton quitte un état

15

Page 16: Analyse des systèmes - SysML

3 ANNEXES

3 Annexes

3.1 Vocabulaire

FAST : Function Analysis System Technique

Grafcet : Le Grafcet (Graphe Fonctionnel de Commande des Étapes et Transitions) est un mode dereprésentation et d’analyse d’un automatisme, particulièrement bien adapté aux systèmes à évolutionséquentielle, c’est-à-dire décomposable en étapes. Il est dérivé du modèle mathématique des réseauxde Petri. Le Grafcet est donc un langage graphique représentant le fonctionnement d’un automatisme.

OMG : Object Management Group. Organisme qui gère UML et SysML

OMT : Object Modeling Technique (Grady Booch)

OOSE : Object Oriented Software Engineering (Ivar Jacobson)

SADT : Structured Analysis and Design Technique.

SysML : System Modeling Langage. Langage graphique de modélisation et description de système.SysML est une adaptation de UML plutôt orienté software aux systèmes matériels.

UML : Unified Modeling Langage. Une synthèses des travaux de Grady Booch, James Rumbaugh etIvar Jacobson. UML est un standard géré par l’OMG.

3.2 Quelques liens utils

— Le site officiel de SysML : https://sysml.org

16