1. Introducción
A partir del crecimiento en el número de aplicaciones web y móviles desplegadas en internet, aspectos como la usabilidad y la accesibilidad se han convertido en fundamentales de cara a garantizar el diseño centrado en el usuario 1-6. En este orden de ideas, la usabilidad corresponde a un atributo de la calidad del software, el cual puede ser definido de acuerdo a la ISO 9241-11 como la eficacia, eficiencia y satisfacción con la que un sistema software permite alcanzar objetivos específicos a usuarios concretos en un contexto de uso específico 7-11. Así, la usabilidad tiene como función reducir los errores ocasionados por los usuarios, permitiendo que éstos realicen las tareas de manera más eficiente y efectiva, aumentando de este modo su satisfacción y mejorando su experiencia global con la aplicación o sistema con el cual interactúan 12-15.
Dentro de las principales ventajas de la usabilidad se encuentra la posibilidad de que las empresas del sector software sean más competitivas y los usuarios finales de sus desarrollos sean más productivos 16-18. A pesar de lo anterior, no todas las empresas del sector software articulan la usabilidad dentro del proceso de desarrollo, dado que se centran en la funcionalidad o en la agilidad en el desarrollo por encima del diseño centrado en el usuario 19,20. La usabilidad puede ser vinculada al proceso de desarrollo en las fases de diseño e implementación mediante la aplicación de pautas de diseño, mientras que en la fase de evaluación se suele hacer uso de técnicas de evaluación con usuarios finales y expertos 18. Una de las fases del proceso de desarrollo donde más se aplica la usabilidad es en la fase de evaluación, en donde una de las técnicas más difundidas para evaluar la usabilidad de un producto software es la evaluación heurística, dada su facilidad de implementación, los bajos costos de desarrollo de la prueba y la posibilidad de aplicar la prueba en las diferentes fases del proceso de desarrollo 21.
La evaluación heurística es un método de inspección en el que un grupo de 3 a 5 evaluadores expertos exploran un aplicativo software con el fin de identificar un conjunto de problemas de usabilidad a partir de unos principios de diseño específicos 22. Los problemas obtenidos se consolidan y califican por los evaluadores teniendo en cuenta criterios como la severidad, la frecuencia y la criticidad 23. La severidad hace referencia a la gravedad del problema identificado y tiene una escala de 0 a 4, la frecuencia es un indicador de que tanto se repite un problema en la interacción y tiene una escala de 0 a 4, finalmente la criticidad es la suma de la severidad y la frecuencia, por lo cual su escala es de 0 a 8 24. Dado que en una evaluación heurística convencional en la que se cuenta con 5 evaluadores, se tiene por cada problema un total de 5 valores de severidad, frecuencia y criticidad, y ésta última se encuentra en una escala o rango poco inteligible para el coordinador de la prueba, por lo que se hace necesario obtener un nivel de criticidad que resulte más fácil de interpretar tanto en términos lingüísticos como numéricos o porcentuales, de tal modo que se permita clasificar los problemas encontrados, por la prioridad en que estos deben ser solucionados por parte del equipo de desarrollo del software inspeccionado en la evaluación heurística.
Así mismo, dado que normalmente en las evaluaciones heurísticas el coordinador se encarga de consolidar y analizar los resultados de manera manual, se hace necesario también automatizar el proceso de la evaluación heurística. A partir de lo anterior, en este artículo se propone como contribución una herramienta para el análisis automatizado de los resultados de una evaluación heurística empleando la lógica difusa con el fin de determinar los niveles de salida en cuanto severidad, frecuencia y criticidad en términos que resulten más inteligibles para el coordinador de la prueba tanto a nivel numérico como lingüístico.
La lógica difusa se considera una herramienta de carácter matemático que provee una forma sencilla de llegar a una conclusión específica, partiendo de una información de entrada, la cual puede ser indefinida, inexacta o vaga 25-27. De igual modo, la importancia de la lógica difusa radica en el hecho de posibilitar la generación de resultados inteligibles que relacionan datos numéricos con términos lingüísticos que son cercanos al lenguaje natural 28-30. Así se pretende enriquecer los resultados de una evaluación heurística en lo referente al nivel de criticidad de salida mediante el uso de la lógica difusa. Dentro de los diferentes métodos de evaluación de usabilidad, se escogió el de la evaluación heurística dadas las particularidades de ésta en cuanto a la necesidad de procesar las valoraciones cuantitativas en diferentes rangos otorgadas por los evaluadores expertos a nivel de severidad, frecuencia y criticidad.
Diversos estudios se han realizado dentro del área de la usabilidad y de manera específica usando métodos de inspección, los cuales en la mayoría de los casos usan estadística descriptiva para el análisis de los resultados y en algunos casos lógica difusa sin tener en cuenta criterios de evaluación como la severidad, la frecuencia y la criticidad.
Así, en 31 se desarrolló un análisis mediante lógica difusa a los resultados obtenidos en inspecciones de usabilidad convencional. En el análisis se tiene como entrada la valoración promedio general de los evaluadores a un conjunto de criterios definidos previamente para los principios de usabilidad de Constantine. Así mismo, se tiene como salida el nivel de usabilidad a partir de las funciones de membresía y reglas de inferencia definidas. Aunque en este trabajo se realiza una inspección de usabilidad, esta inspección no se centra en el concepto de evaluación heurística, dentro de la cual un grupo de evaluadores califican un conjunto de problemas identificados en el software según severidad, frecuencia y criticidad.
Del mismo modo, en 21 los autores proponen una herramienta para la conducción y análisis de inspecciones heurísticas teniendo en cuenta los principios de accesibilidad de la norma NTC 5854. La herramienta permite a los evaluadores calificar en el rango de 0 a 5 el cumplimiento de los criterios asociados a los principios: perceptible, operable, comprensible y robusto. A nivel del análisis, la herramienta obtiene el promedio de las calificaciones de los evaluadores a cada criterio, así como la desviación estándar de las calificaciones. Finalmente, la herramienta también genera los gráficos radiales que muestran el nivel de cumplimiento de cada principio de la norma NTC 5854. Aunque en este trabajo se realiza una inspección de usabilidad, dicha inspección no se centra en el concepto de evaluación heurística, en donde se identifican y evalúan un conjunto de problemas de usabilidad de acuerdo con los criterios de severidad, frecuencia y criticidad. Del mismo modo, el análisis de los resultados se realiza desde la perspectiva de la estadística descriptiva.
Por otra parte, en 1 los autores realizan una inspección heurística de usabilidad con evaluadores expertos sobre diferentes tipos de aplicaciones de asistencia para personas con discapacidad motriz. Para lo anterior, los autores definieron un conjunto de criterios asociados a los atributos de usabilidad de: eficiencia, eficacia, capacidad de aprendizaje y satisfacción. Los criterios definidos fueron calificados por los evaluadores en la escala de 1 a 5. El análisis de los resultados fue realizado a través del promedio con pesos de los diferentes criterios asociados a los atributos de usabilidad, de tal modo que se obtiene un porcentaje de cumplimiento por cada atributo. Este trabajo no está enfocado en la identificación directa de problemas y la calificación de estos mediante severidad, frecuencia y criticidad. Del mismo modo, este trabajo no realiza el análisis de los resultados mediante el uso de la lógica difusa.
De igual forma, en 32 los autores realizan una inspección heurística de usabilidad sobre los dos principales periódicos digitales de España: El mundo y El País. La inspección es realizada teniendo en cuenta seis heurísticas de usabilidad para aplicaciones web: aspectos generales, identidad e información, lenguaje y redacción, rotulado, estructura y navegación, esquema de la página, búsqueda, elementos multimedia y accesibilidad. A partir de los criterios definidos para cada una de las heurísticas se obtienen resultados cualitativos sobre los aspectos a corregir a nivel de usabilidad dentro de los portales evaluados. Aunque el artículo presenta un conjunto de problemas de acuerdo con las heurísticas mencionadas, no se realiza una evaluación cuantitativa y basada en lógica difusa para identificar el nivel de criticidad de dichos problemas.
A partir de los desafíos identificados en los anteriores trabajos, este artículo propone la inclusión de la lógica difusa en las evaluaciones heurísticas convencionales, con el fin de permitir el análisis del nivel de criticidad de salida de manera porcentual y en términos lingüísticos. En este sentido, en la herramienta de análisis propuesta, se tiene como entrada por cada problema de usabilidad identificado en una evaluación heurística, las calificaciones promedio de severidad y frecuencia asignadas por los evaluadores y como salida el nivel o porcentaje de criticidad obtenido a partir de las funciones de membresía y las reglas de inferencia definidas. De este modo, teniendo en cuenta que la escala convencional de la criticidad es de 0 a 8, mediante la herramienta se genera un nivel de salida en términos lingüísticos (bajo, medio y alto) y porcentuales, el cual puede ser más adecuado para determinar el grado de criticidad de un problema de usabilidad identificado en la evaluación heurística. Con el fin de validar la herramienta desarrollada, se realizó el análisis de los resultados de una evaluación heurística en el Sistema Gestor de Bases de Datos Sevenet de Industria Licorera del Cauca 33.
El resto del artículo está organizado de la siguiente forma: en la sección 2 se presenta el marco teórico considerado para el desarrollo del presente artículo, dentro del cual se aborda la usabilidad y la evaluación heurística; en la sección 3 se describen las diferentes fases de la metodología consideradas para la conducción de la presente investigación; en la sección 4 se presentan los resultados obtenidos del desarrollo de la herramienta, lo cual incluye la herramienta para el análisis de evaluaciones heurísticas mediante lógica difusa y una prueba de concepto para verificar la pertinencia y funcionalidad de la herramienta construida; finalmente en la sección 5 se presentan las conclusiones y los trabajos futuros derivados de la presente investigación.
1.1. Marco Teórico
Uno de los atributos que definen la calidad del software es la usabilidad, esta suele ser incluida dentro del proceso de desarrollo de software en los requisitos no funcionales 34-36. La usabilidad puede ser definida como la facilidad de uso que ofrece un sistema a partir de su interfaz, así como los métodos empleados en la fase de diseño del proceso de desarrollo para mejorar la interacción con el usuario 37,38. También es posible definir la usabilidad como producto o como proceso. Como proceso puede ser definida a partir de la ISO 9241-11 en términos de la eficacia, eficiencia y satisfacción con la que un usuario puede alcanzar un objetivo determinado en un contexto de uso específico 39-42. Así mismo, en términos de producto y a partir de la ISO 9126, la usabilidad puede ser entendida como la facilidad para aprender, recordar y operar un producto software, además de resultar atractivo para el usuario 8,14,43.
La usabilidad puede contribuir a mejorar la calidad de un producto software tanto en la fase de diseño, como en la fases de implementación y de evaluación 44. Una de las técnicas más difundidas y tradicionales para la evaluación de la usabilidad es a través del uso de métodos de inspección como la evaluación heurística 22,45,46. La evaluación heurística es un método para la identificación de problemas de usabilidad en un sistema interactivo, en el cual un conjunto de evaluadores expertos juzgan la usabilidad del sistema teniendo en cuenta un conjunto de principios de usabilidad reconocidos 23,47. De este modo, los resultados de la evaluación heurística permiten clarificar los aspectos a mejorar dentro del software evaluado, de tal modo que se acoplen con un conjunto de principios de diseño 48.
Dentro del proceso de la evaluación heurística una vez los problemas de usabilidad son identificados de manera individual por cada evaluador y concertados entre el grupo de evaluadores, se procede con la calificación individual de cada problema según los criterios de severidad, frecuencia y criticidad. La severidad representa la gravedad del problema, la frecuencia está asociada a que tan frecuente resulta el problema en el software evaluado y la criticidad representa la suma de la severidad y la frecuencia. En la Tabla 1 se presentan los posibles valores que un evaluador puede asignar a los criterios de severidad y frecuencia 23. Como puede apreciarse en la Tabla 1, los valores tanto de severidad como de frecuencia van en el rango de 0 a 4. Así mismo, al ser la criticidad la suma de la severidad y la frecuencia, un problema de usabilidad crítico es aquel que es severo y frecuente.
Calificación | Severidad | Frecuencia (%) |
---|---|---|
0 | No es un problema de usabilidad | <1 |
1 | Problema “cosmético”. No requiere ser resuelto a menos que se disponga de tiempo extra en el proyecto. | 1-10 |
2 | Problema de usabilidad menor. Solucionarlo tiene baja prioridad. | 11-50 |
3 | Problema de usabilidad mayor. Es importante solucionarlo, requiere alta prioridad. | 51-90 |
4 | Problema de usabilidad catastrófico. Es imperativo solucionarlo antes que el producto sea liberado. | >90 |
Fuente: adaptado de 33.
Así a partir de la caracterización de las evaluaciones heurísticas, en el presente trabajo se propuso una herramienta basada en lógica difusa, la cual toma coma entrada los valores de las calificaciones de severidad y frecuencia de cada evaluador, de tal modo que a partir de las funciones de membresía y las reglas de inferencia definidas, se pudo determinar el nivel de criticidad de salida en términos porcentuales y lingüísticos para cada problema 30,49. De este modo, mediante la lógica difusa se obtiene como salida un valor porcentual y el nivel de pertenencia de dicho valor a un nivel lingüístico que resultan más comprensibles para el coordinador de la prueba con respecto a la escala definida para la criticidad en las evaluaciones heurísticas convencionales.
2. Metodología
Para el desarrollo del presente artículo se definieron 4 fases metodológicas, las cuales fueron adaptadas a partir de lo presentado en 50: i) caracterización evaluación heurística, ii) definición de funciones de membresía y reglas de inferencia iii) construcción de herramienta de análisis y iv) prueba de concepto (ver Figura 1). En la fase 1 se caracterizaron las diferentes etapas de una evaluación heurística, con el fin de comprender el concepto y las diferentes escalas de calificación asociadas de los criterios de severidad, frecuencia y criticidad. En la fase 2 se definen las funciones de membresía o pertenencia para los valores de entrada promedio de severidad y frecuencia asignados por los evaluadores, así como para el nivel de criticidad de salida. Del mismo modo, en esta fase se definieron un total de 25 reglas de inferencia que relacionan los niveles obtenidos a partir de los valores de entrada con el nivel de salida. Tanto las funciones de membresía como las reglas de inferencia fueron especificadas en el lenguaje de lógica difusa (FCL).
Con las funciones de membresía y las reglas de inferencia definidas en las fases 2, en la fase 3 se construyó una herramienta en el lenguaje Java, la cual permite al coordinado de la prueba ingresar las calificaciones de severidad y frecuencia otorgadas por cada uno de los evaluadores a los diferentes problemas identificados en una valuación heurística para determinar el nivel de criticidad de salida en términos numéricos y lingüísticos haciendo uso de la lógica difusa, y de manera específica de la API jFuzzyLogic de Java. Finalmente, en la fase 4 con el fin de verificar la funcionalidad y utilidad de la herramienta propuesta se desarrolló una prueba de concepto tomando como base los resultados obtenidos dentro de una evaluación heurística desarrollada sobre el Sistema Gestor de Bases de Datos Sevenet de Industria Licorera del Cauca, en la cual se identificaron un total de 15 problemas de usabilidad.
3. Resultados
A partir de las diferentes fases propuestas en la metodología, en esta sección se presentan los resultados de esta investigación, los cuales están asociados a la construcción de la herramienta de evaluación y el caso de estudio realizado para validar su funcionamiento. De este modo en primera instancia se presentan las funciones de membresía y las reglas de inferencias empleadas para estructurar la herramienta propuesta.
3.1 Definición de funciones de membresía y reglas de inferencia
Se presentan las funciones de membresía definidas para la herramienta propuesta y asociadas a la severidad y frecuencia promedio de entrada, así como al nivel de criticidad de salida. Del mismo modo se proponen las reglas de inferencia utilizadas para el cálculo del valor de salida. Cabe mencionar que tanto las funciones de membresía como las reglas de inferencia fueron especificadas en el lenguaje FCL (Fuzzy Control Language). Las funciones de membresía para la severidad y frecuencia fueron obtenidas a partir de los rangos presentados en 51 y 23. En cuanto a los valores de entrada promedio de severidad se definió una función de membresía propia para cada una de las categorías o conjuntos difusos asociados a la severidad (no es un problema de usabilidad, cosmético, menor, mayor y catastrófico).
Estos valores corresponden a la posible valoración que el evaluador puede otorgar a un problema de usabilidad dependiendo de su gravedad. Así, en las Ec.1-5 se presentan las funciones de membresía para las categorías o conjuntos difusos relacionados con severidad: “no es un problema de usabilidad” (µno-problema(x)), “cosmético” (µcosmético(x)), “menor” (µmenor(x)), “mayor” (µmayor(x)) y “catastrófico” (µcatastrófico(x)) respectivamente 52,53.
Las funciones de membresía presentadas en las Ec.1-5 se muestran en la Figura 2, en donde se integran las funciones asociadas a las categorías de los problemas de usabilidad según severidad (no-problema, cosmético, menor, mayor y catastrófico).
En lo referente a los valores de entrada promedio de frecuencia se definió una función de membresía propia para cada una de las categorías o conjuntos difusos asociados a la frecuencia (muy baja, baja, media, alta y muy alta). Cada una de las ecuaciones asociadas a las diferentes categorías de frecuencia tienen el mismo comportamiento matemático presentado en las Ec.1-5, teniendo como única diferencia el nombre de la categoría. Del mismo modo, para la determinación del porcentaje o nivel de criticidad de salida se definieron funciones de membresía para cada una de las categorías definidas (baja, media, alta). Así, en las Ec.6-8 se presentan las funciones de membresía para el nivel de criticidad “bajo” (µbajo (x)), “medio” (µmedio(x)) y “alto” (µalto(x)) respectivamente.
Las funciones de membresía presentadas en las Ec.6-8 se pueden apreciar en la Figura 3, en donde se integran las funciones asociadas a las categorías del nivel de salida de criticidad (bajo, medio, alto).
Para la obtención del nivel de criticidad de salida a partir de los valores promedio de entrada de severidad y frecuencia, se definieron un total de 25 reglas de inferencia, de las cuales se presenta un extracto de 10 reglas en la Tabla 2. Las reglas se escribieron haciendo uso del lenguaje FCL (Fuzzy Controler Language) y permiten relacionar las entradas (severidad y frecuencia) con la salida (nivel de criticidad).
Id | Regla de Inferencia |
---|---|
R1 | IF severidad IS no_problema AND frecuencia IS muy_baja THEN nivel_crit IS bajo |
R2 | IF severidad IS no_problema AND frecuencia IS baja THEN nivel_crit IS bajo |
R5 | IF severidad IS no_problema AND frecuencia IS muy_alta THEN nivel_crit IS medio |
R8 | IF severidad IS cosmetico AND frecuencia IS media THEN nivel_crit IS bajo |
R11 | IF severidad IS menor AND frecuencia IS muy_baja THEN nivel_crit IS bajo |
R14 | IF severidad IS menor AND frecuencia IS alta THEN nivel_crit IS medio |
R17 | IF severidad IS mayor AND frecuencia IS baja THEN nivel_crit IS medio |
R20 | IF severidad IS mayor AND frecuencia IS muy_alta THEN nivel_crit IS alto |
R23 | IF severidad IS catastrofico AND frecuencia IS media THEN nivel_crit IS medio |
R25 | IF severidad IS catastrofico AND frecuencia IS muy_alta THEN nivel_crit IS alto |
Fuente: elaboración propia
3.2 Herramienta de evaluación propuesta
A partir de las funciones de membresía y las reglas de inferencia definidas en la sección 4, se desarrolló en el lenguaje Java una herramienta para el análisis de los resultados de una evaluación heurística de usabilidad mediante lógica difusa. La herramienta hace uso de la API jFuzzyLogic, la cual posibilita la definición de las funciones de membresía, las reglas de inferencia en el lenguaje FCL, así como el análisis matemático y gráfico de los valores de entrada y el nivel de criticidad de salida. De este modo, en la Figura 4 se presenta la interfaz principal de la herramienta, que consta de tres pestañas: “Problemas”, “Análisis Fuzzy”, “Gráficas de Membresía”.
En la pestaña “Problemas” se diligencian las valoraciones de severidad y frecuencia para cada uno de los problemas identificados en la evaluación heurística por parte de los 5 expertos considerados en el desarrollo de la inspección de usabilidad. Para ilustrar el funcionamiento adecuado de la herramienta se configuraron 5 problemas con 5 valoraciones arbitrarias para severidad y frecuencia en el rango de 0 a 4.
En la pestaña “Análisis Fuzzy” (ver Figura 5) se presenta el promedio de las evaluaciones de severidad, frecuencia y criticidad para cada uno de los 5 problemas de usabilidad considerados.
Al seleccionar cada uno de los problemas se obtiene en el área de texto inferior, el valor de membresía para la severidad, la frecuencia y la criticidad, así como la regla de inferencia que se activa a partir de los valores de entrada. En la misma pestaña de la Figura 5, en la parte superior derecha, se obtiene la gráfica del nivel de criticidad de salida.
Así, a modo de ejemplo, en la Figura 5, el problema 1 (P1) tienen como severidad promedio un valor de 1.7, como frecuencia un valor promedio de 2.42 y como criticidad un valor promedio de 4.12 equivalente, de acuerdo con las reglas de inferencia, a un valor porcentual de 28.4% (bajo). A partir de los valores de entrada promedio de severidad y frecuencia, se obtiene para la severidad un grado de pertenencia de 0.5 en la categoría “menor”, mientras que para la frecuencia se obtiene un grado de pertenencia de 0.16 en la categoría “media” y un grado de pertenencia de 0.033 en la categoría “alta”. De acuerdo con lo anterior, para el problema 1 se activan las reglas 13 y 14 con un grado de pertenencia respectivo de 0.16 y 0.033. La regla de inferencia 13 corresponde a: “IF severidad IS menor AND frecuencia IS media THEN nivel_crit IS bajo”, mientras que la regla 14 es: IF severidad IS menor AND frecuencia IS alta THEN nivel_crit IS medio. A partir del nivel mayor de la regla 13, se obtienen para el problema P1 el nivel de salida de criticidad en la categoría “bajo” con un grado de pertenencia de 0.4835 y un porcentaje de criticidad de 28.40%.
En la Figura 6 se muestra la pestaña “Gráficas de Membresía”, donde se presentan las funciones de membresía de los valores promedio de entrada de severidad y frecuencia para cada problema seleccionado y la función de membresía del nivel de criticidad de salida. Estas funciones de membresía corresponden a las presentadas en las Figuras 2 y 3, con el valor estimado por el sistema para la severidad, frecuencia y criticidad. Al seleccionar el problema P1, se corrobora que para un valor promedio de severidad de 1.7 se obtiene gráficamente un nivel de pertenencia en la categoría “menor”, mientras que para un valor promedio de frecuencia de 2.42 se obtiene en la gráfica dos grados de pertenencia en las categorías “media” y “baja”, siendo mayor en la categoría “media”. El nivel de criticidad de salida es categorizado gráficamente en la categoría “bajo”.
Finalmente, la herramienta permite obtener un reporte “.csv” con los niveles de criticidad resultantes para cada uno de los problemas y su respectivo valor de membresía en las categorías “alto”, “medio” y “bajo” (ver Figura 7). En el reporte .csv generado por la herramienta se muestra por cada fila el porcentaje de criticidad obtenido para cada problema y se aprecia como los dos primeros problemas tienen un grado de pertenencia en la categoría “bajo”, mientras que los tres problemas restantes tienen un grado de pertenencia en la categoría “alto”.
3.3 Prueba de concepto
Con el fin de verificar la pertinencia de la herramienta propuesta en el presente artículo, se desarrolló una prueba de concepto a partir de los resultados obtenidos en una evaluación heurística realizada sobre el Sistema Gestor de Bases de Datos Sevenet de Industria Licorera del Cauca, la cual contó con la participación de 5 evaluadores y fue realizada teniendo en cuenta los 10 principios heurísticos de Nielsen 33. Como resultado de esta evaluación se obtuvieron un total de 15 problemas de usabilidad, los cuales fueron calificados según severidad, frecuencia (ver Tabla 3)
Problema | Evaluador 1 | Evaluador 2 | Evaluador 3 | Evaluador 4 | Evaluador 5 | |||||
---|---|---|---|---|---|---|---|---|---|---|
S | F | S | F | S | F | S | F | S | F | |
P1 | 4 | 5 | 3 | 5 | 4 | 5 | 4 | 3 | 3 | 3 |
P2 | 4 | 3 | 3 | 3 | 4 | 4 | 4 | 5 | 3 | 5 |
P3 | 3 | 3 | 3 | 4 | 2 | 3 | 4 | 4 | 4 | 3 |
P4 | 3 | 1 | 4 | 1 | 2 | 3 | 4 | 3 | 3 | 3 |
P5 | 2 | 3 | 2 | 3 | 4 | 3 | 4 | 4 | 4 | 1 |
P6 | 4 | 3 | 5 | 4 | 4 | 3 | 2 | 3 | 4 | 3 |
P7 | 3 | 2 | 2 | 2 | 1 | 2 | 4 | 1 | 2 | 3 |
P8 | 4 | 3 | 2 | 3 | 4 | 1 | 4 | 3 | 2 | 3 |
P9 | 5 | 4 | 4 | 3 | 3 | 5 | 4 | 5 | 4 | 1 |
P10 | 4 | 3 | 4 | 5 | 3 | 5 | 3 | 5 | 4 | 5 |
P11 | 4 | 3 | 2 | 3 | 4 | 1 | 4 | 3 | 2 | 3 |
P12 | 3 | 5 | 5 | 4 | 4 | 3 | 3 | 5 | 4 | 3 |
P13 | 3 | 4 | 2 | 3 | 3 | 5 | 4 | 5 | 3 | 5 |
P14 | 3 | 5 | 4 | 5 | 4 | 5 | 4 | 1 | 5 | 4 |
P15 | 4 | 5 | 4 | 1 | 3 | 5 | 3 | 5 | 4 | 5 |
Fuente: adaptado de 33
A partir de los datos mostrados en la Tabla 3, la herramienta determina los valores promedio de severidad y frecuencia de cada problema como entrada y obtiene mediante las funciones de membresía y reglas de inferencia definidas, el nivel porcentual de criticidad de salida. Una vez ingresadas en la pestaña “Problemas” de la herramienta propuesta, las evaluaciones de severidad y frecuencia para cada problema de cada evaluador, se obtuvo en la pestaña “Análisis Fuzzy” el nivel de criticidad porcentual de salida de cada problema y el grado de pertenencia de este a las categorías: bajo, alto y medio (ver Figura 8). A partir de lo anterior, en la Tabla 4 se muestran los resultados obtenidos por la herramienta propuesta en cuanto a los niveles de criticidad porcentual para cada problema y el grado de pertenencia a cada categoría definida en las funciones de membresía de la criticidad.
Problema | Nivel criticidad | Alto | Bajo | Medio | Nivel de salida |
---|---|---|---|---|---|
P1 | 87.31 | 0.58 | 0 | 0 | Alto |
P2 | 87.31 | 0.58 | 0 | 0 | Alto |
P3 | 86.42 | 0.55 | 0 | 0 | Alto |
P4 | 62.50 | 0 | 0.99 | 0.99 | Medio |
P5 | 88.83 | 0.63 | 0 | 0 | Alto |
P6 | 88.83 | 0.63 | 0 | 0 | Alto |
P7 | 24.83 | 0 | 0 | 0.55 | Bajo |
P8 | 87.31 | 0.58 | 0 | 0 | Alto |
P9 | 87.31 | 0.58 | 0 | 0 | Alto |
P10 | 87.31 | 0.58 | 0 | 0 | Alto |
P11 | 87.31 | 0.58 | 0 | 0 | Alto |
P12 | 89.14 | 0.64 | 0 | 0 | Alto |
P13 | 89.97 | 0.67 | 0 | 0 | Alto |
P14 | 89.97 | 0.67 | 0 | 0 | Alto |
P15 | 87.31 | 0.58 | 0 | 0 | Alto |
Fuente: elaboración propia
Teniendo en cuenta el grado de pertenencia a estas categorías, se obtienen el término lingüístico que representa el nivel de criticidad de salida para cada problema, permitiendo tener una visión más clara sobre los problemas que son prioritarios de resolver en el software evaluado. De este modo, se obtuvo que para la evaluación heurística realizada sobre el Sistema Gestor de Bases de Datos Sevenet de Industria Licorera del Cauca, 13 problemas son de alta criticidad, 1 problema es de mediana criticidad y 1 problema es de baja criticidad.
Lo presentado en la Tabla 4 se puede apreciar de manera más clara en la Figura 9 donde se presentan los niveles de criticidad porcentual de salida obtenidos por la herramienta para cada uno de los problemas. Se puede apreciar que los 13 problemas con criticidad alta tienen un nivel porcentual mínimo del 87.31%, mientras que el problema con criticidad media tiene un nivel porcentual del 62.50% y el problema con criticidad baja tiene un nivel del 24.83%. Los anteriores resultados sirven de base para que los desarrolladores del sistema evaluado revisen de manera prioritaria los problemas identificados de acuerdo con su nivel porcentual de criticidad.
Tal como se mostró en esta sección, la herramienta automatizada propuesta permite la obtención del nivel de criticidad de cada uno de los problemas identificados por parte de los evaluadores expertos en términos porcentuales y lingüísticos haciendo uso de la lógica difusa, de tal modo que con respecto a la forma tradicional de analizar los resultados de una evaluación heurística convencional en las cuales por cada problema se obtiene un valor de severidad, frecuencia y criticidad en una escala poco inteligible, la herramienta propuesta obtiene la criticidad en términos de los niveles: bajo, medio y alto, así como un valor porcentual asociado a dichos niveles, los cuales son calculados a través de las funciones de membresía y las reglas de inferencia definidas por la lógica difusa. A nivel de las limitaciones de la herramienta, es importante aclarar que la herramienta no permite la conducción de la evaluación heurística y se limita al análisis de los resultados obtenidos en estas de cara a mejorar la claridad e interpretación de estos por parte del coordinador o coordinadores de la prueba.
4. Conclusiones y trabajos futuros
En este trabajo se propuso como aporte el uso de la lógica difusa para el análisis de los resultados de una evaluación heurística convencional de usabilidad, permitiendo obtener como salida un nivel de criticidad en términos de porcentaje y en términos lingüísticos, orientando de manera más clara a los coordinadores de la prueba con respecto a la prioridad de los problemas a corregir en el software inspeccionado.
La herramienta desarrollada en el lenguaje Java permite aprovechar las ventajas suministradas por la API jFuzzyLogic en cuanto al análisis de los valores promedio de entrada de severidad y frecuencia a través de funciones de membresía, así como la obtención del nivel de criticidad de salida mediante funciones de membresía y reglas de inferencia. Está API permite la personalización de las funciones y las reglas usando el lenguaje FCL. Lo anterior hace que se pueda aplicar de manera sencilla el análisis difuso para la toma de decisiones en diferentes contextos de aplicación.
La herramienta propuesta pretende servir de apoyo en el análisis de los resultados de evaluaciones heurísticas de usabilidad, basadas en la identificación de problemas de acuerdo con principios de diseño y en la calificación de estos, teniendo en cuenta los criterios de severidad, frecuencia y criticidad. Dado que el rango de valores de la severidad y frecuencia varían entre 0 y 4, y el rango de valores que puede tomar la criticidad varía entre 0 y 8 (escalándolo a un porcentaje de 0 a 100), la herramienta hace uso de la lógica difusa para determinar los niveles de severidad y frecuencia de entrada, así como el porcentaje de criticidad de salida, lo cual puede ser de ayuda en la priorización de los problemas de usabilidad a enfrentar en el software evaluado a través de la inspección.
Como resultado del caso de estudio realizado en el presente artículo, se obtuvo que la herramienta propuesta permitió obtener mediante el uso de la lógica difusa que 13 de los problemas tienen un nivel de criticidad porcentual alto, 1 de los problemas tiene un nivel de criticidad medio y 1 de los problemas en el nivel bajo. Estos resultados permiten a nivel porcentual y lingüístico obtener indicadores sobre los problemas de usabilidad a los cuales se les debe dar una mayor prioridad dentro del sistema Sevenet de la Industria Licorera del Cauca.
Si bien la herramienta propuesta permite obtener de manera más clara el nivel de criticidad porcentual de los problemas identificados en una evaluación heurística, como trabajo futuro se propone incluir dentro de la herramienta, el nivel de criticidad total obtenido al consolidar la criticidad del total de los problemas, así como la generación automática de un ranking de problemas a partir del nivel de criticidad obtenido por cada uno de estos. Del mismo modo es posible incluir la funcionalidad automática de generar un diagrama de barras con los niveles de criticidad de cada problema, tal como el presentado en la Figura 7. Finalmente, como trabajo futuro derivado de la presenten investigación, se pretende aplicar la lógica difusa para el análisis de los resultados de otros enfoques de evaluación desde la perspectiva de la usabilidad y la accesibilidad.