Présentation du langage de modélisation unifié (UML)

Le langage de modélisation unifié (UML) est un langage de modélisation qui peut être utilisé à n’importe quelle fin. L’objectif principal d’ UML est d’établir une norme pour visualiser la conception d’un système. Cela ressemble beaucoup aux conceptions dans d’autres branches de l’ingénierie.

UML est un langage visuel plutôt qu’un langage de programmation. Les diagrammes UML sont utilisés pour décrire le comportement et la structure d’un système. UML est un outil de modélisation, de conception et d’analyse pour les ingénieurs logiciels, les hommes d’affaires et les architectes système. Unified Modeling Language a été approuvé comme standard par l’ Object Management Group (OMG) en 1997. Depuis lors, OMG en a la charge. En 2005, l’Organisation internationale de normalisation (ISO) a accepté UML comme norme. UML a été mis à jour au fil du temps et fait l’objet d’examens réguliers.

Qu’est-ce qu’UML ?

Le langage de modélisation unifié (UML) a été développé pour établir un langage de modélisation visuel commun pour l’architecture, la conception et la mise en œuvre de la structure et du comportement des grands systèmes logiciels. UML a des applications en dehors du développement logiciel, comme les processus industriels.

Il se compose de nombreux types de diagrammes et est similaire aux plans utilisés dans d’autres domaines. Les diagrammes UML, en général, décrivent les limites, la structure et le comportement d’un système, ainsi que les objets qu’il contient.

Bien qu’UML ne soit pas un langage de programmation, il existe des outils qui produisent du code dans plusieurs langages à l’aide de diagrammes UML.

Histoire d’UML

L’UML est né de la perplexité qui a entouré le développement et la documentation des logiciels. Il existait une variété de techniques pour représenter et documenter les systèmes logiciels tout au long des années 1990. En conséquence, trois développeurs de logiciels Rational Software ont créé l’UML en 1994-1996. Il a ensuite été reconnu comme une norme en 1997, et il l’est resté depuis lors, avec des révisions très mineures.

UML est-il vraiment nécessaire ?

  • Les applications complexes nécessitent la collaboration et la planification de différentes équipes, ce qui nécessite un moyen de communication clair et simple entre elles.
  • Le code n’est pas compris par les gens d’affaires. En conséquence, UML devient essentiel pour les non-programmeurs pour comprendre les exigences de base, les fonctionnalités et les opérations du système.
  • Lorsque les équipes peuvent visualiser les processus, les interactions des utilisateurs et la structure statique du système, elles peuvent gagner beaucoup de temps.

La conception et l’analyse orientées objet sont liées à UML. Pour créer des diagrammes, UML prend des éléments et crée des associations entre eux. Voici quelques exemples de diagrammes UML.

  • Un diagramme structurel décrit les caractéristiques statiques ou la structure d’un système. Des schémas de structure sont présentés. Les diagrammes de composants, les diagrammes d’objets, les diagrammes de classes et les diagrammes de déploiement sont tous des exemples de diagrammes utilisés dans le développement de logiciels.
  • Un diagramme de comportement décrit les caractéristiques dynamiques ou le comportement d’un système. Des diagrammes de comportement sont inclus. Utilisez des diagrammes de cas, des diagrammes d’état, des diagrammes d’activité et des diagrammes d’interaction pour vous aider à visualiser vos idées.

La hiérarchie schématique selon UML est illustrée dans la figure ci-dessous.

Concepts clés orientés objet dans UML

L’analyse et la conception orientées objet (OO) ont été remplacées par UML.

Un objet est composé de données et de méthodes qui le contrôlent. Les données représentent l’état actuel de l’objet. Une classe est un type d’objet qui a une hiérarchie qui peut être utilisée pour imiter des systèmes du monde réel. La hiérarchie s’exprime par héritage et les classes peuvent être liées de différentes manières en fonction des besoins.

Les objets sont des entités du monde réel qui existent tout autour de nous, et UML peut représenter des principes de base comme l’abstraction, l’encapsulation, l’héritage et le polymorphisme.

