estudio de la relación entre arquitectura de software y usabilidad

Anuncio
ESTUDIO DE LA RELACIÓN ENTRE
ARQUITECTURA DE SOFTWARE Y USABILIDAD
El Proceso Unificado de Rational (RUP)
y su relación con las técnicas y métodos de la
ingeniería de usabilidad del software
Autor:
Directoras:
Pedro Hernández Valverde
Dra. Natalia Juristo Juzgado
Dra. Ana Mª Moreno–Sánchez Capuchino
RESUMEN
Durante más de 40 años las técnicas de desarrollo de software han ido evolucionando, en pro
de mejorar la calidad de los productos obtenidos, y de disminuir el esfuerzo, los tiempos y
costos de los proyectos que las utilizan. Así han surgido y se han documentado y puesto en
práctica diversos paradigmas y metodologías, de forma especialmente vertiginosa en las
últimas dos décadas, yendo desde el clásico y conocido método de Cascada (Waterfall) hasta
los más recientes, que han devenido proceso y producto a la vez, como lo es el Proceso
Unificado desarrollado por Rational Software Corporation.
Paralelamente a esta metodología, se han desarrollado por parte de varios investigadores y
desarrolladores de software y de especialistas en Interacción Persona-Ordenador –IPO– (más
conocida por sus siglas en inglés, HCI) diversas técnicas y métodos para mejorar la
usabilidad de los sistemas, de manera que aumente la productividad y los beneficios de su
utilización por parte de los usuarios. En ocasiones se reduce erróneamente la interacción
antes referida, solamente a la mejora del diseño de la interfaz, pero realmente va mucho más
allá, a la mejora de la usabilidad de todo el sistema, lo cual implica –como es de esperarse– a
la arquitectura del mismo.
Y ahí es donde se percibe uno de los puntos de encuentro entre ambas líneas de
investigación. Este trabajo pretende establecer las condiciones iniciales para asociar las
técnicas de usabilidad a emplear, basado en el modelo de ciclo de vida de la Ingeniería de
Usabilidad del Software, en una metodología de desarrollo de software como el Proceso
Unificado de Rational (RUP) de manera que se puedan asociar los productos del RUP y de la
IPO.
En principio este trabajo se ha centrado en el RUP, determinando los diferentes productos
de información que se van desarrollando a medida que avanza el proyecto, y la madurez que
alcanza cada uno en cada una de las fases del mismo. También se establece el papel que
juega cada uno de estos productos de información en el desarrollo del producto software
final.
Se hace también una comparativa de los diferentes productos producibles (valga la
redundancia) en el proceso del RUP, las ventajas y desventajas de cada uno, y en qué casos
podría ser factible la decisión de utilizar un producto u otro en el proceso. También se busca
analizar el aporte (si lo hubiese) de cada producto de información a los productos que se
Resumen del Trabajo de Investigación Tutelado –– 2004 – 2005
1
obtienen previamente en el proceso, o a las versiones anteriores del mismo u otros
productos.
El Proceso Unificado de Rational es un proceso de ingeniería del software, bien definido y
estructurado; a la vez que es un producto que provee un marco de proceso adaptable a las
necesidades y características de cada proyecto específico.
Según Booch, Rumbaugh y Jacobson –llamados “los tres amigos”, creadores de este Proceso
Unificado de Desarrollo de Software– su definición viene dada por tres características
fundamentales:
¾ está dirigido por casos de uso
¾ es un proceso centrado en la arquitectura
¾ es iterativo e incremental.
Que el RUP esté dirigido por casos de uso significa que el proceso de desarrollo sigue una
trayectoria que avanza a través de los flujos de trabajo generados por los casos de uso. Los
casos de uso se especifican y diseñan en el principio de cada iteración, y son la fuente a partir
de la cual los ingenieros de prueba construyen sus casos de prueba. Los casos de uso
describen la funcionalidad total del sistema, pensada en términos de la importancia de la
misma para el usuario (no sólo de la funcionalidad en sí)
Pero esto no significa que se desarrollen aisladamente respecto de la arquitectura, sino que se
desarrollan a la vez, madurando ambos según avanza el ciclo de desarrollo. Los casos de uso
guían a la arquitectura del sistema (como parte del proceso) y ésta influye en la selección de
los casos de uso. La arquitectura involucra los elementos más significativos del sistema y está
influenciada entre otros por las plataformas software, los sistemas operativos, los sistemas de
gestión de bases de datos, además de otros como sistemas heredados y requerimientos no
funcionales. Por esta razón ese dice que el RUP está centrado en la arquitectura, lo que
invoca más la relación con los principios de la usabilidad.
Desde que se planteó por primera vez el modelo incremental de desarrollo de software, y se
establecieron sus ventajas con respecto al modelo de cascada, siempre se ha recomendado
dividir los proyectos en pequeños ciclos o iteraciones a través de cada una de las fases por las
que pase.
En el RUP sucede esto mismo, con el plus de que se establecen claramente sus fases, cada una
desarrollada en una o más iteraciones que ejecutan actividades definidas para cada flujo de
trabajo de los conocidos de cualquier proceso de desarrollo. Concretamente, RUP divide el
proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable
según el proyecto y las cuales se definen de acuerdo al nivel de madurez que alcanzan los
productos que se van obteniendo con cada actividad ejecutada. La terminación de cada fase
ocurre en el hito correspondiente a cada una, donde se evalúa que se hayan cumplido los
objetivos de la fase en cuestión. Y desde la terminación de la fase de inicio se puede ya
determinar la factibilidad tanto operativa como económica del proyecto, lo cuál nos lleva a
tomar la decisión de continuarlo o no realizarlo.
En este trabajo se ha descrito cada una de las fases, y cada uno de lo productos que se obtiene
y/o la madurez que alcanzan en cada fase.
Resumen del Trabajo de Investigación Tutelado –– 2004 – 2005
2
Inicio
Hito
Objetivo del
Ciclo de Vida
Elaboración
Construcción
Hito
Arquitectura
a desarrollar en
el Ciclo de Vida
Transición
Hito
Capacidad
Operacional
Inicial
Hito
Sacar
producto final
Figura 1. Las fases del RUP y sus hitos
Figura 2. Los flujos de trabajo en cada una de las fases e iteraciones del RUP
Por otro lado, se puede definir a la USABILIDAD como la FACILIDAD DE USO de cualquier
producto, ya sea una cafetera, un automóvil, una máquina de venta de billetes de Metro, una
aplicación informática, una página Web o cualquier sistema que interactúe con un usuario.
En las técnicas que se han desarrollado, se ha seguido el principio de enfocar la
funcionalidad de acuerdo a la importancia para el usuario (a la que también se refiere el que
RUP sea dirigido por casos de uso) o sea, de la aceptabilidad de ese sistema.
Resumen del Trabajo de Investigación Tutelado –– 2004 – 2005
3
Aceptabilidad del sistema
Aceptabilidad práctica
Aceptabilidad social
Coste
Fiabilidad
Compatibilidad
Utilidad
(Usefullness)
Soporte, etc.
Usabilidad
Funcionalidad
de la Utilidad
(Utility)
Agradable
(subjetivamente)
De uso eficaz
Fácil de aprender
Fácil de recordar
Pocos errores
Figura 3. Atributos de la aceptabilidad de un sistema
La usabilidad, o sea, qué tan bien los usuarios pueden usar la funcionalidad del sistema, sin
depender de la experiencia o del tiempo de uso, es algo que interesa cada vez más a los
desarrolladores de sistemas computacionales.
Entre los beneficios que se citan de un nivel alto de usabilidad de cualquier producto sen
encuentran –entre otros– los siguientes:
Para los usuarios
Para la organización
Aumento de la productividad
Mayores ingresos por productos y/o
servicios más competitivos
Disminución del tiempo y coste de la
formación / entrenamiento
Disminución de los costes generales por
desarrollo y mantenimiento.
Disminución del número de errores de
usuario
Disminución de los costes de atención al
cliente.
Aumento de la exactitud en la entrada y
entendimiento de los datos
Más oportunidades de negocio debido a
la satisfacción y, por tanto,
recomendación de los clientes.
Disminución de la necesidad de soporte
técnico continuo
En el avance del estudio de la Ingeniería de Usabilidad del Software (cada vez más
desarrollada como disciplina en los últimos años) se ha coincidido en el criterio de que no se
limita al diseño de la interfaz de usuario (cómo lo han planteado varios autores), sino que
éste sólo es parte de todo el proceso. En general «está relacionada con cómo el sistema
interactúa con el usuario», recordando que en el ámbito de la informática el sistema es el
«todo» donde el software es una de las partes integrantes.
Resumen del Trabajo de Investigación Tutelado –– 2004 – 2005
4
En general, todos los paradigmas planteados y/o desarrollados a lo largo de estos años
«coinciden hasta cierto punto con el núcleo de la ingeniería de usabilidad: la evaluación de la
usabilidad del sistema con los usuarios reales desde las primeras etapas del desarrollo», lo
que nos lleva a la relación con un paradigma específico: el RUP.
Así entonces, en este trabajo el enfoque ha sido dirigido al software y su evolución a través
de la metodología RUP, centrándonos fundamentalmente en los flujos de trabajo y los
productos que se generan en el mismo, para después establecer su asociación o relación con
los productos y técnicas de la ingeniería de usabilidad.
La bibliografía utilizada incluye tanto libros publicados en ambos temas, como artículos
publicados en los diferentes eventos y revistas relacionados con la usabilidad y la ingeniería
de software.
Como trabajo inmediato futuro se propone dirigir el trabajo hacia la obtención de una
metodología específica que involucre al RUP y a las técnicas de usabilidad, orientada a los
administradores de proyectos. Es una propuesta inicial que se espera que dé los resultados
necesarios para establecer el objetivo de la tesis doctoral.
Este trabajo se pretende enviar al Doctoral Symposium of the 28th International Conference
on Software Engineering, ICSE 2006, a celebrarse en Shanghai, China, del 20 al 28 de Mayo
de 2006.
Resumen del Trabajo de Investigación Tutelado –– 2004 – 2005
5
Descargar