SlideShare una empresa de Scribd logo
Transformaciones de Modelos en
       gvMétrica:UML2DB
      Mónica Gómez Gallego
        (gomez_mon@gva.es)
¿Donde Usarlo?
Desarrollo          Gestión de Proyectos       Desarrollo    Gestión de Proyectos




             Al inicio            Al inicio    Proceso      Seguimiento
 Fase                                                           del
               del                  del           de
 Inicial                                                      Proyecto
             proyecto             proyecto    Desarrollo
¿Donde Usarlo?
Elementos que
              intervienen
Modelo entrada
  Diagrama de Clases. (fichero.uml)

Modelo salida
  Diagrama de Base de Datos.
  (fichero.sqlschema)

Modelo de Configuración
  Modelo de configuración de la
  transformación(fichero.transformationconfiguration)
Cómo ejecutar la
       transformación                     (1/2)

 1. Desde la vista de transformaciones
 2. Sobre el modelo con menú contextual


Desde la vista de transformaciones



                           Window/Show View/MOSKittTransformation
Cómo ejecutar la
 transformación(2/2)
Desde el MOSKitt Resource Explorer utilizando el
menú contextual del modelo del diagrama de clases.
Cómo ejecutar la
    transformación(2/3)

• Lanzar la transformación
 • Introducir los parámetros
 • Validar parámetros
• Configurar la transformación
• Ejecutar la transformación
Lanzar la
         transformación
• Con el gestor de transformaciones (Asistente)
• Tiene una primera ventana donde se definen el
  modelo de entrada y de salida:




                                    Diagrama de Clases




                                   Diagrama de Base de Datos
La siguiente pantalla del asistente nos muestra las
posibles configuraciones de la transformación:
 1. Configuración por defecto.




 2. Seleccionando una configuración dada.




                                 Fichero de configuración
                                 de la transformación
3. Nueva Configuración




                                         Directorio destino para el fichero
                                         de configuración a crear

   Nombre del fichero de configuración




La siguiente pantalla es de validación de los
modelos de entrada y configuración.
¿QUE SE VALIDA?


Diagrama clases           ●

                          ●
                              extensión .uml
                              contiene al menos 1 elemento raiz

Modelo de configuración

                   ●
                     extensión .transformationconfiguration
                   ● contiene al menos un elemento raíz




En la última pantalla del asistente se muestra un
campo donde se indica el resultado de la
transformación. Si ha sido o no correcta.
Modelo configuración
                transformación                                     Regla
                                                                  (Rules)
                                                        1..*
                   1..*              1..*    Patron
          Modelo          Elemento          (Pattern)

                                                                Parametro
                                                        0..*




                                                               Regla por defecto

Elemento                                                       Regla a aplicar




 Patrón                                                        Parámetros
Regla
                                                               (Rules)
                                                       1..*
                1..*               1..*    Patron
Modelo                 Elemento           (Pattern)

                                                              Parametro
                                                       0..*




 • Todos los elementos tienen el patrón
     PersistentNomElemento
     Ejemplo: (PersistentProperty, PersistentClass.....)
     Con las reglas:
         - Persistent → el elemento va a ser transformado.
         - NotPersistent → el elemento no se va a transformar.
Parámetros:

 • Dependiendo del patrón seleccionado podrán
   aparecer parámetros para completar la
   configuración:

   • ¿un atributo es clave primaria?
   • ¿cuales serán las claves alternativas en una
     tabla? etc...)
Correspondencias de la
         transformación
       UML                  BD            Correspondencia
      Model              Database             Siempre
     Package              Schema              Siempre
      Class                Table              Siempre
     Property             Column             Depende
   Association         Reference (FK)        Depende
 Class Association    Reference+Table        Depende
   Composition       Columna +Reference      Depende
  Generalization       Reference (FK)         Siempre
     Datatype        Column/Column+FK        Depende
   Enumeration       Column/Column+FK        Depende
Property (Atributo) = Field (Campo)

Caso1: Si multiplicidad max=1 → se transforma en
           una columna dentro de la tabla.

