Vous êtes sur la page 1sur 3

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

Analyse, Conception Objet

SIMMO/ENSM.SE

Sommaire
Definition

Diagrammes de composants

Composant
Module
Dependance
Processus et taches

Une partie du materiau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr)

Exemple

Octobre 2002

Oct.2002

Diagrammes de composants

SIMMO/ENSM.SE

Oct.2002

Sommaire 2

Diagrammes de composants

SIMMO/ENSM.SE

Composant

Definition
Decrit les composants et leurs dependances dans lenvironnement de
realisation.

ement physique representant une partie de


El
limplementation du syst`eme :

Vue statique de limplementation du syst`eme illustrant les choix de realisation.

code (source, binaire ou executable),

Les diagrammes de composants sont composes :

script, fichier de commande,

des descriptions des implementations du syst`eme (les composants),

fichier de donnees, table, ...

des groupes dimplementations (les modules),

Un composant implante des services utilisables par dautres


composants.

des relations entre les diverses implementations (les dependances).


Ils sont generalement utilises pour decrire les choix dimplementation et les
dependances de compilation et dimplementation entre les composants du
syst`eme.

Nom du composant

Un service
Un autre service

Oct.2002

Definition 3

Oct.2002

Composant 4

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

Composant (suite)

SIMMO/ENSM.SE

Composant (suite)
Si un composant implante plusieurs classes, ces derni`eres sont representees
comme suit (noter les notations daccessibilite (+,-)):

UML propose des stereotypes de composants :


<<document>>: un document quelconque;

Lecture

Journal

<<ex
ecutable>>: un programme qui peut sexecuter sur un
nud (cf. diagrammes de deploiement);

+ Maquette

+ Liste dabonns
Ralisation

<<fichier>>: un document contenant du code source ou des


donnees;

Liste darticles

+ Page

Linstance dun composant est representee par un composant dont le nom est
souligne.

eque>>: une biblioth`eque statique ou dynamique;


<<biblioth`
<<table>>: une table dune base de donnees relationnelle.

f: Fichier

En general, un composant represente limplantation dune classe.


Exemple : Le composant Java nomme java.lang.String est
limplantation dune classe nommee String.
Oct.2002

Les instances de composants sont surtout utilisees dans les diagrammes de


deploiement.
Composant (suite) 5

Diagrammes de composants

SIMMO/ENSM.SE

Oct.2002

Composant (suite) 6

Diagrammes de composants

SIMMO/ENSM.SE

Module

Dependance

Represente une unite pour le regroupement et la


manipulation de composants.

Represente les relations de dependances entre


composants/modules.

Exemple : le module Java java.lang contient les


composants String, Integer, ...

Illustre lutilisation des services dun composant par un


second composant.

Representation non standard :


Spcification

Corps

<<fichier>>
Zoo.cpp

Gnrique

<<fichier>>
Zoo.cpp

Oct.2002

<<fichier>>
Zoo.cpp

Module 7

Oct.2002

<<fichier>>
Zoo.cpp

<<fichier>>
Zoo.cpp

Dependance 8

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Processus et taches

Exemple

Les processus (processus) et taches (thread) peuvent e tre


representes par un composant.

Nous desirons implanter la gestion dun agenda.

Un processus ou une tache est caracterisee par son propre


flot de controle.

Un agenda poss`ede un proprietaire.

Un agenda contient un ensemble de personnes.

Chaque personne est identifiee par son nom et par un


ensemble de coordonnees.

UML propose les stereotypes <<processus>> et


<<thread>>
<<processus>>
Superviseur

Une coordonnee peut e tre postale, telephonique ou


e lectonique (email ou page web).

<<thread>>
Capteur

Une adresse email nappartient qu`a une seule personne.

Oct.2002

Processus et taches 9

Diagrammes de composants

SIMMO/ENSM.SE

Oct.2002

Exemple 10

Diagrammes de composants

SIMMO/ENSM.SE

Diagramme des classes


+ agenda
1..*

Agenda

Diagramme des composants


Personne

{ context Email inv :


self .propritaire>size() = 1 }

*
* + contacts

Coordonnes

Personne
+ propritaire

Agenda

utiliser
Coordonne

lecture
Email

PageWWW

<<fichier>>
agenda_db

+ nom : Chane
1..*
0..*

+ propritaire

criture

+adresses

Adresse

Coordonne

Tlphonique

<<bibliothque>>
Accs
Internet

Electronique

+ utiliser() { abstrait }

connexion

Systme dexploitation

Adresse
+ utiliser()

Tlphone

Electronique

PageWWW
+ utiliser()

Oct.2002

<<bibliothque>>
Reconnaissance
Vocale

+ utiliser()
Email
+ utiliser()

Diagramme des classes 11

Oct.2002

<<bibliothque>>
Conversation
Tlphonique

connexion

connexion

<<bibliothque>>
Modem

<<bibliothque>>
RseauLAN

Diagramme des composants 12

Vous aimerez peut-être aussi