Pregunta

¿Cuál es la diferencia entre un modelo de dominio y un modelo de datos?

¿Fue útil?

Solución

Un modelo de datos es un diseño modelo que sólo describe los datos y es relaciones. El modelo contiene entidades, sino que se describen en términos de lo que datos que no poseen la forma en que actúan en estos datos o cuáles son sus responsabilidades.

Un modelo de dominio en el otro lado, es un modelo conceptual utilizado en el análisis de un dominio de problema. En él se describe el dominio en términos de entidades que tienen relaciones, datos y comportamiento. En él se describen las responsabilidades de esas entidades tan relevantes para la comprensión del dominio del problema.

Por cierto una introducción excelente y muy corto para UML es:

UML Distilled: Una breve guía para el objeto estándar Lenguaje de Modelado

Otros consejos

datos modelo se centra en la definición del esquema DB, incluyendo tablas, columnas y relaciones.

de dominio modelo se centra en el dominio del negocio, incluyendo conceptos (clases de objetos), comportamiento (métodos / lógica), y relaciones.

En ambos casos, la cardinalidad se utiliza para las relaciones (por ejemplo, 1: 1, 1: Muchos, 0: Muchos, ...).

Dicho esto, lo ideal sería que al igual que el modelo de datos y modelo de dominio que están estrechamente relacionados, es decir, una persona con nombre, ... y un MailingAddress, ... se refiere a una mesa de persona con una columna de nombre y un FK una entrada de tabla MAILING_ADDR. Usted tiene que decidir donde se aloja la lógica -. De los objetos en el vs. sistema de software en la base de datos a través de los procedimientos, disparadores, y tal

creo que el modelo de dominio y modelo de datos son ahora más o menos lo mismo con el nuevo arriba hacia abajo tecnologías de modelado. Quiero decir que se puede modelar en un diagrama de clases y sólo añadir los estereotipos de bases de datos en el diagrama. Si se utiliza la herramienta que utilizo entonces su anotación ejb3 se sincroniza inmediatamente con su código. El siguiente paso es sólo para utilizar un asignador para crear su base de datos. Esta tecnología sólo funciona con Java

Creo que es importante proporcionar un poco de claridad aquí para la posteridad.

modelo de datos es un diseño de la forma de la estructura y representar la información. Por estructura, me refiero a preocupaciones como "quinta forma normal". Por la representación, me refiero a la elección de una serialización del equipo, como número entero, punto flotante, o una cadena.

El término modelo de dominio en realidad tiene dos significados confunden.

  • Un modelo de características esenciales de las cosas reales o imaginarios en el mundo . En este tipo de modelo, clases representan conceptualizaciones humanas e instancias son las cosas en el mundo. Por ejemplo, una clase "Persona" tendría casos incluidos usted y yo, y una característica esencial podría ser que cada persona tiene una madre. Este tipo de modelo se llama a menudo un ontología conceptual o concepto de modelo y tiene como objetivo proporcionar significado.
  • Un modelo de información requerida sobre las cosas en el mundo, por lo general con algún sistema en cuenta . En este tipo de modelo, clases representan la información que se debe almacenar sobre cosas en el mundo. Por ejemplo, una clase "Persona" tendría casos que representan información requerida sobre usted y yo, como el nombre, apellido, fecha de nacimiento, altura actual, y el peso actual. Esta información a menudo hace no incluir todas las características esenciales, tales como nuestras madres, ya que, a los efectos de un sistema en particular, no se requiere esa información. Este tipo de modelo se llama a menudo un modelo de información , conceptuales datos modelo o ontología operativa .

Tanto el UML y lenguajes OWL se puede utilizar para representar cualquier clase de modelo de dominio. Ambos pueden ser considerados Análisis modelos, ya que se utilizan para analizar un dominio. Uno se utiliza para entender las cosas en un dominio, el otro se utiliza para reunir los requisitos para construir un software o sistema de base de datos para las cosas de un dominio. Ambos son necesarios, y, por desgracia, por lo general se confunden de tal manera que la gente que construye un modelo de análisis están confundidos acerca de lo que están modelando!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top