Caso2: Si multiplicidad max>1 → se transforma
            en una nueva clase con la que se relaciona.




isUnique:

Si la propiedad isUnique=True, la propiedad se convertirá en
clave primaria de la tabla
Association (Asociación)
     ¡Ojo hablamos de los dos extremos de la asociación!
Caso1: Si multiplicidades máximas =1 ->Foreign Key



                                              ¡Ojo con la
                                          navegabilidad de la
                                              asociación!



Caso2: Si multiplicidades máximas >1 ->Tabla + Foreign Key
Caso3: En el resto de los casos el usuario elige si
 quiere que se transforme en una tabla o en una Clave
 Ajena añadiendo el patrón:
    Patrón: AssociationInto

    Reglas: Reference → Clave Ajena (por defecto)

            Table      → Tabla




Reference
Table
Composition (Composición)
Caso1: Si multiplicidades máximas =1 → Se transforma
en una clave ajena, que puede ser además primaria o
no.
    Patrón: CompositionConstraint
    Reglas: IdentityConstraint → (por defecto),clave ajena+
                                  clave primaria
            NoIdentityConstraint → clave ajena


Caso2: Si multiplicidades máximas >1

   Patron1: Composition Constraint
   Reglas: IdentityConstraint → (por defecto),clave ajena+
                                  clave primaria

            NoIdentityConstraint → clave ajena
IdentityConstraint




NoIdentityConstraint




 codigo esta definida como isUnique
Patron2: CompositionAs
Reglas: Reference → (por defecto) Clave ajena
        Table    → Tabla

                   REFERENCE




                   TABLE
Generalization (Generalización)
Para las generalizaciones se incluye un patrón en la
clase padre.
   Patron1: GeneralizationInto

   Reglas:   AllTables → (por defecto) transforma todas las
                         Clases

             OnlyChildTable → únicamente son transformadas
                              las clases hijas

             OnlyParentTable → sólo se transforma la clase
                             padre
AllTables




OnlyChildTable




OnlyParentTable
Generalization Set (Conjunto de
Generalización)
La transformación es la misma que en el caso de las
generalizaciones.

AssociationClass (Clase Asociación)
Crea una tabla por clase y en la tabla correspondiente a
la clase asociación dos claves ajenas a las tablas que
une.
Datatype
A un tipo de datos (Datatype) se le puede hacer
referencia, bien por el tipo de datos del atributo
(Property) o como una asociación entre la clase
origen   y    la  propia    clase  del  tipo    de
datos(Association).

      Property                Association
Patrón: PropertyToDataTypeAs
Reglas: Property → Columna
        ExclusiveTable → 1 tabla por atributo + Clave ajena
        Shared Table → 1! tabla + Clave ajena

Property y Association
Caso1. Si multiplicidad max. =1
      Reglas: Property → (por defecto) los atributos del
                          “Datatype” se incluyen en la clase




 Property       Association
Caso2. Si multiplicidad max. >1

              Regla: ExclusiveTable (por defecto)




Property




Association
Tanto para Caso1,Caso2

              Regla: Shared Table




Property




Association
Enumeration
Al igual que el elemento “Datatype” el enumerado se
puede definir como tipo de datos de un atributo
(Property) o como una asociacion (Association) entre la
clase y el enumerado.
     Patrón: PropertyToEnumerationAs
     Reglas: Property → Columna
             ExclusiveTable → 1 tabla por atributo + Clave
                              ajena
             Shared Table → 1! tabla + Clave ajena
Property y Association
 Caso1. Si multiplicidad max. =1
       Reglas: Property → (por defecto) los atributos del
                           “Datatype” se incluyen en la clase


 Property




Association
Caso2. Si multiplicidad max. >1
       Regla -> ExclusiveTable (por defecto),se crea
                   unatabla por cada atributo cuyo tipo de
                   datos sea el enumerado, además de una
 Property          referencia a dicha clase.




Association
Tanto para Caso1,Caso2

Regla: Shared Table
Sincronización de la
          transformación
 •   La sincronización es en el sentido UML2 a BD.
 •   La sincronización afecta a la           inserción,
     actualización y borrado de elementos.



