PROFUNDIZANDO EN LA RELACIÓN ENTRE USABILIDAD Y DESARROLLO DE SOFTWARE: REQUISITOS DE USABILIDAD.

Texto completo

(1)

PROFUNDIZANDO EN LA RELACIÓN ENTRE USABILIDAD Y

DESARROLLO DE SOFTWARE: REQUISITOS DE USABILIDAD.

Trabajo de Investigación Tutelado.

Alumna: Marianella Aveledo Mayz.

Tutoras: Prof. Ana María Moreno y Prof. Natalia Juristo.

Curso: 2006-2007.

(2)

RESUMEN.

La usabilidad como cualquier otro atributo de calidad de un sistema software impone ciertas restricciones a los componentes de software, en particular ha sido demostrado que ciertas características de la usabilidad influyen directamente en todo el proceso de software.

En el presente trabajo, se expone un enfoque que considera el tratamiento de ciertas características de la usabilidad en etapas tempranas de desarrollo del software, en particular en la etapa de educción de requisitos, y considerando a las mismas como requisitos funcionales a través de la utilización de patrones que se han denominado patrones de usabilidad para la educción de requisitos.

ABSTRACT.

Usability like any other quality attribute, imposes specific constraints on software components, particularly it has been proven that some usability features has direct influence over the architecture of the software system.

In the present work, we expose an approach that take into account some usability features at the early stages of the software developing process, specifically in the requirements elicitation stage and considering them as functional requirements by using patterns that had been named usability elicitation patterns.

1. INTRODUCCION

La usabilidad es un atributo de la calidad del software que se encuentra en la mayoría de las clasificaciones, entendiéndose por usabilidad todo aquello que logra que un producto de software pueda ser usado por un grupo especifico de usuarios para alcanzar sus metas específicas con efectividad, eficiencia y satisfacción en un contexto específico de uso. En este orden de ideas, las metas de usabilidad pueden incluir un amplio rango de aspectos del sistema relacionados además con otros aspectos tales como aprendizaje. Debe resaltarse que la usabilidad cada vez es más reconocida como uno de los factores más importantes para la aceptación de un sistema software [1].

En las pasadas dos décadas, la usabilidad en el desarrollo de software ha sido principalmente relacionada con cómo presentar la información al usuario. Tomado en cuenta este principio los ingenieros de software han tratado la usabilidad usando ciertas estrategias de diseño que separan la capa de presentación de la funcionalidad del sistema, un ejemplo de esto es el patrón de arquitectura de software “Modelo Vista Controlador” [2]. Esta separación, hace posible y mucho más fácil la modificación de la interfase del usuario con fin de incrementar la usabilidad del sistema, sin afectar el resto de la aplicación.

La consecuencia de esto último, es que la usabilidad podría ser tratada en las etapas finales de desarrollo, en particular después de las pruebas.

Ahora bien, recientemente ha sido demostrado que usabilidad tiene implicaciones mas allá de la interfase del usuario afectando por ejemplo a componentes de la arquitectura software.

(3)

El trabajo presente se centra en un estudio más amplio que trata de analizar el tratamiento de la usabilidad durante todo el proceso de desarrollo comenzando por la fase de requisitos.

Enfocar la usabilidad en la etapa de educción de requisitos, brinda los mismos beneficios que tratar cualquier otro atributo de calidad del software en las etapas tempranas de desarrollo, con las ventajas que es muchísimo menos costoso que su tratamiento el las etapas posteriores cuando las modificaciones son generalmente altamente complejas, imprácticas y hasta imposibles [3].

Se trata entonces de estudiar el mejor enfoque para incorporar las características de usabilidad con mayores implicaciones sobre la funcionalidad del software en la etapa de educción de requisitos.

El presente trabajo consta de 4 secciones, la sección 1 es la presente y representa la introducción, en la sección 2 se presenta la relación entre la comunidad de expertos en Interfase Persona-Ordenador y la Ingeniería de Software, la metodología aplicada en este trabajo de investigación se describe en la sección 3, en la sección 4 se exponen las conclusiones y finalmente en la sección 5 se presentan las referencias bibliográficas.

