Vous êtes sur la page 1sur 53

Iulia-Cristina Stanica, PhD

Ingénierie des iulia.stanica@gmail.com /


iulia.stanica@upb.ro

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

+ Langages de modélisation des systèmes


+ IS basée sur des modèles
+ OPM
+ SysML
+ Diagramme d’exigences
Description système Clocky
alarm – “Clock on wheels”

+ Travailler avec un partenaire (5-7 min)


+ Décrivez le système en utilisant tout
moyen que vous désirez (dessins, texte,
sons, papier, tableau blanc, pc etc.)
+ Je vais prendre des personnes par hasard
+ On va comparer les solutions
Pourquoi les langages de modélisation des systèmes?
• Moyennes traditionnelles de description d’un produit / système:
• Langue Naturelle (Anglais, Français etc....)
• Graphique (schémas et dessins)
• Celles-ci sont ensuite généralement agrégées dans des "documents"
• Documents physiques ou électroniques échangés entre clients, utilisateurs,
développeurs et testeurs

• Avantages d’une description par hasard:


• Familiarité pour le créateur de la description
• Non confinant, favorise la créativité

• Désavantages d’une description par hasard :


• Place aux interprétations ambiguës et aux erreurs
• Difficile de mettre à jour s'il y a des changements
• Les transferts entre les phases du cycle de vie SE sont discontinus
• Niveau d'abstraction inégal
• Grand volume d'informations qui dépasse la bande passante cognitive humaine
Les langages de modélisation des systèmes
+ Angl. Systems Modeling Languages
+ A partir des années ’60
+ Il y en a plusieurs langages, mais avec des caractéristiques communes:
+ Indépendants du domaine
+ Ontologie
+ Définit les entités autorisées à exister et à être décrites
+ Comment ces entités peuvent être regroupées, liées à une hiérarchie et subdivisées
+ Contraint l'univers des concepts qui peuvent être représentés dans le langage
+ Sémantique
+ Décrit la signification des entités autorisées par l'ontologie
+ Relation entre les signifiants (ex. mots, symboles...) et leur dénotation
+ Syntaxe
+ Ensemble de règles, de principes et de processus qui régissent la structure de la langue et la façon dont les
« phrases » correctes peuvent être synthétisées
IS basée sur les modèles – Terminologie
+Modèle:
+ Une version simplifiée d'un concept, d'un phénomène, d'une
relation, structure ou système
+ Une représentation graphique, mathématique ou physique
+ Une abstraction de la réalité en éliminant les composants inutiles
+ Les objectifs d'un modèle comprennent:
• pour faciliter la compréhension
• pour aider à la prise de décision, examiner des scénarios "et si"
• pour expliquer, contrôler et prédire les événements
IS basée sur les modèles – Terminologie
+ Angl. Model-based systems
engineering (MBSE)
+ Déf MBSE: une application
formalisée de la modélisation
utilisée pour prendre en charge les
exigences, la conception, l'analyse,
la vérification et la validation
associées au développement de
systèmes complexes.
IS basée sur les modèles – Quoi?
+ Focus sur les modèles digitales, pas sur les documents
+ Tout au long du cycle de vie du système
+ Améliore la qualité/productivité et réduit les risques
– Rigueur et précision
– Communications entre l’équipe de développement et le client
– Gestion de la complexité
– Comprendre plus facilement les impacts des changements,
communiquer l'intention et analyser une conception de système
avant sa construction
IS basée sur les modèles – Pourquoi?
+ Approfondir l'ingénierie des systèmes sans augmenter
les coûts
+ Permettre l'automatisation et l'optimisation
+ Des niveaux sans précédent de compréhension des
systèmes peuvent être atteints grâce à des analyses
intégrées
+ Spécification consistante
IS basée sur les modèles – Pourquoi?
IS basée sur les modèles – Comment?
+ Délimiter le problème:
+ Que souhaitez-vous obtenir de vos modèles ?
+ De quelle niveau de détails avez-vous besoin pour atteindre ces objectifs ?
+ Quels sont les critères de réussite de l'effort ?
+ Ensemble de modèles interconnectés
+ Les modèles sont une abstraction de la réalité
+ Structure, comportement et exigences
+ Langage standard
+ Notation graphique, syntaxe, sémantique – Focus visuel
+ Statique et Dynamique
Les langages de modélisation des systèmes -
Exemples
+ Afin de concevoir rigoureusement des produits, il faut un
langage pour décrire les fonctions, la forme, les concepts
de manière cohérente
+ UML – malheureusement surtout pour software
+ SysML – généralisation pour les systèmes cyber-physiques
+ OPM - Object-Process-Methodology
OPM
+ (angl.) Object Process Methodology
+ Def: un langage de modélisation de conception et
une méthodologie pour capturer les connaissances
et concevoir des systèmes
+ Basé sur une ontologie universelle minimale
d'objets avec état et de processus qui les
transforment
+ Décrit en 2002, adopté par ISO en 2015
+ La modalité graphique est exprimée via un
ensemble de diagrammes de processus objet
(OPD) et textuellement via le langage de processus
objet (OPL).
OPM - motivation
+Représentations typiques des produits
+ Schémas
+ Dessins techniques
+ Diagrammes UML (Logiciel)

+ Besoin d’une représentation unitaire:


+ Afficher les fonctions
+ Afficher les attributs de la fonction
+ Afficher les objets (opérandes, composants système, consommables ...)
+ Afficher les attributs de l'objet
+ Afficher les liens
OPM - ontologie
+Objet : ce qui a le potentiel d'une existence stable
et inconditionnelle pendant une certaine durée
positive. Les objets ont des états. Les objets sont des
noms.
+ La forme est la somme des objets
+ Processus : modèle de transformation appliqué à
un ou plusieurs objets. Les processus changent
d'état.
+ La fonction émerge des processus
+Tous les liens entre objets et processus ont une
sémantique précise
OPM – liens structurels
+ Relient les objets entre eux
• Est lié à…

• Lien avec etiquette

• Se décompose en, s'agrège en

• Se caractérise par

• Se spécialise / se généralise

• Instancié à, appartient à la classe


de
Obs: ABS – anti-lock braking system
TCS – traction control system (related to acceleration)
BAPlus – automatic braking
OPM – processus

+ Déf : un processus est le modèle de transformation appliqué


à un ou plusieurs objets
+ Un processus s'appuie sur au moins un objet
+ Un processus se déroule le long d'une chronologie
+ Il s’exprime par un verbe
OPM – processus et liens
+ Il existe une famille de 7 types de liens du processus vers
l'objet
+ Un processus peut changer les états des opérandes d’un objet
via des liens d'entrée et de sortie

Comment on peut lire ca?

“Le transport deplace une


personne d'ici – là”
OPM – processus et liens
(obs: on va noter Objet – O et Processus – P)

