SysML : les diagrammes



Documents pareils
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Chapitre I : le langage UML et le processus unifié

Les diagrammes de modélisation

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Table des matières Sources

Université de Bangui. Modélisons en UML

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

UML (Diagramme de classes) Unified Modeling Language

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Cours de Génie Logiciel

Analyse,, Conception des Systèmes Informatiques

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Cours STIM P8 TD 1 Génie Logiciel

Conception des systèmes répartis

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Bases de données et interfaces Génie logiciel

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

RTDS G3. Emmanuel Gaudin

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

OCL - Object Constraint Language

Ingénierie des Modèles. Méta-modélisation

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Initiation à LabView : Les exemples d applications :

GOL502 Industries de services

Ingénérie logicielle dirigée par les modèles

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

Cours en ligne Développement Java pour le web

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Refonte front-office / back-office - Architecture & Conception -

Extrait des Exploitations Pédagogiques

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Projet Active Object

Le Guide Pratique des Processus Métiers

Traduction des Langages : Le Compilateur Micro Java

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Les structures. Chapitre 3

Rational Unified Process

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Introduction au génie logiciel

Programmation sous QT

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Cours 1 : Qu est-ce que la programmation?

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Plateforme de capture et d analyse de sites Web AspirWeb

uc : Cas d utilisation Top-Chair [Utilisation normale] Fauteuil Top-Chair Déplacer le fauteuil sur tous chemins «include» «include» «extend»

Guichet automatique de banque

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

4. Personnalisation du site web de la conférence

Diagrammes de Package, de déploiement et de composants UML

Génie Logiciel Avancé Cours 3 Le modèle à objets

IFT2255 : Génie logiciel

Synergies entre Artisan Studio et outils PLM

Présentation du PL/SQL

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Projet de Java Enterprise Edition

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Formation : Modélisation avec UML 2.0 et Mise en pratique

UML et les Bases de Données

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Vers un outil d aide à la gestion des risques dans les chaînes logistiques : les bases conceptuelles

Nom de l application

Guide plateforme FOAD ESJ Lille

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Le génie logiciel. maintenance de logiciels.

Proposition pour la création d un site de gestion de projet

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Créer un album photo

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Description de la formation

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Patrons de Conception (Design Patterns)

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

UML. Diagrammes de classes (suite) Delphine Longuet.

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Introduction au Génie Logiciel

Les BRMS Business Rules Management System. Groupe GENITECH

Les ressources numériques de la bibliothèque sont regroupées dans un portail web ; elles offrent des services complets et facilement accessibles.

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Utiliser le site Voyages-sncf.com

Dans un deuxième temps et avec l expérience de cette observation, un ENT mutualisant la Nouvelle Calédonie verra le jour.

Manipulation de données avec SAS Enterprise Guide et modélisation prédictive avec SAS Enterprise Miner

Modèle conceptuel : diagramme entité-association

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

La pratique de la gestion des services. Lier les composants techniques avec les services d opérations dans la CMDB

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Distribuez une information fiable. IBM InfoSphere Master Data Management Server 9.0. Des données fiables pour de meilleurs résultats

Premiers Pas en Programmation Objet : les Classes et les Objets

GRILLE D ANALYSE D UNE SEQUENCE D APPRENTISSAGE

Poker. A rendre pour le 25 avril

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Transcription:

