moskitt: herramienta de modelado uml y soporte a la ingeniería del software
TRANSCRIPT
![Page 1: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/1.jpg)
M OSKitt: El M odeling M OSKitt: El M odeling Software KittSoftware Kitt
Herramienta de M odelado UM L yHerramienta de M odelado UM L ySoporte a la Ingeniería del SoftwareSoporte a la Ingeniería del Software
Jav ie r M u ñ o z, B e go ñ a B o n e [email protected], [email protected]
![Page 2: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/2.jpg)
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
![Page 3: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/3.jpg)
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
![Page 4: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/4.jpg)
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✔ Herramientas
![Page 5: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/5.jpg)
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
![Page 6: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/6.jpg)
- 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.
Motivación
![Page 7: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/7.jpg)
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
![Page 8: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/8.jpg)
Objetivo del Proyecto
• 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
Crear una herramienta libre de soporte al método de desarrollo
de software gvMétrica
Crear una herramienta libre de soporte al método de desarrollo
de software gvMétrica
![Page 9: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/9.jpg)
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.
![Page 10: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/10.jpg)
• 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...
Objetivo: Herramienta
![Page 11: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/11.jpg)
¿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
![Page 12: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/12.jpg)
Estrategia de Desarrollo
Publicación de versiones (0.3.0 a 1.1.1) en:http://www.moskitt.org
• 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)
• Desarrollo de un Sketcher para facilitar la definición de IU's.
1.0.0
2.0.0
4/2007 9/2007 5/2008 7/2009 5/201 0 3/201 1
1.3.0 2.0.00.5.00.1.0
![Page 13: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/13.jpg)
Enfoque de DesarrolloInvocación de otrasherramientas
Plataforma LIBREpara la constucción
de herramientasC ASE con soporte al proceso de desarrollo
• Enfoque de desarrollo
• Arquitectura de plugins de Eclipse
![Page 14: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/14.jpg)
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
![Page 15: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/15.jpg)
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
![Page 16: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/16.jpg)
¿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 .f l ic k r .c o m /p h o t o s/90349435@ N 00/3374427508/h t t p ://w w w .f l ic k r .c o m /p h o t o s/90349435@ N 00/337361 3 1 25/
![Page 17: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/17.jpg)
¿Por qué DSDM?• Hacer Software es Complejo
El problema que se debe solucionar ES complejo
El cliente habla conconceptos del problema
El desarrollador utilizaconceptos de la tecnología
![Page 18: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/18.jpg)
¿Por qué DSDM?• Mismo problema Misma Solución→
No inventarse cada vez una solución
![Page 19: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/19.jpg)
¿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
![Page 20: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/20.jpg)
¿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
![Page 21: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/21.jpg)
¿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)
![Page 22: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/22.jpg)
¡¡DSDM no es la panacea!!
Analizar costes (inversión vs beneficio):
¿Aplicación singular o repetible?
¿Personal formado?
¿Modelar y generar 100%?
Crear lenguaje +Identificar patrones +
Implementar generador
ProgramaciónCopy&PasteVS
![Page 23: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/23.jpg)
¿MOSKitt para DSDM?
MOSKitt + Eclipse Modeling Project
Infraestructura para desarrollar: Editores Gráficos Editores Formularios Generadores de Código
![Page 24: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/24.jpg)
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
![Page 25: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/25.jpg)
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
![Page 26: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/26.jpg)
Editor UML2• Modelado UML2
D. Clases D. Secuencia D. Estados D. Actividad D: Casos Uso D. Perfiles
• Aplicación Perfiles
• Multidiagrama
![Page 27: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/27.jpg)
Modelado de Base de Datos
• Modelado DB
Tablas
Vistas
Usarios
Roles
Grupos• Generación DDL
MySQL
PostgreSQL
Oracle• Ingeniería
Inversa
![Page 28: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/28.jpg)
Modelado de Procesos (BPMN)
• Modelado BPMN
Procedimientos Tareas y flujos
de documentos Multidiagrama
• Modelo Documentos
Familias de documentos
Plantillas
![Page 29: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/29.jpg)
Modelado de Interfaz de Usuario
• Modelado Interfaz Usuario
Vistas del Sistema
Unidades de Interacción
Navegación
Opciones Presentación
Patrones
![Page 30: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/30.jpg)
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
![Page 31: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/31.jpg)
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
![Page 32: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/32.jpg)
Gestor de Transformaciones
• Registro Transformaciones
Visualización
Organización
Priorización
Ejecución Transformaciones
Solicitud parámetros
Resultados validación y ejecución
![Page 33: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/33.jpg)
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.)
![Page 34: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/34.jpg)
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
![Page 35: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/35.jpg)
Editores de Formularios para Modelos
• Soporte edición modelos Ecore
Cargar/Salvar modelos
• Edición de Propiedaes
Tipos Básicos (string, boolean, enumerados, etc.)
Colecciones
Referencias
➢ univaluadas
➢ multivaluadas
• Gestión Maestro/Detalle
EMFPropertyStringComposite
EMFPropertyEReferenceComposite
EMFEObjectComposite
EMFContainedCollectionEditionComposite
![Page 36: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/36.jpg)
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
![Page 37: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/37.jpg)
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
![Page 38: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/38.jpg)
ModelosAnálisis/Diseño
UML2
ModeloInterfaz Usuario
ModeloBBDD
Relacional
CódigoPrototipo
DB PostgreSQL
ModeloProcesos(BPMN)
DB MySQL
DB Oracle
DDL PostgreSQL
DDLMySQL
DDLOracle
➔Editores Gráficos➔Transformaciones➔Ingeniería Inversa➔Importación de modelos
ModeloWBS (GP)
M aPA Invocación de otrasherramientas
Editor de Procesos
(Dashboard Editor)
Intérprete de Procesos (Dashboard Interpreter)
Métodos+
Ayuda
Soporte al método
![Page 39: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/39.jpg)
Soporte al método
Definición y EjecuciónTareas de Desarrollo
Cheatsheets
Transformacionesde Modelos
UML BD
BPMN UML
![Page 40: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/40.jpg)
Modelado de Métodos de Desarrollo de Software
• Modelado Métodos
Tareas
Recursos
Dependencias
Acciones
Visualización estado desarrollo
![Page 41: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/41.jpg)
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...
Definición de un Proceso
![Page 42: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/42.jpg)
(1)
•Enlazar Recursos
•Editar Recursos
(3) Abrir Cheatsheet (Guías) Abrir Ayuda
(2)(3)
(1)
(2) Abrir Editores (graf. Y form.)
Ejecución de un Proceso
![Page 43: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/43.jpg)
• 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
![Page 44: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/44.jpg)
Estados de los Recursos
N o t T o D o
Est ad o s:
- Pen d ie n t e
- Em p e zad o
- T e r m in ad o
- M o d i f ic ad o u n a ve z t e r m in ad o
- N o h ay q u e h ace r lo
Ejecución de un Proceso
![Page 45: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/45.jpg)
Estados de las Tareas
Ejecución de un ProcesoEst ad o s:
- Pen d ie n t e
- Em p e zad a
- T e r m in ad a
- M o d if ic ad o algú n r e c u r so u n a ve z t e r m in ad a
- En Esp e r a d e q u e algu n a d ep en 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 ace r la
![Page 46: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/46.jpg)
Estados de las Dependencias
Est ad o s:
- L im p ia: T o d o s lo s R e cu 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 co m p le t ad o .
- D esin c r o n izad a: H ay r e c u r so s m o d i f ic ad o s en la t ar e a d ep e n d ie n t e .
- A la Esp e r a d e q u e se f in al ize 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
![Page 47: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/47.jpg)
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
![Page 48: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/48.jpg)
Soporte a:
[*] Iteraciones
Subdiagramas
Iteraciones y Subdiagramas
Ejecución de un Proceso
![Page 49: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/49.jpg)
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
![Page 50: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/50.jpg)
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
![Page 51: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/51.jpg)
¿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
![Page 52: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/52.jpg)
¿C ómo adaptar MO SKitt a cada contexto específico?
h t t p ://w w w .f l ic k r .c o m /p h o t o s/83476873@ N 00/1 1 0993877/
![Page 53: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/53.jpg)
¿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 intactash t t p ://w w w .sx c .h u /p h o t o /1 1 52 1 27
![Page 54: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/54.jpg)
Puntos de extensión
PluginAnfitrión
Plugin B
Plugin C
Plugin Z
.
.
.
![Page 55: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/55.jpg)
Puntos de Extensión
![Page 56: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/56.jpg)
¿Qué adaptar?
Cheatsheets Ayuda contextual
El Método Contenidos del método Asistentes de creación
Los Editores Plantillas de modelos Paleta de elementos
Propiedades extendidas Decoradores gráficos
Las Transformaciones Sobrescribir transformaciones Sincronización
![Page 57: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/57.jpg)
Contenidos del Método• Cambiar los pasos del método
![Page 58: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/58.jpg)
Contenidos del Método• Cambiar los pasos del método
![Page 59: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/59.jpg)
Asistentes de Creación• Acciones específicas al crear el proyecto
![Page 60: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/60.jpg)
Asistentes de Creación
![Page 61: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/61.jpg)
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
![Page 62: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/62.jpg)
Cheatsheets• ¿Cómo utilizar cheatsheets?:
1. Crearlo con el editor de Eclipse
![Page 63: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/63.jpg)
Cheatsheets2. Definirlo mediante un punto de extensión
![Page 64: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/64.jpg)
Cheatsheet3.a )Añadir la acción 'OpenCheatsheetAction' a una tarea del dashboard:
3.b ) Seleccionar el cheatsheet en la pestaña de propiedades:
![Page 65: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/65.jpg)
Ayuda Contextual• Los editores gráficos y de formularios de MOSKitt
muestran ayuda dependiendo del elemento seleccionado
• Plugins externos pueden contribuir ayuda
FEFEM ed i t o r w it h e lem en t se le c t e dC o n e x t u al h e lp sh o w in g h e lp co n t e n t s fo r t h e
se le c t e d e lem en t
![Page 66: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/66.jpg)
Ayuda Contextual• Como contribuir ayuda contextual a
MOSKitt:1. Crear el contenido de la ayuda:
![Page 67: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/67.jpg)
Ayuda Contextual2. Contribuir el archivo de ayuda mediante el
punto de extensión 'org.eclipse.help.contexts'.
![Page 68: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/68.jpg)
Plantillas de Modelos• Contenido inicial de los modelos
![Page 69: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/69.jpg)
Plantillas de Modelos• Contenido inicial de los modelos
![Page 70: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/70.jpg)
Personalización de la paleta• Cambiar el nombre de grupos y botones en la paleta.
• Mover botones de un grupo a otro.
• Crear y eliminar grupo y botones de la paleta.
Pale t a o r igin al
Pale t a p e r so n al izad a
![Page 71: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/71.jpg)
Personalización de la paleta
1. Definir la personalización en el punto de extensión 'es.cv.gvcase.mdt.common.editorPalette' extension point
![Page 72: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/72.jpg)
Personalización de la paleta
• Elemento 'Group' añadir un nuevo grupo cambiar el nombre de un grupo eliminar un grupo
![Page 73: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/73.jpg)
Personalización de la paleta
• Elemento 'Tool' cambiar nombre de un botón mover un botón entre grupos eliminar un botón
![Page 74: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/74.jpg)
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
![Page 75: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/75.jpg)
Propiedades extendidas
1. Definir la propiedad con el punto de extensión 'es.cv.gvcase.mdt.common.featureExtender'
![Page 76: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/76.jpg)
Propiedades extendidas2. Definir
Tipo de la propiedad:➢ Integer
➢ Double
➢ Boolean
➢ String
➢ Reference
Multiplicidad mínima Multiplicidad máxima
![Page 77: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/77.jpg)
Propiedades extendidas3. Definir
La entidad que necesita ser extendida (AdaptTo): Los valores válidos ('AvailableValue')
![Page 78: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/78.jpg)
Propiedades extendidas4. Implementar y definir la sección en la pestaña
de propiedades:
Integer Properties
String Properties
Double Properties
Collection Properties
References Properties
![Page 79: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/79.jpg)
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 decorated ClassA normal Class
![Page 80: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/80.jpg)
Decoradores gráficos
![Page 81: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/81.jpg)
Sobrescribir transformaciones
• Definir prioridades de mayor prioridad
![Page 82: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/82.jpg)
Sobrescribir transformaciones
• Definir prioridades de mayor prioridad
![Page 83: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/83.jpg)
Sincronización• Acciones específicas al cambiar modelos trazados
Trazas entre“X.uml” y
“Y.sqlschema”
1.- al cambiarla entrada
2.- actualizarmodelos trazados
![Page 84: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/84.jpg)
Sincronización• Acciones específicas al cambiar modelos trazados
![Page 85: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/85.jpg)
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
![Page 86: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/86.jpg)
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
![Page 87: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/87.jpg)
Integrantes del Proyecto
EmpresaEmpresaUniversidadUniversidad Admon.Admon.PúblicaPública
• Desarrollo• Proyección• Conocimiento
• Liderazgo• Requisitos• Financiación
• Conocimiento• Difusión• Aplicación
![Page 88: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/88.jpg)
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.
![Page 89: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/89.jpg)
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
![Page 90: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/90.jpg)
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
![Page 91: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/91.jpg)
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
![Page 92: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/92.jpg)
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.
![Page 93: MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software](https://reader034.vdocuments.co/reader034/viewer/2022042506/557b81c6d8b42a2d298b536e/html5/thumbnails/93.jpg)
• 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
Creative CommonsAttribution-Noncommercial-Share Alike 3.0
Unported
h t t p ://c r e at iv e c o m m o n s.o r g/l ic e n se s/b y-n c-sa/3.0/