Skip to content

ISD Entity Designer

Vincent Richard edited this page Nov 27, 2023 · 6 revisions

Copyright © 2008, 2023 Obeo – All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0

ISD – Entity Designer

Entity Designer permet de modéliser des entités métier.

Entity Designer fournit le point de vue Entity Views permettant de :

  • Modéliser les entités métier, leur structure et les relations entre elles,
  • Organiser ces entités en packages

Création d’un modèle Entity

Un assistant permet la création de modèles Entity. Cet assistant est accessible via le menu :

File > New > Other … > Entity Model (Catégorie IS Designer)

Cet assistant permet de définir

  • le nom du modèle à créer (l’extension du modèle est automatiquement ajoutée à la fin du nom en grisée et en italique s’il n’y a pas d’extension précisée),
  • le projet ou répertoire de destination pour cette nouvelle ressource :

Une fois l’assistant validé, le modèle est créé, la représentation Entity Namespace Hierarchy est créée et ouverte afin de commencer l’édition.

Lorsqu’un modèle entity est créé à l’aide de ce wizard, les points de vues Entity Views, Entity (Safr@n Consolidated view) et Environment View sont activés.
Le point de vue Entity Views est décrit dans la section suivante. Le point de vue Entity (Safr@n Consolidated view) est décrit dans la section de documentation Safr@n – Entity. Le point de vue Environment View permet d’activer les vues propriétés EEF.

Point de vue Entity Views

L’outillage Entity Designer fournit un point de vue dédié à la gestion des entités métier. Ce point de vue permet de visualiser et modifier un modèle Entity via plusieurs types de diagrammes.

Ouverture d’une session et activation du point de vue Entity Views

L’ouverture d’une session de travail sur un modèle Entity se fait de manière classique :

  • En ouvrant le Modeling Project contenant le modèle
  • En double-cliquant sur un fichier *.aird existant
  • En faisant un glisser/déposer d’un fichier *.entity sur la vue Model Explorer
  • En convertissant le projet contenant le modèle en un Modeling Project

Le point de vue Entity Views doit être sélectionné sur la session ouverte. Pour vérifier si c’est bien le cas lancer le menu suivant la session :

Viewpoint Selection

Choisir le point de vue Entity Views :

Une fois le point de vue activé, il devient possible de créer ou visualiser les diagrammes Entity Views.

Création/ouverture de diagrammes

Chaque type de diagramme est rattaché à un concept Entity précis. Par exemple, un Entities Diagram est rattaché à un Namespace.

Pour créer un diagramme d’un certain type, il suffit de sélectionner l’élément du modèle auquel on veut rattacher le diagramme dans la vue Model Explorer puis, avec un clic droit, de sélectionner le menu :

New… > #Nom du diagramme#

puis renseigner le nom du diagramme et, enfin, valider.

Par exemple sur un objet racine Entities, deux types de représentation peuvent être créés comme présenté sur la capture d’écran suivante :

Pour ouvrir un diagramme il suffit de double-cliquer sur le diagramme dans la vue Model Explorer. Attention seuls les diagrammes correspondants aux points de vue sélectionnés sur la session sont affichés dans la vue Model Explorer.

Les diagrammes suivants peuvent être ouverts en mode “Vue Partielle”. Le fonctionnement des Vues Partielles est décrit dans la section ISD – Outillage environnement / Vues Partielles

  • Entities Namespaces Hierarchy
  • Entities Diagram

Entities Namespaces Hierarchy (pour l’objet racine Entities)

Les entités (Entity_) sont organisées en packages (_Namespaces).
La gestion de la hiérarchie de packages se fait en utilisant le diagramme Entities Namespaces Hierarchy.
Ce diagramme peut être créé sur l’objet racine Entities.

Ce diagramme permet de créer, modifier ou supprimer des packages ainsi que d’accéder facilement au diagramme de gestion des entités d’un package.

Eléments affichés et palette d’outils

Les éléments suivants sont affichés sur le diagramme :

  • Namespace : chaque package contenu dans l’élément racine est affiché. Si un package est contenu par un autre package il apparaît à l’intérieur de son package parent. L’icône d’un package apparaît blanche ou grisée selon si le package est respectivement vide ou non.
  • Dépendance : l’affichage des dépendances peut être activé ou désactivé via le layer Dependencies. Les dépendances entre Namespaces sont représentées par des liens pouvant être fléchés à une ou deux extrémités. Les dépendances sont calculées à partir du contenu de chacun des Namespace. Une dépendance est identifiée entre deux Namespaces si il existe un lien d’héritage, une référence ou l’utilisation d’une Enumeration pour typer un attribut entre une Entity d’un Namespace et un autre. Si il est non nul, le nombre de dépendances identifiées est indiqué sur l’extrémité du lien correspondant, et cette extrémité est décoré d’une flèche. Les dépendances entre les packages d’une même lignée de contenance ne sont pas affichées. L’affichage des dépendances peut être activé ou désactivé via le layer Dependencies. Les namespaces dits “externes” sont également affichés dans ce layer. Un namespace externe est un namespace contenant une entité externe liée à une entité présente dans un namespace affiché par le diagramme (voir External entity dans la section Diagramme des entités ci-après).

Les outils fournis par la palette sont :

Création d’un package. Un package peut être créé sur le fond du diagramme ou à l’intérieur d’un autre package.
Création d’un package par duplication d’un package de DTO. Voir le diagramme “Diagramme des entités” ci-dessous.

Navigation vers d’autres diagrammes

Il est possible de naviguer depuis ce diagramme vers un autre diagramme :

  • Depuis un package, un double-clic, le menu New ou le menu Open permettent de naviguer (et potentiellement de le créer) vers le diagramme des entités de ce package.

