5.4 Domain Generalization
5.4.2 Domain-Invariant Component Analysis
Para el diseño del sistema de telerrehabilitación cognitiva, al ser una aplicación software, podrá emplearse la metodología conocida como Proceso Unificado (UP) [Ingsoft05], que proporciona los lineamientos y estrategias para desarrollar un sistema software de calidad que pueda convertirse en una alternativa viable para la rehabilitación cognitiva de pacientes con daño cerebral adquirido.
UP es un marco de desarrollo de software adaptable basado en los requisitos del usuario final para desarrollar el sistema de software; y caracterizado por ser iterativo e incremental, estar dirigido por casos de uso y centrado en la arquitectura.
Iterativo e incremental: Durante todo del proyecto se ejecutan varias iteraciones dentro de cada una de las cuatro fases que este posee. Estas iteraciones ofrecen como resultado un incremento del producto desarrollado, que añade o mejora las funcionalidades del sistema en desarrollo, a la vez que reduce los riesgos ya que la arquitectura es producida, modificada y validada en cada iteración.
Capítulo III. Plataforma de tele-neurorrehabilitación cognitiva
51
Dirigido por casos de uso: Basado en casos de uso para desarrollar una serie de modelos de diseño e implementación, validados para que sean conformes a los casos de uso. Finalmente, los casos de uso también sirven para realizar las pruebas sobre los componentes desarrollados.
Centrado en la arquitectura: Describe una arquitectura de software mediante diferentes vistas en las cuales se incluyen los aspectos estáticos y dinámicos más significativos del sistema.
Así mismo, UP propone un modelo de sistema basado en componentes, estando el software en construcción formado por varios componentes de software conectados entre sí a través de interfaces bien definidas. Dichos componentes y sus conexiones estarán plasmados en distintos diagramas de modelado del sistema.
3.3.5.MODELADO UML
El modelado de sistemas consiste en simplificar la realidad compleja en un esquema teórico que facilite su comprensión y el estudio de su comportamiento. Este esquema o modelo describe a su vez la relación entre las diferentes entidades, procesos o atributos que conforman el sistema.
Mediante el modelado se realiza una abstracción de la complejidad del sistema que se va a analizar o diseñar, para posteriormente plasmar con una notación gráfica todas las partes esenciales del mismo en un modelo que un ser humano pueda entender, se lo conoce como modelado visual. En nuestro caso, para el modelado de las conexiones entre los distintos componentes del sistema, así como de los diferentes casos de uso, se ha empleado el Lenguaje de Modelado Unificado, UML [uml14].
UML nace de la necesidad de crear un lenguaje estandarizado con el cual representar gráficamente los modelos de los sistemas, y que puedan ser entendidos por varios diseñadores. Adicionalmente, responde a los requerimientos de una herramienta de apoyo en los procesos de análisis de un problema, con lo cual UML se ha convertido en ese estándar tan ansiado para representar y modelar la información con la que se trabaja en las fases de análisis y, especialmente, de diseño.
Al ser ante todo un lenguaje, proporciona un vocabulario y reglas para permitir una comunicación. En este caso, se centra en la representación gráfica de un sistema, permitiéndonos crear y leer modelos; sin embargo, no dice cómo crearlos. Esto último es el objetivo de las metodologías de desarrollo como UP.
UML provee todas las herramientas necesarias para realizar un modelado visual completo de sistemas complejos, independientemente del lenguaje de programación que se vaya a utilizar para implementarlo; sin embargo mejora su funcionamiento si se utiliza junto a lenguajes de programación orientados a objetos ya que los diversos componentes de los diagramas pueden pasar a ser directamente clases dentro del código de programación.
UML posee una notación gráfica muy expresiva que permite representar en mayor o menor medida todas las fases de un proyecto informático, desde el análisis con los casos de uso, el diseño con los diagramas de clases, objetos, secuencia, etc.; hasta la implementación y configuración con los diagramas de despliegue.
Posee numerosos objetivos, pudiéndose sintetizar sus funciones en:
Monitorización y optimización de terapias de tele-neurorrehabilitación cognitiva
52
Especificar: Permite especificar las características de un sistema antes de su construcción.
Construir: A partir de los modelos especificados, permite construir los sistemas diseñados.
Documentar: Los propios elementos gráficos sirven como documentación del sistema desarrollado, pudiendo servir para su futura revisión.
Aunque UML está pensado para modelar sistemas complejos con gran cantidad de software, el lenguaje es lo suficientemente expresivo como para modelar sistemas no informáticos como flujos de trabajo (workflows) en una empresa, el diseño de la estructura de una organización y, por supuesto, el diseño de hardware.
Un modelo UML está compuesto por tres clases de bloques de construcción:
Elementos: Abstracciones de cosas reales o ficticias (objetos, acciones, etc.).
Relaciones: Relacionan los elementos entre sí.
Diagramas: Colecciones de elementos con sus relaciones.
3.3.5.1.DIAGRAMAS UML
Un diagrama es la representación gráfica de un conjunto de elementos con sus relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar; por tanto, al tenerse varios tipos de diagramas se dispondrá de varias vistas de un mismo modelo.
UML, con el fin de ofrecer la posibilidad de visualizar desde varias perspectivas el sistema a modelar, ofrece una amplia variedad de diagramas, distinguiendo entre diagramas estáticos y dinámicos.
Diagramas estáticos
Representan la estructura estática del sistema. Los diagramas de Clases, Objetos, Componentes y Despliegue, se corresponden con diagramas estáticos.
Diagrama de Clases
Es el más común a la hora de describir el diseño de los sistemas orientados a objetos. Muestra un conjunto de clases, interfaces y sus relaciones.
Capítulo III. Plataforma de tele-neurorrehabilitación cognitiva
53
Figura 25. Diagrama de Clases. Posible solución "Venta de entradas en un cine". Clases globales, atributos y relaciones
Diagramas Dinámicos
Representan el comportamiento dinámico del sistema, perteneciendo a este tipo de diagramas los de Casos de Uso, Colaboración, Secuencia, Estados y Actividades. Los más comunes son los de casos de uso y secuencia, que se explicarán en mayor detalle.
Diagrama de Casos de Uso
Representan gráficamente los casos de uso que tiene un sistema. Se define un caso de uso como cada interacción supuesta con el sistema a desarrollar, donde se representan los requisitos funcionales; es decir, qué debe hacer un sistema y cómo.
Figura 26. Ejemplo de diagrama de casos de uso, donde se representan las actividades de cada rol de
Monitorización y optimización de terapias de tele-neurorrehabilitación cognitiva
54 Diagrama de Secuencia
Muestran la interacción de los objetos que componen un sistema de forma temporal.
Figura 27. Diagrama de Secuencia ejemplo de pedido a un restaurante