Convenciones de nombres para modelos
La única prueba que zanja una discusión sobre nombres: ¿alguien que no estuvo en la sala encontrará este elemento dentro de seis meses escribiendo la palabra que usaría?
5 min de lecturaModelling practice2 de 3
01The searchability test
Naming arguments are unwinnable because both sides are arguing about taste. There is one criterion that is not taste: in six months, will somebody who was not part of this conversation find this element by typing the word they would use for it?
That question decides almost every case people actually argue about, and it decides them in the direction the conventional advice already points - which is a good sign that the convention was never arbitrary. It also has the advantage of being checkable: open the model's search box, type the word a colleague from another team would use, and see whether the element comes back.
02The conventions the test implies
| Element | Notation | What it means |
|---|---|---|
| Classifiers | Singular noun | Order, not Orders or OrderEntity. The multiplicity says there are many; the suffix says nothing. |
| Operations | Verb, then object | cancel(reason), not orderCancellation(). The class it lives on already supplies the noun. |
| Business processes | Verb phrase | Handle claim, not Claim handling. A process is something being done. |
| Services | Noun phrase | Claim assessment, not Assess claim. A service is something offered, and the difference from a process is the whole point. |
| Association ends | Role, from the far side | manager and reports, which is the only way an association between one class and itself reads. |
| Views | Audience and question | Payments - what calls the ledger beats Payments overview, which describes every view ever drawn. |
The service-versus-process row is the one that repays attention in ArchiMate specifically. The language distinguishes what an organisation does from what it offers, and naming both with the same grammar throws that distinction away at exactly the point a reader needs it.
03Acronyms, prefixes, and the things teams argue about
Acronyms: spell them out on first definition, then use them. If the business genuinely says "SLA" and never says "service level agreement", the element is called SLA and its description contains the expansion - so the search for either word finds it. The failure is an element called SvcLvlAgmt, which matches no query anybody would type.
Type prefixes: no. C_Order, IPayment, tblCustomer - the model already knows what kind of element each is and draws it differently. A prefix adds characters to every name and information to none, and it puts every class in the model under one letter alphabetically.
Language: pick one and write it down. A model with German element names and English operation names is the state teams drift into rather than choose, and it doubles every search. If the business vocabulary is not English, the model is not English - that is a coherent choice, and much better than half of one.
In one line each
- 01The test is whether a stranger finds the element by typing the word they would use.
- 02Singular nouns for classifiers; verb-then-object for operations.
- 03Verb phrase for a process, noun phrase for a service - the distinction is load-bearing.
- 04Spell acronyms out in the description; never abbreviate into something unsearchable.
- 05No type prefixes, and one language per model, written down.
04Preguntas frecuentes
¿Cuál es la mejor convención de nombres para UML?
Sustantivos en singular para clasificadores, frases verbales para comportamiento y las palabras que el negocio ya usa en vez de las del código. La convención que elijas importa mucho menos que si un desconocido encuentra el elemento escribiendo la palabra que usaría de forma natural.
¿Los nombres de clase en singular o en plural?
En singular. Una clase describe una instancia, así que Order y no Orders: que haya muchas lo dice la multiplicidad de la relación. El plural pertenece a una tabla de base de datos, que es otra cosa, y por eso las dos suelen no coincidir.
¿Término de negocio o término técnico?
El de negocio, en el modelo. Si el negocio dice siniestro y el código dice case, el modelo dice siniestro y anota la correspondencia. Un modelo en el vocabulario del código solo lo leen quienes ya conocen el código, que es justo el público que menos lo necesitaba.
Lecturas relacionadas