26
Université Mohamed Chérif Messaâdia Souk-Ahras Faculté des Sciences et de Technologie Département Mathématique et Informatique 3 e m e a n n é e i n f o r m a t i q u e Dirigé par : Pr .Abdelkrim Amirat réalisé par : •Nour El -houda Hadji Le diagramme de composants

Diagramme de-composants152

Embed Size (px)

Citation preview

Page 1: Diagramme de-composants152

Université Mohamed Chérif Messaâdia ــ Souk-Ahras ــ

Faculté des Sciences et de TechnologieDépartement Mathématique et Informatique 3em

e année inform

atique

Dirigé par: Pr .Abdelkrim Amirat

réalisé par :• Nour El -houda Hadji

Le diagramme de composants

Page 2: Diagramme de-composants152

Plan de travail1 - Introduction2 - Objectif2 - Composants 4 - Stéréotypes5 - Dépendance6 - Module7 - Port8 – Exemples9- Conclusion

Page 3: Diagramme de-composants152

UML 2.0UML 2

Diagrammes structurels

Diagramme de classes

Diagramme d’objets

Diagramme de composants

Diagramme de déploiement

Diagramme de paquetage

Diagramme de structures composites

Diagramme de cas d’utilisation

Diagramme d’activités

Diagramme d’états transitions

Diagrammes d’interactions

Diagramme de séquence

Diagramme de communication

Diagramme global d’interaction

Diagramme de temps

Diagrammes Comportementaux

Page 4: Diagramme de-composants152

1 - Introduction

Le diagramme de composant sont des vues statiques de l’implémentation des systèmes qui montrent les

choix de réalisation. décrivent les composants et leurs dépendances dans l’environnement de

réalisation. En général, ils ne sont utilisés que pour des systèmes complexes.

Page 5: Diagramme de-composants152

2 - Objectif

Visualiser l’organisation physique générale d’un système décrite en terme de

composants logiciels.

Présenter les dépendances unissant les différents constituants logiciels du système.

Etablir les différentes configurations liant les composants du système.

Permettre de décrire l'architecture physique et statique d'une application enterme de modules: fichiers sources, librairies ,exécutables, etc...

montre la mise en œuvre physique des modèles de la vue logique avecl'environnement de Développement

Page 6: Diagramme de-composants152

Les diagrammes de composants sont composés:

Les composants.

Les modules.

Les dépendances.

Page 7: Diagramme de-composants152

3.1 Composant

Elément physique représentant une partie de l’implémentation du système:

code (source, binaire ou exécutable). fichier de commande. fichier de données, table. Un composant est un élément physique qui se

conforme à un ensemble d’interfaces et les réalise.

Il est représenté graphiquement:

Page 8: Diagramme de-composants152

3.2 Composant

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

Exemple: Le composant Java nommé java.lang.String est l’implantation d’une classe nommée String.

Page 9: Diagramme de-composants152

Si un composant implante plusieurs classes, ces dernières sont représentées comme suit:

Sys de vol

Client Réservation

Composant:Instance

L’instance d’un composant est représentée par un composant dont le nom est souligné.

Passager

Liste d’abonnées

pageListe d’articles

Journal

Page 10: Diagramme de-composants152

Les classes représentent des abstractions logiques alors que

les composants représentent des abstractions physiques qui

existent dans le monde des bits.

Les composants représentent le regroupement physique de ce qu’on pourrait appeler des composants logiques et se situent à un niveau d’abstraction différent.

Les classes peuvent avoir directement des attributs et des opérations. En général, les composants comportent seulement des opérations que l’on peut atteindre uniquement par leur interface.

3.2 - Composants et classes

Page 11: Diagramme de-composants152

3.3 - Interface Une interface : est un ensemble d’opérations

servant à spécifier un service proposé par un composant.

Il existe 2 types d’interface: Les interfaces offertes : Se sont les services

implantés par le composant et qui peuvent être utilisés par d’autres composants.

Les interfaces requises : Se sont Les services que le composant a besoin pour faire son travail.

Composant

Interface offerte

Interface utilisée

Page 12: Diagramme de-composants152

Exemple

Moteur de recherecheUtilisateur

Requette

Recherche

Page 13: Diagramme de-composants152

4 - Stéréotype

un stéréotype :est l'image préconçue d'un sujet dans un cadre de référence donné, telle qu'elle y est habituellement admise et véhiculée.UML définit :5 stéréotypes standards qui s’appliquent aux composants:« document » : un document quelconque« exécutable » : un programme qui peut s’exécuter sur un nœud« fichier» : un document contenant du code source ou des données« bibliothèque »« table » : une table d’une base de données relationnelle

Page 14: Diagramme de-composants152

5 - La dépendance

Les relations de dépendance sont utilisées dans les diagrammes de composants pour indiquer qu’un élément d’implémentation d’un composant fait appel aux services offerts par les éléments d’implémentation d’un autre composant.

Illustre l’utilisation des services d’un composant par un second composant.

Page 15: Diagramme de-composants152

Exemple (1)Clients

DépendanceComposant

Interface

Système de commande

Accè

s pro

duit

Recherche client

SystèmeD’inventaire

Page 16: Diagramme de-composants152

Dépendance entre des composants utilisateurs et les interfaces des composants fournisseurs.

Personne

Calendrier

Agenda

Rendez-vous

Datation

Exemple (2)

Page 17: Diagramme de-composants152

6 - Module

Représente une unité pour le regroupement et la manipulation de composants.

Par défaut chaque classe du modèle logique est réalisé par deux composants :

La spécifications : l’interface de la classe.

Le corps : la réalisation de cette classe.

En java les modules existent sous l’appellation de paquetage.

Exemple : le module Java java.lang contient les composants java.lang.String.

La représentation d’un module:

Page 18: Diagramme de-composants152

7 - Port Un port est un point de connexion entre un Composant et son

environnement. L’utilisation des ports permet de modifier la structure interne

d’un composant sans affecter les clients externes. Généralement, un port est associé à une interface requise ou

offerte. Graphiquement, un port est représenté par un petit carré.

Composant

Port1

Page 19: Diagramme de-composants152

La séparation des préoccupation est le principe qui assure l’intégrité fonctionnelle d’un composant. Chaque composant réalise une, et seulement une fonction au sein

du système, mais peut néanmoins exposer plusieurs méthodes. Typiquement, chaque composant est défini par une interface qui

constitue son seul moyen d’interagir avec les autres composants. L’utilisation d’une interface pour communiquer avec les autres

composants du système facilite la maintenance puisqu’on peut alors en changer l’implémentation sans affecter les autres composants (induit un couplage plus faible du composant avec le reste du système).

Les classes d’un composant devrait être vues comme un patron cohésif qui implément la fonctionnalité du composant.

7 8-Composant et le principe de séparation despréoccupation -

Page 20: Diagramme de-composants152

20

Exemple de composants répartis sur un déploiement

Exemple (1)

Page 21: Diagramme de-composants152

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 identité 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’a une seule

personne.

Exemple (2)

Page 22: Diagramme de-composants152

Agenda

Personne

coordonné

+Utiliser()

Adresse

+Utiliser()

Telephone

+Utiliser()

Eléctronique

PageWWW

+Utiliser()

Email

+Utiliser()

+context*

*

agenda

+propriétaire

1..*

{context Email inv : self.propriétaire->size() := 1}

propriétaire0..*

1..*

Page 23: Diagramme de-composants152
Page 24: Diagramme de-composants152

Ce diagramme affiche certains composants et de leurs inter- relations. Les connecteurs d'assemblée "lient" les interfaces fournies fournis par "le Produit" et "le Client" pour les interfaces requises spécifiées par "Ordre" de l'Assemblée. Une relation de dépendance cartes associées compte les détails d'un client à l'interface exigée; "Paiement", indiqué par "Ordre".

Exemple (3)

Page 25: Diagramme de-composants152

Le composants peuvent être organisés en paquetages, qui définissent des sous-systèmes.

Les sous-systèmes organisent la vue des composants (de réalisation) d'un système.

Ils permettent de gérer la complexité, par encapsulation des détails d'implémentation.

9 -Conclusion

Page 26: Diagramme de-composants152