Les diagrammes UML

Software Engineering · notes

Browse all génie logiciel documents

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.

Advertisement

  • 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 :

    Advertisement

    – 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 :

    Advertisement

    1. Qu’est ce qu’il représente

    ce diagramme ?

    1. Commenter les différents

    éléments de ce diagramme

    1. 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.
    2. 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

    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.

    Advertisement

  • 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.