6- le diagramme de structures composites

________________________________________________________________________________________________
I. Introduction:

Q1: Définissez le diagramme de structures composites

Le diagramme de structures composites décrit la structure interne d'une classe, ainsi que les collaborations que cette dernière rend possible. Les éléments de ce diagramme sont les parties (parts), les ports par le biais desquels les parties interagissent entre elles, avec différentes instances de la classe ou encore avec le monde extérieur, et enfin les connecteurs reliant les parties et les ports.

Une structure composite est un ensemble d'éléments interconnectés et collaborant dans un but commun lors de l'exécution d'un tâche.


Q2: Quels sont les éléments constitutifs d'un diagramme de structures composites?

Les éléments clés du diagramme de structure composite sont les classificateurs structurés, les parties, les ports, les connecteurs et les collaborations.

II. Notions et représentations graphiques:

Q3: Précisez la signification et le rôle principal des éléments d'un diagramme de structures composites? 

Les classificateurs structurés: Un classificateur structuré représente une classe, dans la plupart des cas une classe abstraite, dont le comportement peut être décrit complètement ou partiellement par le biais d'interactions entre parties. Un classificateur encapsulé est une forme de classificateur structuré contenant des ports.
Classificateur structuré
Classificateur encapsulé
Les parties: Une partie représente un rôle joué par une instance d'une classe ou un ensemble d'instances à l'exécution. La partie peut donner le nom d'un rôle, d'une super-classe abstraite ou d'une classe concrète spécifique. La partie peut inclure une cardinalité.

Les ports: Le port est un point d'interaction qui peut être utilisé pour connecter un classificateur structuré avec ses parties ou son environnement. Les ports peuvent accessoirement spécifier les services qu'ils fournissent ainsi que les services qu'ils peuvent requérir d'autres parties du système. Les ports sont symbolisés par un carré sur le diagramme.

Les ports peuvent déléguer les requêtes reçues à des parties internes ou au contraire les délivrer directement à la partie qui possède le port en question. Les ports ayant un statut public sont dessinés à cheval sur la bordure de la partie. À l'inverse, les ports protégés (non visibles par l'environnement) sont contenus dans la partie.

Les connecteurs: Les connecteurs relient plusieurs entités, leur permettant d'interagir entre elles lors de l'exécution. Un connecteur est représenté par une ligne reliant une combinaison de parties, des ports ou des 
classificateurs structurés.

Les collaborations: Une collaboration est en général d'un niveau d'abstraction plus élevé qu'un classificateur. Elle est représentée par un ovale en pointillé contenant les rôles joué par chaque instance dans la collaboration lors de l'exécution.


Q4: Précisez sur cette figure chacun des éléments d'un diagramme de structures composites:

Solution:



Exemple de collaboration "vente en gros et vente en détail":



         Exercices corrigés >>
_____________________________________________________________________________________________________________________________________
<< Précédent                                                                                                                                       Sommaire UML                                                                                                   Suivant >>
5-Diagramme de déploiement                                                                                                                                                                                                                                         7-Diagramme de cas d'utilisation
_____________________________________________________________________________________________________________________________________  

5- le diagramme de déploiement

________________________________________________________________________________________________
I. Introduction:

Q1: Définissez le diagramme de déploiement.

Le diagramme de déploiement se rapproche de la réalité physique puisqu'il identifie les éléments matériels (PC, Modem, Serveur, etc.), leur disposition physique (connexions) et la disposition des exécutables (représentés par des composants) sur ces éléments matériels. Chaque ressource étant matérialisée par un nœud.

Le diagramme de déploiement existe sous deux formes: spécification et instance.

II. Notions et représentations graphiques:

Q2: Comment représente-t-on les nœuds et les instances de nœud ?

Chaque ressource est matérialisée par un nœud représenté par un cube comportant un nom. Un nœud est un classeur et peut posséder des attributs (quantité de mémoire, vitesse du processeur, …).

Q3: Comment montrer graphiquement qu'un composant est affecté à un nœud ?

 Deux possibilités pour représenter l’affectation d’un composant à un nœud:


il faut donc soit placer le composant dans le nœud, soit les relier par une relation de dépendance stéréotypée «support» orientée du composant vers le nœud.

Q4: Qu'est ce qu'un artefact?

Un artefact correspond à un élément concret existant dans le monde réel (document, exécutable, fichier, tables de bases de données, script, …). 

Q5: Comment un artefact est-il représenté?

Un artefact se représente comme un classeur par un rectangle contenant le mot-clé «artifact» suivi du nom de l’artefact:

Q6: Quels types de relations peuvent relier un artefact à un nœud et aux autres éléments (les composants)?

Des relations de dépendance:

