SlideShare une entreprise Scribd logo
1  sur  93
Télécharger pour lire hors ligne
M O SKitt: El M odeling
    Software Kitt
 H erramienta de M odelado UM L y
Soporte a la Ingeniería del Software
       Jav ie r M u ñ o z, B e go ñ a B o n e t
     jmunoz@prodevelop.es, bonet_beg@gva.es
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Antecedentes
•   gvPontis: Migración a Software Libre (2003-2008)

•   gvMétrica: Metodología de Desarrollo (2004-2006)
          ➢
              Plantillas -> Documentos
          ➢
              ¿Herramientas?


                                ✔
                                  Proceso
                                ✔
                                  Roles
                                ✔
                                  Técnicas
                                ✔
                                  M étodos
                                ✔
                                  Recursos E/S
                                ✔
                                  H erramientas
Antecedentes
•   ¿Qué Técnicas/Lenguajes?
    -   UML y BD
•   ¿Qué Métodos para aplicar estas técnicas?
•   ¿Qué Herramientas?
    -   CASE tradicional como PowerDesigner (insuficiente)
•   ¿Cómo adaptar los métodos a las herramientas?
    -   Uso de perfiles, Guías metodológicas (pesado de
        documentar y dificultades para transmitir todo el proceso)


                            Necesidad:
             Herramienta (libre) de soporte a gvMétrica
                     para el personal de la CIT
Motivación
-       Económica: Alto coste de las licencias de PowerDesigner (Sybase).

-       Imposibilidad de reutilizar el conocimiento obtenido con MaPA en los
        análisis posteriores con PowerDesigner.

-       Carencias a la hora de dar soporte a gvMétrica para:

    •      Construir los modelos propuestos en la Metodología.

    •      Automatizar la generación de los productos de salida propuestos por
           gvMétrica (modelos y documentos)

    •      Potenciar el trabajo colaborativo: Homogeneizar el modo de trabajo,
           compartir modelos, documentos y recursos en general entre TODO el
           equipo de desarrollo.

    •      Soportar diferentes roles en el equipo de desarrollo.

    •      Intercambiar información de unas herramientas de la CIT a otras,
           para trabajar de un modo homogéo.
Solución: Proyecto gvCASE
  •       Proyecto gvPontis
           Proyecto de CIT para migrar a Software Libre


  •       Estudio del ecosistema de herramientas
          CASE libres:
           Abril 2006
           No se encontrar una herramienta que soportara la mayoría de los
            requisitos


  •       Decisión: Nueva herramienta CASE libre
           La Universidad Politécnica de Valencia propone Eclipse como
            plataforma base
           Proyecto gvCASE: Abril 2007
Objetivo del Proyecto

           Crear una herramienta libre de
           Crear una herramienta libre de
          soporte al método de desarrollo
          soporte al método de desarrollo
               de software gvMétrica
               de software gvMétrica




•       Método de desarrollo de software
         Es la aplicación de la Ingeniería al Desarrollo de Software
         Utiliza Técnicas de Modelado (planos del software)
         Establece unos Pasos para utilizar las técnicas
Beneficios Esperados
-       Abaratamiento de costes

-       Estandarización del trabajo

-       Reutilización del conocimiento

-       Reducción de documentación de análisis/diseño
        poco útil

-       Automatización del Proceso de Desarrollo de
        Software
    •     Incremento de la Calidad del Software

    •     Mejora de la productividad del equipo.
Objetivo: Herramienta
•   Solución adoptada: PROYECTO gvCASE (2007)
    -       Desarrollo Propio en Software Libre -> MOSKitt
    -       Asesoramiento de la U.P.V

•   ¿Qué Enfóque Técnico? → Desarrollo Dirigido por Modelos
    -       Modelos
        •      Estándares: UML2, BPMN ....
        •      Propios: DSL's
    -       Transformaciones
        •      Modelo a Modelo (M2M)
        •      Modelo a Texto (M2T)


•   ¿Qué Enfoque Tecnológico?: Eclipse
    -       Eclipe Modeling Project (EMP) : EMF, GEF, GMF...
    -       UML2 etc...
¿Qué NO es MOSKitt?
•       No es un dibujador (como Visio o Dia)
         Aunque hace dibujos/diagramas



•       No es un entorno de desarrollo
         Aunque está basado en Eclipse



•       No es sólo un editor de UML2
         Aunque tiene un editor UML2


•       No es mágico, ni tecnología alienígena
         Aunque puede usarse para generar automáticamente aplicaciones
          software
Estrategia de Desarrollo
•       Desarrollo por versiones: 1 versión x 4 meses:

    -          3 meses de desarrollo + 1 mes de pruebas

•       Situación Actual (Febrero 2010):

    -          Última Versión Publicada: 1.1.1 (Febrero 2010)

    -          Próxima versión a Publicar 1.3.0 (Mayo 2010)

    -          Iniciados nuevos contratos:


           •       Generación de Código a gvHidra (php) y gvNix (Java)
                                                                                     2.0.0
           •       Desarrollo de un Sketcher para facilitar la definición de IU's.

                             Publicación de versiones (0.3.0 a 1.1.1) en:
                                      http://www.moskitt.org

    4/2007          9/2007          5/2008                   7/2009   5/201 0        3/201 1

                    0.1.0             0.5.0                  1.0.0    1.3.0          2.0.0
Enfoque de Desarrollo
        Enfoque de           Invocación de otras
 •      desarrollo           herram ientas
 •      Arquitectura de
        plugins de Eclipse




  Plataforma LIB RE
 para la constucción
   de herramientas
C A SE con soporte al
proceso de desarrollo
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
¿Qué es DSDM?
•       Desarrollo de Software Dirigido por Modelos
         No es@s modelos




•       Conceptos Similares
         Model Driven Engineering
         Model Driven Architecture
         Generative Programming




                                           h t t p ://w w w .flic k r .c o m /p h o t o s/903 49 43 5 @ N 00/3 37 44 2 75 08 /
                                          h t t p ://w w w .flic k r .c o m /p h o t o s/9 03 4 94 35 @ N 00/3 3 73 6 1 3 1 2 5/
¿Por qué DSDM?
•       Hacer Software es Complejo
         El problema que se debe solucionar ES complejo




  El cliente habla con                          El desarrollador utiliza