UML est capable de représenter tous les concepts trouvés dans l’analyse et la conception orientées objet.

Seules les notions orientées objet sont représentées dans les diagrammes UML. Par conséquent, avant d’apprendre UML, il est essentiel d’avoir une compréhension approfondie des concepts OO.

  • Classe : Une classe définit le blueprint, c’est-à-dire la structure et le fonctionnement d’un objet, et est utilisée en UML.
  • Objets : Les objets nous aident à décomposer et à modulariser des systèmes complexes. La modularité nous permet de décomposer notre système en composants facilement compréhensibles, ce qui nous permet de le créer pièce par pièce. Les unités de base (blocs de construction) d’un système sont des objets, qui sont utilisés pour décrire une entité.
  • Héritage : un mécanisme qui permet à une classe enfant d’hériter des propriétés de sa classe mère.
  • Abstraction : une méthode qui protège l’utilisateur des spécificités de l’implémentation.
  • Encapsulation : processus consistant à rassembler des données et à les protéger du monde extérieur.
  • Polymorphisme : méthode qui permet à une fonction ou une entité d’exister en plusieurs versions.

Ajouts en UML :

  • La portée de la définition UML d’origine a été élargie et des approches de développement logiciel telles que Agile ont été ajoutées.
  • Initialement, UML faisait appel à neuf diagrammes. Le nombre de diagrammes dans UML 2.x est passé de 9 à 13. Le diagramme de synchronisation, le diagramme de communication, le diagramme d’aperçu d’interaction et le diagramme de structure composite sont les quatre nouveaux diagrammes. Le diagramme d’état a été renommé en diagramme de machine d’état dans UML 2.x.
  • Les systèmes logiciels peuvent désormais être décomposés en composants et sous-composants à l’aide d’UML 2.x.

Diagrammes structurels UML

Diagramme de classes – Le diagramme de classes est le diagramme UML le plus largement utilisé. Il sert de base à tous les systèmes logiciels orientés objet. Les diagrammes de classes sont utilisés pour décrire la structure statique d’un système en affichant ses classes, ses méthodes et ses propriétés. Les diagrammes de classes nous aident également à déterminer les liens entre différentes classes ou objets.

Diagramme de structure composite – Les diagrammes de structure composite sont utilisés pour illustrer la structure interne d’une classe ainsi que ses points d’interaction avec d’autres composants du système. Le lien entre les éléments et leur configuration détermine le comportement du classificateur (classe, composant ou nœud de déploiement). Les parties, les ports et les connexions sont utilisés pour illustrer la structure interne d’un classificateur structuré. Nous pouvons également utiliser des diagrammes de structure composite pour modéliser la coopération. Ils sont similaires aux diagrammes de classes, mais au lieu de représenter la classe complète, ils affichent des éléments particuliers en profondeur.

Diagramme d’objets – Un graphique d’objets peut être appelé une capture d’écran des instances d’un système et des relations qui existent entre elles. Étant donné que les diagrammes d’objets décrivent le comportement d’un objet après son instanciation, nous sommes en mesure d’étudier le comportement du système à un moment donné. Un diagramme d’objets est similaire à un diagramme de classes, sauf qu’il montre des instances de classes dans le système. Nous décrivons les classificateurs réels et leurs relations à l’aide de diagrammes de classes. D’autre part, les graphes d’objets représentent des instances spécifiques de classes et les relations entre elles à un moment donné.

Diagramme de composants – Les diagrammes de composants sont utilisés pour montrer comment les composants physiques d’un système sont connectés. Ils sont utilisés pour simuler les détails d’implémentation. Les diagrammes de composants montrent les relations structurelles entre les éléments d’un système logiciel et peuvent nous aider à déterminer si le développement prévu a satisfait à toutes les exigences fonctionnelles. Lors de la conception et de la construction de systèmes complexes, les diagrammes de composants sont essentiels. Les nombreux composants du système communiquent entre eux via des interfaces.

