¿Realmente entiendes el modelo de dominio?
Escuela teórica
El modelo de dominio es un modelo de negocio especial que analiza toda la industria y abstrae el negocio con * * * y regularidades inherentes a la industria. abstracto. Es un concepto que no pertenece al desarrollo de software y no tiene nada que ver con el desarrollo de software.
Escuela práctica
El modelo de dominio es un modelo de análisis que se utiliza para analizar cómo cumplir con los requisitos funcionales del sistema durante la fase de análisis del proceso de desarrollo de software. Pertenece a la categoría de desarrollo de software y los diagramas de clases se utilizan principalmente para describir el modelo de dominio en UML.
El modelo de negocio es el resultado del modelado de negocio. El objeto de investigación del modelado de negocios es una empresa u organización, y el modelado de negocios pertenece a la etapa inicial del desarrollo de software.
Proceso de desarrollo de software: modelado de negocio, requisitos, análisis y diseño.
En el proceso de desarrollo de software, los modelos de dominio con los que entramos en contacto pertenecen a la escuela práctica.
Escuela teórica
El modelo de dominio es un modelo de negocio especial, sus funciones son:
Escuela práctica
El papel del modelo de dominio:
El papel del modelo de negocio:
Escuela teórica
El modelo de dominio es un modelo de negocio especial, por lo que tiene todas las características del modelo de negocio. pero es más Los modelos de negocio son más abstractos y generales.
Escuela Práctica
En el proceso de desarrollo de software, el modelo de negocio se genera en la etapa de modelado de negocio y el modelo de dominio se genera en la etapa de análisis.
El modelo de negocio es el producto de la comprensión del personal de requisitos del sistema sobre el negocio de la empresa cliente. La siguiente etapa de requisitos utilizará el modelo de negocio como entrada para obtener los requisitos del sistema.
El modelo de dominio es el producto del análisis del analista de sistemas sobre cómo cumplir con los requisitos funcionales del sistema. La siguiente fase del diseño tomará el modelo de dominio como entrada.
La "Escuela Práctica" dio un ejemplo:
Cuando recibimos un proyecto, necesitamos construir un sistema de reservas de hotel. En primer lugar, es necesario establecer un modelo de negocio para comprender el negocio relacionado con la gestión hotelera de la empresa cliente, y luego se generará un modelo de negocio. Además del vínculo comercial de reserva de hotel, el modelo de negocio en este momento también incluye otros vínculos comerciales al mismo nivel que la reserva de hotel.
A continuación, céntrese en las reservas de hoteles y mejore el proceso existente para obtener las necesidades del sistema de reservas de hoteles, es decir, los casos de uso del sistema y las especificaciones de demanda.
A continuación, analizando los casos de uso del sistema y las especificaciones de demanda, analizamos cómo cumplir con los requisitos funcionales del sistema de gestión hotelera para obtener el modelo de dominio.
Los modelos de dominio de la "escuela teórica" y la "escuela práctica" pertenecen a dos categorías. Si no se distinguen claramente, definitivamente conducirá a confusión en la comprensión.
También existe un "modelo de dominio", denominado "diseño impulsado por dominio" de Eric Evans, es decir, "diseño impulsado por dominio". DDD es un método de modelado orientado a objetos que se utiliza para el análisis y diseño integral de sistemas de software, por lo que es necesario distinguir claramente entre estos dos modelos de dominio. Conceptos como modelo de pérdida de sangre, modelo de anemia y modelo de congestión pertenecen al "modelo de dominio" en la categoría DDD.
1. Las cuestiones centrales son diferentes.
Como se mencionó anteriormente, el modelo de dominio es un modelo de análisis utilizado para analizar negocios. Los problemas centrales que deben resolverse en proyectos reales son:
El "modelo de dominio" es un. análisis integral y Los problemas centrales a resolver en el modelo de diseño son:
En el proceso de desarrollo de software tradicional, el análisis (análisis de requisitos del sistema) y el diseño (diseño del sistema) se dividen en dos etapas, que corresponden a "analistas de sistemas" respectivamente y el título "Diseñador de sistemas".
El resultado de esta separación es que el "diseñador del sistema" sólo puede codificar después de realizar un diseño del sistema basado en los resultados del análisis de requisitos. La información se perderá o distorsionará en el medio y los requisitos comerciales cambiarán en el proceso real (posiblemente). debido a razones ambientales externas), la idea DDD propuesta por Eric Evans es resolver este problema.
2. Diferentes campos
El modelo de dominio es un modelo de análisis de negocio que analiza el negocio en el campo central de acuerdo con los requisitos funcionales del sistema. Los sistemas de software son solo una forma de implementar negocios, no parte del negocio (excepto para las empresas que brindan servicios IaaS) y no considerarán problemas en el campo de TI del diseño de sistemas.
El "modelo de dominio" es un modelo de análisis y diseño integral. Cuando se trata de diseño de sistemas, se deben considerar los límites del sistema, por lo que el campo de análisis y diseño de este modelo es integral. campo empresarial y campo de TI.
Tomemos como ejemplo el sistema de reservas de hoteles. Su descripción empresarial es la siguiente.
Lo anterior involucra dos objetos: usuarios y miembros.
Al realizar un análisis empresarial, es posible que sea necesario considerar el "usuario" del primer párrafo, que puede ser el significado comercial de turistas y consultores.
Si se va a considerar el diseño del sistema, el "usuario" del primer párrafo puede ignorarse, es decir, no estar dentro de los límites del sistema.
3. Diferentes etapas de uso y ubicaciones.
El modelo de dominio es un modelo de análisis para analizar negocios, utilizado principalmente por analistas de sistemas en la fase de análisis de proyectos reales.
El "modelo de dominio" de DDD es un modelo de análisis y diseño integral que abarca las dos etapas de análisis y diseño en proyectos reales. El puesto requiere las capacidades integrales de "analista de sistemas" y "diseñador de sistemas".
4. El contenido es diferente
El contenido principal del modelo de dominio:
El contenido principal del "modelo de dominio":
El modelo de dominio se divide en Para la escuela teórica y la escuela práctica. La escuela teórica pertenece a la categoría empresarial y no pertenece a la categoría de desarrollo de software. El proceso de desarrollo de software debe ignorar las escuelas teóricas y evitar confusiones entre sí.
La escuela práctica cree que el modelo de dominio es un modelo analítico que se utiliza para analizar y comprender problemas complejos de dominio empresarial. Específicamente, en el proceso de desarrollo de software, la fase de análisis consiste en analizar cómo cumplir con los requisitos funcionales del sistema.
Al mismo tiempo, en el campo del desarrollo de software, también existe un "modelo de dominio" de DDD. Este es un modelo que integra análisis y diseño integrales. Se centra en la conexión entre el diseño del sistema y. análisis y diseños de la demanda. El sistema tiene buena coherencia con los requisitos y es más escalable a cambios razonables en la demanda.