conceptos del problema                        conceptos de la tecnología
¿Por qué DSDM?
•       Mismo problema → Misma Solución
         No inventarse cada vez una solución
¿Por qué DSDM?
•       Ejemplo patrón
            Aplicaciones Gestión Información
            Problema: Propiedad de una Entidad
            Solución:

         ➢      Añadir columna en BBDD

         ➢      Añadir widget en interfaz de usuario

         ➢      Añadir comprobaciones de tipo

         ➢      Añadir columna en selects, inserts y updates
¿Por qué DSDM?

•       La solución
         Describir problema utilizando conceptos del problema
         Aplicar automáticamente lo patrones de solución




•       Evitar
         El usuario explica el problema
         El programador intenta entender el problema
         Mentalmente, resolver el problema con la tecnología
         Copiar, pegar y adaptar una solución que se aplicó anteriormente
¿Cómo aplicar DSDM?
1. Definir lenguaje para el dominio
     Nuevo lenguaje de dominio específico (DSL)
     Extender lenguaje de propósito general (UML con perfiles)

2. Identificar patrones
     ¿Cómo implementar cada problema?

3. Implementar generadores
     A partir de descripciones del problema, aplican los
      patrones y producen soluciones (código fuente)
¡¡DSDM no es la panacea!!
   
       Analizar costes                           :
                          (inversión vs beneficio)




                           VS
   Crear lenguaje +                                  Programación
 Identificar patrones +                               Copy&Paste
Implementar generador




   
       ¿Aplicación singular o repetible?
   
       ¿Personal formado?
   
       ¿Modelar y generar 100%?
¿MOSKitt para DSDM?

        MOSKitt + Eclipse Modeling Project

        Infraestructura para desarrollar:
    
          Editores Gráficos
    
          Editores Formularios
    
          Generadores de Código
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Editor UML2
•       Modelado UML2

          D. Clases
          D. Secuencia
          D. Estados
          D. Actividad
          D: Casos Uso
          D. Perfiles

•       Aplicación
        Perfiles

•       Multidiagrama
Modelado de
                     Base de Datos
•       Modelado DB

          Tablas
          Vistas
          Usarios
          Roles
          Grupos
•       Generación DDL

          MySQL
          PostgreSQL
          Oracle
•       Ingeniería
        Inversa
Modelado de
              Procesos (BPMN)
•       Modelado BPMN

         Procedimientos
         Tareas y flujos
          de documentos
         Multidiagrama


•       Modelo
        Documentos

         Familias de
          documentos
         Plantillas
Modelado de
             Interfaz de Usuario
•       Modelado Interfaz
        Usuario

          Vistas del Sistema
          Unidades de
           Interacción
          Navegación
          Opciones Presentación
          Patrones
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Gestor de
                Transformaciones
•       Registro Transformaciones

          Visualización
          Organización
          Priorización
          Ejecución Transformaciones
          Solicitud parámetros
          Resultados validación y ejecución
Exploradores de
                      Modelos
•       Exploración de modelos

          Sincronización con los
           editores gráficos
          Filtrados por diagramas
          Agrupación por tipo


•       Edición de modelos

          Drag&Drop a los editores
           gráficos
          Duplicación de elementos
          Manipulación diagramas
          Gestión de elementos
           (creación, eliminación, etc.)
Extensiones Funcionalidad
        Editores Gráficos
•   Soporte completo al
    Copy&Paste

•   Integración de editores

•   Soporte al multi-diagrama

•   Filtrado de elementos por tipo

•   Canvas mutantes

•   Mejoras de eficiencia (cacheo)

•   Mejor gestión de colores y
    estilos
Editores de Formularios
     para Modelos
•       Soporte edición modelos Ecore

          Cargar/Salvar modelos
•       Edición de Propiedaes                                                         EMFEObjectComposite

                                                                                                  EMFPropertyStringComposite

          Tipos Básicos (string, boolean,
           enumerados, etc.)                                                              EMFPropertyEReferenceComposite


          Colecciones                       EMFContainedCollectionEditionComposite



          Referencias
          ➢   univaluadas
          ➢   multivaluadas
•       Gestión Maestro/Detalle
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Soporte al método
       M aPA                                    Invocación de otras
                                                herramientas


            Intérprete de Procesos (Dashboard Interpreter)

     Modelo                     Modelos             Modelo
    Procesos                                        BBDD                  DB        Editor de
                             Análisis/Diseño
    (BPMN)                                         Relacional         PostgreSQL     Procesos
                                 UML2
                                                                                   (Dashboard
                                                                                      Editor)
➔
  Editores G ráficos                                                    DB         Métodos
  T ransform aciones              Código                               Oracle
                                                                                      +
➔

                                 Prototipo            DDL
➔
  Ingeniería Inversa                                                                Ayuda
➔
  Im portación de m odelos                         PostgreSQL
                                                                        DB
                                                       DDL             MySQL
                                                      Oracle
      Modelo                     Modelo
     WBS (GP)                Interfaz Usuario         DDL
                                                     MySQL
Soporte al método
                                        Cheatsheets




Definición y Ejecución
Tareas de Desarrollo     Transformaciones
                            de Modelos

                          UML               BD


                  BPMN      UML
Modelado de Métodos de
     Desarrollo de Software
•       Modelado Métodos

         Tareas
         Recursos
         Dependencias
         Acciones
         Visualización estado
          desarrollo
Definición de un Proceso


Elementos del lenguaje:

•       Tareas

•       Dependencias entre tareas: ¡Dependencias de Recursos!

•       Recursos E/S, Referencias a Recursos -> Recursos Físicos (Ficheros)

•       Acciones:
    -      abrir Editor, lanzar Transformación, invocar aplicación externa.
    -      Acceso al resto de la documentación...
Ejecución de un Proceso



                                         (2)
                                                                   (3)
(1)
                     (1)
• Enlazar Recursos

• Editar Recursos




                                                                (3) Abrir Cheatsheet (Guías)
                           (2) Abrir Editores (graf. Y form.)       Abrir Ayuda
Ejecución de un Proceso



•   Cada Proyecto tiene su propio Proceso en ejecución (su
    estado)
