Diagramme de blocs SysML : Représente la structure statique d'un système en montrant les composants et leurs relations.
- Identifier les principaux composants du système
- Créer des blocs pour chaque composant
- Définir les propriétés de chaque bloc
- Établir les relations entre les blocs
- Ajouter les ports et flux d'information
- Valider la cohérence du modèle
Système de Domotique - Diagramme de Blocs
- nom: String
- version: String
--
+ allumerEclairage(): void
+ reglerTemperature(): void
+ surveillerSecurite(): void
- type: String
- precision: Float
- type: String
- puissance: Float
- type: String
- protocole: String
- modele: String
- firmware: String
+ traiterDonnees(): void
+ envoyerCommande(): void
• Capteurs : Température, luminosité, mouvement
• Actionneurs : Relais, servomoteurs
• Interfaces : WiFi, Bluetooth, Ethernet
• Controleur ↔ Actionneurs : Commandes
• Controleur ↔ Interfaces : Communications
• Héritage : Capteurs spécialisés dérivent de Capteur
Identifier les éléments principaux du système de domotique.
Modéliser chaque composant comme un bloc SysML avec ses propriétés.
Établir les connexions entre les différents blocs du système.
Diagramme de blocs complet montrant les relations entre le contrôleur, les capteurs, les actionneurs et les interfaces du système de domotique.
• 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
Diagramme de cas d'utilisation : Représente les interactions entre les acteurs et le système à travers des scénarios d'utilisation.
- Identifier les acteurs du système
- Déterminer les cas d'utilisation principaux
- Créer les relations entre acteurs et cas d'utilisation
- Définir les relations entre cas d'utilisation
- Ajouter les extensions et les inclusions
- Valider la complétude du modèle
Robot Aspirateur - Cas d'Utilisation
• Application : Interface mobile pour contrôler le robot
• Capteurs : Détectent les obstacles et les surfaces
• Station de charge : Source d'énergie
• Retourner Base : Retour automatique à la station
• Planifier Nettoyage : Programmation des sessions
• Détecter Obstacle : Réaction aux obstacles
• Signaler Erreur : Gestion des anomalies
Déterminer toutes les entités qui interagissent avec le système.
Identifier toutes les fonctionnalités que le système doit offrir.
Montrer comment les acteurs utilisent les cas d'utilisation.
Diagramme de cas d'utilisation complet montrant les interactions entre l'utilisateur, l'application et les fonctionnalités du robot aspirateur.
• 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
Diagramme de séquence : Représente l'échange de messages entre objets dans un ordre chronologique.
- Identifier les objets participants à l'interaction
- Dessiner les lignes de vie pour chaque objet
- Ajouter les messages dans l'ordre chronologique
- Représenter les activations et les retours
- Ajouter les conditions et les boucles si nécessaire
- Valider la cohérence temporelle
Interaction Utilisateur-Application - Séquence
• Interface : Reçoit et transmet les commandes
• Contrôleur : Traite la logique métier
• Base de données : Stocke et fournit les données
• Validation → Accès base de données
• Accès DB → Retour des données
• Retour données → Affichage résultat
Déterminer tous les objets impliqués dans l'interaction.
Dessiner une ligne verticale pour chaque objet participant.
Ajouter les flèches de message dans l'ordre chronologique.
Diagramme de séquence montrant l'ordre chronologique des interactions entre l'utilisateur, l'interface, le contrôleur et la base de donné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
Diagramme d'exigences SysML : Représente les exigences du système et les relations entre elles.
- Identifier toutes les exigences du système
- Classifier les exigences (fonctionnelles, non fonctionnelles)
- Créer des blocs d'exigences pour chaque exigence
- Établir les relations entre les exigences
- Ajouter les relations de satisfaction aux blocs SysML
- 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 |
Arrêt dans distance spécifiée
Réponse aux commandes
Détection des pannes
Durée de vie 10 ans
Résistance température
• 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
Lister toutes les exigences fonctionnelles et non fonctionnelles du système.
Classer les exigences selon leur type et leur priorité.
Créer des blocs d'exigences et établir les relations entre eux.
Relier les exigences aux blocs SysML qui les satisfont.
Diagramme d'exigences complet montrant les relations entre les exigences fonctionnelles et non fonctionnelles du système de freinage.
• 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
Diagramme d'activités SysML : Représente le flux de travail ou le comportement d'un système sous forme d'activités.
- Identifier le processus à modéliser
- Décomposer le processus en activités élémentaires
- Organiser les activités dans l'ordre d'exécution
- Ajouter les décisions et les branches conditionnelles
- Inclure les points de synchronisation si nécessaire
- Valider le flux logique du processus
Système Embarqué - Processus de Démarrage
• Configuration de la mémoire
• Chargement du bootloader
• Vérification des composants
• Chargement du système d'exploitation
• Lancement des services
• Vérification des périphériques : Branches multiples
• Validation du bootloader : Chemin principal ou secours
• Chargement OS : Succès ou échec
Déterminer le processus à modéliser (démarrage du système).
Diviser le processus en activités élémentaires.
Organiser les activités dans l'ordre logique d'exécution.
Inclure les points de décision et les chemins alternatifs.
Diagramme d'activités complet montrant le processus de démarrage du système embarqué avec les décisions et les chemins alternatifs.
• 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
- 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
- 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
- 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