Diagramme des entités

Un diagramme des entités (Entities Diagram_) est associé à un package (_Namespace). Il permet de gérer les entités du package.

Les éléments suivants sont affichés sur le diagramme :

  • Entités
  • Attributs
  • Relations entre entités
  • Liens d’héritage
  • Enumération
  • Packages contenus

Les outils fournis par la palette sont :

Création d’un sous-package.
Création d’un package à partir d’un package de DTO.
Création d’une entité.
Création d’entités à partir de DTO.
Création d’un attribut d’entité.
Création d’une énumération.
Création d’une valeur d’énumération.
Création d’une relation simple.
Création d’une relation de composition.
Création d’un lien d’héritage.
Création d’une relation simple bidirectionnelle.
Création d’une relation de contenance bidirectionnelle.
Ajout d’une entité externe. Cet outil permet de faire apparaitre une entité définie dans un autre package pour créer des relations avec les entités du package courant. Cet outil est activable via le calque External Entities

L’outil de création d’entités à partir de DTOs permet de reproduire un modèle d’entités à partir d’un modèle de DTO. Une boîte de dialogue permet de choisir les DTO et les relations à prendre en compte. Les DTO choisis peuvent être de différents packages mais la structure de ces packages n’est pas reproduite. Les entités créées sont toutes dans le package courant du diagramme.
Des entités et des relations sont créées pour chaque DTO et chaque référence sélectionnés. Les attributs ne sont pas dupliqués, il sont partagés avec les DTOs grâce à la référence Associated Types accessible dans la vue des propriétés de l’entité. La modélisation des DTOs est décrite dans la documentation de ISDSOA Designer .

L’outil de création de package à partir d’un package de DTO permet de reproduire un modèle d’entités à partir d’un modèle de DTO en reproduisant la structure des packages. L’outil présente la hiérarchie des packages de DTO accessibles depuis le diagramme courant.

La sélection d’un élément dans l’arbre entraîne la sélection de ses sous éléments, permettant de procéder à une sélection par soustraction plutôt que par addition.
La désélection d’un élément dont tous les sous éléments sont sélectionnés entraîne la désélection de toute la hiérarchie. De manière synthétique :

  • Un clic sur un élément décoché coche l’élément et tous ses sous éléments.
  • Un clic sur un élément coché décoche l’élément et tous ses sous éléments.
  • Un clic sur un élément partiellement coché décoche l’élément et ne change pas l’état des sous éléments.

Un élément est marqué partiellement sélectionné si certains de ses sous éléments sont sélectionnés mais pas tous.
Lorsque tous les sous éléments d’un élément sont sélectionnés, celui-ci devient sélectionné.
Les éléments marqués comme partiellement sélectionnés sont pris en compte par le traitement de duplication.

La sélection d’une relation induit la sélection du DTO ciblé par celle-ci. Il est possible de désélectionner ce DTO, mais toute relation dont les deux types source et cible ne sont pas sélectionnés ne sera pas dupliquée.

Le bouton finish est activé si au moins un package est sélectionné ou partiellement sélectionné.

Le traitement crée les packages de plus haut niveau sélectionnés dans le package du diagramme courant.

Les éléments pris en compte pour la duplication sont ceux dont :

  • la case à cocher est cochée ou partiellement cochée,
  • la lignée des parents est complètement sélectionnée jusqu’au package de plus haut niveau sélectionné.

Contraintes sur les valeurs des attributs d’une entité

Les attributs d’entité sont pourvus de champs minimum, maximum et optionellement pattern.
La nature de ces champs dépend de la nature du type, qui peut être textuel (essentiellement String_), numérique (_Integer, Long, Float_, etc.) ou autre (_Boolean, Binary, etc.).

Pour un type de nature textuel :

  • minimum : longueur minimale du texte
  • maximum : longueur maximale du texte
  • pattern : expression régulière (format ECMA 262) à laquelle le texte doit se conformer

Pour un type de nature numérique :

  • minimum : valeur minimale requise
  • maximum : valeur maximale autorisée
  • pattern : non-applicable

Pour un type de nature autre ces champs sont non-applicables.

Ces champs sont exploités par la génération et l’import OpenAPI (Swagger).

Table des entités

La table des entités (Entity table) peut être créée sur l’objet racine Entities.

La table des entités permet de lister les entités existantes et d’afficher les informations suivantes :

  • Nombre d’attributs définis
  • Volumétrie estimée. Cette valeur est modifiable en éditant directement la cellule.
  • Historisation (oui/non). Cette valeur est modifiable en éditant directement la cellule.

Gestion des exigences

La gestion des exigences pour un modèle Entity utilise le mécanisme transverse de gestion des exigences fourni par l’outillage.
Se référer à la documentation Obeo Network – Requirements Tooling dans l’aide d’Eclipse.

Gestion de la documentation liée

Il est possible d’attacher de la documentation aux éléments d’un modèle Entity. Le mécanisme utilisé est le mécanisme transverse de gestion de la documentation fourni par l’outillage.
Se référer à la documentation Obeo Network – Documentation Tooling dans l’aide d’Eclipse.

Création de diagramme d’interaction

Il est possible de créer des diagrammes d’interaction pour les éléments d’un modèle Entity.
Se reférer à la documentation Obeo Network – Interaction Tooling dans l’aide d’Eclipse.

Création de diagramme de machines à états

Il est possible de créer des diagrammes de machines à états pour les éléments d’un modèle Entity.
Se reférer à la documentation Obeo Network – State Machine Tooling dans l’aide d’Eclipse.