Modélisation des systèmes complexes avec SysML Abdelouahed Sabri abdelouahed.sa

Modélisation des systèmes complexes avec SysML Abdelouahed Sabri abdelouahed.sabri@gmail.com Introduction 2 SysML: Systems Modeling Language Langage de modélisation spécifique au domaine de l’Ingénierie Système (IS) C’est une adaptation du langage de modélisation UML (Unified Modeling Language) Il permet la spécification, l'analyse, la conception, la vérification et la validation des systèmes Introduction: Ingénierie Système 3 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 Introduction: Modélisation Modéliser consiste en une simplification pour faciliter la compréhension des systèmes à développer 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 et il est donc, à ce titre, un vecteur privilégié pour communiquer. 4 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 d'automatiser certaines d'entre elles. C'est également un 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 5 Introduction: Modélisation Sur le modèle: doit ressemblé 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 6 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 7 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 • L’UML n’est pas définit comme une méthode mais un langage de modélisation objet adopté pour toutes les méthodes Objet. Il est considéré comme une norme de modélisation. • L’UML est un langage qui s'appuie sur un métamodèle, un modèle de plus haut niveau qui définit: – Les éléments d'UML (les concepts utilisables) – Leur sémantique (leur signification et leur mode d'utilisation). 8 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, 9 UML: Formalisme du langage Principe: tout système est représentable sous forme de vues partielles. La conjonction des vues permettra de donner une idée totale et pratique Ainsi, on peut se contenter de modéliser partiellement un système et pas complètement modéliser les parties qui sont critiques. • 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é. – En combinant toutes ces vues il est possible de définir (ou retrouver) le système complet. – Les diagrammes : Les diagrammes sont des éléments graphiques. définissant le contenu des vues, qui sont des notions abstraites 10 UML: Vues 11 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 : 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 critères purement logiques), les éléments du domaine en « catégories » ce qui va permettre de répartir les tâches dans les équipes, de regrouper ce qui peut être générique et d’isoler ce qui est propre à une version donnée, etc... UML: Vues 13 Vue d'implémentation Vue de bas niveau, appelée aussi « vue de réalisation ». Sont rôle est d’identifier les modules qui réalisent (physiquement) les classes de la vue logique Elle permet l'allocation des éléments de modélisation dans des modules (fichiers sources, bibliothèques dynamiques, bases de données, exécutables, etc...) UML: Vues 14 Vue des processus Cette vue est très importante dans les environnements multitâches, Cette vue exprime: La décomposition du système en terme de processus (tâches). Les interactions entre les processus (leur communication). La synchronisation et la communication des activités parallèles (threads). UML: Vues 15 Vue des cas d'utilisation (use cases) C'est la description du modèle « vue » par les acteurs du système. Elle correspond aux besoins attendus par chaque acteur (c'est le QUOI et le QUI). Elle définit les besoins des clients du système et centre la définition de l'architecture du système sur la satisfaction (la réalisation) de ces besoins. A l'aide de scénarios et de cas d'utilisation, cette vue conduit à la définition d'un modèle d'architecture pertinent et cohérent. 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 d'information. • UML 2.X propose 14 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. • Ces diagrammes se répartissent en trois grands groupes : – Diagrammes structurels ou statiques (Structure Diagram) : permet de représenter le système physiquement – Diagrammes comportementaux ou dynamiques (Behavior Diagram) : montrent le fonctionnement du système – Diagrammes fonctionnels: décrivant le besoin fonctionnel du système 16 Les diagrammes 17 Diagramme de cas d’utilisations (Use Cases) 18 Les diagrammes de cas d'utilisation est une façon simple pour exprimer les besoins utilisateurs d’une application Un diagramme de cas d'utilisation capture le comportement d'un système, d'un sous-système, d'une classe ou d'un composant tel qu'un utilisateur extérieur le voit Étape importante pour produire un logiciel conforme aux attentes des utilisateurs Eléments des diagrammes de cas d’utilisation 19 Acteur Un acteur est l'idéalisation d'un rôle joué par une personne externe, un processus ou une chose qui interagit avec un système Ou bien Éléments des DCU: Acteur 20 Comment identifier les acteurs ? Les acteurs d'un système sont les entités externes à ce système et qui interagissent (saisie de données, réception d'information, … ) avec lui Les acteurs sont à l'extérieur du système et dialoguent avec lui Les acteurs peuvent être: Des utilisateurs: Client, responsable clientèle, bibliothécaire, responsable d'agence, administrateur, … Les systèmes avec lesquels le système va devoir communiquer: les périphériques manipulés par le système (imprimantes, hardware d'un distributeur de billet, …), des logiciels déjà disponibles à intégrer dans le projet, des systèmes informatiques externes au système mais qui interagissent avec lui, … Eléments des DCU: Cas d'utilisation 21 Est une unité cohérente représentant une fonctionnalité visible de l'extérieur Qui réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur qui l'initie modélise un service rendu par le système, sans imposer le mode de réalisation de ce service Eléments des DCU: Cas d’utilisation 22 Représentation graphique: Ou bien Ou bien Remarque: Le nom du cas d'utilisation doit commencer par un verbe à l’infinitif suivi d'un complément en se plaçant du point de vue de l'acteur et non pas de celui du système Retirer l’argent Consulter le solde Distribuer de l'argent Et NON pas Consultation du Solde Et NON pas Représentation d'un DCU 23 Relations dans les DCU I- Relations entre acteurs et cas d'utilisation 24 Relation d'association: le chemin de communication entre un acteur et un cas d'utilisation est représenté 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 côté du cas d'utilisation Le symbole * signifie plusieurs fois. Si l’échange est uploads/Ingenierie_Lourd/ cours-sysml-v2.pdf

  • 33
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager