View
298
Download
1
Category
Preview:
Citation preview
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
Plan de travail1 - Introduction2 - Objectif2 - Composants 4 - Stéréotypes5 - Dépendance6 - Module7 - Port8 – Exemples9- Conclusion
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
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.
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
Les diagrammes de composants sont composés:
Les composants.
Les modules.
Les dépendances.
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:
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.
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
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
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
Exemple
Moteur de recherecheUtilisateur
Requette
Recherche
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
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.
Exemple (1)Clients
DépendanceComposant
Interface
Système de commande
Accè
s pro
duit
Recherche client
SystèmeD’inventaire
Dépendance entre des composants utilisateurs et les interfaces des composants fournisseurs.
Personne
Calendrier
Agenda
Rendez-vous
Datation
Exemple (2)
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:
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
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 -
20
Exemple de composants répartis sur un déploiement
Exemple (1)
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)
Agenda
Personne
coordonné
+Utiliser()
Adresse
+Utiliser()
Telephone
+Utiliser()
Eléctronique
PageWWW
+Utiliser()
+Utiliser()
+context*
*
agenda
+propriétaire
1..*
{context Email inv : self.propriétaire->size() := 1}
propriétaire0..*
1..*
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)
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
Recommended