Joan FonsUniversitat Politècnica
de València
Desarrollo de Interfaces de
Usuario con MOSKitt UIM
Marc GilProdevelop
dimarts 1 de desembre de 2009
Índice
Contexto
¿Qué es MOSKitt UIM?
MOSKitt UIM 1.0
Próximas Características
Demo
dimarts 1 de desembre de 2009
Contexto
dimarts 1 de desembre de 2009
Contexto
En la CIT se desarrollan diferentes tipos de sistemas, con diferentes enfoques, plataformas de desarrollo, recursos software, etc...
Problema en disponer de un soporte de herramientas integral
Dificultad para gestionar dependencias entre proyectos
dimarts 1 de desembre de 2009
Contexto
La CIT utiliza una adaptación de Métrica III, gvMétrica, para el desarrollo de sus proyectos
Uso extensivo de Modelos, tanto como documentación y como activos en el desarrollo
Estos modelos se usan como documentación de intercambio entre los diferentes roles
En desarrollo, los programadores usan frameworks propios (ej: gvHidra para interfaz web) para cumplir y garantizar los requisitos de las aplicaciones CIT
dimarts 1 de desembre de 2009
Contexto
El principal problema es que no existe una herramienta (específica y unificada) que dé soporte completo a gvMétrica
PowerDesigner, Microsoft Word, papel ...
Las relaciones y dependencias entre diagramas, documentos, recursos se gestionan manualmente
Dificultad de adaptarse a nuevas necesidades
dimarts 1 de desembre de 2009
Contexto
Se necesita una herramienta que dé soporte estas necesidades
Sea en el ámbito del software libre
MOSKitt
dimarts 1 de desembre de 2009
ContextoEsta herramienta debe dar soporte a la definición y desarrollo de:
Procesos de Negocio (BPMN)
Gestión de Requisitos (Diag. Casos Uso, Escenarios, ...)
Estructuras de Datos (Diag. Clases UML, ER, ...)
Comportamiento (Diag. Secuencia UML, Diag. Actividad UML, ...)
Interfaz de Usuario ?dimarts 1 de desembre de 2009
Contexto
No hay estándares que formalicen el desarrollo de interfaces de usuario:
lenguaje de especificación
soportado por herramientas
ampliamente aceptado
flexible y adaptable a necesidades
!!dimarts 1 de desembre de 2009
Contexto
... y además, se require una solución en el ámbito del software libre
dimarts 1 de desembre de 2009
ContextoEl proyecto MOSKitt UIM (User Interface Modelling) surge con el objetivo de proporcionar soporte metodológico (con herramienta) al desarrollo de Interfaces de Usuario
Pueda aplicarse a la CIT
En el ámbito de software libre
Solución que se integra en MOSKitt con el resto de herramientas y editores
Soporte completo al proceso de desarrollo
dimarts 1 de desembre de 2009
Soporte a Documentación de interfaz de usuario
Describir los requisitos de interfaz y obtener informes a partir de éstos (de análisis, de diseño, de implementación, ...)
Usar y construir repositorios de proyectos
Gestionar las relaciones entre los diferentes diagramas/modelos/herramientas que puedan ser de interés para la interfaz de usuario (trazabilidad)
ContextoObjetivos
dimarts 1 de desembre de 2009
Mecanismo de intercambio de información, de manera colaborativa
Entre los diferentes roles en desarrollo (analistas, diseñadores interfaz, implementadores, ...)
Entre las fases del proyecto (definición de procesos de negocio, análisis, diseño, codificación, testing, ...)
ContextoObjetivos
dimarts 1 de desembre de 2009
Adaptable al proceso de desarrollo
Pueda ser usado fácilmente en cualquier proceso o enfoque de desarrollo basado en modelos
Sistemas orientados a procesos, orientados a datos, orientados a interfaz, etc.
Proporcione una guía metodológica flexible para desarrollar según los parámetros de la CIT
ContextoObjetivos
dimarts 1 de desembre de 2009
Facilite el desarrollo mediante herramientas y editores editores que permitan:
aprovechar la información de otros modelos y diagramas que se usen en el desarrollo
validar y completar las especificaciones
obtener prototipos (semi)automáticamente
adaptarse a las necesidades concretas del proyecto (expresividad, proceso, recurso, etc.)
ContextoObjetivos
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
Un módulo (conjunto de plugins) de MOSKitt
Responsable de gestionar todo lo referente a la interfaz de usuario
recursos, editores, herramientas, etc.
independiente de otros editores/herramientas MOSKitt
separación de conceptos
relacionado con otros editores/herramientas MOSKitt
integración de soluciones
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
Entorno MDD (Model Driven Development) para el desarrollo de interfaces de usuario con MOSKitt
Lenguaje (MetaModelo) para especificar la interfaz de usuario
Editores y Diagramas para especificar las diferentes partes del lenguaje
Transformadores entre modelos, prototipadores y generadores de código
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
La principal aportación de MOSKitt UIM es un lenguaje gráfico para la especificación de la interfaz de usuario
Basado en la definición de un conjunto de unidades de interacción (representan pantallas) modulares
Permite especificar comportamiento de interfaz*
Mantiene relaciones con otros diagramas
* Separación de comportamiento: lógica negocio vs. interfaz de usuario
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?El lenguaje UIM
Usa el concepto de Usuario (Rol) y de Vista
MOSKitt UIM dispone de un editor/diagrama para especificar los usuarios y las vistas que podrán acceder a la interfaz de usuario
Editor de Vistas
Punto de inicio de la especificación de la interfaz de usuario
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?El lenguaje UIM
Usuarios y Vistas
dimarts 1 de desembre de 2009
Se basa en el concepto de Unidad de Interacción
Una UI representa a una pantalla
MOSKitt UIM proporciona editores/diagramas para especificar “pantallas”
Se basa en la idea de catalogar las pantallas en base al (tipo de) contenido que ofrece
¿Qué es MOSKitt UIM?El lenguaje UIM
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?El lenguaje UIM. Ejemplo
Contenidos: Visualización de Datos, Filtro de información, menú de navegación, enlaces a otras pantallas, ejecución de operaciones
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?El lenguaje UIM. Ejemplo
Contenidos: Introducción de datos para la búsqueda en un catálogo bibliográfico, menú de navegación (anidados)
dimarts 1 de desembre de 2009
Los tipos de pantallas (UIs) predefinidas en UIM son:
de Información (listados), de Información Editable (listados editables)
de Operación (formularios)
de Navegación (menús)
Composición de las anteriores (patrones)
Los Patrones permiten definir nuevas UIs
Núcleo de MOSKitt UIM
¿Qué es MOSKitt UIM?El lenguaje UIM
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?El lenguaje UIM
Piezas básicas de UIM
Composición de piezas UIM
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
De esta manera se constituye como un entorno MDD flexible y adaptable:
Posibilidad de usar un diagrama/editor adecuado para cada necesidad (independiente)
Relacionar, transformar y/o sincronizar con otros diagramas* en cualquier momento según el proceso de desarrollo seguido
Ej: UIM -> Clases, Clases -> UIM, BPMN -> UIM
* Algunas de estas características están pendientes de implementación
dimarts 1 de desembre de 2009
¿Qué es MOSKitt UIM?
MetaModelos:UIM, (UML, BPMN, ...)
Repositorio de Modelos
Editor Visual
Transformador Modelo a Modelo
Código Fuente
Transformador Modelo a Texto
UIM->UMLUML->UIM
BPMN->UIMUIM->BPMN
...
Editores de UIsConfigurador de PatronesComportamiento Interfaz
...
Prototipador gvHidraGenerador Java/SWT
...
dimarts 1 de desembre de 2009
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
MOSKitt UIM 1.0
MOSKitt 1.0 es la primera versión pública del proyecto
Esta versión incluye también la primera versión pública de UIM (1.0)
dimarts 1 de desembre de 2009
MOSKitt UIM 1.0Instalación y Configuración
En la versión actual, para tener MOSKitt UIM 1.0, basta con instalar MOSKitt 1.0
www.moskitt.org/ult_version_estable/
MOSKitt 1.1.0 RC1 (MOSKittDay’09)
dimarts 1 de desembre de 2009
MOSKitt UIM 1.0El Entorno
Comparte la misma interfaz que MOSKitt:
Perspectiva MOSKitt (Explorador de Recursos y de Modelos MOSKitt)
Editores de Diagramas
Inspectores de Propiedades
Barras de Herramientas
Paleta de elementos del Lenguaje
dimarts 1 de desembre de 2009
Editores/Diagramas Disponibles
Herramientas Disponibles
Validación del Modelo
Trabajo con patrones de interfaz
Prototipador sobre gvHidra
Integración con el módulo Dashboard
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
Editor de Usuarios y Vistas
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
Editor del contenido de una vista (UIs)
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
Editor de una Unidad de Interacción (UI de Información)
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
Validación del Modelo
Obtener especificaciones correctas
Ayudar a detectar dónde se han cometido errores/incongruencias
Comprobar y asegurar las correspondencias con otros modelos
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
MOSKitt UIM 1.0
Validación de un Diagramadimarts 1 de desembre de 2009
Proporciona herramientas para dar soporte al trabajo con patrones de interfaz, para adecuarse a necesidades particulares de las organizaciones
Un editor/configurador de patrones
Un wizard para ayudar a aplicar un patrón
Un conversor entre UIs (wizard migrador entre Patrones)
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
Conversión entre UIs
Definición de un nuevo patrón
MOSKitt UIM 1.0
dimarts 1 de desembre de 2009
PróximasCaracterísticas
dimarts 1 de desembre de 2009
Próximas Características
En la actualidad, se está trabajando en MOSKitt UIM:
mejorar el desarrollo existente
incorporación de novedades
nuevas herramientas: editores y diagramas
nuevas funcionalidades (M2M y M2T)
dimarts 1 de desembre de 2009
Próximas CaracterísticasNuevas HerramientasEditor WYSIWYG (sketcher) y previsualizador para el lenguaje UIM
Simplificar la tarea de definir la interfaz de usuario
Permitir arrastrar elementos visuales (botones, listas desplegables, tablas de datos, etc.) en vez de las primitivas conceptuales(operación, conjunto de visualización, etc.)
dimarts 1 de desembre de 2009
Transformaciones M2M
Generación a partir de otros modelos (BPMN, UML Clases, UML Actividad, ...)
Generación de otros modelos (BPMN, UML Clases, UML Actividad)
Sincronización de modelos
Próximas CaracterísticasNuevas Funcionalidades
dimarts 1 de desembre de 2009
Próximas CaracterísticasNuevas Funcionalidades
dimarts 1 de desembre de 2009
Próximas Características
Prototipación M2M de BPMN a UIM
dimarts 1 de desembre de 2009
Demo
dimarts 1 de desembre de 2009