Model de domini

En enginyeria de programari, un model de domini és un model conceptual del domini que incorpora tant el comportament com les dades. En enginyeria d'ontologies, un model de domini és una representació formal d'un domini de coneixement amb conceptes, rols, tipus de dades, individus i regles, normalment basada en una lògica de descripció.[1]
Visió general
[modifica]En el camp de la informàtica, un model conceptual pretén expressar el significat dels termes i conceptes utilitzats pels experts en el domini per discutir el problema i trobar les relacions correctes entre diferents conceptes. El model conceptual s'escull explícitament per ser independent de les preocupacions de disseny o implementació, per exemple, la concurrència o l'emmagatzematge de dades. El modelatge conceptual en informàtica no s'ha de confondre amb altres disciplines de modelatge dins del camp més ampli dels models conceptuals, com ara el modelatge de dades, el modelatge lògic i el modelatge físic.[2]
El model conceptual intenta aclarir el significat de diversos termes, generalment ambigus, i garantir que no es produeixi confusió causada per diferents interpretacions dels termes i conceptes. Aquestes interpretacions diferents podrien causar fàcilment confusió entre les parts interessades, especialment les responsables de dissenyar i implementar una solució, on el model conceptual proporciona un artefacte clau per a la comprensió i la claredat empresarial. Un cop modelats els conceptes del domini, el model esdevé una base estable per al desenvolupament posterior d'aplicacions en el domini. Els conceptes del model conceptual es poden mapejar en construccions de disseny físic o implementació mitjançant enfocaments de generació de codi manuals o automatitzats. La realització de models conceptuals de molts dominis es pot combinar en una plataforma coherent.[3]
Un model conceptual es pot descriure utilitzant diverses notacions, com ara UML, ORM o OMT per al modelatge d'objectes, ITE o IDEF1X per al modelatge d'entitats-relacions. En la notació UML, el model conceptual sovint es descriu amb un diagrama de classes en què les classes representen conceptes, les associacions representen relacions entre conceptes i els tipus de rol d'una associació representen tipus de rol que adopten les instàncies dels conceptes modelats en diverses situacions. En la notació ER, el model conceptual es descriu amb un diagrama ER en què les entitats representen conceptes, la cardinalitat i l'opcionalitat representen relacions entre conceptes. Independentment de la notació utilitzada, és important no comprometre la riquesa i la claredat del significat empresarial representat en el model conceptual expressant-lo directament en una forma influenciada per les preocupacions de disseny o implementació.[4]
Això s'utilitza sovint per definir diferents processos en una empresa o institut en particular.
Un model de domini és un sistema d'abstraccions que descriu aspectes seleccionats d'una esfera de coneixement, influència o activitat (un domini). El model es pot utilitzar per resoldre problemes relacionats amb aquest domini. El model de domini és una representació de conceptes significatius del món real pertinents al domini que cal modelar en programari. Els conceptes inclouen les dades implicades en el negoci i les regles que el negoci utilitza en relació amb aquestes dades. Un model de domini aprofita el llenguatge natural del domini.
Un model de domini generalment utilitza el vocabulari del domini, permetent així que es comuniqui una representació del model a parts interessades no tècniques. No hauria de fer referència a cap implementació tècnica com ara bases de dades o components de programari que s'estiguin dissenyant.[5]
Ús
[modifica]Un model de domini generalment s'implementa com un model d'objectes dins d'una capa que utilitza una capa de nivell inferior per a la persistència i "publica" una API a una capa de nivell superior per obtenir accés a les dades i el comportament del model.
En el Llenguatge Unificat de Modelització (UML), s'utilitza un diagrama de classes per representar el model de domini.
Referències
[modifica]- ↑ «Domain Modeling: What you need to know before coding» (en anglès). [Consulta: 28 agost 2025].
- ↑ «Domain Modeling in Object-Oriented Analysis and Design(OOAD)» (en anglès americà), 02-04-2024. [Consulta: 28 agost 2025].
- ↑ «What is a Domain Model?» (en anglès). [Consulta: 28 agost 2025].
- ↑ Fowler, Martin. «Domain Model» (en anglès). [Consulta: 28 agost 2025].
- ↑ «Domain models» (en anglès americà), 30-01-2014. [Consulta: 28 agost 2025].