•   Abrir, Editar recursos y referencias a recursos
•   Enlazar/Desenlazar Recursos del Dashboard de Rec.Físicos
•   Abrir las Guías de ayuda
•   Invocar a los Editores (gráficos, formularios...)
•   Lanzar Transformaciones etc...
Ejecución de un Proceso
  Estados de los Recursos
                            Est ad o s:

                            -     Pe n d ie n t e

                            -     Em p e zad o
       N otT oD o           -     T e r m in ad o

                            -     M o d ific ad o
                                  una vez
                                  t e r m in ad o

                            -     N o h ay q u e
                                  h ac e r lo
Ejecución de un Proceso
                        Est ad o s:
Estados de las Tareas   -     Pe n d ie n t e
                        -     Em p e zad a
                        -     T e r m in ad a
                        -     M o d ific ad o
                              algú n r e c u r so
                              un a vez
                              t e r m in ad a
                        -     En Esp e r a d e
                              q u e algu n a
                              d e p e n d e n c ia
                              p r e v ia se
                              r e su e lv a
                        -     N o h ay q u e
                              h ac e r la
Ejecución de un Proceso
Estados de las Dependencias




Est ad o s:
-       L im p ia: T o d o s lo s R e c u r so s d e las t ar e as d e p e n d ie n t e s e st án
        t e r m in ad o s
-       Su c ia: H ay r e c u r so s d e las t ar e as d e p e n d ie n t e s q u e aú n n o se
        h an c o m p le t ad o .
-       D e sin c r o n izad a: H ay r e c u r so s m o d ific ad o s e n la t ar e a
        d e p e n d ie n t e .
-       A la Esp e r a d e q u e se fin alize n lo s r e c u r so s d e las t ar e as
        d e p e n d ie n t e s.
Ejecución de un Proceso
Control del Estado de los Proyectos
 •   Análisis está Terminado     y   sus   recursos   completos
     (“Terminado”).
 •   La Dependencia que tiene Diseño de Análisis está Resuelta
     (el recurso está “Limpio”).
 •   Vamos a ejecutar la tarea de Diseño (“Por hacer”)
Ejecución de un Proceso
Iteraciones y Subdiagramas




                             Soporte a:
                             [*] Iteraciones
                             Subdiagramas
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
¿Por qué extender MOSKitt?

  •       Cada organización es diferente
         Cultura interna

         Experiencia e historia

         Objetivos y expectativas



  •       Todas las organizaciones cambian
         Nuevas responsabilidades y objetivos

         Mejora continua



                                                 h t t p ://w w w .sx c .h u /p h o t o /98441 8
¿C ómo adaptar M O SK itt a
 cada contexto específico?




                          h t t p ://w w w .flick r .c o m /p h o t o s/8 3 4 7 68 7 3 @ N 00/1 1 099 3 8 7 7/
¿Cómo adaptar?
•       Añadiendo herramientas
           Nuevos editores

           Nuevas transformaciones



•       Modificando herramientas
           Cambiar código + recompilar → ramificar

        ➢      Difícil de mantener y evolucionar :(

           Mecanismos de extensiones dinámicas

        ➢      Implementar y declarar nueva funcionalidad

        ➢      El código existente debe estar preparado

        ➢      Las herramientas permanecen intactas
                                                            h t t p ://w w w .sx c .h u /p h o t o /1 1 52 1 2 7
Puntos de extensión
            Plugin B




            Plugin C

 Plugin       .
Anfitrión     .
              .


            Plugin Z
Puntos de Extensión
¿Qué adaptar?
El Método

    Contenidos del método        
                                     Cheatsheets

    Asistentes de creación       
                                     Ayuda contextual



Los Editores

    Plantillas de modelos    
                                     Propiedades extendidas

    Paleta de elementos
                             
                                     Decoradores gráficos



Las Transformaciones

    Sobrescribir transformaciones

    Sincronización
Contenidos del Método
•   Cambiar los pasos del método
Contenidos del Método
•   Cambiar los pasos del método
Asistentes de Creación
•   Acciones específicas al crear el proyecto
Asistentes de Creación
Cheatsheets

•   ¿Qué es un cheatsheet?
    1. Define instrucciones paso a paso
       para realizar una tarea
    2. Los pasos pueden tener
       instrucciones y ejecutar acciones
    3. Algunos pasos pueden omitirse
Cheatsheets
•   ¿Cómo utilizar cheatsheets?:


    1. Crearlo con el editor
    de Eclipse
Cheatsheets
2. Definirlo mediante un punto de extensión
Cheatsheet
3.a )Añadir la acción 'OpenCheatsheetAction'
a una tarea del dashboard:




3.b ) Seleccionar el cheatsheet en la pestaña
de propiedades:
Ayuda Contextual
•   Los editores gráficos y de formularios de MOSKitt
    muestran     ayuda   dependiendo    del  elemento
    seleccionado

•   Plugins externos pueden contribuir ayuda




                                                           C o n e x t u al h e lp sh o w in g h e lp c o n t e n t s fo r t h e
      FEFEM e d it o r w it h e le m e n t se le c t e d                         se le c t e d e le m e n t
Ayuda Contextual
•   Como contribuir ayuda contextual a
    MOSKitt:
    1. Crear el contenido de la ayuda:
Ayuda Contextual
2. Contribuir el archivo de ayuda mediante el
   punto de extensión 'org.eclipse.help.contexts'.
Plantillas de Modelos
•   Contenido inicial de los modelos
Plantillas de Modelos
•   Contenido inicial de los modelos
Personalización de la paleta
• grupos y botones ende
   Cambiar el nombre
                      la
 paleta.

• aMover botones de un grupo
    otro.

• botones de la paleta. y
   Crear y eliminar grupo




                               Pale t a
                               p e r so n alizad a

    Pale t a o r igin al
Personalización de la paleta
 1. Definir la personalización en el
 punto           de         extensión
 'es.cv.gvcase.mdt.common.editorPalet
 te' extension point
Personalización de la paleta
•       Elemento 'Group'
        añadir un nuevo grupo
        cambiar el nombre de un grupo
        eliminar un grupo
Personalización de la paleta
•       Elemento 'Tool'
         cambiar nombre de un botón
         mover un botón entre grupos
         eliminar un botón
Propiedades extendidas
•   Añadir nuevas propiedades a entidades existentes

•   Editar las nuevas propiedades en la pestaña de
    propiedades

•   Mantener la compatibilidad con la versión sin extender
Propiedades extendidas
1. Definir la propiedad con el punto de extensión
   'es.cv.gvcase.mdt.common.featureExtender'