Diagramme de déploiement – ​​Un diagramme de déploiement est un diagramme qui décrit le matériel et les logiciels d’un système. Il nous informe des composants matériels qui s’y trouvent ainsi que des composants logiciels qui s’y exécutent. Les informations générées par le logiciel système sont appelées artefacts. Ils sont le plus souvent utilisés lorsque le logiciel est utilisé, distribué ou déployé sur de nombreux appareils avec différentes configurations.

Diagramme de package – Les diagrammes de package sont utilisés pour montrer comment les packages et leurs composants sont organisés. Les diagrammes de packages décrivent simplement les interdépendances de packages distincts ainsi que la structure interne des packages. Les packages facilitent l’organisation des diagrammes UML en groupes significatifs et la compréhension des diagrammes. Ils sont principalement utilisés pour organiser les diagrammes de classes et les diagrammes de cas d’utilisation.

Diagrammes de comportement UML

Diagramme de machine d’état – utilisé pour représenter l’état d’un système ou d’une section d’un système à un moment précis. C’est un diagramme de comportement dans lequel le comportement est représenté par un nombre fini de transitions d’état. Les machines d’état et les diagrammes d’état sont d’autres noms pour les diagrammes d’état. Ces termes sont fréquemment échangés. Décrit simplement, un diagramme d’état est une représentation visuelle du comportement dynamique d’une classe en réaction au temps et à la modification des entrées externes.

Diagramme d’activité – Nous utilisons des diagrammes d’activité pour montrer comment fonctionne le flux de contrôle d’un système. Les diagrammes d’activité peuvent également être utilisés pour faire référence aux étapes impliquées dans l’exécution d’un cas d’utilisation. Les diagrammes d’activités sont utilisés pour représenter des activités séquentielles et simultanées. Par conséquent, des diagrammes d’activités sont utilisés pour représenter visuellement le flux de travail. Les circonstances de flux et l’ordre dans lequel elles se produisent sont au centre des diagrammes d’activité. Les diagrammes d’activité sont utilisés pour représenter ou décrire les événements qui mènent à un événement spécifique.

Les diagrammes de cas d’utilisation sont utilisés pour décrire la fonctionnalité d’un système ou d’un composant d’un système. Ils sont fréquemment utilisés pour décrire les exigences fonctionnelles d’un système et les interactions avec des agents externes (acteurs). Un cas d’utilisation est un diagramme qui décrit les différents contextes dans lesquels un système peut être appliqué. Les diagrammes de cas d’utilisation nous fournissent un aperçu de haut niveau de ce qu’un système ou un élément d’un système exécute sans plonger dans les détails de la mise en œuvre.

Le diagramme de séquence décrit simplement les interactions entre les éléments d’une série, c’est-à-dire l’ordre dans lequel ces interactions ont lieu. Un diagramme de séquence peut également être appelé diagramme d’événements ou scénario d’événements. Les diagrammes de séquence montrent comment et dans quel ordre les composants d’un système fonctionnent ensemble. Les hommes d’affaires et les ingénieurs en logiciel utilisent fréquemment ces diagrammes pour documenter et comprendre les besoins des systèmes nouveaux et actuels.

Le diagramme de communication  (également connu sous le nom de diagrammes de collaboration dans UML 1.x) est utilisé pour décrire la transmission séquentielle d’informations entre les objets. Les objets et leurs relations sont au centre des diagrammes de communication. Les diagrammes de séquence peuvent être utilisés pour décrire des informations similaires, mais les diagrammes de communication représentent des objets et des liens dans leur état naturel.

Diagramme de temps  – Les diagrammes de temps sont un type de diagramme de séquence qui décrit le comportement des objets sur une période de temps définie. Ils sont utilisés pour décrire les contraintes de temps et de durée qui régissent les changements d’état et de comportement d’un objet.

