Saltar al contenido

¿Cuál es la diferencia entre un diagrama de clases de dominio y un diagrama de clases de diseño?

Solución:

A modelo de dominio se llama modelo conceptual en el modelado de bases de datos, mientras que modelo de diseño se llama modelo lógico.

Estas distinciones también se utilizan en el desarrollo impulsado por modelos, donde tenemos una sucesión de tres tipos de modelos:

  1. (independiente de la solución) modelos de dominio resultante de la ingeniería de dominio / requisitos en el análisis del sistema, o fase inicial de un proyecto de desarrollo;
  2. (plataforma independiente) modelos de diseño como resultado de las actividades de diseño del sistema en la fase de elaboración y, por lo general, se basa en un modelo de dominio;
  3. (específico de la plataforma) modelos de implementación, que puede ser (p. ej., JavaScript o Java EE) modelos de clase, SQL modelos de mesa u otros tipos de modelos de datos derivado de un modelo de diseño de información.

Si bien el modelado de sistemas incluye tanto el modelado de procesos como de información, parece que a usted solo le preocupa el modelado de información. Aquí, podemos usar los términos “diagrama de clases de dominio” y “diagrama de clases de diseño” para el modelo de información conceptual y el modelo de diseño de información realizado en forma de diagramas de clases UML.

Las relaciones de uno a muchos entre los modelos conceptuales y los modelos de diseño, y entre los modelos de diseño y los modelos de implementación, se ilustran en la siguiente figura:

Las relaciones de uno a muchos en el refinamiento del modelo

Teniendo en cuenta el modelado de información / clase / datos, obtenemos la siguiente imagen:

ingrese la descripción de la imagen aquí

Como ejemplo que ilustra cómo funciona la cadena de derivación desde el concepto a través del diseño hasta la implementación, considere el siguiente modelo de un concepto / clase de personas / Persona:

ingrese la descripción de la imagen aquí

Los modelos de dominio son descripciones independientes de la solución de un dominio de problema producidas en la fase de análisis de un proyecto de ingeniería de software. El término “modelo conceptual” se utiliza a menudo como sinónimo de “modelo de dominio”. Un modelo de dominio puede incluir tanto descripciones de la estructura de estado del dominio (en modelos de información conceptual) como descripciones de sus procesos (en modelos de proceso conceptual). Son independientes de la solución o “independientes de la computación”, en el sentido de que no se preocupan por tomar decisiones de diseño de sistemas ni por otros problemas computacionales. Más bien, se enfocan en la perspectiva y el lenguaje de los expertos en la materia para el dominio en consideración.

En la fase de diseño, primero se desarrolla un modelo de diseño independiente de la plataforma, como una solución computacional general al problema de ingeniería de software dado, sobre la base del modelo de dominio. El mismo modelo de dominio se puede usar potencialmente para producir varios modelos de diseño (incluso radicalmente) diferentes que representan diferentes opciones de diseño. Luego, al tomar en consideración una serie de problemas de implementación que van desde estilos arquitectónicos, criterios de calidad no funcionales que deben maximizarse (por ejemplo, rendimiento, adaptabilidad) y plataformas de tecnología objetivo, uno o más modelos de implementación específicos de la plataforma se derivan del modelo de diseño.

Consulte también los capítulos del libro de acceso abierto Modelado de información y derivación de un modelo de tabla a partir de un modelo de diseño de información.

Si su enfoque está en el diagrama En sí mismo, existen dos grandes diferencias entre los diagramas sobre el modelo de dominio y los diagramas sobre el modelo de diseño: (Al menos esto es lo que el libro de Larman Aplicación de patrones y UML dice)

  1. En los diagramas UML que representan el modelo de dominio, no puede utilizar flechas. Todas las clases están interconectadas con una línea, que significa “relación”, y debe usar anotaciones de texto sobre las líneas para ilustrar qué relación es exactamente. Mientras que en los modelos de diseño hay que utilizar flechas, todo tipo de flechas: asociación, herencia … etc.

  2. En el modelo de diseño tienes que especificar el tipo de propiedades y métodos, etc., mientras que en el modelo de dominio solo tienes que escribirlos sin nada adicional (como en el mundo real). Por ejemplo, value: int en el modelo de diseño se escribirá como value en modelo de dominio.

Referencia: Aplicación de UML y patrones 3a edición Capítulo 9 y 16.

UML NO tiene tales diagramas

Enterprise Architect tiene un modelo de dominio: consulte la wiki.

En cuanto al “diagrama de diseño de clases”, simplemente no es desconocido ni por EA, ni por VP UML, ni por el propio UML. Creo que se refiere al diagrama de clases habitual de UML.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *