Les diagrammes UML

Eyrolles
Page 1 sur 42Lecteur de document UniversityLib

Les diagrammes UML

UML, Programming, Software Architecture · course

Voir tous les documents en génie logiciel

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