2. RELACION ENTRE LA COMUNIDAD DE HCI Y LA INGENIERÍA DE SOFTWARE.

Uno de los pilares fundamentales en los que un ingeniero de software puede apoyarse en lo que a usabilidad se trata, lo representa la comunidad de expertos en Interfase Persona-Ordenador (HCI, en inglés). Ahora bien, en lo que concierne a la comunidad de HCI, la misma dicta los lineamientos para hacer que un software sea usable más no como se desarrollar dicho software de forma que cumpla dichas propiedades de usabilidad.

El resultado que puede derivarse de las recomendaciones de HCI se enfoca principalmente en los objetivos de presentación del sistema software. Pero no pueden ser usadas para capturar los requisitos de usabilidad de un sistema. Si pueden ser estudiadas desde el punto de vista de desarrollo de software en aras de generar los lineamientos requeridos en el intercambio necesario que debe llevarse a cabo con la comunidad de usuarios a fin de especificar claramente las características de usabilidad que el sistema debe tener.

El enfoque en el que se enmarca este trabajo consiste en empaquetar los lineamientos de usabilidad a fin de proveer a los desarrolladores de la capacidad para capturar los requisitos de usabilidad sin necesitar un experto en HCI. Estos lineamientos ayudarán a los desarrolladores a entender las implicaciones que tienen las características de usabilidad en el sistema software a construir y de la misma manera los ayudarán a educir y especificar estas características.

3. METODOLOGIA UTILIZADA EN LA INVESTIGACION.

Con el fin de conocer las propuestas de usabilidad de la comunidad de HCI se realizó una exhaustiva búsqueda tanto en la Internet como en libros de todos los autores y/o organismos relacionados con el tema.

En estas búsquedas, se detectaron los diferentes mecanismos de usabilidad propuestos por los expertos en HCI que se consideran tienen impacto en la arquitectura software y que se tratarán como requisitos funcionales.

(4)

Posteriormente, se combinaron las proposiciones de los diferentes autores y se eliminaron las redundancias existentes y se empaquetaron en algo que se ha denominado patrones de usabilidad para la educción.

Las características de usabilidad que se estudiaron son las siguientes [4],[5],[6],[7],[8],[9] y [10]:

• Feedback • Undo/cancel

• User input error prevention • Wizard

• User profile • Help

• Command aggregation.

Los requisitos de usabilidad han sido tratados como requisitos no funcionales, ya que se ha considerado que los mismos no influyen en la funcionalidad del sistema, pero recientemente se ha reconocido que existe una relación entre la usabilidad y los requisitos funcionales, en particular Cysneiros et al [11] han propuesto la identificación de aquellos requisitos funcionales que mejoran la usabilidad, en este trabajo se propone un enfoque complementario el cual incorpora las características de usabilidad con mayores implicaciones en la funcionalidad del software como requisitos funcionales, llamando a estos requisitos características funcionales de usabilidad.

Estos requisitos funcionales de usabilidad deben ser explícitamente especificados, tal y como cualquier otro requisito funcional.

Entonces, una gran cantidad de información además de la descripción de la característica de usabilidad debe ser especificada, los desarrolladores deben discutir con, y educir de los diferentes stakeholders, una gran cantidad de información para especificar completamente la característica de usabilidad deseada.

Como producto de esta tarea se construyeron diferentes tablas donde se resumían estas características.

A continuación en la Tabla 1 se muestra una porción del patrón de usabilidad para el mecanismo Indicador de Progreso:

HCI Recommendation Issues Issues to be discussed with stakeholders

Provide a push button that allows a user to close the progress-indicator window without affecting the process. For example, provide a push button labeled

Close to allow a user to close the progress indicator

window without affecting the process. Do not use a

