Diagrammes de composants et de déploiement (UML)

 

Diagrammes de composants et de déploiement (UML). 1

1       INTRODUCTION.. 1

2       DIAGRAMME DE COMPOSANTS. 1

3       EXEMPLE.. 2

3.1        ARTÉFACT.. 2

3.2        STÉRÉOTYPES COURANTS DES COMPOSANTS UML.. 2

4       DÉPLOIEMENT.. 3

4.1        DIAGRAMMES DE DÉPLOIEMENT.. 3

4.2        NŒUDS (PLATEFORMES PHYSIQUES ET VIRTUELLES). 3

4.2.1          PLATEFORME PHYSIQUE.. 3

4.2.2          PLATEFORME VIRTUELLE (CONTENEURS DE COMPOSANTS). 3

4.2.3          EXEMPLES DE PROTOCOLES DE COMMUNICATION.. 3

4.2.4          COMPOSANTS ET ARTÉFACTS. 3

 

1          INTRODUCTION

Dans la conception orientée objet, l’accent a traditionnellement été mis sur la structure logique des programmes, où les systèmes sont modélisés comme des collections de classes reliées par des associations et des généralisations, et où le comportement du système est décrit par les opérations des classes. Les programmes en cours d’exécution sont considérés comme des objets interagissant entre eux, ce qui explique une grande partie de la notation UML utilisée pour la conception.

Cependant, les classes possèdent également une existence physique : elles sont implémentées sous forme de fichiers de code source, compilées en code objet, puis exécutées. UML, initialement centré sur la conception logique, a évolué pour inclure des notations de conception physique, telles que les diagrammes d’implémentation — les diagrammes de composants montrant les dépendances et les diagrammes de déploiement montrant comment les composants sont positionnés dans l’environnement d’exécution.

2          DIAGRAMME DE COMPOSANTS

Un système bien conçu est composé de composants qui interagissent entre eux.

L’unité de base de la conception physique n’est généralement pas la classe, mais le composant.
Un diagramme de composants montre ces composants et la manière dont ils se connectent via des interfaces.

Un composant est un module fonctionnel cohérent et remplaçable au sein d’un système plus large.
Les composants peuvent représenter du matériel (par exemple : périphérique, puce), des logiciels (par exemple : interface utilisateur, base de données) ou des unités métier (par exemple : paie, expédition).

La motivation principale pour définir des composants est de faciliter une construction logicielle flexible et modulaire. Les composants prennent en charge des interfaces spécifiques, ce qui permet de les remplacer, de les mettre à jour ou de les échanger sans affecter le reste du système. Cela favorise la réutilisabilité, la maintenabilité et l’adaptabilité.

3          EXEMPLE

Dans le contexte de la programmation Java, un fichier .class, produit à la suite de la compilation d’un fichier source Java, correspond à la définition d’un composant. En revanche, le fichier source lui-même (par exemple Part.java) ne correspond pas directement à la définition d’un composant.

Chaque composant fournit des services via des interfaces fournies et peut nécessiter des services via des interfaces requises.
Une interface définit un ensemble d’opérations et de comportements liés.

En UML, un composant implémente certaines interfaces et peut dépendre d’autres composants qui implémentent les interfaces dont il a besoin.

Notation




3.1        ARTÉFACT

Un composant peut avoir des instances, tout comme les cas d’utilisation et les classes.
Une instance d’un composant se manifeste sous forme d’un artéfact, qui est généralement un fichier (par exemple : .class, .jar, .exe, etc.).


exemple



3.2        STÉRÉOTYPES COURANTS DES COMPOSANTS UML

<<process>> : composants fournissant des fonctionnalités à d’autres composants, souvent avec état et basés sur des transactions (ex. : systèmes de messagerie, systèmes de gestion d’événements).

<<service>> : composants utilisés dans les architectures orientées services pour fournir des services (ex. : services web).

<<subsystem>> : composants composés de sous-composants (ex. : interface utilisateur, système de base de données, logique métier).

4          DÉPLOIEMENT

Le déploiement est le processus de livraison et d’installation des composants logiciels (artéfacts) sur des nœuds physiques ou virtuels afin qu’ils puissent être exécutés dans un environnement spécifique.

4.1        DIAGRAMMES DE DÉPLOIEMENT

Un diagramme de déploiement UML modélise le déploiement physique des artéfacts sur des nœuds.
Il se compose d’instances de nœuds, de liens, de dépendances et d’artéfacts.

4.2        NŒUDS (PLATEFORMES PHYSIQUES ET VIRTUELLES)

Un nœud est une plateforme capable d’exécuter des programmes. Il en existe deux types : physiques et virtuels.
Les nœuds peuvent également être des dispositifs avec une puissance de calcul limitée ou inexistante, tels que des imprimantes ou des terminaux.

4.2.1         PLATEFORME PHYSIQUE

Une plateforme physique se compose d’un ordinateur et d’un système d’exploitation.
Exemples : UNIX/Desktop, Windows/Server, Windows/PDA.

4.2.2         PLATEFORME VIRTUELLE (CONTENEURS DE COMPOSANTS)

Une plateforme virtuelle est un programme de simulation exécuté sur une plateforme physique qui l’héberge. Elle fonctionne souvent comme un conteneur de composants, gérant des composants tiers en fournissant des services de communication, de cycle de vie, de découverte et de transaction.

Elle peut définir des langages d’interface standards tels que WSDL, IDL ou DCOM.
Exemples : J2SE, J2EE, .NET, MySQL.

Un nœud représente une classe d’ordinateurs, tandis qu’une instance de nœud représente un membre spécifique de cette classe (par exemple : node1 : UNIX/Desktop).
Les nœuds peuvent être connectés via des canaux de communication définis par le protocole utilisé.

4.2.3         EXEMPLES DE PROTOCOLES DE COMMUNICATION

<<RS-232>>, <<Ethernet>>, <<Token Ring>>, <<TCP/IP>>, <<UDP/IP>>, <<FTP>>, <<HTTP>>, <<Telnet>>, <<SOAP>>, <<JDBC>>, <<RMI>>, <<CNP>>

4.2.4         COMPOSANTS ET ARTÉFACTS

Les artéfacts sont déployés sur des nœuds.
Bien que les instances de composants n’apparaissent généralement pas dans les diagrammes de déploiement, il est acceptable de les afficher. En pratique, il serait même possible de supprimer les artéfacts et de montrer directement les instances de composants déployées sur les nœuds.




آخر تعديل: الجمعة، 26 ديسمبر 2025، 6:33 PM