Sciences de l'ingénieur1ère

Introduction au SysML
Exercices corrigés

Maîtrisez l'introduction au SysML : diagrammes UML, modélisation des systèmes, blocs, exigences, cas d'utilisation et diagrammes de séquence dans la démarche d'ingénierie grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{SysML} = \text{UML} + \text{Extensions Systèmes} + \text{Exigences}\)
Modèle SysML
Diagrammes structurels
DS(x) → composants
Représentation statique
Diagrammes comportementaux
DC(y) → fonctions
Représentation dynamique
Diagrammes d'exigences
DE(z) → besoins
Spécification des besoins
🏗️
Définition : SysML est un langage de modélisation orienté systèmes dérivé d'UML pour la modélisation des systèmes complexes.
📊
Diagrammes : Blocs, cas d'utilisation, séquence, activité, états, exigences, blocs de paramètres.
🔗
Objectif : Permettre la modélisation complète des systèmes complexes à travers différents points de vue.
✅
Avantages : Communication visuelle, traçabilité, validation, simulation, documentation.
Exercice 1
Modéliser un système de domotique avec un diagramme de blocs SysML.
Exercice 2
Créer un diagramme de cas d'utilisation pour un robot aspirateur.
Exercice 3
Dessiner un diagramme de séquence pour une interaction utilisateur-application.
Exercice 4
Modéliser les exigences d'un système de freinage automobile avec un diagramme d'exigences.
Exercice 5
Créer un diagramme d'activités pour le processus de démarrage d'un système embarqué.
Corrigé : Exercices 1 à 3
1 Diagramme de blocs SysML
Définition :

Diagramme de blocs SysML : Représente la structure statique d'un système en montrant les composants et leurs relations.

Méthode de modélisation :
  1. Identifier les principaux composants du système
  2. Créer des blocs pour chaque composant
  3. Définir les propriétés de chaque bloc
  4. Établir les relations entre les blocs
  5. Ajouter les ports et flux d'information
  6. Valider la cohérence du modèle

Système de Domotique - Diagramme de Blocs

SystemeDomotique
- nom: String
- version: String
--
+ allumerEclairage(): void
+ reglerTemperature(): void
+ surveillerSecurite(): void
Capteur
- type: String
- precision: Float
Actionneur
- type: String
- puissance: Float
Interface
- type: String
- protocole: String
<> Controleur
- modele: String
- firmware: String
+ traiterDonnees(): void
+ envoyerCommande(): void
🧱
Composants principaux
• Controleur central : Unité de traitement principale
• Capteurs : Température, luminosité, mouvement
• Actionneurs : Relais, servomoteurs
• Interfaces : WiFi, Bluetooth, Ethernet
🔗
Relations entre blocs
• Controleur ↔ Capteurs : Flot de données
• Controleur ↔ Actionneurs : Commandes
• Controleur ↔ Interfaces : Communications
• Héritage : Capteurs spécialisés dérivent de Capteur
Étape 1 : Identification des composants

Identifier les éléments principaux du système de domotique.

Étape 2 : Création des blocs

Modéliser chaque composant comme un bloc SysML avec ses propriétés.

Étape 3 : Définition des relations

Établir les connexions entre les différents blocs du système.

Blocs = Composants + Propriétés + Relations + Ports
Réponse finale :

Diagramme de blocs complet montrant les relations entre le contrôleur, les capteurs, les actionneurs et les interfaces du système de domotique.

Règles appliquées :

• Clarté : Chaque bloc doit représenter un élément distinct du système

• Hiérarchie : Utiliser des relations d'héritage pour les composants spécialisés

• Connexions : Montrer clairement les flux d'information entre les blocs

2 Diagramme de cas d'utilisation
Définition :

Diagramme de cas d'utilisation : Représente les interactions entre les acteurs et le système à travers des scénarios d'utilisation.

Méthode de modélisation :
  1. Identifier les acteurs du système
  2. Déterminer les cas d'utilisation principaux
  3. Créer les relations entre acteurs et cas d'utilisation
  4. Définir les relations entre cas d'utilisation
  5. Ajouter les extensions et les inclusions
  6. Valider la complétude du modèle

Robot Aspirateur - Cas d'Utilisation