1. la manifestation:
L’implémentation des modèles (classes, …) se fait sous la forme de jeu d’artefacts. On dit qu’un artefact peut manifester, c’est-à-dire résulter et implémenter, un ensemble d’éléments de modèle. On appelle manifestation la relation entre un élément de modèle et l’artefact qui l’implémente. Graphiquement, une manifestation se représente par une relation de dépendance stéréotypée «manifest».

2. le déploiement:
Une instance d’un artefact se déploie sur une instance de nœud. Graphiquement, on utilise une relation de dépendance (flèche en trait pointillé) stéréotypée «deploy» pointant vers le nœud en question.


L’artefact peut aussi être inclus directement dans le cube représentant le nœud. En toute rigueur, seul des artefacts doivent être déployés sur des nœuds.

Un composant doit donc être manifesté par un artefact qui, lui-même, peut être déployé sur un nœud.




III. Diagramme de déploiement:


Q7: Quels types de relations peuvent exister entre nœuds? 

Dans un diagramme de déploiement, les associations entre nœuds sont des chemins de communication qui permettent l’échange d’informations.

Exemple complet:
Exercices d'application:

  
                                                                                                                                                                                   Liste des exercices corrigés >>
_____________________________________________________________________________________________________________________________________
<< Précédent                                                                                                                                       Sommaire UML                                                                                    Suivant >>
4-Diagramme de composants                                                                                                                                                                                                                           6-Diagramme de structures composites
_____________________________________________________________________________________________________________________________________  

4- le diagramme de composants

________________________________________________________________________________________________
I. Introduction:

Q1: Définissez le diagramme de composants.

le diagramme de composants décortique le système en composants réutilisable en mettant en évidence leurs relations de dépendances. la réutilisabilité étant un des facteurs qui concourent à la qualité d'un logiciel.

Un composant doit offrir un service bien précis et les fonctionnalités qu'il encapsule doivent être cohérentes entre elles et génériques.


Q2: Définissez la notion de programmation orientée composants et comparait la à celle de la programmation orientée objet.

La programmation par composants constitue une évolution technologique soutenue par de nombreuses plateformes (composants EJB, CORBA, .Net, WSDL, …). Ce type de programmation met l’accent sur la réutilisation du composant et l’indépendance de son évolution vis-à-vis des applications qui l’utilisent.

La programmation orientée composant s’intègre très bien dans le contexte de la programmation orientée objet puisqu’il ne s’agit, finalement, que d’un facteur d’échelle. En effet, l’utilisation de composants est assimilable à une approche objet, non pas au niveau du code, mais au niveau de l’architecture générale du logiciel.

II. Les composants:

Q3: Définissez la notion de composant.

Un composant doit fournir un service bien précis. Les fonctionnalités qu’il encapsule doivent être cohérentes entre elles et génériques (par opposition à spécialisées) puisque sa vocation est d’être réutilisable.

Un composant est une unité autonome représentée par un classeur structuré, stéréotypé «component», comportant une ou plusieurs interfaces requises ou offertes. Son comportement interne, généralement réalisé par un ensemble de classes, est totalement masqué : seules ses interfaces sont visibles. La seule contrainte pour pouvoir substituer un composant par un autre est de respecter les interfaces requises et offertes.


Q4: Illustrez par des exemples les différentes façons de représenter d'un composant.

la première représentation:


la deuxième représentation:

la troisième représentation (la représentation standard):

la quatrième représentation:

Q5: Représenter l’implémentation d’un composant complexe contenant des sous-composants.

Q6: Définissez la notion de port.

Un port est un point de connexion entre un classeur et son environnement.

Graphiquement, un port est représenté par un petit carré à cheval sur la bordure du contour du classeur. On peut faire figurer le nom du port à proximité de sa représentation.

Généralement, un port est associé à une interface requise ou offerte. Parfois, il est relié directement à un autre port situé sur la limite du composant englobant par une flèche en trait plein, pouvant être stéréotypée «delegate», et appelée connecteur de délégation.

L’utilisation des ports permet de modifier la structure interne d’un classeur sans affecter les clients externes.

III. Le diagramme de composants

Q7: Précisez l'utilité de la relation de dépendance entre composants.

La relation de dépendance est utilisée dans les diagrammes de composants pour indiquer qu’un élément de l’implémentation d’un composant fait appel aux services offerts par les éléments d’implémentation d’un autre composant.


Q8: Que pouvez vous dire de la relation entre les différents composants sur la figure ci-dessous:


Lorsqu’un composant utilise l’interface d’un autre composant, on peut imbriquer le demi-cercle d’une interface requise dans le cercle de l’interface offerte correspondante:

Exercices d'application:

  
                                                                                                                                                                                   Liste des exercices corrigés >>
