Les diagrammes UML Diagramme de déploiement Diagramme de composants
Manel HAMZA 1
Les diagrammes UML
Manel HAMZA 2
Diagramme de composants
Manel HAMZA 3
Diagramme de composants : Présentation
- Un diagramme de composant décrit la façon selon laquelle les composantes logicielles seront réalisées. - Il représente les choix de réalisation. - Il est destiné aux réalisateurs (développeurs).
Manel HAMZA 4
Diagramme de composants : Concepts de base
• Le diagramme de composants se base sur les concepts suivants :
- Composant : Toute sorte d’élément physique
permettant la réalisation d’un logiciel.
- Dépendance entre composants : Relation de
dépendance entre deux ou plusieurs composants.
- Programme principal : Constitue le point d’entrée
dans une application.
- Sous-programme : Procédure ou fonction ne
contenant aucune classe.
- Sous-système : Regroupement d’un ensemble de
composants.
Manel HAMZA 5
Diagramme de composants : Les composants
• Les composants représentent toute sortes d’éléments physiques permettant la réalisation d’un logiciel. • Un composant est appelé aussi module. • Un composant se présente sous forme de fichier. • Dans l’approche objet, chaque classe constitue un composant. • Chaque classe (composant) est représentée par deux éléments : une spécification et un corps.
Manel HAMZA 6
Diagramme de composants : Les composants: représentation
• Trois représentations possibles :
Manel HAMZA 7
Diagramme de composants : Dépendance entre composants
• Dans un diagramme de composants, la relation de dépendance est utilisée pour indiquer qu’un composant fait référence aux services offerts par un autre composant. • Cette notion est utile pour représenter a dépendance de compilation entre composants.
Manel HAMZA 8
Diagramme de composants : Dépendance: représentation
Manel HAMZA 9
Diagramme de composants : Les interfaces
elles définissent un ensembles d'opérations, ayant une visibilité publique, qui doivent être implémentées par le composant.
Publicité
Deux types d'interfaces peuvent être représentés :
- Interfaces fournies : ces interfaces décrivent les services
que des instances d'un discriminant (le fournisseur) offrent à leurs clients
- Interfaces requises : ces interfaces définissent les services
dont un discriminant a besoin pour exécuter ses fonctions et pour remplir ses propres obligations envers ses clients
- Une interface a généralement un nom qui reflète le rôle
qu'elle joue dans une application.
Manel HAMZA 10
Diagrammes de composants Les interfaces
• Représentation en UML d’interfaces: il existe plusieurs manières de schématiser une interface en UML. Les plus adoptées sont :
– Avec des connecteurs d’assemblage – Dans un classeur séparé
Manel HAMZA 11
Diagrammes de composants Les interfaces
• Présentation des interfaces avec des connecteurs d’assemblage : – Les interfaces requises (représentées par un demi- cercle) et les interfaces fournies (représentées par un cercle) sont raccordées au composant par un trait.
Manel HAMZA 12
Diagrammes de composants Les interfaces
• Présentation des interfaces dans un classeur séparé :
les interfaces requises sont reliées au composant par une flèche en pointillées sur laquelle figure le stéréotype
Les interfaces fournies sont reliées au composant par une flèche en pointillées sur laquelle figure le stéréotype
(le bout de la flèche est un triangle vide).
Manel HAMZA 13
Diagramme de composants Exemple
Diagramme de déploiement
Manel HAMZA 15
Diagramme de déploiement : Présentation
• Représente la structure physique du système informatique et la répartition des composantes logicielles sur ce système. • Constitue un moyen pour représenter les différentes architectures selon laquelle le nouveau logiciel peut être déployé :
Architecture centralisée
Architecture client/serveur à deux niveaux
Architecture client/serveur à trois niveaux
Architecture client/serveur à n niveaux
Manel HAMZA 16
Diagramme de déploiement : Concepts de base
• Le diagramme de déploiement se base sur les concepts suivants :
Publicité
– Nœud : Description d’un dispositif matériel. – Composant : Composante logicielle. – Association de nœud : Relation entre deux nœuds. – Instance de nœud : C’est une occurrence d’un dispositif matériel.
Manel HAMZA 17
Diagramme de déploiement : Les nœuds
• Chaque dispositif matériel est représenté par un nœud. • Un nœud est décrit par :
– Un nom (obligatoire) – Un stéréotype (serveur, client, imprimante, routeur, ...) – Une adresse réseau – Une cardinalité
Manel HAMZA 18
Diagramme de déploiement : Les nœuds : représentation
Diagramme de déploiement : Les composants
• Dans chaque nœud, on peut indiquer les composants logiciels qui vont y être installés. • On utilise le même formalisme que celui du diagramme de composants.
Manel HAMZA 20
Diagramme de déploiement : Les composants: représentation
Manel HAMZA 21
Diagramme de déploiement : Les associations
• Les nœuds sont inter-reliés par des associations. • Chaque association entre deux nœuds représente l’existence d’un support de communication entre eux. • Pour chaque association, on peut préciser :
– Le nom – Le rôle de chaque côté – La cardinalité
Manel HAMZA 22
Diagramme de déploiement : Les associations:représentation
Manel HAMZA 23
Diagramme de déploiement : Les associations: exemple
Diagramme de déploiement : Instances des nœuds
• Dans un diagramme de déploiement, on peut représenter les instances des nœuds. • Cette possibilité est utilisée surtout pour représenter de façon exhaustive des parties du diagramme de déploiement. • Les instances de nœuds se distinguent des nœuds par le fait que leurs noms sont soulignés.
Manel HAMZA 25
Diagramme de déploiement : Instance de nœud: représentation
Manel HAMZA 26
Diagramme de déploiement : Instances de nœud :exemple
Manel HAMZA 27
Diagramme de déploiement: exemple
• Source : • UML par la pratique : • études de cas et • exercices corrigés • Pascal Roques • Eyrolles
Manel HAMZA 28
Diagramme de déploiement: exemple
Manel HAMZA 29
Diagramme de déploiement
Manel HAMZA 30
Exercice 1
• Soit le diagramme UML suivant :
Publicité
- Qu’est ce qu’il représente
ce diagramme ?
- Commenter les différents
éléments de ce diagramme
- Quelle est l’architecture
de l’application représentée par ce diagramme ?
Manel HAMZA 31
Correction Exercice 1 (1/2)
- diagramme N°1 représente un diagramme de déploiement d’une application web.
Ce diagramme est composé de deux parties physiques déployées sur deux nœuds :
La première partie constitue la partie cliente, soit une machine dont le système d’exploitation Windows XP. Un composant est affecté à ce nœud, qui est le navigateur web.
La deuxième partie est le serveur, installé sur une machine d’OS Linux. Le premier composant associé est le conteneur Web, de type Tomcat, version 4.1. L’autre composant fut le connecteur base de données, MySQL, version 5.
Ces deux parties sont relié via une dépendance (car les composants sont déployés sur les nœuds directement) d’Internet selon le modèle TCP/IP.
Manel HAMZA 32
Correction Exercice 2 (2/2)
• C’est une architecture Client/ Serveur (2-tiers). Soit le schéma suivant :
Manel HAMZA 33
Exercice 2
- Qu’est ce qu’il représente ce diagramme ?
- Commenter les différents éléments de ce diagramme.
- Quelles sont les interfaces fournies et requises de différents
composants.
Manel HAMZA 34
Correction Exercice 2
- Le diagramme 2 représente le diagramme de composants d’une application d’inscription cours en ligne.
- Ce diagramme est constitué de 4 composants : InscriptionCours, Comptabilité, CatalogueCours et Annuaire. Il y a 3 différentes interfaces : Facturation, Cours et FichePersonne.
- Pour le composant Comptabilité : on a une seule interface fournie qui est nommée : Facturation. Le composant CatalogueCours a aussi une seule interface fournie Cours. De même pour le composant Annuaire la seule interface fournie est FichePersonne. Par contre, ces 3 interfaces sont toutes requises pour le composant InscriptionCours.
Manel HAMZA 35
Exercice 3
La société américaine YAPS vend des animaux de compagnie. Elle est implantée depuis plusieurs décennies dans le sud de la Californie, où ses principaux clients sont domiciliés.
Récemment, elle a ouvert son marché à d'autres états américains, ainsi qu'à l'étranger.
Elle continue à exercer sa profession telle qu'elle le faisait à ses débuts. C'est-à-dire, qu'elle répertorie ses clients sur des fiches papiers indexées par le nom de famille, reçoit les commandes par fax et les chèques par courrier.
Une fois le montant du chèque encaissé, YAPS envoie les animaux via la société de transport PetEx. Annuellement, YAPS envoie son catalogue d'animaux domestiques à ses clients. Elle trouve ses nouveaux clients au travers de publicités qu'elle envoie aussi par courrier.
Manel HAMZA 36
Exercice 3 Configuration 1
YAPS veut informatiser la gestion de ses clients et la gestion des catalogues. En effet, les clients et les catalogues sont de plus en plus nombreux.
Elle voudrait saisir leurs coordonnées et pouvoir les modifier.
Publicité
Cette informatisation lui permettrait surtout de pouvoir retrouver les informations de ses clients et des catalogues plus rapidement. YAPS possède des PC avec Windows comme système d'exploitation.
La tache de gestion des clients sera menée par Bill qui assure la
relation clientèle.
- La tâche de gestion des catalogues sera menée par John qui assure la
gestion des catalogues.
La société ne dispose pas d’un réseau local.
- Proposer une architecture logicielle pour cette configuration ( diagramme de déploiement)
Manel HAMZA 37
Exercice 3 Correction configuration 1
Manel HAMZA 38
Exercice 3 Configuration 2
YAPS décide d'investir dans un petit réseau local et d'avoir un poste distant accueillant la base de données.
Ainsi, les deux applications gestionClients et GestionCatalogues utiliseront la même base de données distante.
Les besoins utilisateurs restent inchangés puisque cette nouvelle évolution est purement technique et non fonctionnelle. Les applications gestionClients et GestionCatalogues doivent continuer à fonctionner comme elles le faisaient auparavant.
Manel HAMZA 39
Exercice 3 Correction configuration 2
Exercice 3 Configuration 3
La société YAPS ne cesse de se développer. Elle a doublé ses effectifs et ses ventes ont augmenté de 200%.
Les applications commencent à donner des signes de ralentissement.
Les utilisateurs se plaignent de la lenteur des traitements.
Après avoir fait une étude sur son parc informatique, YAPS se rend compte que les postes utilisateurs sont sous-dimensionnés pour répondre à la demande croissante des clients.
Moderniser tous les postes utilisateurs serait trop coûteux pour l'entreprise.
YAPS décide alors d'investir dans un serveur puissant qui pourrait héberger la base de données et les traitements métiers de l'application.
C'est donc une distribution de l'application qui est souhaitée.
Les postes utilisateurs ne feraient plus aucun traitement mais simplement de l'affichage.
Les traitements métiers et l'accès aux données seront effectués par le serveur à travers des appels distants.
Cette évolution est purement technique. Elle doit permettre une meilleure utilisation des ressources informatiques des postes utilisateurs mais en aucun cas elle ne doit changer le comportement de l'application.
Manel HAMZA 41
Exercice 3 Correction configuration 2
- Alors, pour résoudre ce problème le recourt à l’architecture 3-tiers est bien clair, en séparant l’affichage, de traitement métier.