Diagrammes de présentation des interactions – Un diagramme de présentation des interactions est un modèle d’une série d’événements qui peut être utilisé pour décomposer des interactions complexes en événements plus simples. C’est un croisement entre une activité et un diagramme de séquence.

Glossaire UML

  • Classe abstraite  – Une classe qui ne sera jamais instanciée. Une instance de cette classe n’existera jamais.
  • Acteur  – Un objet ou une personne qui déclenche des événements dans lesquels le système est impliqué.
  • Activité : une étape ou une action dans un diagramme d’activité. Représente une action entreprise par le système ou par un acteur.
  • Diagramme d’activité : un organigramme glorifié qui montre les étapes, les décisions et les opérations parallèles au sein d’un processus, tel qu’un algorithme ou un processus métier.
  • Agrégation  – Fait partie d’une autre classe. Montré avec un losange creux à côté de la classe contenante dans les diagrammes.
  • Artefacts  – Documents décrivant le résultat d’une étape du processus de conception. La description est graphique, textuelle ou une combinaison.
  • Association  – Une connexion entre deux éléments d’un modèle. Cela peut représenter une variable de membre dans le code, ou l’association entre un dossier personnel et la personne qu’il représente, ou une relation entre deux catégories de travailleurs, ou toute relation similaire. Par défaut, les deux éléments d’une association sont égaux et se connaissent via l’association. Une association peut également être une association navigable, ce qui signifie que l’extrémité source de l’association connaît l’extrémité cible, mais pas l’inverse.
  • Classe d’association : une classe qui représente et ajoute des informations à l’association entre deux autres classes.
  • Attributs  – Caractéristiques d’un objet qui peuvent être utilisées pour référencer d’autres objets ou enregistrer des informations sur l’état de l’objet.
  • Classe de base : une classe qui définit les attributs et les opérations hérités par une sous-classe via une relation de généralisation.
  • Branche : un point de décision dans un diagramme d’activité. Plusieurs transitions émergent de la branche, chacune avec une condition de garde. Lorsque le contrôle atteint la branche, exactement une condition de garde doit être vraie ; et le contrôle suit la transition correspondante.
  • Classe : Une catégorie d’Objets similaires, tous décrits par les mêmes Attributs et Opérations et tous compatibles avec l’affectation.
  • Diagramme de classes  – Affiche les classes système et les relations entre elles.
  • Classificateur : Un élément UML qui a des Attributs et des Opérations. Plus précisément, les acteurs, les classes et les interfaces.
  • Collaboration : Une relation entre deux objets dans un diagramme de communication, indiquant que les messages peuvent aller et venir entre les objets.
  • Diagramme de communication  – Un diagramme qui montre comment les opérations sont effectuées tout en mettant l’accent sur les rôles des objets.
  • Composant : Une unité de code déployable au sein du système.
  • Diagramme des composants : un diagramme qui montre les relations entre les différents composants et interfaces.
  • Concept  – Un nom ou une idée abstraite à inclure dans un modèle de domaine.
  • Phase de construction  – La troisième phase du processus unifié rationnel au cours de laquelle plusieurs itérations de fonctionnalités sont intégrées au système en cours de construction. C’est là que se fait l’essentiel du travail.
  • Dépendance : une relation qui indique qu’un classificateur connaît les attributs et les opérations d’un autre classificateur, mais qu’il n’est directement connecté à aucune instance du second classificateur.
  • Diagramme de déploiement : un diagramme qui montre les relations entre les différents processeurs.
  • Domaine  – La partie de l’univers dans laquelle le système est impliqué.
  • Phase d’élaboration  – La deuxième phase du processus unifié rationnel qui permet une planification de projet supplémentaire, y compris les itérations de la phase de construction.
  • Element : tout élément qui apparaît dans un modèle.
  • Encapsulation  – Les données dans les objets sont privées.
  • Généralisation  – Indique qu’une classe est une sous-classe d’une autre classe (superclasse). Une flèche creuse pointe vers la superclasse.
  • Événement : dans un diagramme d’état, cela représente un signal, un événement ou une entrée qui amène le système à effectuer une action ou à changer d’état.
  • État final : dans un diagramme d’états ou un diagramme d’activités, cela indique un point auquel le diagramme se termine.
  • Fork : un point dans un diagramme d’activité où plusieurs threads de contrôle parallèles commencent.
  • Généralisation : une relation d’héritage, dans laquelle une sous-classe hérite et s’ajoute aux attributs et aux opérations d’une classe de base.
  • GoF  – Ensemble de modèles de conception Gang of Four.
  • Cohésion élevée  – Un modèle d’évaluation GRASP qui s’assure que la classe n’est pas trop complexe, faisant des fonctions sans rapport.
  • Couplage faible  – Un modèle d’évaluation GRASP qui mesure à quel point une classe dépend d’une autre classe ou est connectée à une autre classe.
  • Phase de démarrage  – La première phase du processus unifié rationnel qui traite de la conceptualisation originale et du début du projet.
  • Héritage  – Les sous-classes héritent des attributs ou des caractéristiques de leur classe parente (superclasse). Ces attributs peuvent être remplacés dans la sous-classe.
  • État initial : dans un diagramme d’états ou un diagramme d’activités, cela indique le point auquel le diagramme commence.
  • Instance  – Une classe est utilisée comme un modèle pour créer un objet. Cet objet est appelé une instance de la classe. N’importe quel nombre d’instances de la classe peut être créé.
  • Interface : un classificateur qui définit les attributs et les opérations qui forment un contrat de comportement. Une classe ou un composant fournisseur peut choisir de réaliser une interface (c’est-à-dire mettre en œuvre ses attributs et ses opérations). Une classe ou un composant client peut alors dépendre de l’interface et donc utiliser le fournisseur sans aucun détail sur la véritable classe du fournisseur.
  • Itération  – Une section de mini-projet au cours de laquelle un petit élément de fonctionnalité est ajouté au projet. Comprend la boucle de développement d’analyse, de conception et de codage.
  • Join : Un point dans un diagramme d’activité où plusieurs threads de contrôle parallèles se synchronisent et se rejoignent.
  • Membre : un attribut ou une opération dans un classificateur.
  • Fusion : un point dans un diagramme d’activité où différents chemins de contrôle se rejoignent.
  • Message  – Une demande d’un objet à un autre demandant à l’objet recevant le message de faire quelque chose. Il s’agit essentiellement d’un appel à une méthode dans l’objet récepteur.
  • Méthode  – Une fonction ou une procédure dans un objet.
  • Modèle  – L’artefact UML central. Se compose de divers éléments organisés dans une hiérarchie par packages, avec également des relations entre les éléments.
  • Multiplicité  – Montré dans un modèle de domaine et indiqué en dehors des boîtes de concept, il indique la relation de quantité d’objets avec les quantiles d’autres objets.
  • Navigabilité : indique quelle extrémité d’une relation est consciente de l’autre extrémité. Les relations peuvent avoir une navigabilité bidirectionnelle (chaque extrémité est consciente de l’autre) ou une navigabilité unidirectionnelle (une extrémité est consciente de l’autre, mais pas l’inverse).
  • Notation  – Document graphique avec des règles pour créer des méthodes d’analyse et de conception.
  • Remarque : Une note textuelle ajoutée à un diagramme pour expliquer le diagramme plus en détail.
  • Objet  – Objet : dans un diagramme d’activités, un objet qui reçoit des informations des activités ou fournit des informations aux activités. Dans un diagramme de collaboration ou un diagramme de séquence, un objet qui participe au scénario décrit dans le diagramme. En général : une instance ou un exemple d’un classificateur donné (acteur, classe ou interface).
  • Package  – Un groupe d’éléments UML qui devraient logiquement être regroupés.
  • Diagramme de packages : un diagramme de classes dans lequel tous les éléments sont des packages et des dépendances.
  • Modèle  – Solutions utilisées pour déterminer l’attribution de responsabilité pour les objets à interagir. C’est le nom d’une solution réussie à un problème commun bien connu.
  • Paramètre : un argument pour une opération.
  • Polymorphisme  – Même message, méthode différente. Également utilisé comme motif.
  • Privé : un niveau de visibilité appliqué à un attribut ou à une opération, indiquant que seul le code du classificateur contenant le membre peut accéder au membre.
  • Processeur : Dans un diagramme de déploiement, cela représente un ordinateur ou un autre appareil programmable où le code peut être déployé.
  • Protégé : Niveau de Visibilité appliqué à un Attribut ou à une Opération, indiquant que seul le code du Classificateur contenant le membre ou de ses Sous-classes peut accéder au membre.
  • Public : Niveau de visibilité appliqué à un attribut ou à une opération, indiquant que n’importe quel code peut accéder au membre.
  • Flèche de direction de lecture  – Indique la direction d’une relation dans un modèle de domaine.
  • Réalisation : Indique qu’un Composant ou une Classe fournit une Interface donnée.
  • Rôle  – Utilisé dans un modèle de domaine, il s’agit d’une description facultative du rôle d’un acteur.
  • Diagramme de séquence : un diagramme qui montre l’existence d’objets au fil du temps et les messages qui passent entre ces objets au fil du temps pour effectuer un certain comportement. Diagramme de diagramme d’état – Un diagramme qui montre tous les états d’objet possibles.
  • État : dans un diagramme d’état, cela représente un état d’un système ou d’un sous-système : ce qu’il fait à un moment donné, ainsi que les valeurs de ses données.
  • Diagramme d’état : un diagramme qui montre les états d’un système ou d’un sous-système, les transitions entre les états et les événements qui provoquent les transitions.
  • Statique : un modificateur d’un attribut pour indiquer qu’il n’y a qu’une seule copie de l’attribut partagée entre toutes les instances du classificateur. Modificateur d’une opération pour indiquer que l’opération est autonome et n’opère pas sur une instance spécifique du classificateur.
  • Stéréotype : un modificateur appliqué à un élément de modèle indiquant quelque chose à son sujet qui ne peut normalement pas être exprimé en UML. Essentiellement, les stéréotypes vous permettent de définir votre propre « dialecte » d’UML.
  • Sous -classe : une classe qui hérite des attributs et des opérations définis par une sous-classe via une relation de généralisation.
  • Swimlane : Un élément d’un diagramme d’activité qui indique quelles parties d’un système ou d’un domaine exécutent des activités particulières. Toutes les activités au sein d’un couloir sont sous la responsabilité de l’objet, du composant ou de l’acteur représenté par le couloir.
  • Time Boxing  – Chaque itération aura une limite de temps avec des objectifs spécifiques.
  • Transition : dans un diagramme d’activités, représente un flux de contrôle d’une activité ou d’une branche ou d’une fusion ou d’une bifurcation ou d’une jointure à une autre. Dans un diagramme d’état, représente un changement d’un état à un autre.
  • Phase de transition  – La dernière phase du processus unifié Rational au cours de laquelle les utilisateurs sont formés à l’utilisation du nouveau système et le système est mis à la disposition des utilisateurs.
  • UML  – Unified Modeling Language utilise des documents textuels et graphiques pour améliorer l’analyse et la conception de projets logiciels en permettant des relations plus cohérentes entre les objets.
  • Cas d’utilisation : dans un diagramme de cas d’utilisation, représente une action que le système entreprend en réponse à une demande d’un acteur.
  • Diagramme de cas d’utilisation : un diagramme qui montre les relations entre les acteurs et les cas d’utilisation.
  • Visibilité : un modificateur d’un attribut ou d’une opération qui indique quel code a accès au membre. Les niveaux de visibilité incluent Public, Protégé et Privé.
  • Flux de travail  – Un ensemble d’activités qui produit un résultat spécifique.

Ressources et références UML

Leave a Reply

Votre adresse e-mail ne sera pas publiée.