Acteur: Utilisateur
👤
<> RobotAspirateur
• <> Nettoyer Maison
• <> Retourner Base
• <> Planifier Nettoyage
• <> Détecter Obstacle
• <> Signaler Erreur
Acteur: Application
📱
Relations: <>, <>
👥
Acteurs identifiés
• Utilisateur : Personne qui utilise le robot
• Application : Interface mobile pour contrôler le robot
• Capteurs : Détectent les obstacles et les surfaces
• Station de charge : Source d'énergie
🔄
Cas d'utilisation principaux
• Nettoyer Maison : Fonction principale du robot
• Retourner Base : Retour automatique à la station
• Planifier Nettoyage : Programmation des sessions
• Détecter Obstacle : Réaction aux obstacles
• Signaler Erreur : Gestion des anomalies
Étape 1 : Identification des acteurs

Déterminer toutes les entités qui interagissent avec le système.

Étape 2 : Définition des cas d'utilisation

Identifier toutes les fonctionnalités que le système doit offrir.

Étape 3 : Établissement des relations

Montrer comment les acteurs utilisent les cas d'utilisation.

Cas d'utilisation = Acteurs + UCs + Relations + Scénarios
Réponse finale :

Diagramme de cas d'utilisation complet montrant les interactions entre l'utilisateur, l'application et les fonctionnalités du robot aspirateur.

Règles appliquées :

• Complétude : Tous les cas d'utilisation doivent être identifiés

• Clarté : Les relations entre acteurs et UCs doivent être explicites

• Hiérarchie : Utiliser les relations include/extend pour organiser les UCs

3 Diagramme de séquence
Définition :

Diagramme de séquence : Représente l'échange de messages entre objets dans un ordre chronologique.

Méthode de modélisation :
  1. Identifier les objets participants à l'interaction
  2. Dessiner les lignes de vie pour chaque objet
  3. Ajouter les messages dans l'ordre chronologique
  4. Représenter les activations et les retours
  5. Ajouter les conditions et les boucles si nécessaire
  6. Valider la cohérence temporelle

Interaction Utilisateur-Application - Séquence

Utilisateur
Interface
Contrôleur
Base de données
Clic sur bouton
Validation requête
Accès DB
Retour données
Affichage résultat
⏱️
Objets participants
• Utilisateur : Initie l'interaction
• Interface : Reçoit et transmet les commandes
• Contrôleur : Traite la logique métier
• Base de données : Stocke et fournit les données
💬
Messages échangés
• Clic sur bouton → Validation requête
• Validation → Accès base de données
• Accès DB → Retour des données
• Retour données → Affichage résultat
Étape 1 : Identification des objets

Déterminer tous les objets impliqués dans l'interaction.

Étape 2 : Création des lignes de vie

Dessiner une ligne verticale pour chaque objet participant.

Étape 3 : Ajout des messages

Ajouter les flèches de message dans l'ordre chronologique.

Séquence = Objets + Messages + Ordre chronologique + Activations
Réponse finale :

Diagramme de séquence montrant l'ordre chronologique des interactions entre l'utilisateur, l'interface, le contrôleur et la base de données.

Règles appliquées :

• Chronologie : Les messages doivent être ordonnés dans le temps

• Activation : Représenter les objets actifs pendant l'interaction

• Clarté : Les flèches doivent montrer clairement le sens des communications

Corrigé : Exercices 4 à 5
4 Diagramme d'exigences SysML
Définition :

Diagramme d'exigences SysML : Représente les exigences du système et les relations entre elles.

Méthode de modélisation :
  1. Identifier toutes les exigences du système
  2. Classifier les exigences (fonctionnelles, non fonctionnelles)
  3. Créer des blocs d'exigences pour chaque exigence
  4. Établir les relations entre les exigences
  5. Ajouter les relations de satisfaction aux blocs SysML
  6. Valider la traçabilité des exigences

Système de Freinage Automobile - Exigences

ID Exigence Type Description Priorité
E1 Fonctionnelle Arrêter le véhicule dans une distance spécifiée Haute
E2 Fonctionnelle Répondre aux commandes du conducteur Haute
E3 Non fonctionnelle Durée de vie minimale de 10 ans Moyenne
E4 Non fonctionnelle Résister aux températures extrêmes Moyenne
E5 Fonctionnelle Détecter les pannes de frein Haute
«requirement» E1
Arrêt dans distance spécifiée
«requirement» E2
Réponse aux commandes
«requirement» E5
Détection des pannes
«requirement» E3
Durée de vie 10 ans
«requirement» E4
Résistance température
📋
Types d'exigences
• Fonctionnelles : Ce que le système doit faire
• Non fonctionnelles : Comment le système doit se comporter
• D'interface : Connexions avec d'autres systèmes
• Physiques : Contraintes physiques
• De conception : Limitations de conception
Étape 1 : Identification des exigences

Lister toutes les exigences fonctionnelles et non fonctionnelles du système.