Propiedades extendidas
2. Definir
         Tipo de la propiedad:
      ➢      Integer
      ➢      Double
      ➢      Boolean
      ➢      String
      ➢      Reference
         Multiplicidad mínima
         Multiplicidad máxima
Propiedades extendidas
3. Definir
     La entidad que necesita ser extendida (AdaptTo):
     Los valores válidos ('AvailableValue')
Propiedades extendidas
4. Implementar y definir la sección en la pestaña
   de propiedades:




       Double Properties


                                 Collection Properties




     String Properties




                                 References Properties

     Integer Properties
Decoradores gráficos
•   Proporcionar decoraciones a las figuras en los editores
    gráficos (GMF)

•   Contribuir decoraciones desde plugins externos

•   Usar iconos e imágenes para decorar figuras




            A normal Class          A decorated Class
Decoradores gráficos
Sobrescribir transformaciones
 •   Definir prioridades de mayor prioridad
Sobrescribir transformaciones
 •   Definir prioridades de mayor prioridad
Sincronización
•   Acciones específicas al cambiar modelos trazados

                                 Trazas entre
                                  “X.uml” y
                                “Y.sqlschema”


               1.- al cambiar              2.- actualizar
                 la entrada               modelos trazados
Sincronización
•   Acciones específicas al cambiar modelos trazados
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Integrantes del Proyecto
 Universidad          Admon.         Empresa
                      Pública




 • Conocimiento   • Liderazgo      • Desarrollo
 • Difusión       • Requisitos     • Proyección
 • Aplicación     • Financiación   • Conocimiento
El Equipo del Proyecto
•   2 Jefes de Proyecto (CIT y adjudicatario)

•   2 Directores de Proyecto (CIT y adjudicatario)

•   9 – 11 Desarrolladores:
    -   CIT, adjudicatario y empresas colaboradoras.
    -   Perfiles: Analista, Analista/Programador, Programador
        Junior/Senior, Diseñador, Arquitecto Software, Probadores.


•   15 Probadores:
    -   CIT (Analistas/Usuarios finales)


•   5 Asesores Técnicos y Científicos de la U.P.V.
Algunos datos:
•       Accesos Web (durante Marzo 2010)
          2471 visitas (de 1864 visitantes)
          91.94 GB software descargados


