Herencia en modelamiento de datos

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Diseño de experiencia > Temas avanzados >

Herencia en modelamiento de datos

Introducción

Una de las funcionalidades claves de Bizagi es la manera como el Portal de Trabajo habilita a los trabajadores del conocimiento con todos aquellos elementos que necesitan para tomar decisiones informadas, mientras se provee flexibilidad y apoyo a los procesos que son vistos como no estructurados, debido a su poca previsibilidad o dinamismo.

Para obtener información detallada acerca de estas funcionalidades y su concepto en general, por favor refiérase a Diseño de experiencia.

 

Dentro de las características que aprovechan las posibilidades para los trabajadores del conocimiento, Bizagi introduce la herencia en el modelo de datos.

 

¿Qué es herencia?

De forma similar al concepto de programación orientada a objetos (conceptos generales o específicos de bases de datos), la herencia permite desglosar las definiciones de sus objetos, de tal manera que los pueda ver como "conjuntos".

Para objetos de tipo entidad, usted podrá definir una entidad base (es decir, súper-clase) desde la cual otras entidades se van a derivar (es decir, sub-clase).

Derivar implica que dichas nuevas entidades automáticamente van a heredar las propiedades de la entidad base, de manera que también estén disponibles para extender dichas propiedades.

 

Algunos ejemplos clásicos para este concepto son:

Todos los siguientes elementos: carro, bote, avión y tren representan medios de transporte. Aunque el concepto de transporte aplica a todos los elementos anteriormente mencionados (heredan el concepto de transporte), cada uno tiene sus propias diferencias.

Los pájaros, mamíferos, reptiles, y peces son todos animales. De manera similar, las características generales de los animales son heredadas para todos éstos.

 

Además, usted podrá definir un modelo de herencia en cascada, mientras tiene una base de entidades que se derivan desde otras entidades.

 

Volviendo al ejemplo de cómo funciona la Sala de Urgencias en un Hospital, el médico (Stakeholder) podrá solicitar distintos exámenes para un paciente mientras lo diagnostica.

Examen es una entidad base, desde la cual varios tipos de exámenes específicos se derivan, como: prueba de sangre, un electrocardiograma, un examen rayos X, pruebas de embarazo, etc.

Todos los exámenes (Prueba de sangre, Electrocardiograma, o Pruebas rayos-X) tienen diferencias significativas y específicas, propias de cada uno, pero, todos son exámenes.

 

 

Inheritance_00

 

¿Cuáles son las ventajas que provee Bizagi?

Cuando esté diseñando su Modelo de Datos, en relación a las entidades de Stakeholder o cualquier entidad maestra, (no aplica para entidades virtualizadas), podrá apoyarse en el concepto de herencia para optimizar la manera cómo define los atributos de su Modelo de Datos de manera que provea un mejor mantenimiento.

Esto significa que usted  tendrá que mantener o modificar en menor proporción cuando se realicen adiciones o cambios en estas entidades, debido a que las entidades derivadas comparten un conjunto de acciones y atributos definidos por la entidad base.

La mayor ventaja para usar un modelo basado en herencia en Bizagi es la habilitación de polimorfismo, con un nuevo control que le permite maximizar la flexibilidad y la adaptabilidad a nuevas entidades.

El concepto de polimorfismo y su control especial, están descritos en las siguientes secciones.

 

Definir herencia

Con el objetivo de definir el concepto de herencia, diríjase a la Vista de experto y haga clic en Entidades.

Tieniendo una entidad base definida (por ejemplo, un examen), cree y localice una entidad de la cual se derive, y haga clic derecho para seleccionar Propiedades avanzadas.

 

Inheritance_01

 

Diríjase a la pestaña de Herencia, y seleccione la entidad base desde la cual se extiende la entidad actual.

En este caso la entidad Laboratorio se extiende desde la entidad Exámenes disponibles.

 

Inheritance_02

 

Haga clic en Ok para guardar los cambios.

 

Verificar la configuración

Con el objetivo de verificar que una entidad es configurada para extender desde otra entidad, usted podrá utilizar una de las siguientes opciones:

 

Navegue a través de los atributos de la entidad.

Los atributos heredados de una entidad base se mostrarán en modo sólo lectura.

Esto significa que si necesita cambiar su definición, tendrá que hacerlo en la entidad base.

 

Inheritance_03

 

Use la opción Mostrar herencia

Haga clic derecho en la entidad y seleccione esta opción para observar un diagrama que ilustra la herencia.

 

Inheritance_04

 

En este punto se muestra el modelo de herencia completo, incluyendo acciones o atributos involucrados.

 

Los atributos y las acciones que son mostrados en color gris han sido heredados de entidades bases (en este ejemplo, la prueba de sangre se extiende desde Laboratorio, que a su vez, se extiende desde Exámenes disponibles).

 

Inheritance_05

 

En la pestaña Hijos podrá ver todas las entidades que se extienden desde la que ha sido seleccionada (en este ejemplo, la lista de entidades mostrada en la pestaña se extiende desde Laboratorio).

 

Inheritance_15

 

Polimorfismo y el potencial de herencia durante su ejecución

El Polimorfismo (también presente en el concepto de programación orientada a objetos) representa varias formas.

Con base en la definición de herencia, en la cual muchas entidades específicas re utilizan una definición (derivada desde una entidad base), el polimorfismo implica que Bizagi sabe cómo manejar y crear nuevos registros en dichas entidades que han sido derivadas.

Un control nuevo y especial, llamado Lanzador Polimórfico será capaz de crear nuevas instancias en cualquier entidad derivada, partiendo solamente desde la definición de la entidad base.

El potencial de este control durante la ejecución, es que cuando usted necesite añadir un nuevo tipo de entidad derivada,  Bizagi interpretará automáticamente todas aquellas posibilidades sin necesidad de realizar una solicitud de cambio en sus formas, promoviendo agilidad en la implementación mediante el ofrecimiento de mayor flexibilidad y adaptabilidad.

Para información detallada acerca de este concepto, refiérase a Polimorfismo y constructores.

Los iconos de los exámenes han sido tomados desde http://dapinographics.com/projects/medical-icon-set/.