Inserción de elementos
Cualquier elemento insertado en el modelo de clases,
se transformará en el modelo de base de datos.
Actualización de elementos
 Los elementos se actualizan según la siguiente
 tabla:

                 UML                                              BD
Package                                         Schema
  ­ modificar la propiedad name                   ­ se actualiza la propiedad name

Class (isAbstract = false)                      PersistentTable
  ­ modificar la propiedad name                   ­ se actualiza la propiedad name
  ­ modificar  isAbstract= true                   ­ eliminar PersistentTable
Class (isAbstract = true)                         ­ transformar el elemento Class
  ­ modificar la propiedad isAbstract = false     ­ genera los elementos
                                                     PersistentTable y PrimaryKey
UML                                          BD
DataType                                    PersistentTable
  ­ modificar la propiedad name             se actualiza la propiedad name
Enumeration                                 PersistentTable
  ­ modificar la propiedad name             se actualiza la propiedad name
Property (upperBound = 1)                   PersistentTable
  1.modificar la propiedad name               1.se actualiza la propiedad name
  2.modificar la propiedad upperBound > 1     2.eliminar los elementos
                                                 PersistentTable, PrimaryKey, 
                                                 ForeignKey y Column
                                                 Transformar el elemento Property
                                                  genera el elemento Column
Association (src upperBound = 1 dst         Column, ForeignKey
upperBound = 1) que relaciona dos 
elementos Class
  ­ modificar la propiedad name               ­ se actualiza la propiedad name

Association (src upperBound > 1 dst         PersistentTable, PrimaryKey
upperBound > 1) que relaciona dos 
elementos Class
  ­ modificar la propiedad name               ­ se actualiza la propiedad name
UML                                       BD
Association que relaciona dos elementos      ­ Eliminar los elementos generados a
Class                                          partir del elemento Association
  ­ modificar la cardinalidad                ­ Transformar el elemento Association
                                               siguiendo el apartado anterior
Property que referencia a un elemento        ­ Eliminar los elementos generados a
DataType                                       partir de los elementos Property y
  ­ modificar la cardinalidad                  DataType
                                             ­ Transformar los elementos Association
                                               y DataType siguiendo el apartado
                                               anterior
Property que referencia a un elemento        ­ Eliminar los elementos generados a
Enumeration                                    partir del los elementos Property y
                                               Enumeration
  ­ Modificar la cardinalidad                ­ Transformar los elementos Association
                                                y Enumeration siguiendo el apartado
                                                anterior
Association que relaciona un elemento        ­ Eliminar los elementos generados a
Class y un elemento DataType                   partir de los elementos Association y
                                               DataType
  ­ Modificar la cardinalidad                ­ Transformar los elementos Association
                                                y DataType siguiendo el apartado  
                                                anterior
UML                                     BD
Association que relaciona un elemento      ­ Eliminar los elementos generados a
Class y un elemento Enumeration              partir de los elementos Association y
                                             Enumeration
  ­ Modificar la cardinalidad            transformar los elementos Association y 
                                         Enumeration siguiendo el apartado 
                                         anterior
AssociationClass                         PersistentTable, PrimaryKey

modificar la propiedad name              actualizar la propiedad name
Borrado de elementos

                 UML                                     BD
Package                                  ­ Eliminar el elemento Schema
Class (isAbstract = false)               ­ Eliminar el elemento PersistentTable
Property (upperBound = 1)                ­ Eliminar (Column)
Property (upperBound > 1)                ­ Eliminar los elementos PersistentTable,
                                           PrimaryKey, ForeignKey y Column
Association (src upperBound = 1 dst      ­ Eliminar los elementos Column y
upperBound = 1) que relaciona dos          ForeignKey
elementos Class
Association (src upperBound > 1 dst      ­ Eliminar los elementos PersistentTable,
upperBound > 1) que relaciona dos          PrimaryKey, ForeignKey y Column
elementos Class
AssociationClass                         ­ Eliminar el elemento PersistentTable
Generalization                           ­ Eliminar los elementos Column y
                                           ForeignKey