•       Métricas de Ohlo
        (https://www.ohloh.net/p/moskitt)
          1,565,358 líneas de código
          443 personas/año
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Contenido
•   Motivación del proyecto e historia

•   Desarrollo de Software Dirigido por Modelos

•   Herramientas de Análisis y Diseño

•   Tecnologías para Construcción de Herramientas

•   Soporte a la Ejecución de Métodos de Desarrollo

•   Extensibilidad y Adaptaciones de MOSKitt

•   La Comunidad del Proyecto MOSKitt

•   Futuro del Proyecto
Trabajos futuros
•   Consolidar el uso de la herramienta: Plan de Formación, testing....

•   Potenciar la colaboración con otras organizaciones.

•   Potenciar su facilidad de uso: especialmente para la definición de las Interfaces
    de Usuario

•   Generación Automática de Código para plataformas específicas en la CIT: Java y
    PHP

•   Mejora del Módulo de Soporte al Proceso (beca I+D+i).

•   Incluir nuevas transformaciones, nuevos editores gráficos y formularios para cubrir
    al máximo las necesidades que desde gvMétrica se vayan planteando

•   Incluir un Modulo de Especificación de Requisitos

•   Incluir un Repositorio de Modelos para soportar: trabajo en grupo, control de acceso
    y manejo de versiones

•   Soporte a la Gestión de los Proyectos y el Trabajo Colaborativo.
Creative Commons
            Attribution-Noncommercial-Share Alike 3.0
                            Unported

•        You are free:
           to share — to copy, distribute and transmit the work
           to Remix — to adapt the work



•        Under the following conditions:
           Attribution — You must attribute the work in the manner specified by the
            author or licensor (but not in any way that suggests that they endorse you or
            your use of the work).
           Noncommercial — You may not use this work for commercial purposes.
           Share Alike — If you alter, transform, or build upon this work, you may
            distribute the resulting work only under the same or similar license to this
            one


    h t t p ://c r e at iv e c o m m o n s.o r g/lic e n se s/b y -n c -sa/3.0/

Contenu connexe

Tendances

Ingen de software
Ingen de softwareIngen de software
Ingen de softwareerikapoh
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
Ha2 nm50 eq4-teamfoundationserver
Ha2 nm50 eq4-teamfoundationserverHa2 nm50 eq4-teamfoundationserver
Ha2 nm50 eq4-teamfoundationserverLuis Pérez
 
U1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareU1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareLuis Eduardo Pelaez Valencia
 
Introducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelosIntroducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelosVicente García Díaz
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPJose Diaz Silva
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareDomingo Gallardo
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoSantiago Moha
 
Introducción a la computación
Introducción a la computaciónIntroducción a la computación
Introducción a la computaciónYaskelly Yedra
 
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Applied Computing Group
 

Tendances (17)

Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Unidad 3 elaboracion de un proyecto (4.1)
Unidad  3   elaboracion de un proyecto (4.1)Unidad  3   elaboracion de un proyecto (4.1)
Unidad 3 elaboracion de un proyecto (4.1)
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
Ha2 nm50 eq4-teamfoundationserver
Ha2 nm50 eq4-teamfoundationserverHa2 nm50 eq4-teamfoundationserver
Ha2 nm50 eq4-teamfoundationserver
 
Silabo 6to aplicacionesweb
Silabo 6to aplicacioneswebSilabo 6to aplicacionesweb
Silabo 6to aplicacionesweb
 
U1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareU1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del Software
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
Introducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelosIntroducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelos
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
PSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESOPSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESO
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
Unidad 3 elaboracion de un proyecto (3)
Unidad  3   elaboracion de un proyecto (3)Unidad  3   elaboracion de un proyecto (3)
Unidad 3 elaboracion de un proyecto (3)
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemático
 
Introducción a la computación
Introducción a la computaciónIntroducción a la computación
Introducción a la computación
 
Software
SoftwareSoftware
Software
 
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
 

En vedette

Modernización de la Administración con Intalio BPM
Modernización de la Administración con Intalio BPMModernización de la Administración con Intalio BPM
Modernización de la Administración con Intalio BPMAlfonso Bataller
 
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdlMike Marin
 
2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introductionMike Marin
 
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014OpenExpoES
 
Business ProcessManagement BPM: 4, 5, 6_y_7
Business ProcessManagement BPM: 4, 5, 6_y_7Business ProcessManagement BPM: 4, 5, 6_y_7
Business ProcessManagement BPM: 4, 5, 6_y_7Jonathan
 
GUIA BASICA PARA DOCUMENTAR
GUIA BASICA PARA DOCUMENTARGUIA BASICA PARA DOCUMENTAR
GUIA BASICA PARA DOCUMENTAREdison Dominguez
 
Webinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteWebinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteatSistemas
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Fundamentos de bpm gestion de procesos de negocio control y mejora
Fundamentos de bpm   gestion  de procesos de negocio control y mejoraFundamentos de bpm   gestion  de procesos de negocio control y mejora
Fundamentos de bpm gestion de procesos de negocio control y mejoraMeinzul ND
 
Conceptos gestión por procesos
Conceptos gestión por procesosConceptos gestión por procesos
Conceptos gestión por procesosJuan Larrota
 
gestión de procesos industriales
gestión de procesos industriales gestión de procesos industriales
gestión de procesos industriales Lili Borbor
 
Bpmn y el uso de software libre para modelado de procesos
Bpmn y el uso de software libre para modelado de procesosBpmn y el uso de software libre para modelado de procesos
Bpmn y el uso de software libre para modelado de procesosJose Fernando Sandoval Llanos
 

En vedette (15)

Modernización de la Administración con Intalio BPM
Modernización de la Administración con Intalio BPMModernización de la Administración con Intalio BPM
Modernización de la Administración con Intalio BPM
 
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl
2007 11-09 mm (costa rica - incae cit omg - spanish) modelando con bpmn y xpdl
 
2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction
 
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014
BPM Business Process Management - José Ramón Pais #OpenExpoDay 2014
 
Business ProcessManagement BPM: 4, 5, 6_y_7
Business ProcessManagement BPM: 4, 5, 6_y_7Business ProcessManagement BPM: 4, 5, 6_y_7
Business ProcessManagement BPM: 4, 5, 6_y_7
 
GUIA BASICA PARA DOCUMENTAR
GUIA BASICA PARA DOCUMENTARGUIA BASICA PARA DOCUMENTAR
GUIA BASICA PARA DOCUMENTAR
 
Webinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteWebinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA Suite
 
Modelos concurrentes
Modelos concurrentesModelos concurrentes
Modelos concurrentes
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Fundamentos de bpm gestion de procesos de negocio control y mejora
Fundamentos de bpm   gestion  de procesos de negocio control y mejoraFundamentos de bpm   gestion  de procesos de negocio control y mejora
Fundamentos de bpm gestion de procesos de negocio control y mejora
 
Conceptos gestión por procesos
Conceptos gestión por procesosConceptos gestión por procesos
Conceptos gestión por procesos
 
Calidad De Servicio
Calidad De ServicioCalidad De Servicio
Calidad De Servicio
 
gestión de procesos industriales
gestión de procesos industriales gestión de procesos industriales
gestión de procesos industriales
 
Oracle SOA Suite
Oracle SOA SuiteOracle SOA Suite
Oracle SOA Suite
 
Bpmn y el uso de software libre para modelado de procesos
Bpmn y el uso de software libre para modelado de procesosBpmn y el uso de software libre para modelado de procesos
Bpmn y el uso de software libre para modelado de procesos
 

Similaire à MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software

Presentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxPresentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxAderMogollonLuna
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUPAngelDX
 
Herramientas Case Resumido
Herramientas Case ResumidoHerramientas Case Resumido
Herramientas Case Resumidomemo
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16Ramon
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaresamantha
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECmrojas_unitec
 
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
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptMarko Zapata
 

Similaire à MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software (20)

Presentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxPresentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptx
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Softagile
SoftagileSoftagile
Softagile
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
Herramientas Case Resumido
Herramientas Case ResumidoHerramientas Case Resumido
Herramientas Case Resumido
 
MOSKitt en la CIT: Alea jacta est
MOSKitt en la CIT: Alea jacta estMOSKitt en la CIT: Alea jacta est
MOSKitt en la CIT: Alea jacta est
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Desarrollo y diseño de software
Desarrollo y diseño de softwareDesarrollo y diseño de software
Desarrollo y diseño de software
 
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...
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
case
casecase
case
 

Dernier

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Dernier (15)

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software

  • 1. M O SKitt: El M odeling Software Kitt H erramienta de M odelado UM L y Soporte a la Ingeniería del Software Jav ie r M u ñ o z, B e go ñ a B o n e t jmunoz@prodevelop.es, bonet_beg@gva.es
  • 2. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 3. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 4. Antecedentes • gvPontis: Migración a Software Libre (2003-2008) • gvMétrica: Metodología de Desarrollo (2004-2006) ➢ Plantillas -> Documentos ➢ ¿Herramientas? ✔ Proceso ✔ Roles ✔ Técnicas ✔ M étodos ✔ Recursos E/S ✔ H erramientas
  • 5. Antecedentes • ¿Qué Técnicas/Lenguajes? - UML y BD • ¿Qué Métodos para aplicar estas técnicas? • ¿Qué Herramientas? - CASE tradicional como PowerDesigner (insuficiente) • ¿Cómo adaptar los métodos a las herramientas? - Uso de perfiles, Guías metodológicas (pesado de documentar y dificultades para transmitir todo el proceso) Necesidad: Herramienta (libre) de soporte a gvMétrica para el personal de la CIT
  • 6. Motivación - Económica: Alto coste de las licencias de PowerDesigner (Sybase). - Imposibilidad de reutilizar el conocimiento obtenido con MaPA en los análisis posteriores con PowerDesigner. - Carencias a la hora de dar soporte a gvMétrica para: • Construir los modelos propuestos en la Metodología. • Automatizar la generación de los productos de salida propuestos por gvMétrica (modelos y documentos) • Potenciar el trabajo colaborativo: Homogeneizar el modo de trabajo, compartir modelos, documentos y recursos en general entre TODO el equipo de desarrollo. • Soportar diferentes roles en el equipo de desarrollo. • Intercambiar información de unas herramientas de la CIT a otras, para trabajar de un modo homogéo.
  • 7. Solución: Proyecto gvCASE • Proyecto gvPontis  Proyecto de CIT para migrar a Software Libre • Estudio del ecosistema de herramientas CASE libres:  Abril 2006  No se encontrar una herramienta que soportara la mayoría de los requisitos • Decisión: Nueva herramienta CASE libre  La Universidad Politécnica de Valencia propone Eclipse como plataforma base  Proyecto gvCASE: Abril 2007
  • 8. Objetivo del Proyecto Crear una herramienta libre de Crear una herramienta libre de soporte al método de desarrollo soporte al método de desarrollo de software gvMétrica de software gvMétrica • Método de desarrollo de software  Es la aplicación de la Ingeniería al Desarrollo de Software  Utiliza Técnicas de Modelado (planos del software)  Establece unos Pasos para utilizar las técnicas
  • 9. Beneficios Esperados - Abaratamiento de costes - Estandarización del trabajo - Reutilización del conocimiento - Reducción de documentación de análisis/diseño poco útil - Automatización del Proceso de Desarrollo de Software • Incremento de la Calidad del Software • Mejora de la productividad del equipo.
  • 10. Objetivo: Herramienta • Solución adoptada: PROYECTO gvCASE (2007) - Desarrollo Propio en Software Libre -> MOSKitt - Asesoramiento de la U.P.V • ¿Qué Enfóque Técnico? → Desarrollo Dirigido por Modelos - Modelos • Estándares: UML2, BPMN .... • Propios: DSL's - Transformaciones • Modelo a Modelo (M2M) • Modelo a Texto (M2T) • ¿Qué Enfoque Tecnológico?: Eclipse - Eclipe Modeling Project (EMP) : EMF, GEF, GMF... - UML2 etc...
  • 11. ¿Qué NO es MOSKitt? • No es un dibujador (como Visio o Dia)  Aunque hace dibujos/diagramas • No es un entorno de desarrollo  Aunque está basado en Eclipse • No es sólo un editor de UML2  Aunque tiene un editor UML2 • No es mágico, ni tecnología alienígena  Aunque puede usarse para generar automáticamente aplicaciones software
  • 12. Estrategia de Desarrollo • Desarrollo por versiones: 1 versión x 4 meses: - 3 meses de desarrollo + 1 mes de pruebas • Situación Actual (Febrero 2010): - Última Versión Publicada: 1.1.1 (Febrero 2010) - Próxima versión a Publicar 1.3.0 (Mayo 2010) - Iniciados nuevos contratos: • Generación de Código a gvHidra (php) y gvNix (Java) 2.0.0 • Desarrollo de un Sketcher para facilitar la definición de IU's. Publicación de versiones (0.3.0 a 1.1.1) en: http://www.moskitt.org 4/2007 9/2007 5/2008 7/2009 5/201 0 3/201 1 0.1.0 0.5.0 1.0.0 1.3.0 2.0.0
  • 13. Enfoque de Desarrollo Enfoque de Invocación de otras • desarrollo herram ientas • Arquitectura de plugins de Eclipse Plataforma LIB RE para la constucción de herramientas C A SE con soporte al proceso de desarrollo
  • 14. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 15. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 16. ¿Qué es DSDM? • Desarrollo de Software Dirigido por Modelos  No es@s modelos • Conceptos Similares  Model Driven Engineering  Model Driven Architecture  Generative Programming h t t p ://w w w .flic k r .c o m /p h o t o s/903 49 43 5 @ N 00/3 37 44 2 75 08 / h t t p ://w w w .flic k r .c o m /p h o t o s/9 03 4 94 35 @ N 00/3 3 73 6 1 3 1 2 5/
  • 17. ¿Por qué DSDM? • Hacer Software es Complejo  El problema que se debe solucionar ES complejo El cliente habla con El desarrollador utiliza conceptos del problema conceptos de la tecnología
  • 18. ¿Por qué DSDM? • Mismo problema → Misma Solución  No inventarse cada vez una solución
  • 19. ¿Por qué DSDM? • Ejemplo patrón  Aplicaciones Gestión Información  Problema: Propiedad de una Entidad  Solución: ➢ Añadir columna en BBDD ➢ Añadir widget en interfaz de usuario ➢ Añadir comprobaciones de tipo ➢ Añadir columna en selects, inserts y updates
  • 20. ¿Por qué DSDM? • La solución  Describir problema utilizando conceptos del problema  Aplicar automáticamente lo patrones de solución • Evitar  El usuario explica el problema  El programador intenta entender el problema  Mentalmente, resolver el problema con la tecnología  Copiar, pegar y adaptar una solución que se aplicó anteriormente
  • 21. ¿Cómo aplicar DSDM? 1. Definir lenguaje para el dominio  Nuevo lenguaje de dominio específico (DSL)  Extender lenguaje de propósito general (UML con perfiles) 2. Identificar patrones  ¿Cómo implementar cada problema? 3. Implementar generadores  A partir de descripciones del problema, aplican los patrones y producen soluciones (código fuente)
  • 22. ¡¡DSDM no es la panacea!!  Analizar costes : (inversión vs beneficio) VS Crear lenguaje + Programación Identificar patrones + Copy&Paste Implementar generador  ¿Aplicación singular o repetible?  ¿Personal formado?  ¿Modelar y generar 100%?
  • 23. ¿MOSKitt para DSDM?  MOSKitt + Eclipse Modeling Project  Infraestructura para desarrollar:  Editores Gráficos  Editores Formularios  Generadores de Código
  • 24. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 25. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 26. Editor UML2 • Modelado UML2  D. Clases  D. Secuencia  D. Estados  D. Actividad  D: Casos Uso  D. Perfiles • Aplicación Perfiles • Multidiagrama
  • 27. Modelado de Base de Datos • Modelado DB  Tablas  Vistas  Usarios  Roles  Grupos • Generación DDL  MySQL  PostgreSQL  Oracle • Ingeniería Inversa
  • 28. Modelado de Procesos (BPMN) • Modelado BPMN  Procedimientos  Tareas y flujos de documentos  Multidiagrama • Modelo Documentos  Familias de documentos  Plantillas
  • 29. Modelado de Interfaz de Usuario • Modelado Interfaz Usuario  Vistas del Sistema  Unidades de Interacción  Navegación  Opciones Presentación  Patrones
  • 30. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 31. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 32. Gestor de Transformaciones • Registro Transformaciones  Visualización  Organización  Priorización  Ejecución Transformaciones  Solicitud parámetros  Resultados validación y ejecución
  • 33. Exploradores de Modelos • Exploración de modelos  Sincronización con los editores gráficos  Filtrados por diagramas  Agrupación por tipo • Edición de modelos  Drag&Drop a los editores gráficos  Duplicación de elementos  Manipulación diagramas  Gestión de elementos (creación, eliminación, etc.)
  • 34. Extensiones Funcionalidad Editores Gráficos • Soporte completo al Copy&Paste • Integración de editores • Soporte al multi-diagrama • Filtrado de elementos por tipo • Canvas mutantes • Mejoras de eficiencia (cacheo) • Mejor gestión de colores y estilos
  • 35. Editores de Formularios para Modelos • Soporte edición modelos Ecore  Cargar/Salvar modelos • Edición de Propiedaes EMFEObjectComposite EMFPropertyStringComposite  Tipos Básicos (string, boolean, enumerados, etc.) EMFPropertyEReferenceComposite  Colecciones EMFContainedCollectionEditionComposite  Referencias ➢ univaluadas ➢ multivaluadas • Gestión Maestro/Detalle
  • 36. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 37. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 38. Soporte al método M aPA Invocación de otras herramientas Intérprete de Procesos (Dashboard Interpreter) Modelo Modelos Modelo Procesos BBDD DB Editor de Análisis/Diseño (BPMN) Relacional PostgreSQL Procesos UML2 (Dashboard Editor) ➔ Editores G ráficos DB Métodos T ransform aciones Código Oracle + ➔ Prototipo DDL ➔ Ingeniería Inversa Ayuda ➔ Im portación de m odelos PostgreSQL DB DDL MySQL Oracle Modelo Modelo WBS (GP) Interfaz Usuario DDL MySQL
  • 39. Soporte al método Cheatsheets Definición y Ejecución Tareas de Desarrollo Transformaciones de Modelos UML BD BPMN UML
  • 40. Modelado de Métodos de Desarrollo de Software • Modelado Métodos  Tareas  Recursos  Dependencias  Acciones  Visualización estado desarrollo
  • 41. Definición de un Proceso Elementos del lenguaje: • Tareas • Dependencias entre tareas: ¡Dependencias de Recursos! • Recursos E/S, Referencias a Recursos -> Recursos Físicos (Ficheros) • Acciones: - abrir Editor, lanzar Transformación, invocar aplicación externa. - Acceso al resto de la documentación...
  • 42. Ejecución de un Proceso (2) (3) (1) (1) • Enlazar Recursos • Editar Recursos (3) Abrir Cheatsheet (Guías) (2) Abrir Editores (graf. Y form.) Abrir Ayuda
  • 43. Ejecución de un Proceso • Cada Proyecto tiene su propio Proceso en ejecución (su estado) • Abrir, Editar recursos y referencias a recursos • Enlazar/Desenlazar Recursos del Dashboard de Rec.Físicos • Abrir las Guías de ayuda • Invocar a los Editores (gráficos, formularios...) • Lanzar Transformaciones etc...
  • 44. Ejecución de un Proceso Estados de los Recursos Est ad o s: - Pe n d ie n t e - Em p e zad o N otT oD o - T e r m in ad o - M o d ific ad o una vez t e r m in ad o - N o h ay q u e h ac e r lo
  • 45. Ejecución de un Proceso Est ad o s: Estados de las Tareas - Pe n d ie n t e - Em p e zad a - T e r m in ad a - M o d ific ad o algú n r e c u r so un a vez t e r m in ad a - En Esp e r a d e q u e algu n a d e p e n d e n c ia p r e v ia se r e su e lv a - N o h ay q u e h ac e r la
  • 46. Ejecución de un Proceso Estados de las Dependencias Est ad o s: - L im p ia: T o d o s lo s R e c u r so s d e las t ar e as d e p e n d ie n t e s e st án t e r m in ad o s - Su c ia: H ay r e c u r so s d e las t ar e as d e p e n d ie n t e s q u e aú n n o se h an c o m p le t ad o . - D e sin c r o n izad a: H ay r e c u r so s m o d ific ad o s e n la t ar e a d e p e n d ie n t e . - A la Esp e r a d e q u e se fin alize n lo s r e c u r so s d e las t ar e as d e p e n d ie n t e s.
  • 47. Ejecución de un Proceso Control del Estado de los Proyectos • Análisis está Terminado y sus recursos completos (“Terminado”). • La Dependencia que tiene Diseño de Análisis está Resuelta (el recurso está “Limpio”). • Vamos a ejecutar la tarea de Diseño (“Por hacer”)
  • 48. Ejecución de un Proceso Iteraciones y Subdiagramas Soporte a: [*] Iteraciones Subdiagramas
  • 49. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 50. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 51. ¿Por qué extender MOSKitt? • Cada organización es diferente  Cultura interna  Experiencia e historia  Objetivos y expectativas • Todas las organizaciones cambian  Nuevas responsabilidades y objetivos  Mejora continua h t t p ://w w w .sx c .h u /p h o t o /98441 8
  • 52. ¿C ómo adaptar M O SK itt a cada contexto específico? h t t p ://w w w .flick r .c o m /p h o t o s/8 3 4 7 68 7 3 @ N 00/1 1 099 3 8 7 7/
  • 53. ¿Cómo adaptar? • Añadiendo herramientas  Nuevos editores  Nuevas transformaciones • Modificando herramientas  Cambiar código + recompilar → ramificar ➢ Difícil de mantener y evolucionar :(  Mecanismos de extensiones dinámicas ➢ Implementar y declarar nueva funcionalidad ➢ El código existente debe estar preparado ➢ Las herramientas permanecen intactas h t t p ://w w w .sx c .h u /p h o t o /1 1 52 1 2 7
  • 54. Puntos de extensión Plugin B Plugin C Plugin . Anfitrión . . Plugin Z
  • 56. ¿Qué adaptar? El Método  Contenidos del método  Cheatsheets  Asistentes de creación  Ayuda contextual Los Editores  Plantillas de modelos  Propiedades extendidas  Paleta de elementos  Decoradores gráficos Las Transformaciones  Sobrescribir transformaciones  Sincronización
  • 57. Contenidos del Método • Cambiar los pasos del método
  • 58. Contenidos del Método • Cambiar los pasos del método
  • 59. Asistentes de Creación • Acciones específicas al crear el proyecto
  • 61. Cheatsheets • ¿Qué es un cheatsheet? 1. Define instrucciones paso a paso para realizar una tarea 2. Los pasos pueden tener instrucciones y ejecutar acciones 3. Algunos pasos pueden omitirse
  • 62. Cheatsheets • ¿Cómo utilizar cheatsheets?: 1. Crearlo con el editor de Eclipse
  • 63. Cheatsheets 2. Definirlo mediante un punto de extensión
  • 64. Cheatsheet 3.a )Añadir la acción 'OpenCheatsheetAction' a una tarea del dashboard: 3.b ) Seleccionar el cheatsheet en la pestaña de propiedades:
  • 65. Ayuda Contextual • Los editores gráficos y de formularios de MOSKitt muestran ayuda dependiendo del elemento seleccionado • Plugins externos pueden contribuir ayuda C o n e x t u al h e lp sh o w in g h e lp c o n t e n t s fo r t h e FEFEM e d it o r w it h e le m e n t se le c t e d se le c t e d e le m e n t
  • 66. Ayuda Contextual • Como contribuir ayuda contextual a MOSKitt: 1. Crear el contenido de la ayuda:
  • 67. Ayuda Contextual 2. Contribuir el archivo de ayuda mediante el punto de extensión 'org.eclipse.help.contexts'.
  • 68. Plantillas de Modelos • Contenido inicial de los modelos
  • 69. Plantillas de Modelos • Contenido inicial de los modelos
  • 70. Personalización de la paleta • grupos y botones ende Cambiar el nombre la paleta. • aMover botones de un grupo otro. • botones de la paleta. y Crear y eliminar grupo Pale t a p e r so n alizad a Pale t a o r igin al
  • 71. Personalización de la paleta 1. Definir la personalización en el punto de extensión 'es.cv.gvcase.mdt.common.editorPalet te' extension point
  • 72. Personalización de la paleta • Elemento 'Group'  añadir un nuevo grupo  cambiar el nombre de un grupo  eliminar un grupo
  • 73. Personalización de la paleta • Elemento 'Tool'  cambiar nombre de un botón  mover un botón entre grupos  eliminar un botón
  • 74. Propiedades extendidas • Añadir nuevas propiedades a entidades existentes • Editar las nuevas propiedades en la pestaña de propiedades • Mantener la compatibilidad con la versión sin extender
  • 75. Propiedades extendidas 1. Definir la propiedad con el punto de extensión 'es.cv.gvcase.mdt.common.featureExtender'
  • 76. Propiedades extendidas 2. Definir  Tipo de la propiedad: ➢ Integer ➢ Double ➢ Boolean ➢ String ➢ Reference  Multiplicidad mínima  Multiplicidad máxima
  • 77. Propiedades extendidas 3. Definir  La entidad que necesita ser extendida (AdaptTo):  Los valores válidos ('AvailableValue')
  • 78. Propiedades extendidas 4. Implementar y definir la sección en la pestaña de propiedades: Double Properties Collection Properties String Properties References Properties Integer Properties
  • 79. Decoradores gráficos • Proporcionar decoraciones a las figuras en los editores gráficos (GMF) • Contribuir decoraciones desde plugins externos • Usar iconos e imágenes para decorar figuras A normal Class A decorated Class
  • 81. Sobrescribir transformaciones • Definir prioridades de mayor prioridad
  • 82. Sobrescribir transformaciones • Definir prioridades de mayor prioridad
  • 83. Sincronización • Acciones específicas al cambiar modelos trazados Trazas entre “X.uml” y “Y.sqlschema” 1.- al cambiar 2.- actualizar la entrada modelos trazados
  • 84. Sincronización • Acciones específicas al cambiar modelos trazados
  • 85. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 86. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 87. Integrantes del Proyecto Universidad Admon. Empresa Pública • Conocimiento • Liderazgo • Desarrollo • Difusión • Requisitos • Proyección • Aplicación • Financiación • Conocimiento
  • 88. El Equipo del Proyecto • 2 Jefes de Proyecto (CIT y adjudicatario) • 2 Directores de Proyecto (CIT y adjudicatario) • 9 – 11 Desarrolladores: - CIT, adjudicatario y empresas colaboradoras. - Perfiles: Analista, Analista/Programador, Programador Junior/Senior, Diseñador, Arquitecto Software, Probadores. • 15 Probadores: - CIT (Analistas/Usuarios finales) • 5 Asesores Técnicos y Científicos de la U.P.V.
  • 89. Algunos datos: • Accesos Web (durante Marzo 2010)  2471 visitas (de 1864 visitantes)  91.94 GB software descargados • Métricas de Ohlo (https://www.ohloh.net/p/moskitt)  1,565,358 líneas de código  443 personas/año
  • 90. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 91. Contenido • Motivación del proyecto e historia • Desarrollo de Software Dirigido por Modelos • Herramientas de Análisis y Diseño • Tecnologías para Construcción de Herramientas • Soporte a la Ejecución de Métodos de Desarrollo • Extensibilidad y Adaptaciones de MOSKitt • La Comunidad del Proyecto MOSKitt • Futuro del Proyecto
  • 92. Trabajos futuros • Consolidar el uso de la herramienta: Plan de Formación, testing.... • Potenciar la colaboración con otras organizaciones. • Potenciar su facilidad de uso: especialmente para la definición de las Interfaces de Usuario • Generación Automática de Código para plataformas específicas en la CIT: Java y PHP • Mejora del Módulo de Soporte al Proceso (beca I+D+i). • Incluir nuevas transformaciones, nuevos editores gráficos y formularios para cubrir al máximo las necesidades que desde gvMétrica se vayan planteando • Incluir un Modulo de Especificación de Requisitos • Incluir un Repositorio de Modelos para soportar: trabajo en grupo, control de acceso y manejo de versiones • Soporte a la Gestión de los Proyectos y el Trabajo Colaborativo.
  • 93. Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported • You are free:  to share — to copy, distribute and transmit the work  to Remix — to adapt the work • Under the following conditions:  Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).  Noncommercial — You may not use this work for commercial purposes.  Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one h t t p ://c r e at iv e c o m m o n s.o r g/lic e n se s/b y -n c -sa/3.0/