Les diagrammes UML
Ce document présente les diagrammes UML, en particulier les diagrammes de composants et de déploiement. Il s'adresse aux étudiants et professionnels en informatique souhaitant comprendre comment modéliser la structure physique et logicielle d’un système à l’aide d’UML. Les notions clés, représentations, exemples et exercices corrigés sont détaillés pour faciliter l’apprentissage.
D'après le document Les diagrammes UML
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
UML, Programming, Software Architecture · PDF · 42 pages
Afficher l'aperçu du document
Ce document présente les diagrammes UML, en particulier les diagrammes de composants et de déploiement. Il s'adresse aux étudiants et professionnels en informatique souhaitant comprendre comment modéliser la structure physique et logicielle d’un système à l’aide d’UML. Les notions clés, représentations, exemples et exercices corrigés sont détaillés pour faciliter l’apprentissage.
Diagramme de composants
Présentation
Un diagramme de composants décrit la manière dont les composantes logicielles seront réalisées. Il représente les choix de réalisation et s’adresse principalement aux développeurs chargés de la mise en œuvre.
Concepts de base
- Composant : Élément physique permettant la réalisation d’un logiciel.
- Dépendance entre composants : Relation indiquant qu’un composant fait référence aux services d’un autre.
- Programme principal : Point d’entrée dans une application.
- Sous-programme : Procédure ou fonction ne contenant aucune classe.
- Sous-système : Regroupement d’un ensemble de composants.
Les composants
Les composants représentent des éléments physiques (fichiers, modules) permettant la réalisation d’un logiciel. Dans l’approche orientée objet, chaque classe constitue un composant. Chaque composant est représenté par deux éléments : une spécification et un corps.
Dépendance entre composants
La relation de dépendance indique qu’un composant utilise les services d’un autre. Elle est utile pour représenter la dépendance de compilation entre composants.
Les interfaces
Les interfaces définissent un ensemble d’opérations publiques que le composant doit implémenter. Deux types d’interfaces sont distingués :
- Interfaces fournies : Services offerts par un composant à ses clients.
- Interfaces requises : Services dont un composant a besoin pour fonctionner.
Une interface porte généralement un nom reflétant son rôle dans l’application.
Représentation des interfaces en UML
- Avec connecteurs d’assemblage : Les interfaces fournies sont représentées par un cercle, les interfaces requises par un demi-cercle, tous deux reliés au composant par un trait.
- Dans un classeur séparé : Les interfaces requises sont reliées par une flèche en pointillés avec le stéréotype <<use>>. Les interfaces fournies sont reliées par une flèche en pointillés avec le stéréotype <<realize>>, dont la pointe est un triangle vide.
Exemple de diagramme de composants
Un diagramme peut représenter plusieurs composants avec leurs interfaces fournies et requises, illustrant ainsi les relations de dépendance entre eux. Par exemple, un composant "InscriptionCours" peut requérir les interfaces "Facturation", "Cours" et "FichePersonne" fournies respectivement par les composants "Comptabilité", "CatalogueCours" et "Annuaire".
Diagramme de déploiement
Présentation
Le diagramme de déploiement représente la structure physique du système informatique et la répartition des composants logiciels sur ce système. Il permet de modéliser différentes architectures de déploiement, telles que :
- Architecture centralisée
- Architecture client/serveur à deux niveaux
- Architecture client/serveur à trois niveaux
- Architecture client/serveur à n niveaux
Concepts de base
- Nœud : Dispositif matériel (ordinateur, serveur, imprimante, etc.) décrit par un nom, un stéréotype, une adresse réseau et une cardinalité.
- Composant : Composante logicielle installée sur un nœud.
- Association de nœud : Relation entre deux nœuds indiquant un support de communication.
- Instance de nœud : Occurrence spécifique d’un dispositif matériel, distinguée par un nom souligné.
Les nœuds
Chaque dispositif matériel est représenté par un nœud UML. Par exemple :
| Type de dispositif | Nom du nœud | Adresse réseau | Cardinalité |
|---|---|---|---|
| <<serveur de données>> | SD | 190.190.10.10 | 1 |
Les composants dans le diagramme de déploiement
Les composants logiciels installés sur un nœud sont indiqués en utilisant la même représentation que dans le diagramme de composants. Par exemple :
<<serveur de données>> SD 190.190.10.10 SGBD Oracle 1
Les associations entre nœuds
Les nœuds sont reliés par des associations qui représentent les supports de communication entre eux. Chaque association peut préciser :
- Le nom de l’association
- Le rôle de chaque côté
- La cardinalité
Représentation schématique :
1..1 Rôle 1 Nom Association 1..* Rôle 2 Nœud 1 Nœud 2
Exemple d’association
Un exemple concret d’association entre nœuds :
- Un nœud <<Serveur d’application>> nommé CRM
- Un nœud <<Client>> nommé Navigateur
- Un nœud <<serveur de données>> avec SGBD Oracle
- Un nœud <<Imprimante>>
Ces nœuds sont reliés via des supports de communication comme TCP-IP ou USB, avec des cardinalités indiquant les contraintes de connexion.
Instances de nœuds
Les instances de nœuds représentent des occurrences spécifiques de dispositifs matériels. Elles sont distinguées par un nom souligné. Cette représentation est utile pour détailler précisément la configuration physique d’un système.
Exemple d’instances
- Serveur app 1
- Serveur app 2
- Serveur app 3
- serveur de données
Exercices corrigés
Exercice 1 : Diagramme de déploiement d’une application web
- Ce diagramme représente un diagramme de déploiement d’une application web.
- Il comporte deux parties physiques déployées sur deux nœuds :
- Partie cliente : machine sous Windows XP avec un composant navigateur web.
- Partie serveur : machine sous Linux avec deux composants, un conteneur Web Tomcat 4.1 et un connecteur base de données MySQL 5.
- Les deux parties sont reliées via Internet selon le modèle TCP/IP.
- L’architecture est une architecture client/serveur à deux tiers.
Exercice 2 : Diagramme de composants d’une application d’inscription en ligne
- Le diagramme représente les composants d’une application d’inscription aux cours en ligne.
- Il comprend quatre composants : InscriptionCours, Comptabilité, CatalogueCours et Annuaire, ainsi que trois interfaces : Facturation, Cours et FichePersonne.
- Les interfaces fournies sont :
- Comptabilité fournit l’interface Facturation.
- CatalogueCours fournit l’interface Cours.
- Annuaire fournit l’interface FichePersonne.
- Le composant InscriptionCours requiert ces trois interfaces pour fonctionner.
Exercice 3 : Étude de cas YAPS
La société YAPS, spécialisée dans la vente d’animaux de compagnie, souhaite moderniser son système d’information. Trois configurations sont proposées :
Configuration 1 : Gestion locale sans réseau
- YAPS utilise des PC sous Windows sans réseau local.
- Bill gère la relation clientèle, John gère les catalogues.
- Chaque application fonctionne indépendamment sur un poste.
- Proposition d’une architecture logicielle locale avec deux composants distincts sur des nœuds séparés.
Configuration 2 : Ajout d’un réseau local avec base de données distante
- YAPS installe un réseau local et une base de données distante.
- Les applications gestion_Clients et gestion_Catalogues utilisent la même base distante.
- Les applications continuent à fonctionner comme auparavant, sans changement fonctionnel.
Configuration 3 : Passage à une architecture 3-tiers
- Face à la croissance, les postes utilisateurs sont sous-dimensionnés.
- YAPS investit dans un serveur puissant hébergeant la base de données et les traitements métiers.
- Les postes utilisateurs deviennent des terminaux d’affichage, les traitements sont déportés sur le serveur via appels distants.
- Cette évolution technique améliore les performances sans modifier le comportement fonctionnel.
Glossaire des termes clés
- Composant : Élément physique ou module logiciel participant à la réalisation d’un logiciel.
- Dépendance : Relation indiquant qu’un composant utilise les services d’un autre.
- Interface fournie : Ensemble d’opérations qu’un composant offre à ses clients.
- Interface requise : Ensemble d’opérations dont un composant a besoin pour fonctionner.
- Nœud : Dispositif matériel (ordinateur, serveur, imprimante) dans un diagramme de déploiement.
- Instance de nœud : Occurrence spécifique d’un nœud, distinguée par un nom souligné.
- Association de nœuds : Relation entre deux nœuds indiquant un support de communication.
- Architecture client/serveur : Modèle où les fonctions sont réparties entre clients (interface utilisateur) et serveurs (traitements et données).
- Architecture 3-tiers : Architecture répartissant l’application en trois couches : présentation, traitement métier, et gestion des données.
Points clés à retenir
- Le diagramme de composants modélise la structure logicielle et les dépendances entre modules.
- Les interfaces fournies et requises permettent de définir clairement les services échangés entre composants.
- Le diagramme de déploiement représente la structure physique du système et la répartition des composants logiciels sur les dispositifs matériels.
- Les nœuds représentent les dispositifs matériels, les associations entre nœuds indiquent les connexions physiques.
- Les instances de nœuds permettent de détailler précisément la configuration matérielle.
- Les architectures client/serveur et 3-tiers sont des modèles courants pour organiser les systèmes distribués.
- Les évolutions techniques doivent préserver le comportement fonctionnel des applications.
Commentaires
Aucun commentaire pour le moment. Posez la première question.