Propriétés d'une classe

Pour visualiser ou modifier les propriétés d'une classe, double-cliquez sur son symbole dans le diagramme ou sur l'entrée correspondante dans l'Explorateur d'objets ou dans une liste. Les onglets de feuille de propriétés et zones répertoriés ici sont ceux disponibles par défaut, avant toute personnalisation de l'interface par vous ou par un administrateur.

L'onglet Général contient les propriétés suivantes :

Propriété

Description

Nom/Code/Commentaire

Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code.

Etend

Spécifie la classe parent (la classe à laquelle la classe courante est liée par une généralisation). Cliquez sur l'outil Sélectionner un classificateur à droite de la zone pour spécifier une classe parent et cliquez sur l'outil Propriétés pour accéder à sa feuille de propriétés

Stéréotype

Etend la sémantique de l'objet au-delà de la définition UML. Vous pouvez saisir un stéréotype directement dans cette zone, ou bien ajouter des stéréotypes dans la liste en les spécifiant dans un fichier d'extension.

Les stéréotypes communs suivants sont disponibles par défaut :
  • <<actor>> - Groupe de rôles cohérent que l'utilisateur joue

  • <<enumeration>> - Liste de valeurs nommées utilisée comme fourchette pour un type d'attribut

  • <<exception>> - Classe d'exception. Utilisé principalement en relation avec les messages d'erreur

  • <<implementationClass>> - Classe dont les instances sont saisies de façon statique. Définit la structure de données physique et les méthodes d'une classe telle qu'utilisée dans les langages de programmation traditionnels

  • <<process>> - Flux qui peut être exécuté en même temps que d'autres processus

  • <<signal>> - Spécification d'un stimulus asynchrone communiqué entre instances

  • <<metaclass>> - Classificateur stéréotypé qui indique que la classe est une métaclasse d'une autre classe

  • <<powertype>> - Classificateur stéréotypé qui indique que la classe est une métaclasse dont les instances sont des sous-classes d'une autre classe

  • <<thread>> - Flux léger qui peut être exécuté en même temps que d'autres threads au sein du même processus. Généralement exécuté au sein de l'espace d'adresse du processus dans lequel il est inclus

  • <<type>> - Classe abstraite utilisée uniquement pour spécifier la structure et le comportement d'un ensemble d'objets, et non leur mise en oeuvre

  • <<utility>> - Classe dépourvue d'instance

