Vous êtes sur la page 1sur 3

Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.

SE

Analyse, Conception Objet Sommaire

• Définition
Diagrammes de composants • Composant
• Module
• Dépendance
Une partie du matériau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr) • Processus et tâches
Octobre 2002 • Exemple

Oct.2002 1 Oct.2002 Sommaire– 2

Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.SE

Définition Composant

• Décrit les composants et leurs dépendances dans l’environnement de


• Élément physique représentant une partie de
réalisation.
l’implémentation du système :
• Vue statique de l’implémentation du système illustrant les choix de réalisation.
– code (source, binaire ou exécutable),
• Les diagrammes de composants sont composés :
– des descriptions des implémentations du système (les composants),
– script, fichier de commande,
– des groupes d’implémentations (les modules), – fichier de données, table, ...
– des relations entre les diverses implémentations (les dépendances). • Un composant implante des services utilisables par d’autres
• Ils sont généralement utilisés pour décrire les choix d’implémentation et les composants.
dépendances de compilation et d’implémentation entre les composants du
système. Nom du composant Un service

Un autre service

Oct.2002 Définition– 3 Oct.2002 Composant– 4


Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.SE

Composant (suite) Composant (suite)

• UML propose des stéréotypes de composants : • Si un composant implante plusieurs classes, ces dernières sont représentées
comme suit (noter les notations d’accessibilité (+,-)):
– <<document>>: un document quelconque;
Journal Lecture
– <<exécutable>>: un programme qui peut s’exécuter sur un + Maquette + Liste d’abonnés
nœud (cf. diagrammes de déploiement); Réalisation
– <<fichier>>: un document contenant du code source ou des − Liste d’articles + Page

données;
• L’instance d’un composant est représentée par un composant dont le nom est
– <<bibliothèque>>: une bibliothèque statique ou dynamique;
souligné.
– <<table>>: une table d’une base de données relationnelle. f: Fichier

• En général, un composant représente l’implantation d’une classe.


• Exemple : Le composant Java nommé java.lang.String est • Les instances de composants sont surtout utilisées dans les diagrammes de
l’implantation d’une classe nommée String. déploiement.

Oct.2002 Composant (suite)– 5 Oct.2002 Composant (suite)– 6

Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.SE

Module Dépendance

• Représente une unité pour le regroupement et la • Représente les relations de dépendances entre
manipulation de composants. composants/modules.
• Exemple : le module Java java.lang contient les • Illustre l’utilisation des services d’un composant par un
composants String, Integer, ... second composant.
• Représentation non standard : <<fichier>>
Zoo.cpp
<<fichier>>
Zoo.cpp
Spécification Corps Générique

<<fichier>> <<fichier>> <<fichier>>


Zoo.cpp Zoo.cpp Zoo.cpp

Oct.2002 Module– 7 Oct.2002 Dépendance– 8


Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.SE

Processus et tâches Exemple

• Les processus (processus) et tâches (thread) peuvent être • Nous désirons implanter la gestion d’un agenda.
représentés par un composant.
• Un agenda contient un ensemble de personnes.
• Un processus ou une tâche est caractérisée par son propre
• Un agenda possède un propriétaire.
flot de contrôle.
• Chaque personne est identifiée par son nom et par un
• UML propose les stéréotypes <<processus>> et
ensemble de coordonnées.
<<thread>>
<<processus>> <<thread>> • Une coordonnée peut être postale, téléphonique ou
Superviseur Capteur électonique (email ou page web).
• Une adresse email n’appartient qu’à une seule personne.

Oct.2002 Processus et tâches– 9 Oct.2002 Exemple– 10

Diagrammes de composants SIMMO/ENSM.SE Diagrammes de composants SIMMO/ENSM.SE

Diagramme des classes Diagramme des composants


+ agenda Personne Agenda
Agenda { context Email inv :
1..* self .propriétaire−>size() = 1 }
*

* + contacts
Coordonnées utiliser lecture
Personne
Coordonnée Email PageWWW <<fichier>>
+ nom : Chaîne agenda_db
+ propriétaire
1..* + propriétaire écriture

0..* +adresses <<bibliothèque>>


Adresse Téléphonique Electronique Accès
Coordonnée
Internet

+ utiliser() { abstrait } connexion

Système d’exploitation

Adresse Téléphone Electronique

+ utiliser() + utiliser() <<bibliothèque>> <<bibliothèque>>


Reconnaissance Conversation connexion connexion
PageWWW Email Vocale Téléphonique <<bibliothèque>> <<bibliothèque>>
Modem RéseauLAN
+ utiliser() + utiliser()

Oct.2002 Diagramme des classes– 11 Oct.2002 Diagramme des composants– 12

Vous aimerez peut-être aussi