Close push button to end a process .[I.S.I.,99]

Do you want to permit close the progress indicator? If so, how?

Tabla 1: Indicador de Progreso.

Finalmente, y persiguiendo como objetivo una guía exhaustiva para los desarrolladores en el proceso de educción se establecieron las responsabilidades de cada uno de los actores dicho proceso de educción. Para ello se han diferenciado tres tipos de actores diferentes. En primer lugar los stakeholders [12], considerándose entre estos todas aquellas personas y/o organizaciones que de alguna forma están interesados en el

(5)

sistema, entre ellos se debe destacar a los usuarios, y en este sentido hay que tomar en cuenta que los usuarios no son un grupo homogéneo, en segundo lugar los desarrolladores sin conocimientos de HCI y finalmente los analistas y/o desarrolladores con algún conocimiento de HCI que puedan servir de apoyo y que puedan prestar alguna ayuda y/o sugerencia a los stakeholders en el tratamiento de las diferentes características ya mencionadas.

En la Tabla 2, se presentan estas responsabilidades para el fragmento de preguntas indicado en la Tabla 1.

Question S D DHCI Comments

Do you want to permit close the

progress indicator? If so, how? X X Developers will suggest how to close the progress indicator. If stakeholders decide to permit to close the progress indicator, they also have to decide how to close it.

Tabla 2: Responsabilidades.

4. CONCLUSIONES.

La inclusión de las características de usabilidad en un sistema software, requiere tomar en cuenta una gran diversidad de situaciones que en muchas oportunidades ni siquiera los stakeholders son capaces de plantear.

Es por ello, que se necesita una gran cantidad de información producto de largas discusiones entre los usuarios y los desarrolladores del sistema para poder especificar adecuadamente las distintas características de usabilidad.

Los patrones que se han elaborado en este trabajo, ayudan a definir dichas características ya que los mismos proveen claramente los diferentes escenarios a contemplar, así como también orientan de una manera precisa las discusiones que se deben llevar a cabo.

A través de estos patrones, los desarrolladores del sistema que no necesariamente poseen conocimiento de los diferentes mecanismos de usabilidad, pueden orientar a los stakeholders en las soluciones para el sistema a construir, en cuanto a usabilidad se trata.

(6)

5. REFERENCIAS BIBLIOGRÁFICAS:

[1] L.M. Cysneros,V.M. Wemeck, A. Kushniruk “Reusable Knowledge for Satisficing Usability Requirements”. 13th International Conference on Requirements Engineering 2005.

[2] http://java.sun.com/blueprints/patterns/MVC.html.

[3] M. Barbacci, R. Ellison, A. Lattanze, J. A. Stafford, C.B. Weinstock.Quality

Attribute Workshop, 3rd ed. CMU/SEI-2003-TR-016, Software Engineering

Institute,CMU 2003.

[4] http://www.isii.com/style_guide/progress_indicator.html

[5] Marshall, D. “Progress Bars”

http://www.cs.cf.ac.uk/Dave/HCI/HCI_Handout_CALLER/node126.html#SECT ION000111000000000000000,

[6] GNOME Human Guidelines (2.0)

http://developer.gnome.org/projects/gup/hig/2.0/

[7] Folmer,E; Welie,M.;Bosh, J. “Bridging patterns: An approach to bridge gaps between SE and HCI. Information and Software Technology 48 (2006) 69-89. [8] Tidwell, J. “Designing Interfaces” O´Reilly Media, Inc. 2006

[9] http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html

[10] http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIG uidelines/XHIGControls/chapter_18_section_5.html.

[11] Cysneiros,L.M. and Kushirk,A. “Bringing Usability to Early Requirements” in the Proceedings of the 11th IEEE International Requirements Engineering Conference, 2003, pp:359-361.

[12] Boutelle, J. “Undersatnding Organizational Stakeholders for Design Success. http://www.boxesandarrows.com.

Figure

Actualización...

Referencias

Actualización...

Related subjects :