Vous êtes sur la page 1sur 3

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Analyse, Conception Objet


e D nition

Sommaire

Diagrammes de composants

Composant Module D pendance e Processus et t ches a Exemple

Une partie du mat riau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr) e Octobre 2002

Oct.2002

Oct.2002

Sommaire 2

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

D nition e
D crit les composants et leurs d pendances dans lenvironnement de e e r alisation. e Vue statique de limpl mentation du syst` me illustrant les choix de r alisation. e e e Les diagrammes de composants sont compos s : e e des descriptions des impl mentations du syst` me (les composants), e e des groupes dimpl mentations (les modules), des relations entre les diverses impl mentations (les d pendances). e e e Ils sont g n ralement utilis s pour d crire les choix dimpl mentation et les e e e e e e d pendances de compilation et dimpl mentation entre les composants du e syst` me.

Composant e El ment physique repr sentant une partie de e limpl mentation du syst` me : e e code (source, binaire ou ex cutable), e script, chier de commande, chier de donn es, table, ... e Un composant implante des services utilisables par dautres composants.
Nom du composant Un service Un autre service

Oct.2002

D nition 3 e

Oct.2002

Composant 4

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Composant (suite)
UML propose des st r otypes de composants : ee <<document>>: un document quelconque; <<excutable>>: un programme qui peut sex cuter sur un e e nud (cf. diagrammes de d ploiement); e <<fichier>>: un document contenant du code source ou des donn es; e e e <<biblioth`que>>: une biblioth` que statique ou dynamique; <<table>>: une table dune base de donn es relationnelle. e e e e En g n ral, un composant repr sente limplantation dune classe. Exemple : Le composant Java nomm java.lang.String est e limplantation dune classe nomm e String. e
Oct.2002 Composant (suite) 5 Oct.2002

Composant (suite)
e e e Si un composant implante plusieurs classes, ces derni` res sont repr sent es comme suit (noter les notations daccessibilit (+,-)): e
Journal + Maquette Liste darticles + Liste dabonns Ralisation + Page Lecture

Linstance dun composant est repr sent e par un composant dont le nom est e e soulign . e
f: Fichier

e Les instances de composants sont surtout utilis es dans les diagrammes de d ploiement. e
Composant (suite) 6

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Module Repr sente une unit pour le regroupement et la e e manipulation de composants. Exemple : le module Java java.lang contient les composants String, Integer, ... Repr sentation non standard : e
Spcification Corps Gnrique

D pendance e Repr sente les relations de d pendances entre e e composants/modules. Illustre lutilisation des services dun composant par un second composant.
<<fichier>> Zoo.cpp <<fichier>> Zoo.cpp

<<fichier>> Zoo.cpp

<<fichier>> Zoo.cpp

<<fichier>> Zoo.cpp

Oct.2002

Module 7

Oct.2002

D pendance 8 e

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Processus et t ches a Les processus (processus) et t ches (thread) peuvent etre a e repr sent s par un composant. e Un processus ou une t che est caract ris e par son propre a e e ot de contr le. o UML propose les st r otypes <<processus>> et ee <<thread>>
<<processus>> Superviseur <<thread>> Capteur

Exemple Nous d sirons implanter la gestion dun agenda. e Un agenda contient un ensemble de personnes. e Un agenda poss` de un propri taire. e Chaque personne est identi e par son nom et par un e e ensemble de coordonn es. Une coordonn e peut etre postale, t l phonique ou ee e electonique (email ou page web). a Une adresse email nappartient qu` une seule personne.

Oct.2002

Processus et t ches 9 a

Oct.2002

Exemple 10

Diagrammes de composants

SIMMO/ENSM.SE

Diagrammes de composants

SIMMO/ENSM.SE

Diagramme des classes


+ agenda 1..* Agenda * * + contacts Personne + propritaire + nom : Chane 1..* 0..* + propritaire +adresses
Adresse

Diagramme des composants


Personne Agenda

{ context Email inv : self .propritaire>size() = 1 }


Coordonnes utiliser Coordonne Email

lecture PageWWW <<fichier>> agenda_db criture Tlphonique Electronique <<bibliothque>> Accs Internet connexion

Coordonne + utiliser() { abstrait }

Systme dexploitation

Adresse + utiliser()

Tlphone + utiliser()

Electronique
<<bibliothque>> Reconnaissance Vocale <<bibliothque>> Conversation Tlphonique

PageWWW + utiliser()

Email + utiliser()

connexion <<bibliothque>> Modem

connexion <<bibliothque>> RseauLAN

Oct.2002

Diagramme des classes 11

Oct.2002

Diagramme des composants 12