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.
• 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 <use>.
Publicité
•
• Les interfaces fournies sont reliées au composant par une flèche en pointillées sur laquelle figure le stéréotype <realize> (le bout de la flèche est un triangle vide).
Manel HAMZA
13
Diagramme de composants Exemple
Manel HAMZA
14
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 : – 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
Type de dispositif
Nom du nœud
<<serveur de données>>
SD
Adresse réseau
190.190.10.10
1
Cardinalité
Manel HAMZA
19
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
<<serveur de données>> SD 190.190.10.10
SGBD Oracle
1
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
1..1 Rôle 1
Nom Association
1..* Rôle 2
Nœud 1
Nœud 2
Manel HAMZA
Publicité
23
Diagramme de déploiement : Les associations: exemple
OAS
IIS
<<Serveur d’application>>
CRM
Internet
1..1
0..*
<<Client>>
Navigateur
1..3
TCP-IP
1..1
<<serveur de données>>
SGBD Oracle
USB
<<Imprimante>>
Manel HAMZA
24
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
Nœud 1
Manel HAMZA
26
Diagramme de déploiement : Instances de nœud :exemple
Serveur app 1
Serveur app 2
Serveur app 3
serveur de données
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 :
1. Qu’est ce qu’il représente
ce diagramme ?
2. Commenter les différents
éléments de ce diagramme
3. Quelle est l’architecture
de l’application représentée par ce diagramme ?
Manel HAMZA
31
Correction Exercice 1 (1/2)
1. 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 : 2. - 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 :
Publicité
Manel HAMZA
33
Exercice 2
1. Qu’est ce qu’il représente ce diagramme ? 2. Commenter les différents éléments de ce diagramme. 3. Quelles sont les interfaces fournies et requises de différents
composants.
Manel HAMZA
34
Correction Exercice 2
1.
Le diagramme 2 représente le diagramme de composants d’une application d’inscription cours en ligne. 2. Ce diagramme est constitué de 4 composants :
InscriptionCours, Comptabilité, CatalogueCours et Annuaire. Il y a 3 différentes interfaces : Facturation, Cours et FichePersonne.
3. 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. • 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 gestion_Clients et
Gestion_Catalogues 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 gestion_Clients et Gestion_Catalogues doivent continuer à fonctionner comme elles le faisaient auparavant.
Manel HAMZA
39
Exercice 3 Correction configuration 2
Manel HAMZA
40
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 utilisateurs se plaignent de la lenteur des traitements.
• Les applications commencent à donner des signes de ralentissement. • • 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.
Manel HAMZA
42