Université Sétif 1 Faculté des sciences Département de l'informatique
Exposé en ABCL
Diagramme de composants en UML
Responsable de module : M. BENAOUDA Abdelhafid Réalisé par : RAKKAH Seif Eddine
Table des matières
Table des figures :...1
1Introduction...2
1.1UML (Unified Modelling Langague)...2
1.2Les différentes diagrammes d'UML...2
1.2.1Les diagrammes structurels ou diagrammes statique (Stucture Diagram)...2
1.2.2 Diagrammes Comportementaux ou Diagrammes dynamiques (Behavior Diagram)...2
2Diagramme de composants (Component diagram)...3
3Propriétés de diagramme de composants ...3
4Contenu...4
4.1Les composants ...4
4.1.1 Stéréotypes de composants...4
4.2Les Modules...4
4.3Les dépendances...5
5Les processus et les tâches...6
Exemple...6
Diagramme des classes...7
Diagramme des composants...8
Bibliographie :...…...9
Table des figures :
Figure 1 : Diagramme de composants …...3Figure 2 : Un composants …...4
Figure 3 : Représentation graphique de différentes sortes des modules...5
Figure 4 : La relation de dépendance entre composants...5
Figure 5 : Emploi des stéréotype pour préciser la nature des choix de réalisation...5
Figure 6 : Représentation des processus et tâches par des composants...6
1 Introduction
1.1 UML (Unified Modelling Langague)
Est un langage de modélisation standard conçu pour l'écriture de plans d'élaboration de logiciel.
UML est un langage conçu pour :
• Visualiser
• Spécifier
• Construire
• Documenter
les artefacts d'un système à forte composante logicielle. [1]
1.2 Les différentes diagrammes d'UML
1.2.1 Les diagrammes structurels ou diagrammes statique (Stucture Diagram) Diagramme de classe (Class diagram) représente les classes intervenant dans le système.
Diagramme d'objet (Object diagram) il sert à représenter les instances des classes utiliser dans le système.
Diagramme de composants (Component diagram) il permet de montrer les composants du système d'un point de vue physique, tels qu'ils sont mis en œuvre (fichiers, bibliothèques, bases de données...)
Diagramme de déploiement (deployment diagram) il sert à représenter les éléments matériels (ordinateurs, périphériques, réseaux, systèmes de stockage...) et la répartition du composants sur ces éléments .
Diagramme des paquetages (Package Diagram) permet de représenter la hiérarchie, l'organisation, et l’interdépendance des paquetages du projet, simplifie les diagrammes (donc plus simple à comprendre).
Diagramme de structures composites (Composite Structure Diagram) décrire l'exécution du programme, dont ses points d'interaction avec le reste du système.
1.2.2 Diagrammes Comportementaux ou Diagrammes dynamiques (Behavior Diagram)
Diagramme des cas d'utilisation (Use case diagram) il décrit l'interaction entre le système et les acteurs externes, i.e toutes les fonctionnalités que doit fournir le système.
Diagramme états-transitions (State Machine Diagram) il montre la manière dont l'état du système (ou de sous-parties) est modifié en fonction des événements du système.
Diagramme d'activité (Activity Diagram) variante du diagramme d'états-transitions, il représente le déclenchement d'événements en fonction des états du système et de modéliser des comportements parallélisables (multi-threads ou multi-processus) .
Diagramme d'interactions (Interaction Diagram)
• Diagramme de séquence (Sequence Diagram) la représentation séquentielle du déroulement des traitements et des interactions entre les éléments du système et/ou des acteurs .
• Diagramme de communication (Communication Diagram) la représentation simplifiée d'un diagramme de séquence se concentrant sur les échanges de messages entre les objets .
• Diagramme global d'interaction (Interaction Overview Diagram) variante du diagramme d'activité où les nœuds sont des interactions, permet d'associer les notations du diagramme de séquence à celle du diagramme d'activité, ce qui permet de décrire une méthode complexe .
Diagramme de temps (Timing Diagram) la représentation des interactions où l'aspect temporel est mis en valeur; il permet de modéliser les contraintes d'interaction entre plusieurs objets, comme le changement d'état en réponse à un événement extérieur. [2]
2 Diagramme de composants (Component diagram)
On utilise les diagrammes des composants pour la modélisation des aspects physiques et la relation entre eux. [3]
les diagrammes de composants modélisent la vue d'implémentation statique d'un système, cela implique de modéliser les exécutables, les bibliothèques, les tables, les fichiers et les documents. [1]
3 Propriétés de diagramme de composants
Un diagramme de composants a les mêmes propriétés que tous les diagrammes, à savoir un nom et un contenu graphique. On distingue un diagramme de composants des autres diagrammes par son contenu spécifique.
4 Contenu
Les diagrammes de composants contiennent :
Index.html
Find.html
Dbacs.dll
Nateng.dll
Find.exe Page
Composants
bibliothèque
Figure 1 : Diagramme de composants [1]
• des composants ;
• des modules ;
• des dépendances ; [4]
4.1 Les composants
Un composant est un élément physique représentant une partie de l’implémentation des systèmes et des services utilisables par d'autres composants, il propose un ensemble d'interfaces qu'il se doit de respecter.
Un composants peut être un exécutables, un document, une librairie,un fichier ….
4.1.1
Stéréotypes de composants UML propose des stéréotypes de composants :• <<document>> un document quelconque ;
• <<exécutable>> un programme peut s'exécute sur des nœuds ;
• <<fichier>> un document porte des codes sources ou des données ;
• <<bibliothèque>> soit statique ou dynamique ;
• <<table>> table d'une base de donnée relationnelle . [4]
4.2 Les Modules
Un module représente une unité pour le regroupement et la manipulation des composants.
'' Les modules représentent toutes les sortes d'éléments physique qui entrant dans la fabrication des application informatique. '' [3]
<<Stéréotype>>
Nom du composant Un service
Un autre service
Figure 2 : Un composant
En C++ on représente les fichiers.h par des spécification et les fichiers.cpp par des corps.
Dans un diagramme on peut superposer la spécification et le corps d'une même classe.
4.3 Les dépendances
Représentent la relation entre les composants ou les modules, les relations des dépendances indiquent qu'un composants fait référence aux services offert par un autre composant.
On représente une relation de dépendance par une flèche pointe de de l'utilisateur vers le fournisseur. [3]
La relation de dépendance peut être spécialisée par un stéréotype.
L'exemple ci-dessous montre la construction d'un composant X a partir d'une Liste générique
Les relations de dépendances dans un diagramme de composant représentent généralement les dépendance de compilation.
Spécification Corps
Figure 3 : Représentation graphique de différentes sortes des modules
Générique
Figure 4 : La relation de dépendance entre composants
Liste X
<<Instanciation>>
Figure 5 : Emploi des stéréotype pour préciser la nature des choix de réalisation
5 Les processus et les tâches
On peut représenter les processus (processus) et les tâches (thread) par des composants, ils ont caractériser par son flot de contrôle.
UML propose les stéréotypes <<processus>> et <<thread>>.
Exemple
• Nous désirons implanter la gestion d’un agenda.
• Un agenda contient un ensemble de personnes.
• Un agenda possède un propriétaire.
• Chaque personne est identifiée par son nom et par un ensemble de coordonnées.
• Une coordonnée peut être postale, téléphonique ou électronique (email ou page web).
• Une adresse email n'appartient qu'à une seul personne.
<<processus>> <<thread>>
Figure 6 : Représentation des processus et tâches par des composants
Diagramme des classes
Agenda
Éléctronique Personne
+nom : Châine
+utiliser() {abstrait}
Coordonnée
Téléphone Adresse
PageWWW Email
+utiliser()
+utiliser() +utiliser()
+utiliser()
{ context Email inv :
self .propriétaire−>size() = 1 } 1..*
*
*
1..*
0..*
+propriétaire +propriétaire
+adresse +contacts +agenda
Diagramme des composants
Personne Agenda
Coordonnée Email Page WWW
Adresse Téléphonique Éléctronique
<<fichier>>
<<bibliothèque>>
agenda_db
Accès Internet
<<bibliothèque>>
<<bibliothèque>>
<<bibliothèque>>
<<bibliothèque>>
Modem RéseauLAN
Conversation Téléphonique Reconnaissance
Vocale
Connexion Connexion
Système d'exploitation Utiliser
Lecture
écriture
Connexion Coordonnées
Bibliographie :
[1] le guide de l'utilisateur UML [Grady BOOCH, James RUMBAUGH, Ivra JACOBSON].
[2] Introduction à UML 2.0 [F.-Y. Villemin, CNAM ].
[3] Modélisation objet avec UML [Pierre ALLAIN].
[4] Analyse, Conception Objet Diagramme de composants [S.Galland].