Generalization Set
• Cuando     tenemos herencia múltiple, en
  ocasiones se pueden producir confiltos de
  colisiones de nombres y de precedencia.

• Los conflictos se minimizan haciendo grupos
  de generalizaciones, que comparten una
  misma superclase en base a un mismo criterio
  de especialización.

• Notacion:{<cobertura>,<solapamiento>}
Ejm.




             Por situación laboral
  Por sexo
Un grupo de generalización tiene dos propiedades:

 •   Cobertura(IsCovering)
       ➢ complete, cada instancia de la
         superclase es obligatoriamente
         instancia de alguna(o varias) subclases

       ➢   Incomplete, puede haber instancias de
           la superclase que no sean instancias en
           ninguna subclase

 • Solapamiento(IsDisjoint)
       ➢   Disjoint, las subclases no pueden tener
           instancias comunes
       ➢   Overlapping, las subclases pueden
           tener instancias comunes
Valor por defecto {<incomplete>,<disjoint>}
Pestaña
         Configuración
Para cada elemento del diagrama de clases, en la
pestaña de propiedades tenemos una sección de
configuración, donde se podrá seleccionar un
modelo de configuración, y donde aparecerán los
patrones asociados a dicho elemento.




                                                                  Nueva Configuración

  Botón de selección de un modelo de configuración ya existente
Si pulsamos el botón New aparece la
siguiente pantalla:

                                           Posibles transformaciones para el modelo




                                     Crea una nueva configuración.




Crea una configuración por defecto
Transformaciones de Modelos en
       gvMétrica:UML2DB
      Mónica Gómez Gallego
        (gomez_mon@gva.es)

Más contenido relacionado

Destacado

Experiencias Con Moskitt
Experiencias Con MoskittExperiencias Con Moskitt
Experiencias Con Moskitt
Begoña Bonet
 
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
Begoña Bonet
 
Soporte al Proceso de Desarrollo con MOSKitt
Soporte al Proceso de Desarrollo con MOSKittSoporte al Proceso de Desarrollo con MOSKitt
Soporte al Proceso de Desarrollo con MOSKitt
Begoña Bonet
 
Taller MOSKitt: Aplicación de DSDM con MOSKitt.
Taller MOSKitt: Aplicación de DSDM con MOSKitt.Taller MOSKitt: Aplicación de DSDM con MOSKitt.
Taller MOSKitt: Aplicación de DSDM con MOSKitt.
Begoña Bonet
 
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
Begoña Bonet
 
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
Begoña Bonet
 
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del SoftwareMOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
Javier Muñoz
 

Destacado (7)

Experiencias Con Moskitt
Experiencias Con MoskittExperiencias Con Moskitt
Experiencias Con Moskitt
 
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
MOSKitt: Soporte a una Metodología de Desarrollo Dirigido por Modelos, Basada...
 
Soporte al Proceso de Desarrollo con MOSKitt
Soporte al Proceso de Desarrollo con MOSKittSoporte al Proceso de Desarrollo con MOSKitt
Soporte al Proceso de Desarrollo con MOSKitt
 
Taller MOSKitt: Aplicación de DSDM con MOSKitt.
Taller MOSKitt: Aplicación de DSDM con MOSKitt.Taller MOSKitt: Aplicación de DSDM con MOSKitt.
Taller MOSKitt: Aplicación de DSDM con MOSKitt.
 
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
Taller MOSKitt: Cómo aplicar una Metodología de Desarrollo Dirigido por Model...
 
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
Taller MOSKitt: Ejemplo de uso del Editor de Dashboard para definir un Proces...
 
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del SoftwareMOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
 

Similar a MOSKitt: Transformaciones de modelos en gvMétrica (UML2DB)

Lenguajes de Transformación
Lenguajes de TransformaciónLenguajes de Transformación
Lenguajes de Transformación
jesus.sanchez
 
Visual basic.net
Visual basic.netVisual basic.net
Visual basic.net
Daybi Montoya
 
Zope Page Templates
Zope Page TemplatesZope Page Templates
Zope Page Templates
CodeSyntax
 