SysML : les diagrammes DIDIER FGNON, STÉPHNE GSTON [1] L outil SysML est un langage constitué de nombreux diagrammes. Nous vous proposons une ressource sous la forme de fiches-outils qui trouveront une bonne place dans vos aide-mémoire de TP. ans les pages «Décryptage» de la revue, nous vous avons présenté l utilisation raisonnée de SysML (Systems Modeling Language) dans l analyse fonctionnelle d un système existant. Ce langage, commun à tous les champs disciplinaires, est composé de diagrammes qui permettent d aborder plus facilement les systèmes pluritechniques, que ce soit en phase de [1] Respectivement professeur agrégé de génie mécanique au lycée Chaptal de Paris (75008) et professeur de construction mécanique au lycée Denis-Papin de La Courneuve (93). mots-clés lycée technologique, modélisation, outil & méthode ssociation : relation d égal à égal entre deux éléments utilise Est utilisé dans 2 diagrammes : cas d utilisation, définition de blocs Dépendance : 2 items distincts mais dont l un dépend de l autre dépend de Est utilisé dans 3 diagrammes : exigences, cas d utilisation, définition de blocs grégation : un élément est une composante facultative de l autre entre dans la composition de sans être indispensable à son fonctionnement Est utilisé dans 2 diagrammes : exigences, définition de blocs Composition : un élément est une composante obligatoire de l autre entre dans la composition de et lui est indispensable Est utilisé dans 2 diagrammes : exigences, définition de blocs Généralisation : dépendance de type «filiation» entre 2 items est une sorte de Est utilisé dans 2 diagrammes : cas d utilisation, définition de blocs Conteneur : relation d inclusion entre 2 items contient Est utilisé dans 3 diagrammes : exigences, cas d utilisation, définition de blocs Les principales relations entre les blocs conception ou en phase d analyse d un existant. Il peut également décrire le cheminement de la matière, de l énergie et de l information (les trois domaines essentiels du référentiel des STI2D), ses diagrammes offrant la possibilité de représenter à la fois les composants et les flux de toute nature. Nous allons donc nous attacher ici à décoder le vocabulaire et la grammaire de cet outil d aide à la modélisation. Les diagrammes SysML, le plus souvent, sont liés entre eux (interconnectés) et ont leur description propre. Ils peuvent remplacer la plupart des autres outils de description auparavant utilisés (Grafcet, Fast, SDT, etc). Voici, parmi les neuf types de diagrammes SysML, les six qui ont été retenus par le référentiel : diagramme des exigences (requirement diagram) diagramme des cas d utilisation (use case diagram) diagramme de séquence (sequence diagram) diagramme d état (state diagram) diagramme de définition de blocs (definition block diagram) diagramme de blocs internes (internal block diagram) Ils décrivent différents aspects : l spects comportementaux : diagrammes fonctionnels (que doit faire le système?) : diagramme des exigences diagramme des cas d utilisation diagrammes dynamiques (comment le système doit-il se comporter?) : diagramme de séquence diagramme d état (état et transitions) l spects structurels : diagrammes statiques (comment le système est-il construit?) : diagramme de définition de blocs diagramme de blocs internes Ouvrage de référence SysML par l exemple Un langage de modélisation pour systèmes complexes uteur : Pascal Roques Éditeur : Eyrolles Ce livre de 235 pages est exclusivement disponible en version PDF, payante, à télécharger sur le site de l éditeur : http://izibook.eyrolles.com De la naissance du SysML aux exemples concrets, il consacre un chapitre entier à chacun des diagrammes. Il est très illustré et prend pour fil conducteur une étude de cas sur le radio-réveil. C est l ouvrage de référence en français. Indispensable. 100 technologie 179 avril 2012

Dans les diagrammes, on trouve des boîtes et des relations entre ces boîtes. Ces relations peuvent être de natures différentes, elles s expriment donc avec des symboles différents (voir la figure page précédente). Nous allons détailler les éléments graphiques relatifs à chaque diagramme pour en faciliter la lecture, sous forme de fiches-outils que vous pourrez utiliser ou fournir au fur et à mesure aux élèves. Ces fiches peuvent aussi constituer un document ressource dans un dossier de TP. Il n est surtout pas question de les utiliser comme support de cours pour apprendre le langage SysML. En revanche, elles permettent, au fur et à mesure que l enseignant aborde dans ses pratiques l analyse des trois points de vue (comportemental, structurel et fonctionnel), d introduire les diagrammes adaptés aux besoins pédagogiques. n fiche-outil 1 En anglais : requirement diagram Notation SysML: req C est un diagramme fonctionnel. Il décrit les exigences du cahier des charges fonctionnel. Une exigence exprime une capacité ou une contrainte à satisfaire par un système. Elle peut exprimer une fonction que devra réaliser le système ou une condition de performance technique, physique, de sécurité, de fiabilité, d ergonomie, d esthétisme Identifiant unique Texte descriptif Ici décomposition d une exigence composite en exigences unitaires Diagramme des exigences Exigence du système Exigences unitaires jout de données quantitatives / précisions Note indiquant un problème à résoudre, non défini Le diagramme d exigences permet tout au long d un projet de relier les exigences avec d autres types d éléments SysML par plusieurs relations : exigence, élément comportemental (cas d utilisation, diagramme d état, etc.) : «refine» exigence, bloc d architecture : «satisfy» exigence, cas de test : «verify» Un cas de test représente une méthode de vérification de la satisfaction d une exigence. Il est représenté ci-contre : Note qui permet de justifier un certain choix Il est courant de définir d autres propriétés pour les exigences, par exemple : priorité (haute, moyenne, basse) source (client, marketing, technique, législation, etc.) risque (haut, moyen, bas) statut (proposée, validée, implémentée, testée, livrée, etc.) méthode de vérification (analyse, démonstration, test, etc.) avril 2012 technologie 179 101

