Conventions de nommage pour les modèles
Le seul test qui clôt une discussion sur les noms : quelqu'un qui n'était pas dans la pièce retrouvera-t-il cet élément dans six mois en tapant le mot qu'il emploierait ?
5 min de lectureModelling practice3 sur 4
La réponse courte
- Le seul test qui clôt une discussion sur les noms : un inconnu retrouvera-t-il l'élément dans six mois en tapant le mot qu'il emploierait ?
- Des noms au singulier pour les classificateurs, des groupes verbaux pour le comportement. Order, pas Orders : c'est la multiplicité qui dit qu'il y en a plusieurs.
- Le terme métier va dans le modèle, le terme du code dans une note. Un modèle écrit dans le vocabulaire du code est illisible pour le public qui en avait besoin.
01Le test de trouvabilité#
Les disputes de nommage sont ingagnables parce que les deux camps discutent de goût. Il existe un critère qui n'est pas du goût : dans six mois, quelqu'un qui n'a pas participé à cette conversation trouvera-t-il cet élément en tapant le mot qu'il emploierait pour le désigner ?
Cette question tranche presque tous les cas dont on débat réellement, et elle les tranche dans le sens que le conseil conventionnel indique déjà - bon signe que la convention n'a jamais été arbitraire. Elle a en outre l'avantage d'être vérifiable : ouvrez la recherche du modèle, tapez le mot qu'emploierait un collègue d'une autre équipe, et regardez si l'élément remonte.
02Les conventions qu'implique ce test#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Classificateurs | Nom au singulier | Order, pas Orders ni OrderEntity. La multiplicité dit qu'il y en a plusieurs ; le suffixe ne dit rien. |
| Opérations | Verbe, puis objet | cancel(reason), pas orderCancellation(). La classe qui la porte fournit déjà le nom. |
| Processus métier | Groupe verbal | Handle claim, pas Claim handling. Un processus est quelque chose qu'on est en train de faire. |
| Services | Groupe nominal | Claim assessment, pas Assess claim. Un service est quelque chose qu'on offre, et la différence avec le processus est tout l'enjeu. |
| Extrémités d'association | Rôle, vu de l'autre bout | manager et reports, seule façon dont se lit une association d'une classe avec elle-même. |
| Vues | Public et question | Payments - what calls the ledger bat Payments overview, qui décrit toutes les vues jamais dessinées. |
La ligne service contre processus est celle qui paie le plus dans ArchiMateen particulier. Le langage distingue ce qu'une organisation fait de ce qu'elle offre, et nommer les deux avec la même grammaire jette cette distinction exactement là où un lecteur en a besoin.
03Sigles, préfixes et ce dont les équipes débattent#
Sigles : développez-les à la première définition, puis employez-les.Si le métier dit vraiment « SLA » et jamais « accord de niveau de service », l'élément s'appelle SLAet sa description contient le développement, de sorte que la recherche sur l'un ou l'autre mot le trouve. L'échec, c'est un élément nommé SvcLvlAgmt, qui ne correspond à aucune requête que quiconque taperait.
Préfixes de type : non. C_Order, IPayment, tblCustomer- le modèle sait déjà de quel genre est chaque élément et le dessine différemment. Un préfixe ajoute des caractères à chaque nom et de l'information à aucun, et il range alphabétiquement toutes les classes du modèle sous une seule lettre.
Langue : choisissez-en une et écrivez-le.Un modèle aux noms d'éléments allemands et aux noms d'opérations anglais est l'état vers lequel les équipes dérivent plutôt qu'elles ne le choisissent, et il double chaque recherche. Si le vocabulaire métier n'est pas l'anglais, le modèle n'est pas en anglais - c'est un choix cohérent, et bien meilleur qu'un demi-choix.
En une ligne chacun
- 01Le test est de savoir si une personne étrangère trouve l'élément en tapant le mot qu'elle emploierait.
- 02Noms au singulier pour les classificateurs ; verbe-puis-objet pour les opérations.
- 03Groupe verbal pour un processus, groupe nominal pour un service : la distinction porte.
- 04Développez les sigles dans la description ; n'abrégez jamais en quelque chose d'introuvable.
- 05Pas de préfixes de type, et une seule langue par modèle, écrite noir sur blanc.
04Questions fréquentes#
Quelle est la meilleure convention de nommage en UML ?
Des noms au singulier pour les classificateurs, des groupes verbaux pour le comportement, et les mots que le métier emploie déjà plutôt que ceux du code. La convention retenue compte bien moins que la question de savoir si un inconnu retrouvera l'élément en tapant le mot qu'il emploierait naturellement.
Singulier ou pluriel pour un nom de classe ?
Singulier. Une classe décrit une instance : Order et non Orders - c'est la multiplicité sur la relation qui dit qu'il y en a plusieurs. Le pluriel appartient à une table de base de données, qui est autre chose, et c'est bien pourquoi les deux divergent souvent.
Terme métier ou terme technique ?
Le terme métier, dans le modèle. Si le métier dit sinistre et le code dit case, le modèle dit sinistre et note la correspondance. Un modèle écrit dans le vocabulaire du code n'est lisible que par ceux qui connaissent déjà le code, c'est-à-dire le public qui en avait le moins besoin.
Dans cette série
- 01Quel langage choisir
- 02Cadrer un modèle
- 03Conventions de nommage
- 04Garder un modèle à jour
À lire aussi
Pratique de la modélisation
Pratique de la modélisation
Diagrammes de structure
Référence de notation
Pratique de la modélisation