Cours SysML v2

  • 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

    [email protected]

  • 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.