fiche-outil 2 Diagramme des cas d utilisation En anglais : use case diagram Notation SysML: uc C est un diagramme fonctionnel. Il montre les interactions fonctionnelles des acteurs et du système d étude. Il délimite précisément le système, décrit ce que fera le système sans spécifier comment (et non ce que fera l utilisateur). Il exprime les services (use cases) offert par le système aux utilisateurs (actors). cteurs humains cteurs non humains Les acteurs peuvent être reliés entre eux soit par une flèche bidirectionnelle (chaque acteur agit sur l autre) soit par une flèche unidirectionnelle (un acteur agit sur l autre) Signification des couleurs des acteurs utilisées par les logiciels : En bleu : échange, modifie de la matière En rouge : échange, modifie de l énergie En vert : échange de l information Cadre délimitant le système et contenant un ensemble de séquences d actions. Elles peuvent aussi être liées entre elles Relations standardisées entre cas d utilisation <<include>> : le cas d utilisation de base «ne peut se faire sans» ou «impose que» <<extend>> : le cas d utilisation de base «peut éventuellement se faire avec» Ci-dessus : Vérifier solde est une extension d Effectuer un virement fiche-outil 3 Diagramme de séquence En anglais : sequence diagram Notation SysML: sd C est un diagramme dynamique. Il représente les échanges de messages entre les acteurs et le système ou entre des parties durant une séquence temporelle d actions appelée scénario. Il permet de représenter la dynamique d un use case ou la collaboration d un ensemble d objets internes au système. Il montre la séquence, représentation verticale chronologique, des messages passés entre blocs au sein d une interaction. Nota : Il y a autant de diagrammes de séquence que de scénarios possibles. Lignes de vie Trait pointillé vertical surmonté d un rectangle de description Message synchrone. Met en relation les différentes lignes de vie. La flèche possède une tête pleine. Ce sera une flèche ouverte pour un message asynchrone Note qui précise la fonction Retour Message réflexif Un cas d utilisation peut dépendre d autres cas d utilisation. Il s appelle alors fragment. Chaque fragment possède un opérateur et peut être divisé en opérandes. Les principaux opérateurs sont : loop : boucle. Le fragment ou autre cas d utilisation peut s exécuter plusieurs fois, et la condition de garde (voir «Diagramme d état») explicite l itération opt : optionnel. Le fragment ou autre cas d utilisation ne s exécute que si la condition fournie est vraie alt : fragments alternatifs. Seul le fragment possédant la condition vraie s exécutera par : parallèle. Il est utilisé pour représenter des interactions ayant lieu en parallèle 102 technologie 179 avril 2012

fiche-outil 4 En anglais : state diagram Notation SysML: stm Diagramme d état C est un diagramme dynamique. Il montre les différents états successifs et les transitions possibles des blocs dynamiques. Il représente la succession des états d un système ou d un sous-système. La dynamique des changements est entretenue par des événements. L état satisfait une certaine condition, exécute une certaine activité, attend un certain événement État initial Événement L événement est une spécification qui peut déclencher une réaction, peut porter des paramètres qui matérialisent le flot d informations ou de données reçues. Il peut être accompagné de conditions (voir ci-dessous) Une transition possède : un événement déclencheur une condition un état cible Transition propre. Quitte son état de départ pour y revenir aussitôt Transition interne État final Condition ou condition de garde C est une expression booléenne qui doit être vraie lorsque l événement arrive pour que la transition soit déclenchée. Elle est notée entre crochets. S il y a plusieurs transitions avec un même événement, elles doivent avoir des conditions différentes. Lorsqu il y a plus de deux conditions, il est recommandé d utiliser le mot-clé else pour garantir l exhaustivité. Les changements d état interne se modélisent en utilisant le mot-clé when suivi d une expression booléenne dont le passage de faux à vrai déclenche la transition. Le passage du temps se modélise en utilisant le mot-clé after suivi d une expression représentant une durée, décomptée à partir de l entrée dans l état courant. avril 2012 technologie 179 103

fiche-outil 5 Diagramme de définition de blocs En anglais : block definition diagram Notation SysML: bdd C est un diagramme statique. Il montre les briques statiques : blocs, composition, associations Il est utilisé pour décrire l architecture matérielle du système. Un bloc est une entité bien délimitée qui encapsule principalement des attributs (variables d état), des opérations (procédures comportementales), des contraintes, des ports (échange de flux avec l extérieur) et des parts (sous-blocs internes). Un bloc peut modéliser tout le système, un élément matériel ou logiciel. Le bloc panier entre dans la composition de vélo de promenade sans être indispensable à son fonctionnement Le bloc roue entre dans la composition de vélo de promenade et lui est indispensable Contrainte de multiplicité. Le vélo de promenade possède 0 ou 1 panier Contrainte de multiplicité. Le panier peut contenir de 0 à * bagages Dans le <<block>>, part signifie l élément important composant le bloc, et values correspond aux critères de ce même élément fiche-outil 6 Diagramme de blocs internes En anglais : internal block diagram Notation SysML : ibd C est un diagramme statique. Il est utilisé pour décrire l architecture matérielle du système. Il montre l organisation interne d un élément statique complexe. Il représente les instances des parts d un bloc (objets). L ID est cadré à l intérieur des frontières du bloc concerné. Les circulations de flux (MEI) entre les parts s effectuent grâce aux connecteurs qui relient leurs ports. L ID d un bloc est défini à partir du DD correspondant. Un flux entre ou sort d une part via un port. Indique la présence d une multiplicité, c est-à-dire la possibilité de connecter plusieurs instances ou blocs Le flow port est relatif à un flux de nature physique, à des données ou à de l énergie. Il peut être atomique, c est-à-dire à un seul sens, ou composite, à double sens Le port standard est relatif à un événement épisodique comme un bouton marche/arrêt 104 technologie 179 avril 2012