Étape 2 : Classification

Classer les exigences selon leur type et leur priorité.

Étape 3 : Modélisation

Créer des blocs d'exigences et établir les relations entre eux.

Étape 4 : Traçabilité

Relier les exigences aux blocs SysML qui les satisfont.

Exigences = Identification + Classification + Relations + Traçabilité
Réponse finale :

Diagramme d'exigences complet montrant les relations entre les exigences fonctionnelles et non fonctionnelles du système de freinage.

Règles appliquées :

• Clarté : Chaque exigence doit être clairement formulée

• Hiérarchie : Les relations entre exigences doivent être visibles

• Traçabilité : Lier les exigences aux éléments qui les satisfont

5 Diagramme d'activités SysML
Définition :

Diagramme d'activités SysML : Représente le flux de travail ou le comportement d'un système sous forme d'activités.

Méthode de modélisation :
  1. Identifier le processus à modéliser
  2. Décomposer le processus en activités élémentaires
  3. Organiser les activités dans l'ordre d'exécution
  4. Ajouter les décisions et les branches conditionnelles
  5. Inclure les points de synchronisation si nécessaire
  6. Valider le flux logique du processus

Système Embarqué - Processus de Démarrage

●
Initialisation CPU
Initialisation RAM
Chargement Bootloader
<> Test RAM ?
OK → Chargement OS
Erreur → Redémarrage
●
🔄
Étapes du processus
• Initialisation du processeur
• Configuration de la mémoire
• Chargement du bootloader
• Vérification des composants
• Chargement du système d'exploitation
• Lancement des services
❓
Décisions et branches
• Test de la RAM : Chemin OK ou Erreur
• Vérification des périphériques : Branches multiples
• Validation du bootloader : Chemin principal ou secours
• Chargement OS : Succès ou échec
Étape 1 : Identification du processus

Déterminer le processus à modéliser (démarrage du système).

Étape 2 : Décomposition en activités

Diviser le processus en activités élémentaires.

Étape 3 : Ordonnancement

Organiser les activités dans l'ordre logique d'exécution.

Étape 4 : Ajout des décisions

Inclure les points de décision et les chemins alternatifs.

Activités = Processus + Étapes + Décisions + Flux
Réponse finale :

Diagramme d'activités complet montrant le processus de démarrage du système embarqué avec les décisions et les chemins alternatifs.

Règles appliquées :

• Flux logique : Les activités doivent suivre un ordre logique

• Décisions claires : Les points de décision doivent être explicites

• Chemins complets : Tous les chemins possibles doivent être représentés

Cours bien détaillé
\(\text{Qualité Modèle} = \frac{\sum(\text{Éléments Modélisés})}{\sum(\text{Éléments Réels})} \times 100\)
Indicateur de qualité
🏗️
Définition : SysML est un langage de modélisation orienté systèmes dérivé d'UML pour la modélisation des systèmes complexes.
📊
Diagrammes : Blocs, cas d'utilisation, séquence, activité, états, exigences, blocs de paramètres.
🔗
Objectif : Permettre la modélisation complète des systèmes complexes à travers différents points de vue.
✅
Avantages : Communication visuelle, traçabilité, validation, simulation, documentation.
💡
Conseil : Commencer par les diagrammes de cas d'utilisation pour comprendre le système
🔍
Attention : Maintenir la cohérence entre les différents diagrammes
⚡
Astuce : Utiliser des outils comme StarUML ou Papyrus pour la modélisation
📋
Méthode : Appliquer une approche itérative pour raffiner les modèles
✅
Vérification : Valider les modèles avec les parties prenantes
Types de diagrammes SysML :
  • Structurels : Diagrammes de blocs, internes, paquets, exigences
  • Comportementaux : Cas d'utilisation, séquence, activité, états
  • Paramétriques : Diagrammes de contraintes pour les relations mathématiques
  • Hybrides : Diagrammes de blocs paramétriques combinant structure et contraintes
Règles importantes :
  • Les diagrammes doivent représenter fidèlement le système réel
  • Les relations entre éléments doivent être cohérentes
  • Les modèles doivent être lisibles et compréhensibles par les parties prenantes
  • La documentation doit accompagner les diagrammes pour une meilleure compréhension
Concepts fondamentaux :
  • Bloc : Élément structurel similaire à une classe UML mais adapté aux systèmes
  • Port : Point d'interaction entre un bloc et son environnement
  • Flux : Échange d'informations, matériaux ou énergie entre éléments
  • Exigence : Spécification d'une capacité, d'une contrainte ou d'un besoin
Introduction au SysML Langages de modélisation