Université Sidi Mohamed Ben Abdellah
Ecole Nationale des Sciences Appliquées
Modélisation des systèmes
complexes avec SysML
Abdelouahed Sabri
[Link]@[Link]
Introduction: Etude de cas
Etapes pour la réalisation d’un projet (système)
Prospection
Elaboration du cahier de charges
Modélisation et conception
Développement (fabrication)
Test
Déploiement
2
Introduction: Etude de cas
Store SOMFY
3
Introduction: Etude de cas
Cahier de charges (Utilisation): élaboré après étude des
besoins et du marcher
Protection contre le vent (enrouler si le vent est fort)
Automatisation vis-à-vis de l’état du soleil ; dérouler quand la
luminosité devient forte et inversement
Commande manuelle ; à distance ou par contact
Possibilité de commander plusieurs stores à la fois
Entretient facile et rapide
...
BESOINS ET FONCTIONNALITÉS
4
Introduction: Etude de cas
Cahier de charges (Utilisation): élaboré après étude des
besoins et du marcher
Protection contre le vent (enrouler si le vent est fort)
Automatisation vis-à-vis de l’état du soleil: ; déroule luminosité devient
forte et inversement
Commande manuelle; à distance ou par contact
Possibilité de commander plusieurs store à la fois
Visualisation à distance de l’état du store
Entretient facile et rapide
Exigences Acteurs Exemples d’utilisation
Le replier si la vitesse du vent est grande Propriétaire Lever/baisser le store
Automatisation: Déplier/plier suivant le Installateur Régler le seuil
positionnement du soleil Vent
Le commander Soleil
Entretient facile 5
Introduction: Etude de cas
Représentation graphique des utilisations
Diagramme
de cas
d’utilisation
6
Src: [Link] [Link]
Introduction: Etude de cas
Représentation graphique des exigences
Diagramme
des exigences
7
Src: [Link] [Link]
Introduction: Etude de cas
Représentation graphique des entités
Diagramme
définition de blocs
8
Src: [Link] [Link]
Introduction
SysML: Systems Modeling Language
Langage de modélisation spécifique au domaine de
l’Ingénierie Système (IS)
C’est une adaptation du fameux langage de modélisation
UML (Unified Modeling Language) pour la modélisation des
systèmes d’information (SI)
Il permet la spécification, l'analyse, la conception,
la vérification et la validation des systèmes complexes
(industriels)
9
Introduction: Ingénierie Système
L’Ingénierie Système (IS): (src wikipedia)
Est une approche permettant de formaliser et d’appréhender la
conception de systèmes
Système: est un ensemble d'éléments humains ou matériels
Les méthodes de l’Ingénierie Système (IS) reposent sur
des approches de modélisation et de simulation pour
valider les exigences ou pour évaluer le système
L'ingénierie des systèmes se concentre sur la définition
des besoins du client et des exigences fonctionnelles et
matérielles
Exemples: Cas de Somfy
Permettre une commande manuelle et à distance (Besoin client)
Protéger un espace des rayons solaires (Exigence)
...
10
Introduction: Modélisation
Modéliser: consiste en une simplification pour faciliter la
compréhension des systèmes à développer (réaliser)
Un modèle est:
Une représentation abstraite et simplifiée d'une entité
(phénomène, processus, système, etc.) du monde réel en vue
de le décrire, de l'expliquer ou de le prévoir.
Un langage commun, précis, qui est connu par tous les
membres de l'équipe
11
Introduction: Modélisation
Pourquoi Modéliser???
L’étape de modélisation d’un système est généralement réalisée
avant sa réalisation pour mieux comprendre le fonctionnement
du système. C'est aussi un bon moyen pour maîtriser sa
complexité et ainsi assurer sa cohérence.
Un modèle permet de:
Produire un guide pour le développement du système
mieux répartir les tâches
automatiser certaines d'entre elles facteur de réduction des coûts et
des délais.
Avoir un support documentaire du système
Définir les structures de données ainsi que le comportement du
système
Prédire et savoir comment va être notre système et ainsi le valider
vis-à-vis des clients
12
Introduction: Modélisation
Le modèle:
doit ressembler au système réel qu’on vise à développer
peut être représenté avec plusieurs niveaux de précision
ne doit pas être très simple ni trop complexe
doit permettre sa modification et sa réutilisation
doit permettre un passage facile entre le niveau conceptuel et
l’implémentation
13
Introduction: Modélisation
Les différentes méthodes de modélisation (avant
standardisation)
Méthodes de première génération: sont des méthodes fonctionnelles de
décomposition hiérarchique ou descendante.
Exemple: SADT (Structured Analysis and Design Technique).
Avantages: clarification et une décomposition analytique de la complexité d’un
système
Inconvénients: difficiles à utiliser; Absence de représentation séquentielle, absence
d’opérations logiques booléens et impossibilité d'une vue globale du système
Méthodes de deuxième génération : connues sous le nom de méthodes
systémiques.
Exemple: Merise, SSADM (Structured Systems Analysis and Design
Method)
Méthodes de troisième génération ou méthodes objets: OMT (Object
Modeling Technique, 1991), Booch (1991), OOA (Object-Oriented
Analysis, 1992), OOD (object-oriented design), fusion (1991)
Exemples: UML SysML
14
Merise
MERISE est une méthode d’analyse et de conception des
SI
française
née dans les années 70
mise en avant dans les années 80
développée initialement par Hubert Tardieu
Basée sur la séparation des données et des traitements
en 3 modèles (schémas):
Modèle conceptuel,
Modèle logique ou organisationnel,
Modèle physique
15
Merise
Niveau conceptuel
L’élaboration du modèle conceptuel des données (MCD)
qui est une représentation graphique et structurée des
informations mémorisées par un SI.
Basé sur deux notions principales :
Entités
Associations,
16
Merise
MCD:
Entité:
Unique
Décrite par un ensemble de propriétés: attributs ou caractéristiques.
Un des attributs (au moins) est utilisé comme identifiant de l’entité
17
Merise
MCD:
Associations:
Liens sémantique entre une ou plusieurs entités
Identifiées par un verbe en infinitif
Peuvent contenir des attributs
Exemple:
18
Merise
MCD:
Associations:Types ou cardinalités
On définit le type d’association entre deux entités comme étant le
nombre d'entités provenant de la première et qui sont reliées à la
deuxième entité
Les cardinalités les plus utilisées sont : 0,N ; 1,N ; 0,1 et 1,1.
Cependant, on peut toutefois tomber sur des règles de gestion
imposant des cardinalités avec des valeurs particulières: 3,5
19
Merise
Modèle logique: MLD
Obtenu par conversion du MCD
Règles:
1. Les entités deviennent des relations (ou tables),
L'identifiant de l'entité devient la clé de la relation,
Les propriétés de l'entité deviennent des attributs.
2. Une association de la forme X,N -------Y,N ( X=0 ou 1 et Y=0 ou 1)
devient une relation à part entière dont la clé est la concaténation des
deux identifiants des entités concernées et dont les attributs sont les
propriétés (si elles existent) de l'association.
3. Dans le cas d’une cardinalité 1,1 on ajoute l’identifiant cible à la relation
source comme étant clé étrangère
4. Dans le cas d’une association dont une des cardinalités est 0,1 et
l’autre X,N (X=0 ou 1), créer la clef étrangère dans la relation
correspondante à l'entité du côté de la cardinalité 0,1
20
Merise
Exercice : Gestion des stages des étudiants allant en entreprise.
On cherche à développer une application pour la gestion des
stages de fin d’études des étudiants de l’ENSA.
Ainsi, on veut conserver pour chaque promotion :
Les informations sur le stage,
Les informations sur l’encadrant dans l’entreprise,
Les informations sur l’encadrant dans l’école,
La date, l’heure et la salle de la soutenance,
Les notes obtenues.
...
1. Proposer un MCD permettant de modéliser le cas ci-dessus.
21
Introduction: Modélisation
UML (Unified Modeling Language)
• l’UML a été présenté pour standardiser les méthodes de
modélisations déjà présentes sans standardiser le processus de
développement.
• UML est un langage de modélisation qui à la fois
compréhensible par les humains (par les graphiques) et par les
machines (sa syntaxe).
• Une représentation visuelle permettant la communication entre les
acteurs d'un même projet
• Une notation graphique simple, compréhensible même par des non
informaticiens
22
UML: Introduction
• La modélisation UML est utilisé pour :
– Décomposer le processus de développement,
– Mettre en relation les experts métiers et les analystes,
– Coordonner les équipes d'analyse et de conception,
– Séparer l'analyse de la réalisation,
– Prendre en compte l'évolution de l'analyse et du
développement,
23
UML: Formalisme du langage
• Le langage UML peut être décomposé en deux sous
ensembles :
– Les vues : Les vues sont les observables du système. Elles
décrivent le système d'un point de vue donné.
– Les diagrammes : Les diagrammes sont des éléments
graphiques, définissant le contenu des vues, qui sont des
notions abstraites
– Il n’est pas obligatoire de modéliser tout le système; on peut le
modéliser partiellement modéliser les parties qui sont
critiques.
24
UML: Vues
En UML, la manière de définir une architecture d’un
système est inspiré des « 4+1 vues » de Kruchten (1995).
Dans ces vues, Kruchten propose 5 façons indépendantes
et complémentaires pour définir un modèle
d'architecture :
25
UML: Exemple de vue
Vue des cas d'utilisation (use cases)
C'est la description du modèle « vue » par les acteurs du
système.
Correspond aux besoins attendus par chaque acteur (c'est le
QUOI et le QUI).
Définit les besoins des clients du système
26
UML: Les diagrammes
• Les diagrammes sont utilisés pour représenter les
différentes vues et ainsi représenter des concepts
particuliers du système.
• UML 2.X propose 13 types de diagrammes (9 en
UML 1.3) qui dépendants hiérarchiquement et se
complètent, de façon à permettre la modélisation
d'un projet tout au long de son cycle de vie.
27
Diagrammes UML
UML 2.x propose 13 diagrammes et 9 dans UML 1.x
Peuvent être répertoriés en 3 catégories
Diagrammes structurels ou
statiques (ce que le système
EST)
Diagrammes
comportementaux ou
fonctionnels (ce que le
système FAIT)
Diagrammes d’interaction
ou dynamiques (comment le
système EVOLUE)
28
SysML
SysML: un langage de modélisation spécifique au domaine
de l'ingénierie système
Il permet:
La spécification,
l'analyse,
la conception,
la vérification
la validation de nombreux systèmes et systèmes-de-systèmes.
SysML est une extension/adaptation de UML
SysML: dédié pour la modélisation des systèmes complexes
UML: orienté logiciel (applications informatiques utilisant la
notion de programmation objet)
29
SysML
SysML est un langage plus réduit que UML:
SysML élimine les concepts d'UML qui sont liés à sa vision
centrée sur le logiciel
En 9 diagrammes:
Réutilisation de 7 diagrammes d’UML (13 diagrammes) et ajout de
deux nouveaux types de diagrammes
UML SysML
30
Diagrammes SysML
Diagrammes ajoutés Diagramme conservés Diagrammes Diagrammes adaptés
supprimés
diagramme des diagramme des cas diagramme de diagramme de
exigences d'utilisation composants définition de bloc
(diagramme de classe
dans UML)
diagramme diagramme de diagramme de diagramme de blocs
paramétrique séquence communication internes (diagramme
de structure
composite dans UML)
diagramme d'état diagramme de
déploiement
diagramme d'activité diagramme global
d'interaction
diagramme des diagramme de temps
paquetages diagramme d'objets 31