Introducción A C# (VersióN Charla)
Introducción A C# (VersióN Charla)Introducción A C# (VersióN Charla)
Introducción A C# (VersióN Charla)
Bernardo Molina Zuluaga
 
Actividad3 2 david a. condori tantani
Actividad3 2  david a. condori tantaniActividad3 2  david a. condori tantani
Actividad3 2 david a. condori tantani
Antonio Condori
 
Lenguajes para definir transformaciones
Lenguajes para definir transformacionesLenguajes para definir transformaciones
Lenguajes para definir transformaciones
Luis Alberto Perdomo
 
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datosPresentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
BryanSotalin1
 
01. Creación de parámetros.pdf
01. Creación de parámetros.pdf01. Creación de parámetros.pdf
01. Creación de parámetros.pdf
MaylinAlvaro
 
Transformar en spss
Transformar en spssTransformar en spss
Transformar en spss
Yle Quintana
 
Curso SAP BI - ADM2 Administrador de Infoobjetos.ppt
Curso SAP BI - ADM2 Administrador de Infoobjetos.pptCurso SAP BI - ADM2 Administrador de Infoobjetos.ppt
Curso SAP BI - ADM2 Administrador de Infoobjetos.ppt
ssuser9f191a
 
05. normalización
05. normalización05. normalización
05. normalización
Joseph Portocarrero Valdivia
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
Colegio Agropecuario de San Carlos
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
kevinwm17
 
Ambiente
 Ambiente Ambiente
Ambiente
infobran
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
Colegio Agropecuario de San Carlos
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
Colegio Agropecuario de San Carlos
 
clases de herramientas lorenita
clases de herramientas lorenitaclases de herramientas lorenita
clases de herramientas lorenita
Lorenita Gonzales Rivera
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
carlosquiza2
 
ATL
ATLATL
MER-MR Reglas e.pdf
MER-MR Reglas e.pdfMER-MR Reglas e.pdf
MER-MR Reglas e.pdf
sergiochirinos5
 

Similar a MOSKitt: Transformaciones de modelos en gvMétrica (UML2DB) (20)

Lenguajes de Transformación
Lenguajes de TransformaciónLenguajes de Transformación
Lenguajes de Transformación
 
Visual basic.net
Visual basic.netVisual basic.net
Visual basic.net
 
Zope Page Templates
Zope Page TemplatesZope Page Templates
Zope Page Templates
 
Introducción A C# (VersióN Charla)
Introducción A C# (VersióN Charla)Introducción A C# (VersióN Charla)
Introducción A C# (VersióN Charla)
 
Actividad3 2 david a. condori tantani
Actividad3 2  david a. condori tantaniActividad3 2  david a. condori tantani
Actividad3 2 david a. condori tantani
 
Lenguajes para definir transformaciones
Lenguajes para definir transformacionesLenguajes para definir transformaciones
Lenguajes para definir transformaciones
 
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datosPresentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
 
01. Creación de parámetros.pdf
01. Creación de parámetros.pdf01. Creación de parámetros.pdf
01. Creación de parámetros.pdf
 
Transformar en spss
Transformar en spssTransformar en spss
Transformar en spss
 
Curso SAP BI - ADM2 Administrador de Infoobjetos.ppt
Curso SAP BI - ADM2 Administrador de Infoobjetos.pptCurso SAP BI - ADM2 Administrador de Infoobjetos.ppt
Curso SAP BI - ADM2 Administrador de Infoobjetos.ppt
 
05. normalización
05. normalización05. normalización
05. normalización
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
clases de herramientas lorenita
clases de herramientas lorenitaclases de herramientas lorenita
clases de herramientas lorenita
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
ATL
ATLATL
ATL
 
MER-MR Reglas e.pdf
MER-MR Reglas e.pdfMER-MR Reglas e.pdf
MER-MR Reglas e.pdf
 

Último

SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 

Último (20)

SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 

