OOAD - Diagrammes structurés UML

Les diagrammes structurels UML sont classés comme suit: diagramme de classes, diagramme d'objets, diagramme de composants et diagramme de déploiement.

Diagramme de classe

Un diagramme de classes modélise la vue statique d'un système. Il comprend les classes, les interfaces et les collaborations d'un système; et les relations entre eux.

Diagramme de classes d'un système

Prenons un système bancaire simplifié.

Une banque a de nombreuses succursales. Dans chaque zone, une succursale est désignée comme le siège social de la zone qui supervise les autres succursales de cette zone. Chaque succursale peut avoir plusieurs comptes et prêts. Un compte peut être soit un compte d'épargne, soit un compte courant. Un client peut ouvrir à la fois un compte d'épargne et un compte courant. Cependant, un client ne doit pas avoir plus d'un compte d'épargne ou compte courant. Un client peut également obtenir des prêts auprès de la banque.

La figure suivante montre le diagramme de classes correspondant.

Classes dans le système

Banque, succursale, compte, compte d'épargne, compte courant, prêt et client.

Des relations

  • A Bank “has–a” number of Branches - composition, un à plusieurs

  • A Branch with role Zonal Head Office supervises other Branches - association unaire, un à plusieurs

  • A Branch “has–a” number of accounts - agrégation, un à plusieurs

De la classe Compte, deux classes ont hérité, à savoir, Compte d'épargne et Compte courant.

  • A Customer can have one Current Account - association, un à un

  • A Customer can have one Savings Account - association, un à un

  • A Branch “has–a” number of Loans - agrégation, un à plusieurs

  • A Customer can take many loans - association, un à plusieurs

Diagramme d'objets

Un diagramme d'objets modélise un groupe d'objets et leurs liens à un moment donné. Il montre les instances des choses dans un diagramme de classes. Le diagramme d'objets est la partie statique d'un diagramme d'interaction.

Example - La figure suivante montre un diagramme d'objets d'une partie du diagramme de classes du système bancaire.

Diagramme des composants

Les diagrammes de composants montrent l'organisation et les dépendances au sein d'un groupe de composants.

Les diagrammes de composants comprennent -

  • Components
  • Interfaces
  • Relationships
  • Packages et sous-systèmes (facultatif)

Les diagrammes de composants sont utilisés pour -

  • la construction de systèmes par ingénierie directe et inverse.

  • modélisation de la gestion de la configuration des fichiers de code source tout en développant un système à l'aide d'un langage de programmation orienté objet.

  • représentation de schémas dans des bases de données de modélisation.

  • modélisation des comportements des systèmes dynamiques.

Example

La figure suivante montre un diagramme de composants pour modéliser le code source d'un système développé à l'aide de C ++. Il affiche quatre fichiers de code source, à savoir, myheader.h, otherheader.h, priority.cpp et other.cpp. Deux versions de myheader.h sont affichées, allant de la version récente à son ancêtre. Le fichier priority.cpp a une dépendance de compilation sur other.cpp. Le fichier other.cpp a une dépendance de compilation sur otherheader.h.

Diagramme de déploiement

Un diagramme de déploiement met l'accent sur la configuration des nœuds de traitement d'exécution et de leurs composants qui y vivent. Ils sont généralement constitués de nœuds et de dépendances, ou d'associations entre les nœuds.

Les diagrammes de déploiement sont utilisés pour -

  • modèles de périphériques dans des systèmes embarqués qui comprennent généralement une collection de matériel informatique intensive.

  • représentent les topologies des systèmes client / serveur.

  • modéliser des systèmes entièrement distribués.

Example

La figure suivante montre la topologie d'un système informatique qui suit l'architecture client / serveur. La figure illustre un nœud stéréotypé en tant que serveur qui comprend des processeurs. La figure indique que quatre serveurs ou plus sont déployés sur le système. Les nœuds clients sont connectés au serveur, où chaque nœud représente un périphérique terminal tel qu'un poste de travail, un ordinateur portable, un scanner ou une imprimante. Les nœuds sont représentés à l'aide d'icônes qui représentent clairement l'équivalent dans le monde réel.