Una de estas técnicas es elaborar modelos conceptuales que representan los conceptos y sus relaciones que participan en el contexto de estudio o dominio de problema. Los conceptos se entienden como las entidades de información que representan objetos físicos o lógicos del dominio de problema. Para elaborar un modelo conceptual se usa el diagrama de clases de UML en donde se deben representar sólo el nombre de las clases y sus atributos junto con las relaciones entre clases, pero no las operaciones de las clases. El RUP como metodología de desarrollo de software recomienda el uso de esta técnica y lo define como el Modelo de Dominio. Por lo tanto, un modelo de dominio es un diagrama de clases UML que no representa un diseño de software si no un modelo conceptual.
El modelo de dominio sirve para:
- Identificar y representar conceptos del dominio de problema.
- Establecer y entender las relaciones entre los conceptos.
- Identificar atributos de cada concepto.
- Representar entidades de negocio en el modelado de procesos.
- Apoyar en el análisis de los requisitos.
- Elaborar un diccionario de datos.
- Elaborar un glosario de términos.
- Evolucionar hacia un modelo de diseño y modelo de datos.
Para que el ingeniero de software pueda elaborar un modelo de dominio se necesita de la colaboración de un experto del dominio. Este experto del dominio deberá ser alguien que conoce muy bien la problemática que se está analizando o el proceso de negocio que se desea automatizar. Gracias a la colaboración del experto del dominio se podrá elaborar buenos modelos conceptuales y evolucionar hacia un adecuado modelo de diseño que finalmente concluirá con su implementación del software.
La elaboración
del modelo de dominio puede iniciar desde la primera fase del desarrollo del
proyecto y ser refinado durante la fase siguiente. En RUP se puede trabajar con
este modelo en la fase de inicio y la fase de elaboración. En sí, este modelo
debe servir de inspiración para el modelo de diseño en las primeras fases y no
se necesita que se siga actualizando o refinando en todas las fases. Cuando ya se
tenga un modelo de diseño se debe dejar de lado el modelo de dominio y seguir
evolucionado el software sólo con el modelo de diseño.
Por último, se puede aplicar el
enfoque Domain Driven Design (DDD) para el desarrollo de software de dominios
complejos y ya en la etapa de diseño e implementación definir una Arquitectura
de software basado en un patrón N-Capas con orientación al Dominio o también
llamado N-Capas DDD.
En la próxima publicación se
presentará un ejemplo de modelo de dominio.
Gracias por visitar este blog y
espero sus comentarios.
Cuando habla de un experto en el dominio, ¿Quien podría ser la persona ideal? o ¿Como identificarías a esa persona?
ResponderEliminarHola, el experto en el Dominio es aquel que conoce del proceso de negocio que se está analizando, es quien domina el tema o lo que se necesita para el Sistema que se desea desarrollar. Por lo general es un usuario del negocio, pero el de mayor conocimiento del tema o contexto de problema. Por ejemplo, si se desea desarrollar un Sistema para la Gestión de Contabilidad de un negocio, entonces el experto del dominio seguro será el Contador.
EliminarSaludos.