MOSKitt: Transformaciones de modelos en gvMétrica (UML2DB)

  • 1. Transformaciones de Modelos en gvMétrica:UML2DB Mónica Gómez Gallego (gomez_mon@gva.es)
  • 2. ¿Donde Usarlo? Desarrollo Gestión de Proyectos Desarrollo Gestión de Proyectos Al inicio Al inicio Proceso Seguimiento Fase del del del de Inicial Proyecto proyecto proyecto Desarrollo
  • 4. Elementos que intervienen Modelo entrada Diagrama de Clases. (fichero.uml) Modelo salida Diagrama de Base de Datos. (fichero.sqlschema) Modelo de Configuración Modelo de configuración de la transformación(fichero.transformationconfiguration)
  • 5. Cómo ejecutar la transformación (1/2) 1. Desde la vista de transformaciones 2. Sobre el modelo con menú contextual Desde la vista de transformaciones Window/Show View/MOSKittTransformation
  • 6. Cómo ejecutar la transformación(2/2) Desde el MOSKitt Resource Explorer utilizando el menú contextual del modelo del diagrama de clases.
  • 7. Cómo ejecutar la transformación(2/3) • Lanzar la transformación • Introducir los parámetros • Validar parámetros • Configurar la transformación • Ejecutar la transformación
  • 8. Lanzar la transformación • Con el gestor de transformaciones (Asistente) • Tiene una primera ventana donde se definen el modelo de entrada y de salida: Diagrama de Clases Diagrama de Base de Datos
  • 9. La siguiente pantalla del asistente nos muestra las posibles configuraciones de la transformación: 1. Configuración por defecto. 2. Seleccionando una configuración dada. Fichero de configuración de la transformación
  • 10. 3. Nueva Configuración Directorio destino para el fichero de configuración a crear Nombre del fichero de configuración La siguiente pantalla es de validación de los modelos de entrada y configuración.
  • 11. ¿QUE SE VALIDA? Diagrama clases ● ● extensión .uml contiene al menos 1 elemento raiz Modelo de configuración ● extensión .transformationconfiguration ● contiene al menos un elemento raíz En la última pantalla del asistente se muestra un campo donde se indica el resultado de la transformación. Si ha sido o no correcta.
  • 12. Modelo configuración transformación Regla (Rules) 1..* 1..* 1..* Patron Modelo Elemento (Pattern) Parametro 0..* Regla por defecto Elemento Regla a aplicar Patrón Parámetros
  • 13. Regla (Rules) 1..* 1..* 1..* Patron Modelo Elemento (Pattern) Parametro 0..* • Todos los elementos tienen el patrón PersistentNomElemento Ejemplo: (PersistentProperty, PersistentClass.....) Con las reglas: - Persistent → el elemento va a ser transformado. - NotPersistent → el elemento no se va a transformar.
  • 14. Parámetros: • Dependiendo del patrón seleccionado podrán aparecer parámetros para completar la configuración: • ¿un atributo es clave primaria? • ¿cuales serán las claves alternativas en una tabla? etc...)
  • 15. Correspondencias de la transformación UML BD Correspondencia Model Database Siempre Package Schema Siempre Class Table Siempre Property Column Depende Association Reference (FK) Depende Class Association Reference+Table Depende Composition Columna +Reference Depende Generalization Reference (FK) Siempre Datatype Column/Column+FK Depende Enumeration Column/Column+FK Depende
  • 16. Property (Atributo) = Field (Campo) Caso1: Si multiplicidad max=1 → se transforma en una columna dentro de la tabla. Caso2: Si multiplicidad max>1 → se transforma en una nueva clase con la que se relaciona. isUnique: Si la propiedad isUnique=True, la propiedad se convertirá en clave primaria de la tabla
  • 17. Association (Asociación) ¡Ojo hablamos de los dos extremos de la asociación! Caso1: Si multiplicidades máximas =1 ->Foreign Key ¡Ojo con la navegabilidad de la asociación! Caso2: Si multiplicidades máximas >1 ->Tabla + Foreign Key
  • 18. Caso3: En el resto de los casos el usuario elige si quiere que se transforme en una tabla o en una Clave Ajena añadiendo el patrón: Patrón: AssociationInto Reglas: Reference → Clave Ajena (por defecto) Table → Tabla Reference
  • 19. Table
  • 20. Composition (Composición) Caso1: Si multiplicidades máximas =1 → Se transforma en una clave ajena, que puede ser además primaria o no. Patrón: CompositionConstraint Reglas: IdentityConstraint → (por defecto),clave ajena+ clave primaria NoIdentityConstraint → clave ajena Caso2: Si multiplicidades máximas >1 Patron1: Composition Constraint Reglas: IdentityConstraint → (por defecto),clave ajena+ clave primaria NoIdentityConstraint → clave ajena
  • 22. Patron2: CompositionAs Reglas: Reference → (por defecto) Clave ajena Table → Tabla REFERENCE TABLE
  • 23. Generalization (Generalización) Para las generalizaciones se incluye un patrón en la clase padre. Patron1: GeneralizationInto Reglas: AllTables → (por defecto) transforma todas las Clases OnlyChildTable → únicamente son transformadas las clases hijas OnlyParentTable → sólo se transforma la clase padre
  • 25. Generalization Set (Conjunto de Generalización) La transformación es la misma que en el caso de las generalizaciones. AssociationClass (Clase Asociación) Crea una tabla por clase y en la tabla correspondiente a la clase asociación dos claves ajenas a las tablas que une.
  • 26. Datatype A un tipo de datos (Datatype) se le puede hacer referencia, bien por el tipo de datos del atributo (Property) o como una asociación entre la clase origen y la propia clase del tipo de datos(Association). Property Association
  • 27. Patrón: PropertyToDataTypeAs Reglas: Property → Columna ExclusiveTable → 1 tabla por atributo + Clave ajena Shared Table → 1! tabla + Clave ajena Property y Association Caso1. Si multiplicidad max. =1 Reglas: Property → (por defecto) los atributos del “Datatype” se incluyen en la clase Property Association
  • 28. Caso2. Si multiplicidad max. >1 Regla: ExclusiveTable (por defecto) Property Association
  • 29. Tanto para Caso1,Caso2 Regla: Shared Table Property Association
  • 30. Enumeration Al igual que el elemento “Datatype” el enumerado se puede definir como tipo de datos de un atributo (Property) o como una asociacion (Association) entre la clase y el enumerado. Patrón: PropertyToEnumerationAs Reglas: Property → Columna ExclusiveTable → 1 tabla por atributo + Clave ajena Shared Table → 1! tabla + Clave ajena
  • 31. Property y Association Caso1. Si multiplicidad max. =1 Reglas: Property → (por defecto) los atributos del “Datatype” se incluyen en la clase Property Association
  • 32. Caso2. Si multiplicidad max. >1 Regla -> ExclusiveTable (por defecto),se crea unatabla por cada atributo cuyo tipo de datos sea el enumerado, además de una Property referencia a dicha clase. Association
  • 34. Sincronización de la transformación • La sincronización es en el sentido UML2 a BD. • La sincronización afecta a la inserción, actualización y borrado de elementos. Inserción de elementos Cualquier elemento insertado en el modelo de clases, se transformará en el modelo de base de datos.
  • 35. Actualización de elementos Los elementos se actualizan según la siguiente tabla: UML BD Package Schema   ­ modificar la propiedad name   ­ se actualiza la propiedad name Class (isAbstract = false) PersistentTable   ­ modificar la propiedad name   ­ se actualiza la propiedad name   ­ modificar  isAbstract= true   ­ eliminar PersistentTable Class (isAbstract = true)   ­ transformar el elemento Class   ­ modificar la propiedad isAbstract = false   ­ genera los elementos      PersistentTable y PrimaryKey
  • 36. UML BD DataType PersistentTable   ­ modificar la propiedad name se actualiza la propiedad name Enumeration PersistentTable   ­ modificar la propiedad name se actualiza la propiedad name Property (upperBound = 1) PersistentTable   1.modificar la propiedad name   1.se actualiza la propiedad name   2.modificar la propiedad upperBound > 1   2.eliminar los elementos      PersistentTable, PrimaryKey,       ForeignKey y Column      Transformar el elemento Property       genera el elemento Column Association (src upperBound = 1 dst  Column, ForeignKey upperBound = 1) que relaciona dos  elementos Class   ­ modificar la propiedad name   ­ se actualiza la propiedad name Association (src upperBound > 1 dst  PersistentTable, PrimaryKey upperBound > 1) que relaciona dos  elementos Class   ­ modificar la propiedad name   ­ se actualiza la propiedad name
  • 37. UML BD Association que relaciona dos elementos    ­ Eliminar los elementos generados a Class     partir del elemento Association   ­ modificar la cardinalidad   ­ Transformar el elemento Association     siguiendo el apartado anterior Property que referencia a un elemento    ­ Eliminar los elementos generados a DataType     partir de los elementos Property y   ­ modificar la cardinalidad     DataType   ­ Transformar los elementos Association     y DataType siguiendo el apartado     anterior Property que referencia a un elemento    ­ Eliminar los elementos generados a Enumeration     partir del los elementos Property y     Enumeration   ­ Modificar la cardinalidad   ­ Transformar los elementos Association      y Enumeration siguiendo el apartado      anterior Association que relaciona un elemento    ­ Eliminar los elementos generados a Class y un elemento DataType     partir de los elementos Association y     DataType   ­ Modificar la cardinalidad   ­ Transformar los elementos Association      y DataType siguiendo el apartado        anterior
  • 38. UML BD Association que relaciona un elemento    ­ Eliminar los elementos generados a Class y un elemento Enumeration     partir de los elementos Association y     Enumeration   ­ Modificar la cardinalidad transformar los elementos Association y  Enumeration siguiendo el apartado  anterior AssociationClass PersistentTable, PrimaryKey modificar la propiedad name actualizar la propiedad name
  • 39. Borrado de elementos UML BD Package   ­ Eliminar el elemento Schema Class (isAbstract = false)   ­ Eliminar el elemento PersistentTable Property (upperBound = 1)   ­ Eliminar (Column) Property (upperBound > 1)   ­ Eliminar los elementos PersistentTable,     PrimaryKey, ForeignKey y Column Association (src upperBound = 1 dst    ­ Eliminar los elementos Column y upperBound = 1) que relaciona dos      ForeignKey elementos Class Association (src upperBound > 1 dst    ­ Eliminar los elementos PersistentTable, upperBound > 1) que relaciona dos      PrimaryKey, ForeignKey y Column elementos Class AssociationClass   ­ Eliminar el elemento PersistentTable Generalization   ­ Eliminar los elementos Column y     ForeignKey
  • 40. Generalization Set • Cuando tenemos herencia múltiple, en ocasiones se pueden producir confiltos de colisiones de nombres y de precedencia. • Los conflictos se minimizan haciendo grupos de generalizaciones, que comparten una misma superclase en base a un mismo criterio de especialización. • Notacion:{<cobertura>,<solapamiento>}
  • 41. Ejm. Por situación laboral Por sexo
  • 42. Un grupo de generalización tiene dos propiedades: • Cobertura(IsCovering) ➢ complete, cada instancia de la superclase es obligatoriamente instancia de alguna(o varias) subclases ➢ Incomplete, puede haber instancias de la superclase que no sean instancias en ninguna subclase • Solapamiento(IsDisjoint) ➢ Disjoint, las subclases no pueden tener instancias comunes ➢ Overlapping, las subclases pueden tener instancias comunes Valor por defecto {<incomplete>,<disjoint>}
  • 43. Pestaña Configuración Para cada elemento del diagrama de clases, en la pestaña de propiedades tenemos una sección de configuración, donde se podrá seleccionar un modelo de configuración, y donde aparecerán los patrones asociados a dicho elemento. Nueva Configuración Botón de selección de un modelo de configuración ya existente
  • 44. Si pulsamos el botón New aparece la siguiente pantalla: Posibles transformaciones para el modelo Crea una nueva configuración. Crea una configuración por defecto
  • 45. Transformaciones de Modelos en gvMétrica:UML2DB Mónica Gómez Gallego (gomez_mon@gva.es)