87 0 634KB
Université Sidi Mohamed Ben Abdellah Ecole Nationale des Sciences Appliquées
Modélisation des systèmes complexes avec SysML Abdelouahed Sabri [email protected]
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
Le replier si la vitesse du vent est grande Automatisation: Déplier/plier suivant le positionnement du soleil Le commander Entretient facile
Acteurs
Propriétaire Installateur Vent Soleil
Exemples d’utilisation
Lever/baisser le store Régler le seuil
5
Introduction: Etude de cas
Représentation graphique des utilisations
Diagramme de cas d’utilisation
Src: http://perso.numericable.fr/starnaud/Analyse/Cours sysML.pdf
6
Introduction: Etude de cas
Représentation graphique des exigences
Diagramme des exigences Src: http://perso.numericable.fr/starnaud/Analyse/Cours sysML.pdf
7
Introduction: Etude de cas
Représentation graphique des entités
Diagramme définition de blocs
Src: http://perso.numericable.fr/starnaud/Analyse/Cours sysML.pdf
8
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 standardisation)
de
modélisation
(avant
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).
méthodes
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: Les entités deviennent des relations (ou tables),
1.
2.
3.
4.
L'identifiant de l'entité devient la clé de la relation, Les propriétés de l'entité deviennent des attributs.
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. Dans le cas d’une cardinalité 1,1 on ajoute l’identifiant cible à la relation source comme étant clé étrangère 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 :
1.
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. ...
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 développement,
du
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 supprimés
Diagrammes adaptés
diagramme des exigences
diagramme des cas d'utilisation
diagramme de composants
diagramme de définition de bloc (diagramme de classe dans UML)
diagramme paramétrique
diagramme de séquence
diagramme de communication
diagramme de blocs internes (diagramme de structure composite dans UML)
diagramme d'état
diagramme de déploiement
diagramme d'activité
diagramme global d'interaction
diagramme des paquetages
diagramme de temps diagramme d'objets
31