+ P change O (de l'état A à B).

+ P affecte O (affecté)

+ P donne O (résulté)

+ P consomme O (consommateur)

+ P est manipulé par O (agent)

+ P nécessite O (instrument)

+ P se produit si O est dans l'état A (ou:


Donc comment on va lire les diagrammes
suivants?
Donc comment on va lire les diagrammes
suivants?
Mais les diagrammes
peuvent arriver… a
ca 

(Ici exemple pour un


réfrigérateur)
Comment gérer la complexité dans l'OPM?
+ OPM dispose de trois mécanismes pour gérer la complexité du système :
+ le dépliage/pliage est utilisé pour affiner/abstraire la hiérarchie structurelle d'un
objet ;
+ le zoom in/out expose/cache les détails internes d'un processus;
+ état exprimant/supprimant expose/masque les états d'un objet.
Comment générer un OPM?
+ De haut en bas
+ Commencez par la ou les parties prenantes (le client en tête)
+ Cartographier le(s) processus principaux au niveau 0
+ Accédez à des niveaux de détail plus élevés dans les calques
+ C'est de l'architecture système/produit !
+ Réduire l'ambiguïté
+ Concentrez-vous sur la créativité
+ Gérer la complexité
+ De bas en haut
+ Décomposer la forme du produit ou de la conception existante (dissection du produit) : Liste des pièces
+ Générer une décomposition initiale du produit
+ Affecter des processus à des éléments de la forme
+ Compléter l'OPM initial et itérer
+ C'est de l'ingénierie inverse !
Logiciel pour
OPM

+http://esml.iem.technion.ac.il/opcat-installation/ - Opcat (basé sur Java)


Modélisation du système

Le modèle du
système doit
capturer des
informations
sur tous les
aspects du
système!
SysML
+ Systems Modeling Language –
langage de modélisation
graphique
+ Créé à partir de 2001 par OMG
(Object Management Group),
INCOSE comme extension de
l’UML 2
+ Les diagrammes SysML
capturent différents types
d'informations du système.
+ Les diagrammes peuvent être
reliés entre eux
SysML
+ Prend en charge la spécification, l'analyse, la conception, la
vérification et la validation des systèmes comprenant du matériel,
des logiciels, des données, du personnel, des procédures
+ Un langage de modélisation visuel qui fournit la sémantique
(sens) et la notation (représentation du sens)
+ Pas une méthodologie ou un outil!
SysML – Taxonomie des diagrammes
SysML - diagrammes
+ L'unité architecturale de base dans SysML est le bloc. Celui-ci peut être
utilisé pour représenter le matériel, les logiciels, les installations, le
personnel ou tout autre élément du système.
+ La structure du système est représentée par des schémas de définition
de blocs et des schémas de blocs internes.
+ Un diagramme de définition de bloc décrit la hiérarchie du système et les
classifications système/composant.
+ Le diagramme du bloc interne décrit la structure interne d’un (sous)système en
termes de composants, de ports et de connecteurs.
+ Le diagramme de paquets est utilisé pour organiser le modèle.
SysML – diagrammes (suite)
+ 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.
+ 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 (suite)
+ SysML inclut une construction graphique pour représenter les exigences textuelles et les
relier à d'autres éléments du modèle.
+ Le diagramme d'exigences capture les hiérarchies d'exigences et la dérivation des
exigences, les relations de satisfaction et de vérification permettent à un modélisateur
d'associer une exigence à un élément de modèle qui satisfait ou vérifie les exigences. Le
diagramme d’exigences fournit un pont entre les outils de gestion des exigences
typiques et les modèles de système.

+ Le diagramme paramétrique représente les contraintes sur les valeurs des propriétés du
système telles que les performances, la fiabilité et les propriétés de masse, et sert de
moyen pour intégrer les modèles de spécification et de conception aux modèles d'analyse
technique.
Les 4 piliers
du SysML

OPM vs SysML –
lequel est le
meilleur?
Logiciels pour SysML

+ Visual Paradigm – recommandé, gratuit:


https://www.visual-paradigm.com/download/community.jsp
ou version en-ligne:
https://online.visual-paradigm.com/drive/

+ Autres options:
+ Modelio http://www.modelio.org/
+ Enterprise Architect https://www.sparxsystems.com.au/products/ea/index.html
+ Astah SysML (free trial) http://astah.net/editions/sysml
Tutoriel Astah:
http://cdn.astah.net/resources/Astah_SysML_Quick_Start+Guide(En)1.2.pdf
Diagramme d’exigences
+ Angl. Requirements diagram
+ Def: fournit un pont entre les exigences textuelles qui peuvent être maintenues dans un outil de gestion des
exigences et le modèle de système
+ Avantages:
+ rend les exigences compréhensibles.
+ fournit une vue d’ensemble de votre système.
+ assure la traçabilité du développement du système.
+ Peuvent avoir:
+ Exigences
+ Modèles
+ Cas de test etc.
+ Chaque exigence a un id, un texte descriptif, une source, une méthode de vérification, un risque (les derniers
optionnels)
+ On peut définir des sous-classes supplémentaires du stéréotype d'exigence (e.g. <<extendedRequirement>>,
<<functionalRequirement>>, <<performanceRequirement>>, <<physicalRequirement>>,
<<designConstraint>> , <<interfaceRequirement>>)
Diagramme
(etalonnage)
d’exigences
Diagrammes d’exigences - Relations
Exigence composite (“containment”)

+ Sous-exigences du point de vue d’une hiérarchie des exigences =>


«exigences enfants » 
Diagrammes d’exigences - Relations
Relation dérivée (“derive”)

+ Les exigences au niveau suivant de la hiérarchie du système obtenues


après avoir effectué une analyse; généralement basé sur une
"justification«  (« rationale »)
+ La flèche doit indiquer l'exigence – source
+ Ex: Exigence « Engine power » dérivée de « Maximum acceleration »
Diagrammes d’exigences - Relations
Relation dérivée (“derive”) - Rationale

+ Un raisonnement (« rationale ») est un élément de modèle SysML qui


peut être associé à une exigence ou à une relation entre des
exigences.
+ Le raisonnement vise à saisir la raison d'une décision de conception
particulière.
Diagrammes d’exigences - Relations
Relation “satisfy”

+ Comment un modèle de conception ou de mise en œuvre répond à


une ou plusieurs exigences
Diagrammes d’exigences - Relations
Relation “verify”

+ Comment un cas de test ou un autre élément du modèle vérifie une


exigence
Diagrammes d’exigences - Relations
Relation “refine”

+ Utilisé pour décrire un élément de modèle qui clarifie une exigence.


+ Typiquement, un cas d'utilisation ou un diagramme de
comportement ou d’état (peut être aussi une exigence)
Diagrammes d’exigences - Relations
Autres relations

+Autres relations qui existent:


+traçabilité (« trace ») – identifie la source d’une exigence
(ex: un document, une étude de cas)
+copie (« copy ») – créer une copie d’une exigence
existante
Tableau d’exigences – version 1
Tableau d’exigences – version 2 (partielle)

Est-ce qu’on
peut generer le
diagramme a
partir de ca?

Attention aux
indices!
Exemple question pour l’examen final

Laquelle / Lesquelles ne sont pas des relations


d’exigences dans SysML?
– Implement

– Refine

– Satisfy

– Extend
Diagramme d’exigences – bonnes pratiques pour
le projet final
+ Le projet = la racine du diagramme
+ Utiliser les conseils d’identification des exigences présentés
dans le cours qu’on a fait ensemble concernant les exigences
+ Utiliser les critères de classification pour avoir différents sous-
types d’exigences (!!! Pas seulement fonctionnels !!!)
+ Aller de plus général au plus particulier
+ L’inclusion d’une variété grande de relations sera mieux
appréciée pour la notation
Quels sont les problèmes de ce
diagramme?
Conclusions
+ L’IS traditionnel produit des documents
+ Par ex. Document d'exigences, document de contrôle d'interface etc...
+ Écrit en langage naturel
+ De nombreux inconvénients : les changements ne se propagent pas facilement, les
interprétations ambiguës
+ Ingénierie des systèmes basée sur des modèles (MBSE)
+ Remplacer les documents par des modèles
+ Besoin de langages de modélisation système rigoureux
+ Object process methodology (OPM) - Excellent pour vue sur l’ensemble entier du
système et voir les frontières du système
+ SysML - Largement utilisé dans certaines industries, 9 types de diagrammes
Élément Documents MBSE

Information - Principalement du texte - Visuel et textuel


- Add Hoc Diagrams - Constructions définies une fois et
- Faiblement couplé, réutilisé
répété dans plusieurs - Partagé entre les domaines
documents - Notation cohérente dans les
diagrammes Caractéristiques de
- Relations définies
l’information dans
Vues d'info - Par document - Fournit des points de vue
- Filtres par domaine, problème l’IS:
Espace, etc...
Mesurer l'impact - S'étend sur plusieurs - Les relations définissent les
du changement documents
- Souvent des demandes
chemins de traçabilité
- Partie naturelle du processus de
Documents vs
de texte. Sont isolés de modélisation Modèles
la structure et du - Automatisé par programmation
comportement
Mesurer l'intégrité - Par inspection - Automatisé par programmation
- Intégralité, qualité manuelle - Animation de Spécification
et précision
Prochain cours…
+ Vous pouvez commencer votre diagramme d’exigences et me
demander du feedback
+ On continue avec SysML -> Les diagrammes de structure
Références utiles
+ Olivier L de Weck, ”Fundamentals of Systems Engineering”, System Modeling Languages
+ Laura E. Hart, “Introduction To Model-Based System Engineering (MBSE) and SysML ”, INCOSE Chapter Meeting
July 30, 2015
+ Nataliya Shevchenko, “An Introduction to Model-Based Systems Engineering (MBSE)”, 2020,
https://insights.sei.cmu.edu/blog/introduction-model-based-systems-engineering-mbse/
+  "ISO/PAS 19450:2015 - Automation systems and integration -- Object-Process Methodology". iso.org.
December 2015.
+ Dori Dov (1995). "Object-Process Analysis: Maintaining the Balance between System Structure and
Behavior". Journal of Logic and Computation. 5 (2): 227–249. 
+ Yariv Grobshtein, Valeriya Perelman+, Eliyahu Safra, Dov Dori, “Systems Modeling Languages: OPM Versus
SysML”, 2007 International Conference on Systems Engineering and Modeling
+ What is SysML? - https://www.omgsysml.org/what-is-sysml.htm
+ Pascal Roques, “Modeling Requirements with SysML”, 2015,
https://re-magazine.ireb.org/articles/modeling-requirements-with-sysml

Vous aimerez peut-être aussi