D'autres stéréotypes spécifiques à un langage objet peuvent être disponibles s'ils sont spécifiés dans le fichier du langage (voir Personnalisation et extension de PowerAMC> Fichiers d'extension > Stéréotypes (Profile)).

Visibilité

Spécifie la visibilité de l'objet, à savoir la façon dont il est perçu hors de son espace de noms. Lorsqu'une classe est visible par un autre objet, elle peut influencer la structure ou le comportement de l'objet, ou être affectée par ce dernier. Vous pouvez choisir l'une des valeurs suivantes :
  • Private – uniquement par l'objet

  • Protected – uniquement par l'objet et par ses objets hérités

  • Package – par tous les objets contenus dans le même package

  • Public – par tous les objets (option par défaut)

Cardinalité

Spécifie le nombre d'instances que peut avoir une classe. Vous pouvez choisir parmi les valeurs suivantes :
  • 0..1 – Aucune ou une

  • 0..* – Aucune ou un nombre illimité

  • 1..1 – Une à une

  • 1..* – Une à un nombre illimité

  • * – Nombre illimité

Type

Permet de spécifier qu'une classe est de type générique, ou si elle est liée à un type générique. Vous pouvez choisir parmi les valeurs suivantes :
  • Classe

  • Générique

  • Lié – une liste supplémentaire s'affiche et vous permet de spécifier le type générique auquel la classe est liée. Vous pouvez utiliser les outils à droite de la liste pour créer un objet, parcourir l'arborescence des objets disponibles ou afficher les propriétés de l'objet sélectionné

Si vous spécifiez Générique ou Lié, l'onglet Générique s'affiche, permettant de contrôler les variables de type associées. Pour plus d'informations sur les types génériques et la liaison des classes à ces types, voir Types et méthodes génériques.

Abstrait

Indique que la classe ne peut pas être instanciée et qu'elle n'est donc dotée d'aucune instance directe.

Final

Spécifie que la classe ne peut pas avoir d'objets hérités.

Générer du code

Indique si la classe est automatiquement incluse lorsque vous générez du code à partir du modèle, cela n'affecte en rien la génération intermodèle.

Mots clés

Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules.

Onglet Détails

L'onglet Détails contient une zone de groupe Persistant qui sert à définir comme persistant le code généré pour une classe lors de la génération d'un MCD ou d'un MPD à partir d'un MOO, et il contient les propriétés suivantes :

Propriété

Description

Persistant

Spécifie que la classe doit être persistante dans un MCD ou un MPD généré. Vous devez sélectionner l'une des options suivantes :
  • Générer une table - la classe est générée dans une entité ou une table.

  • Migrer les colonnes - [MPD uniquement] la classe n'est pas générée, et ses attributs associations sont migrés vers la table parent ou enfant

  • Générer un type de parent abstrait - [MPD uniquement] la classe est générée comme un type de données abstrait (voir Modélisation des données > Construction de modèles de données > Diagrammes physiques > Types de données abstraits (MPD)).

  • Type de valeur – la classe n'est pas générée, et ses attributs sont générés dans leurs types référents.

Pour plus d'informations, voir Gestion de la persistance des objets lors de la génération d'un MPD à partir d'un MOO.

Code

Spécifie le code de la table ou de l'entité qui sera générée à partir de la classe courante dans un MCD ou un MPD. Les codes persistants sont utilisés pour l'ingénierie par va-et-vient : une même classe génère toujours la même entité ou table avec un code conforme au SGBD cible.

Exemple : pour générer une classe Acheteur dans une table ACHT, saisissez ACHT dans la zone Code.

Interne à

Spécifie le nom de la classe ou de l'interface à laquelle la classe courante appartient en tant que classificateur interne.

Classe d'association

Spécifie le nom de l'association liée à la classe pour former une classe d'association. Les attributs et opérations de la classe courante sont utilisés pour compléter la définition de l'association.

Pour plus d'informations sur les propriétés supplémentaires disponibles si la classe est une classe de mise en oeuvre de service Web, voir Propriétés d'une classe de mise en oeuvre de service Web

Les onglets suivants sont également disponibles :
  • Attributs - répertorie et permet d'ajouter et de créer les attributs (y compris les accesseurs) associés à la classe (voir Attributs (MOO)). Cliquez sur le bouton Héritées pour passer en revue les attributs publics et protégés hérités d'une classe parent.

  • Identificateurs - répertorie et permet de créer les identificateurs associés à la classe (voir Identifiants (MOO)).

  • Opérations - répertorie et permet d'ajouter et de créer les opérations associées à la classe (voir Opérations (MOO)).

  • Générique - permet de spécifier les paramètres de type d'une classe générique ou des valeurs pour les paramètres de type requis pour une classe liée à un type générique (voir Types et méthodes génériques

  • Ports - répertorie et permet de créer les ports associés à la classe (voir Ports (MOO)).

  • Parties - répertorie et permet de créer les associées à la classe (voir Parties (MOO)).

  • Associations - répertorie et permet de créer les associations associées à la classe (voir Associations (MOO)).

  • Classificateurs internes - répertorie et permet de créer les classes et les interfaces internes associées à la classe (voir Classificateurs composites et classificateurs internes).

  • Diagrammes associés - répertorie et permet d'ajouter des diagrammes de modèles liés à la classe (voir Guide des fonctionnalités générales > L'interface de PowerAMC > Diagrammes, matrices et symboles > Diagrammes > Spécification de diagrammes comme diagrammes associés).

  • Script - permet de personnaliser le script de création de la classe (voir Personnalisation des scripts de création d'objet)

  • Aperçu - permet d'afficher le code à générer pour la classe (voir Aperçu du code d'un MOO)