_____________________________________________________________________________________________________________________________________
<< Précédent                                                                                                                                       Sommaire UML                                                                                                         Suivant >>
3-Diagramme de paquetages                                                                                                                                                                                                                                               5-Diagramme de déploiements
_____________________________________________________________________________________________________________________________________  

3- le diagramme de paquetages

________________________________________________________________________________________________
I. Introduction:

Q1: Définissez le diagramme de paquetages.

Le diagramme de paquetages est un mécanisme de gestion pour les systèmes de grande taille nécessitant la mise en place d'une organisation hiérarchique, modulaire et répartie. Il permet ainsi d'éviter les modèles plats et de cloisonner des éléments constitutifs d'un système évoluant à des rythmes différents ou développés par des équipes différentes.

Un paquetage est un regroupement d'éléments de modèle et de diagrammes. Il peut contenir tout type d'élément de modèle: des classes, des cas d'utilisations, des interfaces... et même des paquetages imbriqués.

Les éléments contenus dans un paquetage doivent être cohérentes entre elles et ils sont généralement de même nature et de même niveau sémantique.

Q2: Quel mécanisme offre le diagramme de paquetages pour empêcher l’accès aux données par un autre moyen que les services proposés ?

les paquetages permettent d'encapsuler des éléments de modélisation en proposant des interfaces, cela empêche l’accès aux données par un autre moyen que les services proposés par l'interface.


II. Les relations entre paquetages:

Q3: Définissez les différentes relations qui peuvent exister entre paquetages.  
  • Relations d'héritage et de dépendance: 


  • Relation d'association entre interfaces de paquetages:



III. Les stéréotypes:

Q4: Donnez des exemples de paquetages stéréotypés et citez quelques stéréotypes standards pour les paquetages.




Liste d'exercices corrigés ~Diagramme de paquetages~ >>                            
_____________________________________________________________________________________________________________________________________
<< Précédent                                                                                                                                       Sommaire UML                                                                                                          Suivant >>
2-Diagramme d'objets                                                                                                                                                                                                                                                               4-Diagramme de composants
_____________________________________________________________________________________________________________________________________  

2- le diagramme d'objets

________________________________________________________________________________________________
I. Introduction:

Q1: Définissez le diagramme d'objets.

Le diagramme d'objets représente les objets (les instances de classes) et leurs liens (les instances de relations) afin de donner une vue figée du système à un instant donné, d'expliquer le modèle ou d'exprimer les exceptions et les cas non généralisables qui ne sont pas modélisés dans le diagramme de classes. 

le diagramme de classes modélise des règles alors que le diagramme d'objets modélise des faits.


II. Les objets:

Q2: Illustrez par des exemples commentés les différents états de représentation que peut prendre un objet simple (non composite).


Q3: Définissez la notion d'objet composite et illustrez par des exemples commentés les différents états de représentation que peut prendre un objet composite.




III. Représentation du diagramme d'objets:

Q4: Décrivez la syntaxe de représentation d'un diagramme d'objets et les règles de passage depuis un diagramme de classes. Illustrez par un exemple.

Graphiquement, un objet se représente comme une classe. Cependant, le compartiment des opérations n’est pas utile. De plus, le nom de la classe dont l’objet est une instance est précédé d’un << : >> et est souligné. Pour différencier les objets d’une même classe, leur identifiant peut être ajouté devant le nom de la classe. Enfin les attributs reçoivent des valeurs. Quand certaines valeurs d’attribut d’un objet ne sont pas renseignées, on dit que l’objet est partiellement défini.

Dans un diagrammes d’objets, les relations du diagramme de classes deviennent des liens. La relation de généralisation ne possède pas d’instance, elle n’est donc jamais représentée dans un diagramme d’objets. Graphiquement, un lien se représente comme une relation, mais, s’il y a un nom, il est souligné. Naturellement, on ne représente pas les multiplicités.


Q5: Représentez le diagramme d’objets illustrant le cas de figure d’un compte joint à partir du diagramme de classes ci-dessous.




IV. Relation de dépendance d’instanciation

Q6: Définissez La relation de dépendance d’instanciation et illustrez par un exemple.

La relation de dépendance d’instanciation (stéréotypée << instanceof >>) décrit la relation entre un classeur et ses instances. Elle relie, en particulier, les liens aux associations et les objets aux classes.



Exercices d'application:

  
                                                                                                                                                                              Liste des exercices corrigés >>
_____________________________________________________________________________________________________________________________________
<< Précédent                                                                                                                                       Sommaire UML                                                                                                          Suivant >>
1-Diagramme de classes                                                                                                                                                                                                                                                          3-Diagramme de paquetages
_____________________________________________________________________________________________________________________________________