Este documento presenta un método llamado VRU para validar requisitos de usuario y generar interfaces de usuario multiplataforma. VRU utiliza diagramas de secuencia de mensajes (MSCs) etiquetados con información de interfaz de usuario para derivar automáticamente prototipos de interfaz y especificaciones formales del sistema. Las interfaces se definen usando el lenguaje UIML, que puede traducirse a diferentes plataformas y lenguajes.
UWE es un método de desarrollo de aplicaciones web basado en UML que utiliza el proceso RUP. El proceso de UWE incluye análisis de requisitos, diseño conceptual, diseño navegacional y diseño de presentación. El diseño navegacional consta de definir el espacio de navegación a través de un diagrama de clases y diseñar las estructuras de navegación como menús, índices y visitas guiadas.
UWE es una metodología basada en UML para el desarrollo de aplicaciones web que cubre todo el ciclo de vida. UWE define fases para la captura de requisitos, diseño, codificación, pruebas, implementación y mantenimiento de aplicaciones web utilizando modelos UML estándar. La principal ventaja de UWE es su enfoque basado en estándares como UML, XMI y MOF.
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) Germán Sánchez
El documento describe la metodología UWE (UML-Based Web Engineering) para el desarrollo de aplicaciones web basada en UML. UWE propone una extensión de UML que incluye actividades como el modelado de requisitos, diseño conceptual, diseño de navegación, diseño de presentación y modelado de interacción. La metodología define fases como la captura de requisitos, diseño del sistema, codificación, pruebas e implementación para construir aplicaciones web siguiendo un proceso unificado basado en modelos UML.
UML para dispositivos móviles - Milena Cabrera2008PA2Info3
El documento habla sobre los estereotipos UML para aplicaciones móviles. Explica que los estereotipos proporcionan una clasificación de alto nivel de objetos y permiten extender el lenguaje UML. También describe algunos tipos de dispositivos móviles e identifica aspectos importantes para el modelado como la movilidad y la personalización. Finalmente, concluye que el análisis de modelado es limitado debido a restricciones de empresas y que seguir estándares como UML facilita el desarrollo eficiente de aplicaciones
UML es un lenguaje estándar para modelar sistemas de software que incluye varios diagramas para representar diferentes aspectos como casos de uso, clases, secuencias y actividades. Se desarrolló para facilitar la comunicación entre equipos de desarrollo y documentar el diseño de sistemas. Existen herramientas libres como ArgoUML y Poseidon para UML que permiten crear y editar modelos UML.
Este documento describe y compara varias metodologías para el desarrollo de aplicaciones web. Presenta las fases y conceptos clave de metodologías como OOHDM, SOHDM, UWE, W2000, RNA y WSDM.
¿Que es uml ? ACTVIDAD No 4 Jennifer Garcia Montiel 2 "D"jenni30201
¿Qué es UML?
El Lenguaje de Modelado Unificado (UML:Unified Modeling Language) es la sucesión de una serie de métodos de análisis y diseño orientadas a objetos que aparecen a fines de los 80's y principios de los 90s.UML es llamado un lenguaje de modelado, no un método. Los métodos consisten de ambos de un lenguaje de modelado y de un proceso.
El UML , fusiona los conceptos de la orientación a objetos aportados por Booch, OMT y OOSE (Booch, G. et al., 1999).
UML incrementa la capacidad de lo que se puede hacer con otros métodos de análisis y diseño orientados a objetos. Los autores de UML apuntaron también al modelado de sistemas distribuidos y concurrentes para asegurar que el lenguaje maneje adecuadamente estos dominios.
El lenguaje de modelado es la notación (principalmente gráfica) que usan los métodos para expresar un diseño. El proceso indica los pasos que se deben seguir para llegar a un diseño.
La estandarización de un lenguaje de modelado es invaluable, ya que es la parte principal del proceso de comunicación que requieren todos los agentes involucrados en un proyecto informático. Si se quiere discutir un diseño con alguien más, ambos deben conocer el lenguaje de modelado y no así el proceso que se siguió para obtenerlo.
UWE es un método de desarrollo de aplicaciones web basado en UML que utiliza el proceso RUP. El proceso de UWE incluye análisis de requisitos, diseño conceptual, diseño navegacional y diseño de presentación. El diseño navegacional consta de definir el espacio de navegación a través de un diagrama de clases y diseñar las estructuras de navegación como menús, índices y visitas guiadas.
UWE es una metodología basada en UML para el desarrollo de aplicaciones web que cubre todo el ciclo de vida. UWE define fases para la captura de requisitos, diseño, codificación, pruebas, implementación y mantenimiento de aplicaciones web utilizando modelos UML estándar. La principal ventaja de UWE es su enfoque basado en estándares como UML, XMI y MOF.
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) Germán Sánchez
El documento describe la metodología UWE (UML-Based Web Engineering) para el desarrollo de aplicaciones web basada en UML. UWE propone una extensión de UML que incluye actividades como el modelado de requisitos, diseño conceptual, diseño de navegación, diseño de presentación y modelado de interacción. La metodología define fases como la captura de requisitos, diseño del sistema, codificación, pruebas e implementación para construir aplicaciones web siguiendo un proceso unificado basado en modelos UML.
UML para dispositivos móviles - Milena Cabrera2008PA2Info3
El documento habla sobre los estereotipos UML para aplicaciones móviles. Explica que los estereotipos proporcionan una clasificación de alto nivel de objetos y permiten extender el lenguaje UML. También describe algunos tipos de dispositivos móviles e identifica aspectos importantes para el modelado como la movilidad y la personalización. Finalmente, concluye que el análisis de modelado es limitado debido a restricciones de empresas y que seguir estándares como UML facilita el desarrollo eficiente de aplicaciones
UML es un lenguaje estándar para modelar sistemas de software que incluye varios diagramas para representar diferentes aspectos como casos de uso, clases, secuencias y actividades. Se desarrolló para facilitar la comunicación entre equipos de desarrollo y documentar el diseño de sistemas. Existen herramientas libres como ArgoUML y Poseidon para UML que permiten crear y editar modelos UML.
Este documento describe y compara varias metodologías para el desarrollo de aplicaciones web. Presenta las fases y conceptos clave de metodologías como OOHDM, SOHDM, UWE, W2000, RNA y WSDM.
¿Que es uml ? ACTVIDAD No 4 Jennifer Garcia Montiel 2 "D"jenni30201
¿Qué es UML?
El Lenguaje de Modelado Unificado (UML:Unified Modeling Language) es la sucesión de una serie de métodos de análisis y diseño orientadas a objetos que aparecen a fines de los 80's y principios de los 90s.UML es llamado un lenguaje de modelado, no un método. Los métodos consisten de ambos de un lenguaje de modelado y de un proceso.
El UML , fusiona los conceptos de la orientación a objetos aportados por Booch, OMT y OOSE (Booch, G. et al., 1999).
UML incrementa la capacidad de lo que se puede hacer con otros métodos de análisis y diseño orientados a objetos. Los autores de UML apuntaron también al modelado de sistemas distribuidos y concurrentes para asegurar que el lenguaje maneje adecuadamente estos dominios.
El lenguaje de modelado es la notación (principalmente gráfica) que usan los métodos para expresar un diseño. El proceso indica los pasos que se deben seguir para llegar a un diseño.
La estandarización de un lenguaje de modelado es invaluable, ya que es la parte principal del proceso de comunicación que requieren todos los agentes involucrados en un proyecto informático. Si se quiere discutir un diseño con alguien más, ambos deben conocer el lenguaje de modelado y no así el proceso que se siguió para obtenerlo.
Implementación de una aplicación para la Administración remota de servidores ...TELCON UNI
Este documento presenta el desarrollo de una aplicación móvil para Android que permite el monitoreo y administración remota de servidores a través de una conexión SSH. La aplicación muestra gráficas de recursos como CPU, memoria y disco, e incluye funciones para iniciar y detener servicios. El objetivo es facilitar las tareas de administración de servidores desde cualquier lugar.
Este documento describe diferentes modelos y técnicas para el desarrollo de software, incluyendo modelos de procesos como el modelo en cascada, incremental y evolutivo. También describe técnicas como el análisis de requerimientos y herramientas para el proceso de desarrollo. Explica que el modelo espiral es iterativo y evalúa riesgos, y que el modelo incremental construye el software en partes pequeñas pero utilizables.
El método OOHDM propone un proceso de desarrollo de aplicaciones web hipermedia en 5 fases, combinando notaciones UML. La primera fase obtiene requerimientos a través de diagramas de casos de uso. La segunda fase diseña un modelo conceptual orientado a objetos representando el dominio. La tercera fase diseña la estructura de navegación usando clases navegacionales. La cuarta fase diseña la interfaz abstracta. La quinta fase implementa los objetos en un lenguaje de programación concreto.
Este documento describe StarUML, una herramienta de modelado de software gratuita. StarUML permite crear diagramas UML como casos de uso, clases, secuencias y más. Fue creada originalmente por James Rumbaugh, Grady Booch e Ivar Jacobson. Ofrece ventajas como ser gratuita, compatible con múltiples sistemas operativos y tener una interfaz intuitiva. Sin embargo, tiene desventajas como no ser tan conocida y tener capacidades limitadas de ingeniería inversa. El documento explica cómo crear proyectos y diagram
Generacion en los diferentes diagramas de uml esteban esteban
Este documento proporciona una introducción a los diagramas de UML (Lenguaje Unificado de Modelado). Explica brevemente la historia y características de UML, así como los principales tipos de diagramas de UML, incluyendo diagramas de clases, colaboración, secuencia, casos de uso, estado, despliegue y actividades. También discute las ventajas y desventajas de cada tipo de diagrama.
Este documento describe un taller sobre modelado y diagramación de sistemas automatizados utilizando la herramienta Rational Rose. El taller cubrirá conceptos como ingeniería de software, UML, RUP y modelado de casos de uso, además de modelar y diagramar un sistema automatizado y utilizar la herramienta Rational Rose. El objetivo del taller es unificar conocimientos entre profesores, estandarizar el modelado en proyectos y utilizar herramientas CASE como recursos tecnológicos.
MDA es una evolución de estándares definidos por OMG para mejorar procesos de desarrollo de software dirigidos por modelos. MDA utiliza diferentes tipos de modelos como CIM, PIM y PSM para separar las preocupaciones de negocio de las tecnológicas. Las transformaciones entre los modelos son la parte central de MDA y permiten generar código de manera automatizada.
Rational Rose es una poderosa herramienta de modelado visual para el análisis y diseño de sistemas basados en objetos que se utiliza para modelar un sistema antes de construirlo y cubre todo el ciclo de vida de un proyecto. La interfaz de Rational Rose está formada por un navegador, ventanas de documentación y barras de herramientas que permiten acceder a acciones y herramientas para trabajar con diagramas UML en la ventana de diagrama.
Este documento compara herramientas para modelado con UML. Describe cuatro aspectos clave para evaluar estas herramientas: enfoque procedimental, soporte al modelado arquitectónico, apoyo al repositorio y enfoque funcional. Analiza cinco herramientas populares (ArgoUML, Rational Rose, WithClass, Together y Poseidon) según estos criterios y también caracteriza a AR2CA, una herramienta desarrollada en la Universidad EAFIT.
Este documento presenta la arquitectura de software propuesta para un sistema denominado "Nombre del Proyecto Versión x.y.z" solicitado por la gerencia "Nombre de Gerencia Solicitante". El documento describe la arquitectura a través de cinco vistas interrelacionadas y define los propósitos, alcance, estándares y documentos relacionados del proyecto. Finalmente, resume la arquitectura en función del modelo de caso de uso.
Este documento describe las metodologías MDA (Arquitectura dirigida por modelos) y MDE (Ingeniería dirigida por modelos). MDA se basa en la creación de modelos independientes de plataforma y específicos de plataforma para desarrollar software, mientras que MDE busca elevar el nivel de abstracción y automatización mediante el uso de modelos en diferentes niveles. El documento también compara estas metodologías y discute sus objetivos, métodos y herramientas.
Este documento presenta la implementación de una solución tecnológica para el control del transporte de mercancías. Se desarrolló un sistema basado en Java y MySQL que utiliza el patrón MVC y DAO para gestionar la información de clientes, mercancías, empleados y transporte. El sistema consta de módulos para puntos de control, informes y reportes de anomalías, con el fin de realizar el seguimiento de las mercancías.
Este documento presenta la arquitectura de un sistema llamado "Control de Vocales" desarrollado para la Universidad de Literatura Abierta. Describe los componentes del sistema, incluyendo la interfaz de usuario, componentes lógicos y de almacenamiento de datos. Incluye diagramas de casos de uso, paquetes, clases y despliegue para representar la arquitectura. El sistema usa un patrón MVC y tiene como objetivos proporcionar alta disponibilidad, bajo acoplamiento y seguridad.
Este documento contiene las preguntas y respuestas de un examen sobre desarrollo de aplicaciones Android y bases de datos. Se definen conceptos como layouts, controles de interfaz como botones y etiquetas de texto, y la estructura básica de carpetas de un proyecto Android como /res y /src. También se explican temas sobre menús, fragments, widgets y el uso de SQLite para almacenar datos en una aplicación Android.
Rational Rose es una herramienta de diseño orientada a objetos, que da soporte al modelado visual, es decir, que permite representar gráficamente el sistema, permitiendo hacer énfasis en los detalles más importantes, centrándose en los casos de uso y enfocándose hacia un software de mayor calidad, empleando un lenguaje estándar común que facilita la comunicación.
Presentación power point relational roseengelstalin
Rational Rose es una herramienta de modelado visual que utiliza UML para especificar, analizar y diseñar sistemas de software antes de la codificación. Permite crear cuatro tipos de modelos (estático, dinámico, lógico y físico) para representar complemente el dominio del problema y el sistema de software. Ofrece características como desarrollo iterativo, trabajo en grupo, generación de código y documentación e ingeniería inversa.
La guía de aprendizaje presenta actividades relacionadas con el análisis de requerimientos y el desarrollo de diagramas como casos de uso y diagramas de requerimientos funcionales para el proyecto SOFTPYME - INVENTARIO. Se explican conceptos clave como UML, diagramas de casos de uso y roles de actores. También se incluyen recursos y referencias bibliográficas para profundizar en el tema.
Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,
La guía de aprendizaje presenta actividades para analizar los requerimientos del sistema de información SOFTPYME - INVENTARIO a través de diagramas UML. Se inicia con la reflexión sobre los entregables del análisis y luego se describen actividades como crear diagramas de casos de uso, requerimientos funcionales, actividades y secuencia a partir del informe de requerimientos. Finalmente, se proveen recursos de apoyo como documentos sobre UML y metodologías de desarrollo de software.
Analisis y diseño de sistemas proceso unificado henriquez malla santiago albertoSantiago Henriquez
El documento describe el Proceso Unificado para el desarrollo de software. Se explica que el proceso está dirigido por los casos de uso, centrado en la arquitectura y es iterativo e incremental. Cada iteración produce una nueva versión del producto mediante cuatro fases: inicio, elaboración, construcción y transición. Los casos de uso guían todas las actividades como los requisitos, análisis, diseño, implementación y pruebas.
Arquitectura de Información + Proceso Unificado de DesarrolloPio.la
La relación de la Arquitectura de Información con el Proceso Unificado de Desarrollo (RUP) para una mejor eficiencia en el desarrollo de software. Basados en la experiencia de trabajo
El documento habla sobre la importancia del prototipado rápido de interfaces para validar requisitos con usuarios de forma temprana. Propone un proceso llamado "Inferencia" que permite incrementar la velocidad de prototipado sin aumentar el esfuerzo. Luego describe la metodología utilizada para crear modelos conceptuales usando diagramas UML y lenguajes formales, incluyendo modelos de objetos, dinámico, funcional y de presentación. Finalmente, detalla las fases de análisis, diseño y desarrollo de prototipos,
Implementación de una aplicación para la Administración remota de servidores ...TELCON UNI
Este documento presenta el desarrollo de una aplicación móvil para Android que permite el monitoreo y administración remota de servidores a través de una conexión SSH. La aplicación muestra gráficas de recursos como CPU, memoria y disco, e incluye funciones para iniciar y detener servicios. El objetivo es facilitar las tareas de administración de servidores desde cualquier lugar.
Este documento describe diferentes modelos y técnicas para el desarrollo de software, incluyendo modelos de procesos como el modelo en cascada, incremental y evolutivo. También describe técnicas como el análisis de requerimientos y herramientas para el proceso de desarrollo. Explica que el modelo espiral es iterativo y evalúa riesgos, y que el modelo incremental construye el software en partes pequeñas pero utilizables.
El método OOHDM propone un proceso de desarrollo de aplicaciones web hipermedia en 5 fases, combinando notaciones UML. La primera fase obtiene requerimientos a través de diagramas de casos de uso. La segunda fase diseña un modelo conceptual orientado a objetos representando el dominio. La tercera fase diseña la estructura de navegación usando clases navegacionales. La cuarta fase diseña la interfaz abstracta. La quinta fase implementa los objetos en un lenguaje de programación concreto.
Este documento describe StarUML, una herramienta de modelado de software gratuita. StarUML permite crear diagramas UML como casos de uso, clases, secuencias y más. Fue creada originalmente por James Rumbaugh, Grady Booch e Ivar Jacobson. Ofrece ventajas como ser gratuita, compatible con múltiples sistemas operativos y tener una interfaz intuitiva. Sin embargo, tiene desventajas como no ser tan conocida y tener capacidades limitadas de ingeniería inversa. El documento explica cómo crear proyectos y diagram
Generacion en los diferentes diagramas de uml esteban esteban
Este documento proporciona una introducción a los diagramas de UML (Lenguaje Unificado de Modelado). Explica brevemente la historia y características de UML, así como los principales tipos de diagramas de UML, incluyendo diagramas de clases, colaboración, secuencia, casos de uso, estado, despliegue y actividades. También discute las ventajas y desventajas de cada tipo de diagrama.
Este documento describe un taller sobre modelado y diagramación de sistemas automatizados utilizando la herramienta Rational Rose. El taller cubrirá conceptos como ingeniería de software, UML, RUP y modelado de casos de uso, además de modelar y diagramar un sistema automatizado y utilizar la herramienta Rational Rose. El objetivo del taller es unificar conocimientos entre profesores, estandarizar el modelado en proyectos y utilizar herramientas CASE como recursos tecnológicos.
MDA es una evolución de estándares definidos por OMG para mejorar procesos de desarrollo de software dirigidos por modelos. MDA utiliza diferentes tipos de modelos como CIM, PIM y PSM para separar las preocupaciones de negocio de las tecnológicas. Las transformaciones entre los modelos son la parte central de MDA y permiten generar código de manera automatizada.
Rational Rose es una poderosa herramienta de modelado visual para el análisis y diseño de sistemas basados en objetos que se utiliza para modelar un sistema antes de construirlo y cubre todo el ciclo de vida de un proyecto. La interfaz de Rational Rose está formada por un navegador, ventanas de documentación y barras de herramientas que permiten acceder a acciones y herramientas para trabajar con diagramas UML en la ventana de diagrama.
Este documento compara herramientas para modelado con UML. Describe cuatro aspectos clave para evaluar estas herramientas: enfoque procedimental, soporte al modelado arquitectónico, apoyo al repositorio y enfoque funcional. Analiza cinco herramientas populares (ArgoUML, Rational Rose, WithClass, Together y Poseidon) según estos criterios y también caracteriza a AR2CA, una herramienta desarrollada en la Universidad EAFIT.
Este documento presenta la arquitectura de software propuesta para un sistema denominado "Nombre del Proyecto Versión x.y.z" solicitado por la gerencia "Nombre de Gerencia Solicitante". El documento describe la arquitectura a través de cinco vistas interrelacionadas y define los propósitos, alcance, estándares y documentos relacionados del proyecto. Finalmente, resume la arquitectura en función del modelo de caso de uso.
Este documento describe las metodologías MDA (Arquitectura dirigida por modelos) y MDE (Ingeniería dirigida por modelos). MDA se basa en la creación de modelos independientes de plataforma y específicos de plataforma para desarrollar software, mientras que MDE busca elevar el nivel de abstracción y automatización mediante el uso de modelos en diferentes niveles. El documento también compara estas metodologías y discute sus objetivos, métodos y herramientas.
Este documento presenta la implementación de una solución tecnológica para el control del transporte de mercancías. Se desarrolló un sistema basado en Java y MySQL que utiliza el patrón MVC y DAO para gestionar la información de clientes, mercancías, empleados y transporte. El sistema consta de módulos para puntos de control, informes y reportes de anomalías, con el fin de realizar el seguimiento de las mercancías.
Este documento presenta la arquitectura de un sistema llamado "Control de Vocales" desarrollado para la Universidad de Literatura Abierta. Describe los componentes del sistema, incluyendo la interfaz de usuario, componentes lógicos y de almacenamiento de datos. Incluye diagramas de casos de uso, paquetes, clases y despliegue para representar la arquitectura. El sistema usa un patrón MVC y tiene como objetivos proporcionar alta disponibilidad, bajo acoplamiento y seguridad.
Este documento contiene las preguntas y respuestas de un examen sobre desarrollo de aplicaciones Android y bases de datos. Se definen conceptos como layouts, controles de interfaz como botones y etiquetas de texto, y la estructura básica de carpetas de un proyecto Android como /res y /src. También se explican temas sobre menús, fragments, widgets y el uso de SQLite para almacenar datos en una aplicación Android.
Rational Rose es una herramienta de diseño orientada a objetos, que da soporte al modelado visual, es decir, que permite representar gráficamente el sistema, permitiendo hacer énfasis en los detalles más importantes, centrándose en los casos de uso y enfocándose hacia un software de mayor calidad, empleando un lenguaje estándar común que facilita la comunicación.
Presentación power point relational roseengelstalin
Rational Rose es una herramienta de modelado visual que utiliza UML para especificar, analizar y diseñar sistemas de software antes de la codificación. Permite crear cuatro tipos de modelos (estático, dinámico, lógico y físico) para representar complemente el dominio del problema y el sistema de software. Ofrece características como desarrollo iterativo, trabajo en grupo, generación de código y documentación e ingeniería inversa.
La guía de aprendizaje presenta actividades relacionadas con el análisis de requerimientos y el desarrollo de diagramas como casos de uso y diagramas de requerimientos funcionales para el proyecto SOFTPYME - INVENTARIO. Se explican conceptos clave como UML, diagramas de casos de uso y roles de actores. También se incluyen recursos y referencias bibliográficas para profundizar en el tema.
Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,Teoria del modelado de objetos modificado,
La guía de aprendizaje presenta actividades para analizar los requerimientos del sistema de información SOFTPYME - INVENTARIO a través de diagramas UML. Se inicia con la reflexión sobre los entregables del análisis y luego se describen actividades como crear diagramas de casos de uso, requerimientos funcionales, actividades y secuencia a partir del informe de requerimientos. Finalmente, se proveen recursos de apoyo como documentos sobre UML y metodologías de desarrollo de software.
Analisis y diseño de sistemas proceso unificado henriquez malla santiago albertoSantiago Henriquez
El documento describe el Proceso Unificado para el desarrollo de software. Se explica que el proceso está dirigido por los casos de uso, centrado en la arquitectura y es iterativo e incremental. Cada iteración produce una nueva versión del producto mediante cuatro fases: inicio, elaboración, construcción y transición. Los casos de uso guían todas las actividades como los requisitos, análisis, diseño, implementación y pruebas.
Arquitectura de Información + Proceso Unificado de DesarrolloPio.la
La relación de la Arquitectura de Información con el Proceso Unificado de Desarrollo (RUP) para una mejor eficiencia en el desarrollo de software. Basados en la experiencia de trabajo
El documento habla sobre la importancia del prototipado rápido de interfaces para validar requisitos con usuarios de forma temprana. Propone un proceso llamado "Inferencia" que permite incrementar la velocidad de prototipado sin aumentar el esfuerzo. Luego describe la metodología utilizada para crear modelos conceptuales usando diagramas UML y lenguajes formales, incluyendo modelos de objetos, dinámico, funcional y de presentación. Finalmente, detalla las fases de análisis, diseño y desarrollo de prototipos,
El documento describe el proceso de diseño de interfaces de usuario. Explica que el diseño de interfaz se centra en tres áreas: la interfaz entre componentes de software, entre software y otros sistemas, y entre humanos y computadoras. Luego detalla las etapas del proceso de diseño de interfaz, incluyendo el análisis de usuarios, tareas y entornos, diseño, implementación y validación de la interfaz. Finalmente, enfatiza tres principios clave para un diseño de interfaz efectivo: dar control al usuario, reducir la carga de memoria del
Este documento compara el Proceso Unificado y el Modelo en V para el desarrollo de software. Ambos métodos buscan regular el proceso de desarrollo a través de actividades ordenadas. El Proceso Unificado se basa en casos de uso iterativos guiados por la arquitectura, mientras que el Modelo en V separa el desarrollo de la verificación y validación a lo largo de cuatro niveles. El objetivo de ambos es minimizar riesgos y costos y garantizar la calidad del software.
Este documento compara el Proceso Unificado y el Modelo en V para el desarrollo de software. Ambos métodos buscan regular el proceso de desarrollo a través de actividades ordenadas. El Proceso Unificado se basa en casos de uso iterativos guiados por la arquitectura, mientras que el Modelo en V separa el desarrollo de la verificación y validación a lo largo de cuatro niveles. El objetivo de ambos es minimizar riesgos y costos y garantizar la calidad del software.
Emilio granizo proceso unificado y modelo vVivitaGranizo
Este documento compara el Proceso Unificado y el Modelo en V para el desarrollo de software. Ambos métodos buscan regular el proceso de desarrollo a través de actividades ordenadas. El Proceso Unificado se basa en casos de uso y es iterativo e incremental, mientras que el Modelo en V separa el desarrollo de la verificación y validación a lo largo de su ciclo de vida.
Este documento compara el Proceso Unificado y el Modelo en V para el desarrollo de software. Ambos métodos buscan regular el proceso de desarrollo a través de actividades ordenadas. El Proceso Unificado es iterativo e incremental, guiado por casos de uso y centrado en la arquitectura. El Modelo en V representa las fases de desarrollo y verificación/validación de forma paralela en forma de V.
El documento clasifica y describe diferentes tipos de software. Identifica software de sistema, software de programación, y software de aplicación. También describe varios modelos de procesos o ciclos de vida de desarrollo de software como el modelo cascada, modelos evolutivos, modelo iterativo incremental, y modelo espiral. Por último, explica las fases de diseño del sistema, codificación del software, y mantenimiento.
El documento describe el Proceso Unificado para el desarrollo de software. Este proceso es simple, basado en componentes de software interconectados a través de interfaces. Utiliza UML para los diagramas y es iterativo e incremental, dividiendo el proyecto en pequeñas iteraciones. Cada iteración identifica casos de uso clave y desarrolla la arquitectura correspondiente a través de distintas fases hasta entregar una versión del producto.
El documento describe el Proceso Unificado Racional (PU), un marco de trabajo para el desarrollo de software. El PU es dirigido por casos de uso, centrado en la arquitectura e iterativo e incremental. Los casos de uso guían el desarrollo y la arquitectura, la cual evoluciona a lo largo de iteraciones para entregar incrementos del producto. El PU consta de ciclos con fases de inicio, elaboración, construcción y transición para desarrollar versiones del producto.
El documento introduce el Proceso Unificado de Rational (RUP), describiendo que es un proceso iterativo, centrado en la arquitectura y dirigido por los casos de uso. Explica que el RUP es configurable, soporta técnicas orientadas a objetos y promueve un control de calidad y gestión de riesgos continuos. También presenta los conceptos clave de ciclo de vida del software, modelo de desarrollo, fases y flujos de trabajo del RUP.
El desarrollo de un programa o de un conjunto de aplicaciones se basa en un c...Gabriel Méndez
El desarrollo de software sigue un ciclo de vida con fases secuenciales de análisis, diseño, codificación, implementación y mantenimiento. La fase de análisis establece los requisitos del producto a desarrollar mediante comunicación con los usuarios. La fase de diseño define una solución óptima considerando los recursos del sistema. La fase de codificación traduce el diseño a un lenguaje de programación y prueba la calidad y estabilidad del programa.
El documento describe un proceso iterativo para el desarrollo de prototipos que permite la validación temprana de requisitos con los usuarios. Este proceso involucra la identificación inicial de requisitos, la construcción de un prototipo funcional, pruebas y evaluación del prototipo por los usuarios, y iteraciones continuas para mejorar el prototipo basado en comentarios de los usuarios.
Este documento presenta Microsoft Robotics Developer Studio (MRDS), una herramienta de software gratuita para el diseño, simulación e implementación de plataformas robóticas. Describe los cinco componentes principales de MRDS, incluido el marco de concurrencia y coordinación, los servicios descentralizados de software, el lenguaje de programación visual y el entorno de simulación visual. Luego, detalla el hardware utilizado, incluido el kit Lego Mindstorms NXT, y muestra los resultados obtenidos al implementar una aplicación robótica controlada por USB que
El documento describe el proceso de prototipado rápido de interfaces de usuario. Explica que es importante realizar prototipos a lo largo del diseño de la interfaz para identificar problemas del usuario e implementar mejoras. También destaca que los prototipos permiten validar los requisitos del usuario y que las empresas pueden realizar pruebas antes de implementar un sistema. Finalmente, resume los pasos clave del proceso como la identificación de requisitos, el desarrollo iterativo del prototipo con usuarios y las revisiones para implementar mejoras.
Este documento presenta los temas de la Unidad 2 de Arquitectura de Software, incluyendo diseño arquitectónico, pruebas y mantenimiento de software, y confiabilidad y seguridad. Explica conceptos como vistas arquitectónicas, patrones como cliente-servidor y MVC, y tipos de mantenimiento de software como reparación de fallas y adición de funcionalidad.
U.T.N. - F.R.T. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad V. Diseño de Interfaces. El Proceso de Diseño de Interfaces del Usuario. Roger Pressman
El documento describe diferentes modelos de procesos para el desarrollo de software, incluyendo el modelo en espiral, incremental, de ciclo de vida y Proceso Unificado. Explica que el Proceso Unificado es un enfoque iterativo e incremental basado en casos de uso que evoluciona la arquitectura y funcionalidad del sistema a través de iteraciones sucesivas.
Dierencia entre la ingeniería de software y la arquitectura de softwareEnrique Torres Alarcon
La ingeniería de software estudia los principios y metodologías de desarrollo de software, mientras que la arquitectura de software se refiere específicamente al diseño de la estructura y organización de un programa. La ingeniería de software incluye procesos como los requisitos, diseño, implementación y pruebas, dentro de los cuales se encuentra la arquitectura de software. El análisis de ingeniería de software evalúa aspectos como la calidad y el proceso, mientras que el análisis de arquitectura de software se enfoca
Encuentra ese factor X que te haga mejorar como SEO #SOB24ssuser82c1d6
Llámalo X es una relfexión sobre ser mejores SEOs y enfocarnos a entender los problemas antes de decidir cuáles son las posibles soluciones para abordar.
Llámalo X pretende sensibilizar sobre la responsabilidad que tenemos comos SEOs de analizar mejor y de pasar más tiempo pensando en problemas y soluciones, más que en limpiando o procesando datos
Para mi el factor X ha sido Xpath, ¿cuál crees que puede ser tu factor X para mejorar?
1. VRU: Un método para validar requisitos y generar
interfaces de usuario multiplataforma
Juan Sánchez1
, Jorge Belenguer1
, Pablo Belenguer2
, David Pascual2
Departamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Valencia – España
1
{jsanchez, jorbefa}@dsic.upv.es;
2
{pabbefa, dapasser}@inf.upv.es
Resumen. En el artículo se presenta un método de desarrollo de software que
permite por una parte validar requisitos de usuario mediante prototipación
automática y por otra generar interfaces de usuario. La generación de las
interfaces utiliza como lenguaje intermedio el lenguaje de marcado UIML. Una
interfaz en UIML puede ser traducida a diversas plataformas, lenguajes y
sistemas operativos. El método es consistente con cualquier método de
producción de software que utilice una capa de casos de uso y alguna variante
de los diagramas de secuencia para mostrar las interacciones internas en el
sistema. La ventaja de la propuesta radica en la utilización de una única
definición de interfaz de usuario, que luego puede ser traducida y animada en
diversos entornos. Las interfaces, con pequeñas modificaciones, pueden formar
parte del producto software final.
1 Introducción
Con la proliferación de dispositivos móviles y con el incremento de las necesidades
de acceso a la información desde diversos puntos (Internet, redes locales, redes
locales inalámbricas, teléfonos móviles, etc.), una misma aplicación (o parte de su
funcionalidad) puede ser invocada desde un ordenador de escritorio, un ordenador
móvil, un asistente digital personal (PDA), o bien un teléfono con características
WAP. Los usuarios exigen el acceso, desde cualquier ubicación, a la información y
funcionalidad que poseen.
Los desarrolladores de las aplicaciones ahora también deben tener en cuenta qué
funcionalidad ha de ejecutarse y visualizarse sobre los diversos dispositivos que
pueden hacer uso de la aplicación. Si el proceso de construcción de la interfaz se
aborda manualmente, lo habitual es que se empleen diversos lenguajes para
programar la interfaz, siendo en el peor de los casos un lenguaje diferente por cada
tipo de dispositivo.
Otra cuestión, que nosotros relacionaremos en este trabajo con las interfaces
multiplataforma o multicanal, radica en el hecho de que la validación de los requisitos
de usuario se realice de forma apropiada. Cuando se concibe un sistema informático,
2. una de las etapas cruciales, por el efecto que tiene en el resto del ciclo de desarrollo,
reside en captar y mostrar de modo apropiado los requisitos de usuario. Esta actividad
recibe el nombre de Ingeniería de Requisitos, habiendo sido reconocida como crucial
([15], [4]) dentro del proceso de desarrollo.
La etapa de captura de requisitos se puede abordar utilizando técnicas de
escenarios. Un escenario se define como una descripción parcial del comportamiento
de un sistema en una situación particular [5]. Un proceso de ingeniería de requisitos,
basado en escenarios ([24]) posee dos tareas principales. En la primera, se genera una
especificación, a partir de los escenarios, para describir el comportamiento del
sistema. En la segunda, se validan éstos con el usuario, mediante simulación o
prototipación. Ambas tareas son difíciles de manejar si no están asistidas por alguna
herramienta automática o semiautomática.
Para abordar de un modo apropiado el proceso de captura y validación de
requisitos, consideramos que es necesario definir una aproximación metodológica que
permita derivar automáticamente interfaces a partir de requisitos de usuario. Por ello,
estamos interesados en la validación de escenarios mediante la generación automática
de prototipos de interfaces de usuario de la aplicación y la ejecución simbólica de los
mismos.
En este artículo se presenta la propuesta metodológica y la herramienta que le da
soporte, dentro del campo de la ingeniería de requisitos. La aproximación se basa en
el Lenguaje Unificado de Modelado (UML [18]), extendido con la introducción de
Message Sequence Charts1
(MSCs [13]) enriquecidos con información referente a la
interfaz de usuario. Dado que los MSCs se consideran una extensión de los diagramas
de secuencia de UML, añadiendo los correspondientes estereotipos, la propuesta
puede considerarse, desde el punto de vista notacional, consistente con UML.
El proceso es iterativo e incremental y permite derivar, como ya hemos comentado,
los prototipos de la aplicación. Además, se genera una especificación formal del
sistema que se representa mediante diagramas de transición entre estados. Estos
diagramas describen el comportamiento de los objetos de interfaz y de control
presentes en cada MSC. Una importante contribución del método es que genera de
forma automática un modelo de navegación entre formularios, basado en las
relaciones existentes, incluye y extiende, dentro del modelo de casos de uso. Esta
característica de navegación permite la utilización de los prototipos generados dentro
de entornos web.
En este artículo presentamos una extensión a nuestra propuesta inicial de
validación de requisitos de usuario mediante prototipación automática ([21], [22],
[23]) que utiliza una única definición de interfaz en el lenguaje de marcado UIML
(User Interface Markup Language [12]), a partir de la cual mediante un proceso de
traducción, se pueden crear y animar interfaces en diversos lenguajes y plataformas.
En el trabajo haremos mayor hincapié en los nuevos aspectos incluidos en la
propuesta: la utilización de UIML y la traducción de la interfaz al lenguaje destino.
El artículo está estructurado de la siguiente forma: la sección 2 contiene un
resumen de la propuesta de generación con el proceso que guía los diferentes pasos.
1 Utilizaremos indistintamente MSC ó diagrama de secuenciación de mensajes.
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 59
3. La sección tercera está dedicada a presentar los diagramas de secuenciación de
mensajes (MSCs), que juegan un rol determinante en el proceso de generación. En la
sección cuarta describimos las características principales de UIML, el lenguaje de
marcado que hemos seleccionado para almacenar definiciones de interfaces de
usuario. La sección quinta describe detalladamente el proceso de creación de la
interfaz en UIML y las actividades de traducción a la plataforma destino. En la
sección 6 se utiliza un caso de estudio para ilustrar el proceso de generación de la
interfaz. Por último la sección 7 contiene las conclusiones y los trabajos futuros.
2 El método de generación
En este apartado describiremos el método que permite generar por una parte una
especificación del comportamiento del sistema y por otra un conjunto de prototipos de
interfaz de usuario. Utilizaremos el acrónimo VRU (Validación de Requisitos de
Usuario) para referirnos al mismo. VRU puede integrarse dentro de cualquier método
de producción de software que utilice una capa de casos de uso para describir los
requisitos funcionales y alguna variante de los diagramas de secuencia para describir
las interacciones internas dentro del sistema.
VRU está formado por un componente proceso, una arquitectura de modelos y una
notación. El componente proceso describe mediante flujos de trabajo las distintas
fases del ciclo de desarrollo que cubre VRU, desde la verificación de requisitos hasta
la generación de las interfaces y la validación de los requisitos iniciales. El
componente de arquitectura de modelos refleja los artefactos o modelos a partir de los
cuales se genera la interfaz de usuario, así como sus dependencias y conexiones.
Finalmente, el componente de notación describe el perfil específico de UML que está
incluido dentro de VRU. En las siguientes secciones únicamente comentaremos el
proceso de VRU y los diagramas MSCs. Para obtener más detalles puede consultarse
([21]).
2.1 El proceso de VRU
El proceso de VRU define los pasos que implementan el método dentro de una
organización de desarrollo de software. Aunque el proceso cubre las fases iniciales de
desarrollo de software, puede extenderse fácilmente para hacerlo compatible con
cualquier método orientado a objetos, como por ejemplo el Proceso Unificado de
Desarrollo (USDP) de I. Jacobson ([14]).
La tabla 1 contiene los componentes principales de VRU, las fases del ciclo de
vida que cubre, los flujos de trabajo en cada fase, las actividades incluidas en los
mismos y el conjunto de entregables o artefactos que se generan en cada actividad. La
primera columna de la tabla contiene el nombre de las fases del ciclo de desarrollo
cubiertos por la propuesta: análisis y validación. La segunda, los flujos de trabajo que
gobiernan cada una de las etapas. En la tercera y cuarta se incluyen, respectivamente,
las actividades y los entregables.
60 WER 2002
4. Table 1. Flujos de trabajo, actividades y entregables de VRU.
Etapa del ciclo de
vida
Flujo de Trabajo Actividades de VRU Entregables
Análisis preeliminar Análisis Externo Interiorizar Proyecto Diccionario
Requisitos Informales
Crear perfil de
usuarios
Mapa de roles de
usuario
Elaborar ámbito
sistema
Modelo de dominio
Diagrama de contexto
Análisis detallado Análisis Funcional Crear modelo
funcional
Actores
Casos de Uso
Servicios Funcionales
Análisis Interno Modelización de
objetos
Diagrama de clases
Síntesis de casos de
uso
Diagramas MSC
Etiquetar MSCs Diagramas MSC
etiquetados
Generación Generar interfaz Modelo de
presentación
Generar dinámica Diagramas de
transición
Validación Animación Ejecución interfaz
La fase de análisis de requisitos, o análisis preeliminar de requisitos, supone el
arranque del proyecto. En esta etapa participan dos tipos de trabajadores o están
presentes dos roles. El primero, el experto en el dominio del problema, representa un
profesional con experiencia en las prácticas y en la terminología utilizada por la
organización para la cual se desarrollará el sistema. Se encarga de proporcionar la
entrada inicial al proceso de desarrollo: el documento inicial de requisitos. El
segundo, el ingeniero de requisitos, representa un profesional cuyo campo de
experiencia es la construcción de modelos de requisitos de acuerdo a la propuesta
descrita en este artículo. Debe ser capaz de analizar el documento informal de
requisitos y construir los modelos de análisis (explicados después).
Esta etapa comprende tres actividades secuenciales: interiorización del proyecto,
creación del perfil de los usuarios, y elaboración del ámbito del sistema. En la
actividad de interiorización del proyecto un experto del dominio del problema se
encarga de elaborar un documento textual, que contiene por una parte un diccionario
con la terminología del dominio, y por otra una descripción de alto nivel de la
funcionalidad o servicios que ofertará el futuro sistema (requisitos informales). Los
artefactos utilizados se engloban en el documento inicial de requisitos. Tanto el
diccionario como los requisitos informales deben estar elaborados en un lenguaje
comprensible tanto por los clientes/usuarios como por los desarrolladores. Esta
documentación textual no forma parte de ninguno de los modelos propuestos por
UML.
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 61
5. Los perfiles de usuario, o el modelo de roles de usuario, describe los roles que
juegan los usuarios cuando interactúan con el sistema para ejecutar la funcionalidad
contenida en él mismo. Este modelo está basado en la propuesta de mapa de roles de
usuario de Constantine y Lockwood ([6]), donde los roles representan tipos de
usuarios que muestran el mismo interés, comportamiento, responsabilidades y
expectativas en su relación con el sistema. Constantine define tres tipos de relaciones
entre roles: afinidad, clasificación y composición. Estas ideas manteniendo la
semántica original definida en “Usage-Centered Design”, las hemos representado
mediante los mecanismos de extensión de UML. Nuestro modelo de roles contiene
actores y tres relaciones estereotipadas: afinidad, herencia e inclusión.
La actividad elaborar ámbito del sistema pone en contexto al mismo dentro de la
organización en la cual se encontrará inmerso. Crea el modelo de dominio y el
diagrama de contexto. El modelo de dominio es similar al modelo de dominio
propuesto por I. Jacobson [14], que define de la siguiente forma: “el modelo de
dominio representa los tipos de objetos más importantes dentro del contexto del
sistema. Los objetos del dominio representan entidades o cosas que existen en el
entorno en el cual operará el sistema”. El diagrama de contexto define el ámbito del
sistema (qué queda fuera y qué queda dentro del mismo), similar a los diagramas de
contexto de E. Yourdon aunque con la notación del modelo de casos de uso de UML.
El objetivo de la fase de análisis detallado es rescribir el documento de requisitos
inicial bajo la forma de modelos gráficos y textuales consistentes con UML. La fase
de análisis detallado de requisitos crea, a partir de los modelos generados en la fase de
análisis preeliminar, una especificación de requisitos del sistema. Ésta está gobernada
por los siguientes flujos de trabajo: análisis funcional, análisis interno y generación.
El flujo de trabajo de análisis funcional es similar al propuesto por USDP con la
salvedad de que no se crea manualmente un prototipo de la interfaz de usuario y de
que se introduce un modelo adicional, la descomposición de servicios funcionales del
sistema (macro servicios, que explicaremos a continuación).
La figura 1 contiene el flujo de trabajo funcional de VRU, en USDP este flujo
recibe el nombre de flujo de trabajo de requisitos. Con respecto a los artefactos
generados (óvalos inferiores de la figura), según lo comentado anteriormente, son
similares a los propuestos por UML. El modelo de actores contiene tanto roles como
los actores no humanos. Existen tres modelos, dos gráficos y uno textual, para reflejar
los requisitos funcionales del sistema: el diagrama de casos de uso, la descripción de
cada caso y el modelo estructurado. La descripción de casos de uso contiene
plantillas textuales que muestran la comunicación actor-sistema. El diagrama de casos
de uso refleja gráficamente los actores y los distintos casos; mientras que el modelo
estructurado contiene las relaciones estereotipadas de UML: <<include>>,
<<extend>> y <<generalization>> entre los diversos casos de uso.
62 WER 2002
6. Fig. 1. Flujo de trabajo de VRU.
El concepto de macro servicio permite descomponer jerárquicamente el modelo de
casos de uso. Para ello definimos un servicio del sistema, o caso de uso elemental,
como la unidad básica de funcionalidad que puede invocar o utilizar un actor externo
del sistema. Mientras que un macro servicio del sistema, o un caso de uso de alto
nivel, contiene una agrupación jerárquica de servicios. Estos servicios pueden ser a su
vez elementales o macro servicios. El modelo de casos de uso puede dividirse
considerando los diversos tipos de usuarios y las necesidades de éstos con respecto al
sistema. Podemos tener usuarios que utilicen frecuentemente las funciones ofertadas
por el sistema; otros pueden utilizar el sistema ocasionalmente, mientras que una
tercera clase de usuarios pueden encargarse de administrarlo. La aproximación
basada en grupos de usuarios ([16]) utiliza los grupos de usuarios, representados en
el modelo de actores, como criterio de agrupación y descomposición de los casos de
uso. También puede dividirse utilizando el concepto de situación de trabajo ([17]).
Ésta información será utilizada en el proceso de generación, para estructurar la
interfaz de usuario de la aplicación.
El segundo flujo de trabajo, dentro de la fase análisis detallado, recibe el nombre
de análisis interno y contiene las actividades llamadas modelización de objetos,
síntesis de casos de uso y etiquetado de diagramas MSCs. En la Figura 2 se muestra el
flujo de trabajo utilizando un diagrama de actividad de UML. Las dos actividades
principales son la actividad de modelización de objetos y la actividad de síntesis de
casos de uso. La primera crea un diagrama de clases del sistema, mientras que la
segunda describe las interacciones internas asociadas a los casos de uso, utilizando
diagramas MSCs. Éstos diagramas se enriquecen con información referente a la
interfaz de usuario.
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 63
7. Fig. 2. Flujo de trabajo análisis interno.
El flujo de trabajo de generación contiene dos actividades automáticas que se
realizan en paralelo: la generación del modelo de presentación y la generación del
comportamiento dinámico del sistema. El primero será descrito en detalle en las
siguientes secciones, ya que implica introducir una nueva arquitectura para la interfaz
de usuario. El segundo genera un diagrama de transición entre estados para las
instancias incluidas en los diagramas MSCs.
64 WER 2002
8. Fig. 3. Notación incluida en los diagramas MSCs.
3 Diagramas de secuenciación de mensajes (MSCs)
Los MSC se emplean ampliamente dentro del campo de las telecomunicaciones para
describir el intercambio de información entre las instancias o procesos de un sistema.
La notación incluida en nuestra herramienta aparece reflejada en la Figura 3. Las
líneas verticales representan instancias de clases o actores del sistema, el paso de
mensajes o el intercambio de información se refleja en la forma de líneas
horizontales. Cada mensaje puede llevar asociado un conjunto de atributos. Éstos
pueden ser tipos básicos (enteros, reales, etc.) o tipos clase. Existe una notación
adicional que refleja: repetición de eventos, alternativa, excepciones, interrupciones y
condiciones que pueden reflejar el estado en el que se encuentra el sistema. Los MSC
se pueden descomponer jerárquicamente por niveles, de forma que en cada diagrama
el analista puede utilizar el nivel de abstracción que desee. Los diagramas MSC se
pueden enriquecer con información referente a la interfaz de usuario. Ésta
información está formada por etiquetas textuales que aparecerán literalmente en la
interfaz generada.
El tipo de los atributos de los mensajes determina durante el proceso de
generación, el componente gráfico (widget) que le corresponde en una interfaz de
usuario. Si el argumento es un tipo enumerado cuya talla es menor que 4, se le asocia
un conjunto de botones de selección. Por el contrario, si la talla es mayor que 4 le
corresponde una lista de selección. Los detalles de la equivalencia pueden obtenerse
en [22].
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 65
9. 4 User Interface Markup Language (UIML)
Aunque existen diversas propuestas para definir interfaces de usuario de forma
declarativa y universal (AUIML [3], IML [10], XIML [7],[19]) nosotros hemos
seleccionado UIML por ser un lenguaje no propietario, abierto y por la disponibilidad
de herramientas de desarrollo de terceros.
User Interface Markup Language ([1], [2]) es un lenguaje declarativo basado en
XML ([25]) que permite la descripción canónica de interfaces de usuario. Se trata, por
tanto, de un meta-lenguaje (o lenguaje extensible) de descripción de interfaces de
usuario genéricas que puede proyectarse sobre distintos lenguajes dependientes de
dispositivo como pueden ser HTML ([26]), JavaTM
([11]) ó WML ([28]).
Desde su génesis, UIML ha intentado mantener una separación natural entre la
interfaz de usuario y la lógica de aplicación, y es por esa razón por lo que las etiquetas
de UIML son independientes de cualquier metáfora de interfaz de usuario, de
cualquier plataforma2
destino o de cualquier lenguaje al que UIML pueda ser
proyectado3
.
Un documento UIML típico se compone de dos partes bien diferenciadas. La
primera parte es un prólogo que identifica la versión del lenguaje XML, la
codificación y la localización de la DTD UIML. La segunda parte es el elemento raíz
del documento, representado por medio de la etiqueta <uiml>. El elemento raíz
contiene a su vez cuatro subelementos opcionales: head, template, interface y peers.
El elemento cabecera head alberga metadatos acerca del documento. El elemento
template permite la reutilización de fragmentos de UIML. El elemento interface
describe la estructura por medio de los distintos parts que componen la interfaz. Por
último, peers define la proyección de las clases y etiquetas del documento UIML a
una herramienta de construcción de interfaces concreta.
En UIML, una interfaz de usuario es simplemente un conjunto de elementos,
denominados part (‘parte’ o ‘pieza’), con los que el usuario interactúa. Cada pieza de
la interfaz posee un contenido empleado para transmitir información al usuario (v.g.
textos, sonidos, imágenes).
UIML representa lógicamente la estructura de una interfaz de usuario como un
árbol de piezas que pueden tener asociado además de un contenido, un
comportamiento y un estilo. Éste árbol virtual es proyectado a una plataforma destino
de acuerdo con la especificación de la presentación oportuna y se comunica con la
lógica de aplicación mediante las definiciones de la lógica. El árbol puede ser
modificado de forma dinámica mediante la repetición, el borrado, la sustitución, o la
mezcla de subárboles en el árbol principal.
Todo documento UIML debe hacer uso de un vocabulario (de forma análoga a
XML, el cual requiere de una DTD). El vocabulario establece un conjunto lícito de
2 A partir de ahora, el término ‘plataforma’ se referirá a la combinación de dispositivo, sistema
operativo y lenguaje de programación de alto nivel (toolkit).
3 El vocablo anglosajón ‘render’ se utiliza para referirnos al proceso de traducir un documento a
una forma en la que pueda ser visualizado y con la que el usuario pueda interactuar. Ésta
palabra ha sido traducida al castellano como ‘proyectar’.
66 WER 2002
10. clases de piezas y de propiedades de clases, y puede comprender desde una única
plataforma hasta una familia completa plataformas. En el momento de escribir este
artículo, la lista de glosarios estándar disponibles se podía encontrar en [27].
Un vocabulario UIML genérico ([8]) puede describir cualquier interfaz de usuario
en cualquier plataforma de su familia. Sin embargo, un glosario genérico no es útil sin
el correspondiente conjunto de transformaciones que permitan convertir la interfaz de
usuario desde el plano abstracto a una implementación particular.
En la Figura 4 puede observarse un ejemplo de documento UIML en el que se ha
hecho uso de un vocabulario genérico. En la ilustración también puede verse la
interfaz de usuario que resultaría tras su proyección en Windows. El proceso de
generación de interfaces de usuario multiplataforma mediante UIML, así como una
descripción del marco de trabajo puede consultarse en [9].
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE uiml PUBLIC "-//Harmonia//DTD UIML 3.0 Draft//EN" "UIML3_0a.dtd">
<uiml>
<interface id="Autentificación">
<structure>
<part id="gtc_Autentificación" class="GTopContainer">
<style> <property name="title">Autentificación</property> </style>
<part id="ga_MainArea" class="GArea">
<part id="gl_Usuario" class="GLabel"
<style> <property name="text">Usuario</property> </style>
<part/>
<part id="gsltr_Usuario" class="GSLTextRegion" />
<part/>
<part id="gl_Contraseña" class="GLabel" />
<style> <property name="text">Contraseña</property> </style>
<part/>
<part id="gsltr_Contraseña" class="GSLTextRegion" />
<part/>
</part>
<part id="ga_ButtonsArea" class="GArea">
<part id="gb_Aceptar" class="GButton">
<style> <property name="text">Aceptar</property> </style>
</part>
<part id="gb_Cancelar" class="GButton" />
<style> <property name="text">Cancelar</property> </style>
</part>
</part>
</part>
<structure>
</interface>
</uiml>
Fig. 4. Ejemplo de documento UIML genérico.
Todo lo expuesto hasta el momento hace que UIML se perfile como un lenguaje
idóneo para crear interfaces de usuario dinámicas, multiplataforma, multimodales y
multilingües, siempre y cuando se utilice un vocabulario lo suficientemente universal.
5 Uso de UIML en el proceso de generación de interfaces de
usuario
El objetivo de este trabajo ha sido poder definir una interfaz que sea independiente del
dispositivo, de la plataforma y del sistema operativo en la cual será visualizada,
construida o proyectada. Para ello se ha hecho uso del lenguaje UIML, permitiendo
así la definición genérica y abstracta de las interfaces. Éste lenguaje ha sido integrado
dentro de nuestra propuesta, de modo que el proceso de generación de interfaces de
usuario producirá, en un primer estadio, un conjunto de especificaciones UIML
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 67
11. genéricas, y en última instancia, éstas serán traducidas a uno o más lenguajes de
programación de alto nivel. Este hecho permite representar la interfaz de usuario
sobre distintas plataformas, evitando la necesidad de modificar su definición según el
sistema destino seleccionado. De este modo, el diseñador podrá realizar
personalizaciones o ajustes sobre la definición de interfaz UIML a un alto nivel de
abstracción, propagándose los cambios realizados hasta los lenguajes de
programación destino. Todo ello redundará en una reducción considerable del tiempo
y del esfuerzo requerido para el desarrollo de aplicaciones multiplataforma, así como
facilitará futuros mantenimientos de las mismas, sin olvidar que se mantiene la
consistencia entre capas.
5.1 Generación de la Interfaz de Usuario
La fase de generación de la interfaz dentro de VRU (véase tabla 1), emplea los
constructores situados en los MSC para generar el modelo de presentación. Éste está
formado por: un modelo de vistas por actor que muestra la funcionalidad que puede
activar cada actor del modelo de casos de uso, un formulario por caso de uso, y
finalmente un modelo de navegación que contiene los formularios y el orden en que
se pueden activar.
Los diagramas de secuenciación de mensajes (MSC) se utilizan como entrada a la
etapa de generación de la interfaz de usuario, la cual se descompone en 3 etapas
secuenciales (Figura 5). La arquitectura de generación de interfaz que presentamos a
continuación permite añadir nuevas plataformas destino de un modo sencillo y nada
traumático. También permite la reutilización de renders de terceras personas, así
como la utilización de herramientas de autor que posibiliten modificar la definición en
UIML.
UIML
Interfaz de usuario
dependiente de la
plataforma destino
HTML ó
JAVA ó
etc…
UIML
Interfaz de usuario
independiente de
la plataforma
destino
XML
Dependencias
semánticas de los
componentes de la
interfaz
XML
Configuración de la
disposición de los
controles para la
plataforma destino
UIML
Vocabulario
específico de la
plataforma destino
Repositorio
MSC
Fig. 5. Generación de la Interfaz de Usuario.
68 WER 2002
12. Hay que indicar que todas las actividades contenidas en la figura anterior, desde la
1 hasta la 3, son actividades automáticas. El analista únicamente debe seleccionar el
MSC que describe formalmente un caso de uso y el lenguaje destino para la
generación.
5.1.1 Cohesión semántica entre controles
Un documento UIML contiene la jerarquía de elementos que participan en la
interfaz, donde para cada uno de éstos elementos se puede describir una serie de
propiedades básicas como puede ser el texto informativo, la visibilidad o la
habilitación/inhabilitación de los mismos. Sin embargo, al margen de lo que es
meramente la interacción con el usuario, hay cierta información semántica que escapa
del ámbito de UIML.
La información de la que hablamos es la cohesión semántica entre controles, o
dependencia semántica entre controles, que tiene como objetivo la agrupación de los
controles en unidades funcionales. De este modo, catalogaremos una cohesión
semántica de acuerdo a la siguiente categorización: fuerte, intermedia y débil.
Una cohesión fuerte indica la necesidad de que dos o más elementos de la interfaz
queden fuertemente ligados, de forma que sea cual fuere la traducción de dichos
elementos, no se les separe en distintas unidades. La cohesión fuerte debe emplearse
para exigir que pares de elementos del tipo etiqueta-valor permanezcan juntos en una
interfaz (v.g. una caja de texto puede requerir de una etiqueta informativa para
informar al usuario sobre el valor solicitado).
Por el contrario, una cohesión intermedia indica que un conjunto de elementos
presenta un contexto semántico común, como puede ser el caso de varios grupos de
pares etiqueta-valor que solicitan nombre, DNI y dirección para crear una instancia de
trabajador. En ese caso, el traductor intentará que dichos elementos pertenezcan a la
misma unidad funcional, pero en caso de no ser posible por restricciones de espacio,
se separarían en unidades distintas. Este tipo de cohesión se asume como propiedad
intrínseca a los elementos de agrupación (como pueden ser los marcos o grupos de
controles).
El tercer tipo de cohesión, la cohesión débil, se emplea para relacionar las diversas
partes de un mismo caso de uso, de manera que todos los elementos incluidos en el
mismo participan en fases de la misma acción. Sin embargo, este tipo de enlace no se
explicita sino que se presupone en cada interfaz dado que la utilización de una
interfaz conlleva la funcionalidad de la cohesión débil.
Nuestra cohesión semántica actúa como un contenedor de elementos de interfaz.
Pero no sólo puede contener elementos de interfaz sino también otras cohesiones,
siempre y cuando se cumplan las siguientes reglas de anidamiento: una cohesión
fuerte sólo puede contener elementos de interfaz; una cohesión intermedia puede
contener tanto elementos de interfaz como otras cohesiones, siempre y cuando éstas
sean fuertes o intermedias; y una cohesión débil puede contener tanto elementos de
interfaz como otras cohesiones, excepción hecha de cohesiones débiles.
Cada documento UIML tendrá asociado un fichero, en formato XML y con una
gramática elaborada ex profeso para ello, que contendrá la cohesión semántica
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 69
13. existente entre los elementos de su interfaz. En la figura 6 puede observarse un
ejemplo del fichero en cuestión.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE cohesion PUBLIC "-//MSC//DTD Cohesion 1.0//EN" "Cohesion1_0a.dtd">
<cohesion>
<interface id="Autentificación">
<mlink>
<part id="gl_Autentificación" />
<mlink>
<hlink>
<part id="gl_Usuario" />
<part id="gsltr_Usuario" />
</hlink>
<hlink>
<part id="gl_Contraseña" />
<part id="gsltr_Contraseña" />
</hlink>
</mlink>
<mlink>
<part id="gb_Aceptar" />
<part id="gb_Cancelar” />
</mlink>
</mlink>
</interface>
</cohesion>
Fig. 6. Fichero de cohesión semántica asociado al ejemplo de la figura 4.
5.1.2 Etapa 1: Obtención de una especificación UIML genérica
La primera de las etapas (Figura 5) de la generación de interfaces de usuario
consiste en construir de manera automática interfaces software de usuario, de modo
que éstas sean independientes de plataforma. Por esa razón, las interfaces serán
expresadas mediante UIML y un vocabulario genérico. El proceso consistirá en
recorrer el repositorio de MSCs e ir componiendo una interfaz por cada diagrama
MSC. Como resultado de esta etapa se obtendrán tantos documentos UIML (en su
forma canónica [12]) como MSCs existan, así como un fichero de cohesión semántica
por cada uno de los documentos UIML.
5.1.3 Etapa 2: Traducción de la especificación UIML genérica a una plataforma
concreta.
Éste paso consiste en concretizar las interfaces genéricas para la plataforma destino
y tiene como entradas los documentos obtenidos en la etapa anterior (que
corresponden a las interfaces UIML y a su cohesión semántica) y un vocabulario
específico para la plataforma destino. Adicionalmente, para que las interfaces de
usuario a generar posean la suficiente calidad estética, también se hace uso de una
librería que se encargará de ubicar los elementos en la interfaz y de un fichero de
configuración con detalles gráficos de los elementos concretos. El contenido de este
último fichero estará descrito mediante XML y empleará una DTD específica a tal
efecto.
La consecuencia de esta segunda etapa es la conversión del conjunto de interfaces
UIML a una nueva representación concorde con el vocabulario específico. Así, los
documentos resultantes estarán descritos en términos del lenguaje de programación de
70 WER 2002
14. alto nivel y en ellos estarán definidas todas las propiedades de cada uno de los widgets
(desde la ubicación hasta el tamaño, incluyendo el color, etc.).
5.1.4 Etapa 3: Generación del código fuente del lenguaje de programación de
alto nivel destino
En la última etapa de la generación, los documentos UIML específicos son
enviados al módulo render correspondiente, quién se encargará de la traducción a
código fuente del lenguaje de programación de alto nivel, pudiéndose compilar y
ejecutar a continuación. Hay que indicar que a pesar de poder utilizar renders de
terceras partes, en la herramienta se ha creado un vocabulario genérico propio
(adaptado a los diagramas MSCs) y se han programado cada uno de ellos.
6 Un escenario de ejemplo: Gestión de Congresos
El caso de estudio seleccionado es una versión más general del problema conocido
como “Conference Review System” distribuido en la conferencia OOPSLA de 1991.
Una solución propuesta por J. Rumbaugh puede consultarse en la columna de análisis
y diseño del Journal of Object Oriented Programming [20]. El propósito del sistema
es dar soporte a los procesos de envío, evaluación y selección de artículos, vía Web
para una conferencia o congreso. La interacción de los usuarios con el sistema se
podrá llevar a cabo mediante un navegador web o bien mediante un dispositivo PDA
conectado a un servidor central.
Por cuestiones de espacio únicamente trataremos parte de la funcionalidad asociada
al actor autor. Los autores pueden registrarse en la conferencia para enviar un artículo,
enviar un artículo, modificarlo, mandar la versión definitiva e inscribirse en la
conferencia. La Figura 7 contiene, por una parte, los tres macro servicios que puede
activar el autor y, por otra, los casos de uso incluidos en gestión de envíos.
La descomposición de macro servicios o la agrupación de casos de uso, permite
obtener automáticamente una estructura de menú para cada actor del sistema (modelo
de vistas). A cada macro servicio le corresponde un botón de activación o una entrada
de menú en un formulario, en el lenguaje destino.
Fig. 7. Vista del actor sobre el modelo de Gestión de Congresos.
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 71
15. La Figura 8 muestra un ejemplo de las pantallas que simulan la navegación sobre
las opciones que puede activar el actor autor. Para cada macro servicio se ha generado
automáticamente un botón sobre el formulario de la Figura 8. Los botones incluidos
en el formulario “Envío de artículos” activan cada uno de los casos de uso
pertenecientes al macro servicio “gestión envío”: registrarse, enviar artículo y
modificar artículo. El caso “identificar autor” no puede activarse directamente, su
activación forma parte de la activación de enviar artículo y modificar artículo.
Fig. 8. Estructuración de las opciones del menú.
Para obtener el prototipo de la interfaz de usuario es necesario describir cada uno
de los casos de uso, mediante un diagrama MSC. La Figura 9 muestra el diagrama de
identificación en el sistema. Este caso de uso es utilizado (<<included>>) por los
casos enviar artículo y modificar artículo.
Fig. 9. MSC para identificación de autor.
La Figura 9 muestra las interacciones internas que se producen en el sistema
cuando un autor debe identificarse en el mismo. La primera línea vertical representa
72 WER 2002
16. al actor primario del caso de uso (en este caso el autor), en cada MSC situamos un
objeto de interfaz (I.U.) y un objeto de control (O.C), la cuarta línea vertical
representa una instancia de Autor_Registrado. El diagrama contiene la etiqueta
“Identificación Autor” que luego se utilizará en la interfaz generada. El MSC contiene
los dos escenarios posibles incluidos en el caso de uso, representados por un
rectángulo con la etiqueta “V”, que el autor esté registrado o que no esté. Para este
caso de uso se genera automáticamente, a partir de la información contenida en el
MSC, una definición de interfaz en UIML. Seleccionando como lenguaje destino
HTML y eMbedded Visual Basic, el proceso de renderización genera los formularios
de la Figura 10.
Fig. 10. Apariencia en HTML y eVB de la pantalla de identificación del autor.
El último componente del modelo de presentación, es el modelo de navegación,
que habilita la navegación desde un formulario a otro de la aplicación. Para el macro
servicio gestión de envíos la única navegación posible se da entre los casos de uso que
utilizan a “identificación”. Esto se simula en tiempo de ejecución con un botón que
permite pasar de un formulario a otro.
7 Conclusiones
En el artículo se ha presentado una extensión multiplataforma a un proceso de
validación de requisitos de usuario, mediante la prototipación automática de interfaces
de usuario. La utilización de un lenguaje declarativo como UIML para almacenar las
definiciones de interfaz de usuario, permite que las mismas sean independientes de la
plataforma destino. Además de crear un vocabulario genérico, que cubre aquellos
aspectos propios de la información de interfaz que puede incluirse en un diagrama
MSC, se han utilizado ficheros de configuración en XML para ubicar los controles
sobre la plataforma destino. La utilización de los distintos tipos de cohesión entre los
componentes de la interfaz permite una ubicación conveniente de los controles. El
proceso de proyección se encuentra parametrizado por estos archivos. Cambiando los
archivos de configuración se puede modificar la apariencia de las interfaces
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 73
17. generadas. La arquitectura de generación permite la inclusión de futuras plataformas,
sencillamente codificando un nuevo render.
En la actualidad nos encontramos estudiando la posibilidad de construir una
herramienta de autor para UIML. Ésta herramienta permitiría modificar los
componentes o partes de una definición en UIML con el objetivo de mejorar el
proceso de proyección.
Referencias
1. Marc Abrams, Constantinos Phanouriou, Alan L. Batongbacal, Stephen M. Williams,
Jonathan E. Shuster; “UIML: An Appliance-Independent XML User Interface Language”;
En actas de 8th
International World Wide Web Conference (Toronto, Canada, Mayo 1999).
Elsevier Science Publishers, Amsterdam (1999), pp. 1695-1708.
2. Marc Abrams, Constantinos Phanouriou; “UIML: An XML Language for Building Device-
Independent User Interfaces”; En actas de XML’99 (Philadelphia, December 1999).
Elsevier Science Publishers, Amsterdam (1999).
3. Pedro Azevedo, Roland Merrick, Dave Roberts, “OVID to AUIML – User-Oriented
Interface Modelling”, En actas de Towards a UML Profile for Interactive System
Development (TUPIS 2000) Workshop (York, UK, Octubre 2000).
4. Dennis W. Bennett; “Designing Hard Software: The Essential Tasks”; Manning
Publications co, (1997).
5. Kevin Benner, Martin S. Feather, W.Lewis Johnson; “Utilizing Scenarios in the Software
Development Process”. En Information System Development Process, pp 117-134. Elsevier
Science Publisher, (1993). Editores: N. Prakash, C. Rolland, y B. Percini.
6. Larry L. Constantine, Lucy A.D. Lockwood; “Software for Use: A practical Guide to the
Models and Methods of Usage-Centered Design”; Addison Wesley (1999).
7. “eXtensible Interface Markup Language (XIML) Forum”, http://www.ximl.org.
8. Mir Farooq Ali, Marc Abrams; “Simplifiyng Construction of Multi-Plataform User
Interfaces Using UIML”; En actas de UIML’2001 (Paris, France, Marzo 2001).
9. Mir Farooq Ali, Manuel A. Pérez-Quiñones, Marc Abrahams; “A Multi-Step Process for
Generating Multi-Plataform User Interfaces using UIML”; Technical Report
cs.HC/0111025, Computing Research Repository, (2001).
10. Karl M. Göschka, Robert. Smeikal; “Interaction Markup Language - An Open Interface for
Device Independent Interaction with E-Commerce Applications”; En actas de 34th
Hawaii
International Conference on Systems Sciences 2001 – HIICSS 34. IEEE Computer Society
(Maui, Hawaii, Enero 2001).
11. James Gosling, Bill Joy, Guy Steele, Gilad Bracha; “The Java Language Specification,
Second Edition”; http://java.sun.com/docs/books/jls/.
12. Harmonia Inc.; “UIML v3.0 Draft Specification”, (Febrero 2002). Disponible a través de:
http://www.uiml.org/specs/uiml3/DraftSpec.htm.
13. ITU: Recommendation Z. 120: Message Sequence Chart (MSC). ITU, Geneva, 1996.
14. Ivar Jacobson, Grady Booch, James Rumbaugh; “The Unified Software Development
Process”; Addison-Wesley (1999).
15. Gerald Kotonya, Ian Sommerville; “Requirements Engineering: Process and Techniques”;
John Wiley & Sons. (1998).
16. Geoff Lee; “Object-Oriented GUI Application Development”; Prentice Hall (1993).
17. Magnus Lif; “User Inteface Modelling- Adding Usability to Use Cases”; International
Journal of Human-Computer Studies 50(3). March 1999: 243-262.
18. Object Management Group. UML Versión 1.4. Documento 01-09-67. Encontrado en
http://www.omg.org.
74 WER 2002
18. 19. Angel Puerta, Jacob Eisenstein; “XIML: A Universal Language for User Interfaces”, 2002
Conference on Intelligent User Interfaces – IUI 2002 (San Francisco, California, Enero
2002).
20. James Rumbaugh; “Onwoard to OOPSLA”; Journal of Object Oriented Programming, 5(4):
20-24, (Julio/Agosto 1992).
21. Juan Sánchez Díaz; “Validación de requisitos de usuario mediante prototipación y técnicas
de transformación de modelos”; Tesis doctoral, Universidad Politécnica de Valencia,
Departamento de Sistemas Informáticos y Computación (Noviembre 2002).
22. Juan Sánchez; Juan J. Fons; Óscar Pastor; “From user requirements to user interfaces: a
methodological approach”. CAISE 2001. (Interlaken, Suiza Junio 2001).
23. Juan Sánchez, Óscar Pastor, Jorge Belenguer; “Generación automática de prototipos de
interfaz de usuario a partir de modelos de requisitos”; VI Jornadas de Ingeniería del
Software y Bases de Datos (Almagro, España, Noviembre 2001).
24. Stéphane S. Somé, Rachida Dssouli, Jean Vaucher; "Toward an Automation of
Requirements Engineering using Scenarios"; Journal of Computing and Information, vol.
2,1, (1996), pp 1110-1132.
25. “eXtensible Markup Language (XML) 1.0”; World Wide Web Consortium
Recommendation (Agosto 1998), http://www.w3.org/XML/
26. “HTML 4.01 Specification”; World Wide Web Consortium Recommendation (Diciembre
1999), http://www.w3.org/TR/html401/
27. User Interface Markup Language (UIML) Web, http://www.uiml.org.
28. WAP Forum; “Wireless Markup Language (WML) version 2 Specification”; (Septiembre
2001), http://www1.wapforum.org/tech/documents/WAP-238-WML-20010911-a.pdf
VRU: Un Método para Validar Requisitos y Generar Interfaces de Usuario 75