Upload
ghbou
View
190
Download
2
Embed Size (px)
DESCRIPTION
sysml is a new version for industriel and sytem engeneering
Citation preview
Modlisation des systmes
complexes avec SysML
Abdelouahed Sabri
Introduction
2
SysML: Systems Modeling Language
Langage de modlisation spcifique au domaine de lIngnierie
Systme (IS)
Cest une adaptation du langage de modlisation UML (Unified
Modeling Language)
Il permet la spcification, l'analyse, la conception,
la vrification et la validation des systmes
Introduction: Ingnierie Systme
3
LIngnierie Systme (IS): (src wikipedia)
Est une approche permettant de formaliser et dapprhender la
conception de systmes
Systme: est un ensemble d'lments humains ou matriels
Les mthodes de lIngnierie Systme (IS) reposent sur
des approches de modlisation et de simulation pour
valider les exigences ou pour valuer le systme
L'ingnierie des systmes se concentre sur la dfinition
des besoins du client et des exigences fonctionnelles et
matrielles
Introduction: Modlisation
Modliser consiste en une simplification pour faciliter la
comprhension des systmes dvelopper
Un modle est:
Une reprsentation abstraite et simplifie d'une entit
(phnomne, processus, systme, etc.) du monde rel en vue
de le dcrire, de l'expliquer ou de le prvoir.
Un langage commun, prcis, qui est connu par tous les
membres de l'quipe et il est donc, ce titre, un vecteur
privilgi pour communiquer.
4
Introduction: Modlisation
Pourquoi Modliser???Ltape de modlisation dun systme est gnralement raliseavant sa ralisation pour mieux comprendre le fonctionnementdu systme. C'est aussi un bon moyen pour matriser sacomplexit et ainsi assurer sa cohrence.
Un modle permet de: Produire un guide pour le dveloppement du systme
mieux rpartir les tches
d'automatiser certaines d'entre elles. C'est galement un facteur derduction des cots et des dlais.
Avoir un support documentaire du systme
Dfinir les structures de donnes ainsi que le comportement dusystme
Prdire et savoir comment va tre notre systme et ainsi le validervis--vis des clients
5
Introduction: Modlisation
Sur le modle:
doit ressembl au systme rel quon vise dvelopper
peut tre reprsent avec plusieurs niveaux de prcision
ne doit pas tre trs simple ni trop complexe
doit permettre sa modification et sa rutilisation
doit permettre un passage facile entre le niveau conceptuel et
limplmentation
6
Introduction: Modlisation
Les diffrentes mthodes de modlisation (avantstandardisation) Mthodes de premire gnration: sont des mthodes fonctionnelles de
dcomposition hirarchique ou descendante.Exemple: SADT (Structured Analysis and Design Technique). Avantages: Clarification et une dcomposition analytique de la complexit dun
systme
Inconvnients: difficiles utiliser; Absence de reprsentation squentielle, absencedoprations logiques boolens et impossibilit d'une vue globale du systme
Mthodes de deuxime gnration : connues sous le nom de mthodessystmiques.
Exemple: Merise, SSADM (Structured Systems Analysis and DesignMethod)
Mthodes de troisime gnration ou mthodes objets: OMT (ObjectModeling Technique, 1991), Booch (1991), OOA (Object-OrientedAnalysis, 1992), OOD (object-oriented design), fusion (1991) Exemples: UML SysML
7
Introduction: Modlisation
UML (Unified Modeling Language) lUML a t prsent pour standardiser les mthodes de
modlisations dj prsentes sans standardiser le processus dedveloppement.
UML est un langage de modlisation qui la fois comprhensible parles humains (par les graphiques) et par les machines (sa syntaxe). Une reprsentation visuelle permettant la communication entre les
acteurs d'un mme projet
Une notation graphique simple, comprhensible mme par des noninformaticiens
LUML nest pas dfinit comme une mthode mais un langage demodlisation objet adopt pour toutes les mthodes Objet. Il estconsidr comme une norme de modlisation.
LUML est un langage qui s'appuie sur un mtamodle, un modle deplus haut niveau qui dfinit: Les lments d'UML (les concepts utilisables)
Leur smantique (leur signification et leur mode d'utilisation).
8
Introduction
La modlisation UML est utilis pour :
Dcomposer le processus de dveloppement,
Mettre en relation les experts mtiers et les analystes,
Coordonner les quipes d'analyse et de conception,
Sparer l'analyse de la ralisation,
Prendre en compte l'volution de l'analyse et du
dveloppement,
9
UML: Formalisme du langage
Principe: tout systme est reprsentable sous forme de vues
partielles. La conjonction des vues permettra de donner une ide
totale et pratique
Ainsi, on peut se contenter de modliser partiellement un systme
et pas compltement modliser les parties qui sont critiques.
Le langage UML peut tre dcompos en deux sous
ensembles :
Les vues : Les vues sont les observables du systme. Elles dcrivent
le systme d'un point de vue donn.
En combinant toutes ces vues il est possible de dfinir (ou retrouver) le
systme complet.
Les diagrammes : Les diagrammes sont des lments graphiques.
dfinissant le contenu des vues, qui sont des notions abstraites
10
UML: Vues
11
En UML, la manire de dfinir une architecture dun
systme est inspir des 4+1 vues de Kruchten (1995).
Dans ces vues, Kruchten propose 5 faons indpendantes
et complmentaires pour dfinir un modle
d'architecture :
UML: Vues
12
Vue logique:
Cette vue explique comment peuvent tre satisfaits les besoins
des acteurs (c'est le COMMENT).
Cette vue organise aussi (selon des critres purement
logiques), les lments du domaine en catgories ce qui va
permettre de rpartir les tches dans les quipes, de regrouper
ce qui peut tre gnrique et disoler ce qui est propre une
version donne, etc...
UML: Vues
13
Vue d'implmentation
Vue de bas niveau, appele aussi vue de ralisation .
Sont rle est didentifier les modules qui ralisent
(physiquement) les classes de la vue logique
Elle permet l'allocation des lments de modlisation dans des
modules (fichiers sources, bibliothques dynamiques, bases de
donnes, excutables, etc...)
UML: Vues
14
Vue des processus
Cette vue est trs importante dans les environnements
multitches,
Cette vue exprime:
La dcomposition du systme en terme de processus (tches).
Les interactions entre les processus (leur communication).
La synchronisation et la communication des activits parallles
(threads).
UML: Vues
15
Vue des cas d'utilisation (use cases)
C'est la description du modle vue par les acteurs du
systme.
Elle correspond aux besoins attendus par chaque acteur (c'est
le QUOI et le QUI).
Elle dfinit les besoins des clients du systme et centre la
dfinition de l'architecture du systme sur la satisfaction (la
ralisation) de ces besoins.
A l'aide de scnarios et de cas d'utilisation, cette vue conduit
la dfinition d'un modle d'architecture pertinent et cohrent.
UML: Les diagrammes
Les diagrammes sont utiliss pour reprsenter lesdiffrentes vues et ainsi reprsenter des conceptsparticuliers du systme d'information.
UML 2.X propose 14 types de diagrammes (9 en UML1.3) qui dpendants hirarchiquement et se compltent,de faon permettre la modlisation d'un projet tout aulong de son cycle de vie.
Ces diagrammes se rpartissent en trois grands groupes : Diagrammes structurels ou statiques (Structure Diagram) :
permet de reprsenter le systme physiquement
Diagrammes comportementaux ou dynamiques (BehaviorDiagram) : montrent le fonctionnement du systme
Diagrammes fonctionnels: dcrivant le besoin fonctionnel dusystme
16
Les diagrammes
17
Diagramme de cas dutilisations (Use Cases)
18
Les diagrammes de cas d'utilisation est une faon simple
pour exprimer les besoins utilisateurs dune application
Un diagramme de cas d'utilisation capture le
comportement d'un systme, d'un sous-systme, d'une
classe ou d'un composant tel qu'un utilisateur extrieur le
voit
tape importante pour produire un logiciel conforme aux
attentes des utilisateurs
Elments des diagrammes de cas dutilisation
19
ActeurUn acteur est l'idalisation d'un rle jou par une personne
externe, un processus ou une chose qui interagit avec un
systme
Ou bien
lments des DCU:
Acteur
20
Comment identifier les acteurs ?
Les acteurs d'un systme sont les entits externes ce
systme et qui interagissent (saisie de donnes, rception
d'information, ) avec lui
Les acteurs sont l'extrieur du systme et dialoguent avec lui
Les acteurs peuvent tre:
Des utilisateurs: Client, responsable clientle, bibliothcaire,
responsable d'agence, administrateur,
Les systmes avec lesquels le systme va devoir communiquer: les
priphriques manipuls par le systme (imprimantes, hardware d'un
distributeur de billet, ), des logiciels dj disponibles intgrer dans
le projet, des systmes informatiques externes au systme mais qui
interagissent avec lui,
Elments des DCU:
Cas d'utilisation
21
Est une unit cohrente reprsentant une
fonctionnalit visible de l'extrieur
Qui ralise un service de bout en bout, avec un
dclenchement, un droulement et une fin, pour
l'acteur qui l'initie
modlise un service rendu par le systme, sans imposer le
mode de ralisation de ce service
Elments des DCU:
Cas dutilisation
22
Reprsentation graphique:
Ou bien Ou bien
Remarque:Le nom du cas d'utilisation doit commencer par un verbe linfinitif suivi
d'un complment en se plaant du point de vue de l'acteur et non pas de
celui du systme
Retirer largent
Consulter le solde
Distribuer de l'argentEt NON pas
Consultation du SoldeEt NON pas
Reprsentation d'un DCU
23
Relations dans les DCUI- Relations entre acteurs et cas d'utilisation
24
Relation d'association:
le chemin de communication entre un acteur et un cas d'utilisation est
reprsent par un trait continu
Multiplicit:
Lorsqu'un acteur peut interagir plusieurs fois avec un cas d'utilisation,
il est possible d'ajouter une multiplicit sur l'association du ct du cas
d'utilisation
Le symbole * signifie plusieurs fois. Si lchange est n fois alors on met n. Alors
que n..m signifie entre n et m fois, etc.
Relations dans les DCUI- Relations entre acteurs et cas d'utilisation
25
Acteurs principaux et secondaires:
Un acteur est qualifi de principal pour un cas d'utilisation lorsque ce cas
dutilisation rend service cet acteur.
on ajoute le strotype: >
Un acteur est qualifi de secondaire dans le cas contraire.
on ajoute le strotype: >
Exemple: Le client, acteur principal effectue le retrait alors que le
systme bancaire, acteur secondaire administre le retrait
Relations dans les DCUII- Relations entre cas d'utilisation
26
Cas d'utilisation interne:
Quand un cas dutilisation n'est pas directement reli un
acteur, il est qualifi de cas d'utilisation interne.Diagramme Use cases de lutilisation dune carte bancaire
Retirer largent *
Vrifier si solde
suffisant
Il existe deux types de relations :
1. Inclusion et extension: ce sont les plus utiliss
2. La gnralisation/spcialisation.
Relations dans les DCU
II- Relations entre cas d'utilisation
27
Relation de dpendance: Inclusion / extension
Une dpendance se reprsente par une flche avec un trait
pointill
Direction de la flche:
Si un cas A inclut ou tend un cas B, la flche est dirige de A
vers B
Relations dans les DCU
II- Relations entre cas d'utilisation
28
Relation de dpendance: Relation d'inclusion
Un cas dutilisation A inclut un cas dutilisation B si le
comportement dcrit par le cas A inclut le comportement du
cas B : le cas A dpend de B
Lorsque A est sollicit, B l'est obligatoirement comme une partie de A
Cette dpendance est symbolise par le strotype >
Relations dans les DCU
II- Relations entre cas d'utilisation
29
Relation de dpendance: Relation d'extension
On dit qu'un cas d'utilisation A tend un cas d'utilisation B
lorsque le cas d'utilisation A peut tre appel au cours de
l'excution du cas d'utilisation B
Excuter B peut ventuellement entraner l'excution de A
(contrairement l'inclusion, l'extension est optionnelle)
Cette dpendance est symbolise par le strotype >
Relations dans les DCU
II- Relations entre cas d'utilisation
30
Relation de dpendance:Relation d'extension
Point dextension: L'extension peut intervenir un point prcis ducas tendu
Une extension est souvent soumise condition
la condition est exprime sous la forme d'une note
Relations dans les DCU
II- Relations entre cas d'utilisation
31
Relation de gnralisation
Un cas A est une gnralisation d'un cas B si B est un cas particulier de A
Le symbole utilis pour la gnralisation est une flche avec un trait plein
dont la pointe est un triangle ferm dsignant le cas le plus gnral
Cette relation est prsente dans la plupart des diagrammes UML et se traduit par le
concept d'hritage dans les langages orients objet.
Relations dans les DCU
III- Relations entre acteurs
32
Une seule relation entre acteurs peut tre dfinie:
Relation de gnralisation
Un acteur A est une gnralisation d'un acteur B si l'acteur A peut tre
substitu par l'acteur B.
Tous les cas d'utilisation accessibles A le sont aussi B, mais l'inverse n'est
pas vrai.
DCU
33
Exercice 1
Le diagramme de cas dutilisation de la figure suivante
reprsente les fonctionnalits dune agence de voyage
classique.
Donnez les relations entre acteurs et cas dutilisation
Donnez les relations entre cas dutilisations
Donnez les relations entre acteurs
DCU
34
Exercice 2:
On considre un systme simplifi de Guichet Automatique de Banque
(G.A.B.). Ce systme offre les services suivants:
Distribution d'argent tout porteur de carte de crdit (carte Visa,
ou carte de la banque),
Consultation de solde,
Un client peut si il veut avoir un relev aprs une transaction
Toutes les transactions sont scurises avec une authentification
1. Identifiez les principaux ACTEURS du ce systme
2. Elaborez le diagramme de cas dutilisation du GAB.
DCU
35
Solution
DCU
36
Exercice 3:
Le systme prcdant GAB est modifi comme suit:
En plus de la consultation de solde de compte, le systme permet
aussi de faire un dpt en numraire et dpt de chques pour les
clients de la banque porteurs d'une carte de crdit de la banque.
Aussi, le GAB ncessite des actions de maintenance, telles que le
rechargement en billets du distributeur, la rcupration des cartes
avales et des chques dposs, etc.
1. Identifiez les nouveaux ACTEURS du ce systme
2. Elaborez le nouveau diagramme de cas dutilisation du GAB.
DCU
37
Exercice 3
Solution atelier
38
faire
39
Dans un fichier pdf ou word que je vais rcuprer
dans 30 minutes, donner une description complte du
diagramme dutilisation de la gestion de la bibliothque
Le fichier doit aussi contenir le DCU dessin sous BOUML
Il faut tiqueter votre DCU: donner les dfinitions des
lments graphiques utiliss.
Autres diagrammes UML
40
Autres diagrammes UML
41
UML 2.x propose 13 diagrammes et 9 dans UML 1.x
Peuvent tre rpertoris en 3 catgories
Diagrammes structurels ou
statiques (ce que les
systme EST)
Diagrammes
comportementaux ou
fonctionnels (ce que le
systme FAIT)
Diagrammes dinteraction
ou dynamiques (comment le
systme EVOLUE)
Les diagrammes UML les plus utiliss
42
Diagramme des cas d'utilisation : Identifie les possibilits d'interaction entre le systme et les acteurs
(intervenants extrieurs au systme), c'est--dire toutes lesfonctionnalits que doit fournir le systme.
Diagramme de classes: Reprsente les classes (entits) intervenant dans le systme
Diagramme de squence : Permet une reprsentation squentielle du droulement des traitements
et des interactions entre les lments du systme et/ou de ses acteurs.
Diagramme de composants : Reprsente les composants du systme d'un point de vue physique, tels
qu'ils sont mis en uvre (fichiers, bibliothques, bases de donnes)
Diagramme de dploiement: Reprsente les lments matriels (ordinateurs, priphriques, rseaux,
systmes de stockage) et la manire dont les composants du systmesont rpartis sur ces lments matriels et interagissent entre eux.
SysML
44
Introduction
45
SysML: un langage de modlisation spcifique au domaine
de l'ingnierie systme
Il permet:
La spcification,
l'analyse,
la conception,
la vrification
la validation de nombreux systmes et systmes-de-systmes.
SysML est une extension/adaptation de UML
SysML: ddi pour la modlisation des systmes complexes
UML: orient logiciel (applications informatiques utilisant la
notion de programmation objet)
Introduction
46
SysML est un langage plus rduit que UML
apprentissage/utilisation beaucoup plus facile
SysML limine les concepts d'UML qui sont lis sa vision
centre sur le logiciel
Rduction de nombres de diagrammes dUML: rutilise sept
diagrammes dUML (13 diagrammes) et ajoute de deux
nouveaux types de diagrammes
SysMLUML
Diagrammes SysML
47
Diagrammes ajouts Diagramme conservs Diagrammes
supprims
Diagrammes adapts
diagramme des
exigences
diagramme des cas
d'utilisation
diagramme de
composants
diagramme de
dfinition de bloc
(diagramme de classe
dans UML)
diagramme
paramtrique
diagramme de
squence
diagramme de
communication
diagramme de blocs
internes (diagramme
de structure
composite dans UML)
tableaux d'allocations
qui sont drivs des
autres diagramme
SysML
diagramme d'tat diagramme de
dploiement
diagramme d'activit diagramme global
d'interaction
diagramme des
paquetages
diagramme de temps
diagramme d'objets
SysML: Diagramme des exigences
48
Diagramme des exigences: requirement diagram
49
1re nouveaut du SysML par rapport UML
Cest un diagramme fonctionnel qui dcrit les exigences du
cahier de charges fonctionnel.
Cest une faon innovatrice permettant de dessiner
graphiquement les exigences systmes
Une exigence:
Permet de spcifier une capacit, une contrainte ou une fonction que le
systme doit satisfaire.
Diagramme des exigences
50
Reprsentation graphique:
Chaque exigence et reprsente par un rectangle strotyprequirement identifi par un identifiant unique et un textedescriptif
Les exigences peuvent tre relies entre elles par de relations de :
Contenance: ligne pleine termine par un cercle contenant une croix duct conteneur. Ceci pour rle de dcomposer une exigence compositeen plusieurs exigences unitaires,
Le raffinement (refine): flche en des tirets dont la source est laprcision et qui est strotype refine. Ceci pour rle dajouter uneprcision une exigence
la drivation ( deriveReqt ): flche en des tirets dont la source est laprcision et qui est strotype deriveReqt . Consiste relier desexigences leurs drives: relier des exigences systmes des exigencesde niveau sous-systme
Diagramme des exigences
51
Exemple - Robot AL@DYN: une camra de surveillance
associe une plateforme robotique, lensemble pouvant
tre pilot et consult distance.
Diagramme des exigences
52
Diagramme des exigences
53
Exercice:
Modifier le diagramme des exigences suivant pour ladapter
aux spcifications suivantes:
Le rebot une base pour le
charger quand il nest pas en
charge suffisante
Le rebot est quip de capteurs
embarqus pour le guider dans
sa progression ceci pour viter
les obstacles
La camra est mobile
verticalement et cette mobilit
est assure par une liaison
mcanique
Diagramme des exigences
54
Diagramme des exigences
55
Complments
SysML permet lutilisation des notes (commentaires) sur tous
les types de diagrammes. Deux mots-cls particuliers ont t
dfinis afin de reprsenter :
1. des problmes rsoudre ( problem )
2. des justificatifs ( rationale ).
Diagramme des exigences
56
Diagramme des exigences
57
Exercice: Lave linge
Proposer un diagramme des exigences dun lave linge en sebasant sur les spcifications suivantes
Le lave linge propose trois types de programmes:
Laver le linge: Plusieurs type de lavage sont possibles (coton, esthtique,enfant, la main, rapide)
Chauffer leau: la temprature de leau doit tre programme et varieentre 30 et 100.
Essorer le linge: le linge peut tre essor une vitesse allant de 500tr/min 1500tr/min.
Pour des raisons de scurit, il y a des contraintes sur la fermeture etlouverture de la porte du lave linge.Ainsi;
Il faut que la porte soit ferme pour excuter les programmesslectionns.
La porte ne peut tre ouverte quaprs la fin de lexcution du programmeslectionn.