• Nenhum resultado encontrado

Aplicação de clustering e métricas à análise de LOG para avaliação automática de usabilidade de aplicações internet ricas

N/A
N/A
Protected

Academic year: 2021

Share "Aplicação de clustering e métricas à análise de LOG para avaliação automática de usabilidade de aplicações internet ricas"

Copied!
106
0
0

Texto

(1)

DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA

ALANA REGINA BIAGI SILVA LISBOA

APLICAÇÃO DE CLUSTERING E MÉTRICAS À ANÁLISE DE LOG

PARA AVALIAÇÃO AUTOMÁTICA DE USABILIDADE DE

APLICAÇÕES INTERNET RICAS

DISSERTAÇÃO DE MESTRADO

CORNÉLIO PROCÓPIO 2015

(2)

ALANA REGINA BIAGI SILVA LISBOA

APLICAÇÃO DE CLUSTERING E MÉTRICAS À ANÁLISE DE LOG

PARA AVALIAÇÃO AUTOMÁTICA DE USABILIDADE DE

APLICAÇÕES INTERNET RICAS

Dissertação apresentada ao Programa de Pós-Graduação em Informática da Universidade Tecnológica Federal do Paraná – Câmpus Cornélio Procópio como requisito parcial para a obtenção do título de Mestre em Informática

Orientador: Prof. Dr. Luciano Tadeu Esteves Pansanato

CORNÉLIO PROCÓPIO 2015

(3)

de aplicações internet ricas / Alana Regina Biagi Silva Lisboa. – 2015. 102 f. : il. ; 30 cm

Orientador : Luciano Tadeu Esteves Pansanato .

Dissertação (Mestrado) – Universidade Tecnológica Federal do Paraná. Programa de Pós- graduação em Informática. Cornélio Procópio, 2015.

Referências: p. 94 – 98.

1. Sites da web – Programação – Programas de computador. 2. Medição de software. 3. Software de aplicação – Desenvolvimento. 4. Software - Testes. 5. Informática – Dissertações. I. Pansanato, Luciano Tadeu Esteves, orient. II. Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Informática. III. Título.

CDD (22. ed.) 004

(4)

Aplicação de Clustering e Métricas à Análise de Log para

Avaliação Automática de Usabilidade de Aplicações

Internet Ricas

”.

por

Alana Regina Biagi Silva Lisboa

Orientador: Prof. Dr. Luciano Tadeu Esteves Pansanato

Esta dissertação foi apresentada como requisito parcial à obtenção do grau de MESTRE EM INFORMÁTICA – Área de Concentração: Computação Aplicada, pelo Programa de Pós-Graduação em Informática – PPGI – da Universidade Tecnológica Federal do Paraná – UTFPR – Câmpus Cornélio Procópio, às 15h30 do dia 22 de maio de 2015. O trabalho foi APROVADO pela Banca Examinadora, composta pelos professores:

__________________________________

Prof. Dr. Luciano Tadeu Esteves Pansanato

(Presidente)

__________________________________

Prof. Dr. André Pimenta Freire

(UFLA-MG)

_________________________________

Prof. Dr. Marco Aurélio Graciotto Silva

(UTFPR-CM)

Visto da coordenação: __________________________________

Carlos Nascimento Silla Junior

Coordenador do Programa de Pós-Graduação em Informática UTFPR Câmpus Cornélio Procópio

(5)
(6)

AGRADECIMENTOS

A Deus, por me dar a oportunidade de estudar.

Ao meu orientador Prof. Dr. Luciano Tadeu Esteves Pansanato, pela competência, tranquilidade e ensinamentos transmitidos durante todo o curso.

Ao meu esposo Júnior, pela compreensão e apoio.

Aos meus filhos, Léo e Helo, por entenderem que tudo que fiz foi por eles, e que esse tempo que eu deixei de dedicar a minha família será recompensado.

Aos meus pais, pelo incentivo.

A minha irmã Lyvia e meu cunhado Arthur, pelas dicas e orientações.

Ao colega de trabalho Adriano Rivolli por todo o trabalho que teve com a ferramenta WAUTT.

As minhas amigas da Coordenadoria de Gestão de Recursos Humanos, por se empenharem ainda mais no trabalho nos momentos que eu precisava.

A todos os profissionais da Coordenadoria de Gestão de Tecnologia da Informação, por todas as vezes que prontamente se disponibilizaram a colaborar no que foi preciso.

(7)

Nada há encoberto que não venha a ser revelado, nem oculto, que não venha a ser conhecido (Matheus 10:26b)

(8)

RESUMO

LISBOA, Alana Regina Biagi Silva Lisboa. Aplicação de Clustering e Métricas à Análise de Log para Avaliação Automática de Usabilidade de Aplicações Internet Ricas. 2015. 102 f. Dissertação (Mestrado em Informática) – Programa de Pós-Graduação em Informática, Universidade Tecnológica Federal do Paraná.

O desenvolvimento de sistemas com eficácia, eficiência e satisfação dos usuários tem feito com que a usabilidade se torne uma característica importante na avaliação de qualidade de um produto de software. A análise da interação do usuário com o sistema é uma das formas de mensurar essa característica. Novas tecnologias permitem a criação de sistemas com foco na qualidade de interação do usuário, com grande parte do processamento ocorrendo no lado cliente, como as Aplicações Internet Ricas ou simplesmente RIAs, de Rich Internet Applications. No entanto, os dados de interação do usuário armazenados no servidor web são insuficientes para extrair conhecimento útil sobre a qualidade da interação. Este trabalho apresenta uma abordagem para avaliação automática de usabilidade através da aplicação de clustering e métricas na análise de log de RIAs. A abordagem proposta utiliza a Web Application Usage Tracking Tool, WAUTT, para capturar a interação do usuário e o algoritmo X-Means para realizar o agrupamento dos dados. O resultado da avaliação automática emprega métricas que fornecem informação quantitativa a respeito da usabilidade de sistemas web e que poderão ser utilizadas pelo avaliador para auxiliar na tomada de decisão. As informações obtidas com as métricas foram comparadas a um método de avaliação tradicional, a avaliação heurística, para corroborar os resultados obtidos pela abordagem proposta. O clustering foi uma técnica útil para reduzir o volume de dados e permitira ao avaliador concentrar os seus esforços em determinados grupos de usuários com comportamentos semelhantes. A aplicação de métricas aos clusters permitiu realizar uma avaliação de usabilidade quantitativa para auxiliar a tomada de decisão em relação a algumas das subcaracterísticas de usabilidade. A avaliação automática de usabilidade realizada tem potencial para auxiliar no desenvolvimento de sistemas web.

Palavras-chave: Avaliação de Usabilidade. Análise de Log. Clustering. Métricas. Aplicações Internet Ricas.

(9)

ABSTRACT

LISBOA, Alana Regina Biagi Silva Lisboa. Application of Clustering and Metrics to the Log Analysis for Automatic Usability Evaluation of Rich Internet Applications. 2015. 102 f. Dissertação (Mestrado em Informática) – Programa de Pós-Graduação em Informática, Universidade Tecnológica Federal do Paraná.

The development of systems with effectiveness, efficiency and user satisfaction has made that usability become an important feature in quality assessment of software products. The analysis of user interaction data with the system is one way to measure this feature. New technologies allow the creation of systems with focus on quality of user interaction and a large part of the processing occurs on the client side, as Rich Internet Applications, from RIAs for short. However, user interaction data stored on the webserver are insufficient to extract useful knowledge about the quality of interaction. This dissertation presents an approach for automatic usability evaluation by applying clustering and metrics in log analysis of RIAs. The proposed approach uses the Web Application Usage Tracking Tool, WAUTT, to capture user interaction and the X-means algorithm to perform clustering. The result of the automatic evaluation applies metrics that provide quantitative information about the usability of web systems and may be used to assist evaluators in making decisions. Information obtained from metrics were compared to a traditional evaluation method, heuristic evaluation, to corroborate the results obtained by the proposed approach. Clustering was a useful technique to reduce the volume of data and allowed the evaluator focus their efforts on certain groups of users with similar behaviors. The application of metrics enabled perform a quantitative usability evaluation to assist the decision making process about some usability subcharacteristics. The automatic usability evaluation conducted as the proposed approach has the potential to assist in developing web systems.

Keywords: Usability Evaluation. Log Analysis. Clustering, Metrics. Rich Internet Applications.

(10)

LISTA DE SIGLAS CSV Comma Separated Values

DOM Document Object Model

GOMS Goals, Operators, Methods and Selection Rules IEC International Electrotechnical Commission

IP Internet Protocol

ISO International Organization for Standardization JSON JavaScript Object Notation

OCS Open Conference System RIA Rich Internet Applications

SAM Sequence Alignment Method

SQuaRE System and Software Quality Requirements and Evaluation WAUTT Web Application User Tracking Tool

XML Extensible Markup Language

UI User Interface

(11)

LISTA DE QUADROS

Quadro 1 – As Dez Heurísticas de Usabilidade de Nielsen ... 25

Quadro 2 – Trabalhos Relacionados ... 41

Quadro 3 – Características das Ferramentas... 44

Quadro 4 – Comparação entre as Avaliações do DREDS ... 73

(12)

LISTA DE TABELAS

Tabela 1 - Níveis de Severidade dos Problemas de Usabilidade...26

Tabela 2 – Padronização dos dados para execução do agrupamento...50

Tabela 3 – Execução do X-Means, Tarefa 1, Sistema DREDS ...56

Tabela 4 – Métricas do cluster 0, Tarefa 1, Sistema DREDS...57

Tabela 5- Métricas do cluster 1, Tarefa 1, Sistema DREDS...57

Tabela 6 – Métricas do cluster 3, tarefa 1, Sistema DREDS...57

Tabela 7 – Execução do X-Means, tarefa 2, Sistema DREDS...58

Tabela 8 – Métricas do cluster 0, Tarefa 2, Sistema DREDS...58

Tabela 9 – Métricas do cluster 1, Tarefa 2, Sistema DREDS...58

Tabela 10 – Execução do X-Means, Tarefa 3, Sistema DREDS...59

Tabela 11 – Métricas do cluster 0, Tarefa 3, Sistema DREDS...59

Tabela 12 – Métricas do cluster 1, Tarefa 3, Sistema DREDS...60

Tabela 13 – Métricas do cluster 2, Tarefa 3, Sistema DREDS...60

Tabela 14 – Execução do X-Means, Tarefa 4, Sistema DREDS...61

Tabela 15 – Métricas do cluster 0, Tarefa 4, Sistema DREDS...61

Tabela 16 – Métricas do cluster 2, Tarefa 4, Sistema DREDS...61

Tabela 17 – Métricas do cluster 3, Tarefa 4, Sistema DREDS...62

Tabela 18 – Execução do X-Means, Tarefa 5, Sistema DREDS...62

Tabela 19 – Métricas do cluster 0, Tarefa 5, Sistema DREDS...62

Tabela 20 – Métricas do cluster 1, Tarefa 5, Sistema DREDS...63

Tabela 21 – Síntese das métricas calculadas, Sistema DREDS...64

Tabela 22 – Execução do X-Means , Sistema SEAC...67

Tabela 23 – Métricas do cluster 1, Sistema SEAC...68

Tabela 24 – Métricas do cluster 2, Sistema SEAC...68

Tabela 25 – Síntese das métricas calculadas, Sistema SEAC...69

Tabela 26 – Quantidade de problemas encontrados na avaliação heurística do DREDS...71

(13)

LISTA DE FIGURAS

Figura 1 – Exemplo de entrada em arquivo de log de servidor ... 23

Figura 2 – Divisões da Série SQuaRE ... 29

Figura 3 – Características de Qualidade de Produto de Software... 30

Figura 4 – Características de Qualidade em Uso ... 31

Figura 5 – Modelo de Referência/ Avaliação de Qualidade de Produto de Software ... 32

Figura 6 – Modelo de Referência para Mensurar a Qualidade do Produto de Software ... 33

Figura 7 – Interface administrativa para acesso aos dados capturados pela WAUTT ... 35

Figura 8 – Estrutura do Projeto de Avaliação de Usabilidade Proposto ... 49

Figura 9 – Exemplo do arquivo de log de eventos gerado pela ferramenta WAUTT ... 51

Figura 10 – Exemplo do arquivo de log de eventos com dados numéricos ... 51

Figura 11 – Página do Sistema DREDS ... 54

(14)

SUMÁRIO 1 INTRODUÇÃO... 15 1.1 JUSTIFICATIVA ... 16 1.2 OBJETIVOS ... 17 1.3 ORGANIZAÇÃO DA DISSERTAÇÃO ... 18 2 FUNDAMENTAÇÃO TEÓRICA ... 19 2.1 USABILIDADE ... 19 2.2 AVALIAÇÃO DE USABILIDADE ... 21 2.2.1 Análise de Log ... 22 2.2.2 Avaliação Heurística ... 24

2.3 AVALIAÇÃO AUTOMÁTICA DE USABILIDADE ... 26

2.4 PADRÕES PARA AVALIAÇÃO DA QUALIDADE DE SOFTWARE ... 29

2.5 CAPTURA DA INTERAÇÃO DO USUÁRIO ... 34

2.6 MINERAÇÃO DE DADOS ... 36

3 TRABALHOS RELACIONADOS... 39

3.1 ANÁLISE DE LOG PARA AVALIAÇÃO DE USABILIDADE ... 39

3.2 ANÁLISE E COMPARAÇÃO ... 41

4 UM PROCESSO DE AVALIAÇÃO AUTOMÁTICA DE USABILIDADE ... 46

4.1 DEFINIÇÕES ... 46

4.2 ETAPAS DO PROCESSO ... 47

4.2.1 Estabelecer os requisitos de avaliação ... 47

4.2.2 Especificar a avaliação ... 48

4.2.3 Projetar a avaliação ... 48

4.2.4 Executar a avaliação ... 49

4.2.5 Concluir a avaliação ... 52

5 AVALIAÇÃO AUTOMÁTICA DE USABILIDADE USANDO CLUSTERING E MÉTRICAS ... 53

5.1 AVALIAÇÃO DO SISTEMA DREDS ... 53

5.2 SÍNTESE DOS RESULTADOS: DREDS ... 63

5.3 AVALIAÇÃO DO SISTEMA SEAC ... 65

5.4 SÍNTESE DOS RESULTADOS: SEAC ... 68

6 COMPARAÇÃO ENTRE AVALIAÇÃO AUTOMÁTICA DE USABILIDADE E AVALIAÇÃO HEURÍSTICA ... 70

6.1 AVALIAÇÃO HEURÍSTICA DO SISTEMA DREDS ... 70

6.2 AVALIAÇÃO HEURÍSTICA DO SISTEMA SEAC ... 71

6.3 COMPARAÇÃO: SISTEMA DREDS... 72

6.4 COMPARAÇÃO: SISTEMA SEAC ... 74

6.5 LIMITAÇÕES DA ABORDAGEM ... 75

7 CONCLUSÕES ... 76

7.1 CONTRIBUIÇÕES ... 77

(15)

REFERÊNCIAS ... 79

APÊNDICE A - Atividades Propostas para Avaliação Automática - DREDS ... 84

APÊNDICE B - Atividades Propostas para Avaliação Automática - DREDS ... 90

APÊNDICE C - Atividade Proposta para Avaliação Automática - SEAC ... 93

APÊNDICE D - Interfaces do SEAC ... 94

APÊNDICE E - Resultado da Avaliação Heurística - DREDS ... 100

(16)

1 INTRODUÇÃO

Com a crescente disseminação da Internet e o aumento da demanda por sistemas web, a exigência dos usuários em relação à qualidade desses sistemas tem crescido consideravelmente (RIVERO; CONTE, 2011). Um sistema web com baixa qualidade tem grandes chances de ser preterido pelo usuário, considerando a grande quantidade de aplicações com objetivos semelhantes disponíveis na Internet (MACK; NIELSEN, 1994; NIELSEN; LORANGER, 2006).

A usabilidade é a capacidade de um produto ser usado por usuários específicos para atingir objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso (INTERNATIONAL..., 1991). Esse conceito está relacionado à qualidade da interação dos usuários com um software e depende de vários aspectos, como a facilidade de aprender, a eficiência e a satisfação do usuário (FREITAS; DUTRA, 2009). A definição de métodos e técnicas para avaliar a usabilidade tem sido um dos investimentos da indústria de desenvolvimento de software e um dos objetivos da pesquisa em Engenharia de Web (Web Engineering) (CONTE et al., 2007).

Diversas variáveis determinam o custo da avaliação de usabilidade: o escopo (quanto mais elementos a serem avaliados, maior o custo e maior o tempo para coletar e analisar os dados), o equipamento utilizado (quanto mais sofisticado o equipamento, maior o custo) e o pessoal (quanto maior o número de participantes e avaliadores envolvidos, maior o custo e o tempo) (MINISTÉRIO..., 2010). Com o objetivo de reduzir o custo da avaliação de usabilidade podem ser conduzidos testes remotos e automáticos de usabilidade, com usuários e avaliadores separados no tempo e espaço (MACK; NIELSEN, 1994). A automação da avaliação da usabilidade pode, portanto, ser uma forma promissora para aperfeiçoar as abordagens existentes (BASTIEN, 2010; IVORY; HEARST, 2001).

Uma das maneiras de avaliar a usabilidade de um sistema de forma remota e automática é através de teste com usuários (user testing). Os métodos de teste com usuários são os mais utilizados dentre as outras abordagens (FERNANDES et al., 2011). Em especial, a análise de log é um tipo de teste com usuários em que são analisadas as interações do usuário registradas em arquivos de log gerados durante a utilização de um sistema web (FERNANDES et al., 2011; IVORY; HEARST, 2001; MACK; NIELSEN, 1994; PAGANELLI; PATERNÒ, 2002).

O uso de arquivos de log que são armazenados no servidor web para a avaliação de usabilidade é uma estratégia conveniente e confiável (JANSEN, 2006). No entanto, os

(17)

arquivos de log de servidor têm a limitação de conter somente a informação sobre as páginas (URLs) visitadas pelo usuário e não oferecer dados detalhados sobre a interação real do usuário com um sistema web.

Nos sistemas web modernos, usualmente chamados de Aplicações Internet Ricas (de Rich Internet Applications − RIAs) (RIVOLLI et al., 2014), a interface pode ser uma única página que inclui subpáginas sob demanda que gerenciam toda a interação do usuário, de maneira semelhante a uma aplicação desktop. Esse paradigma evita a atualização de toda a página a cada interação e permite aos sistemas carregar, apresentar e alterar de maneira independente os elementos da página. Assim, os dados sobre a interação do usuário que podem ser armazenados no servidor web não são suficientes para obter informação detalhada sobre o uso real do sistema. No caso de RIAs, o interesse é trabalhar com arquivos de log com informação no nível de elementos da página e de eventos associados com a interação do usuário.

1.1 JUSTIFICATIVA

Os arquivos de log da interação do usuário com um sistema web que utiliza o paradigma RIA podem ser muito extensos, tornando inviável a análise manual em uma avaliação de usabilidade. Portanto, o emprego de processos automáticos é necessário para facilitar o trabalho dos profissionais envolvidos (avaliadores). Neste trabalho é apresentada uma aplicação de clustering e métricas para análise de log voltadas a avaliação automática de usabilidade de sistemas web.

A importância da aplicação de clustering está no fato de que o avaliador pode priorizar seus esforços apenas no registro da interação dos usuários que representem um determinado padrão de comportamento, por exemplo, considerando apenas os mais frequentes ou os que ocorrem de maneira isolada. Os registros da interação dos demais usuários podem ainda ser avaliados em outro momento, dependendo da disponibilidade de recursos e restrições de custo.

A importância da aplicação de métricas está na obtenção de indicadores quantitativos como resultado da avaliação automática de usabilidade. Esses indicadores podem auxiliar a tomada de decisão, através da análise de dados numéricos ao invés de somente realizar procedimento subjetivo, que depende única e exclusivamente da visão e experiência de um ou mais avaliadores.

(18)

1.2 OBJETIVOS

O objetivo geral desse trabalho foi apresentar uma abordagem para a avaliação automática de usabilidade de Aplicações Internet Ricas com base na aplicação de clustering e métricas à análise de log. Os objetivos específicos foram os seguintes:

 Definir uma abordagem de avaliação automática de usabilidade baseada somente na análise de log, sem realizar comparações entre o ideal e o que foi realizado pelo usuário.

O foco deste objetivo é não utilizar modelos de tarefa para comparação entre os passos realizados pelo usuário com aqueles considerados como ideais para a conclusão de uma tarefa. Esse tipo de abordagem torna a avaliação mais flexível, podendo ser aplicada em diversos contextos sem a necessidade de intervenção do avaliador na etapa inicial do processo.

Executar a técnica de clustering em arquivos de log com dados da interação do usuário com RIAs.

Este objetivo consiste no uso de informação no nível de elementos da página e de eventos associados com a interação do usuário com RIAs como entrada para o algoritmo de clustering. Como muitos dos dados obtidos com essa interação não são numéricos, existe a necessidade de uma etapa prévia de pré-processamento para a posterior execução de clustering.

 Empregar métricas que forneçam indicadores de usabilidade para utilização pelo avaliador como apoio à tomada de decisão.

Este objetivo está centrado na apresentação de indicadores com informações menos subjetivas do que análise realizada por avaliadores com apresentação de relatórios exclusivamente descritivos. A participação do avaliador na etapa inicial seria por meio da definição dos valores considerados críticos para os indicadores calculados a partir das métricas.

(19)

 Comparar a proposta de avaliação automática de usabilidade com uma avaliação de usabilidade tradicional.

Este objetivo consiste na comparação dos resultados obtidos com a aplicação de clustering e métricas à análise de log com os resultados da avaliação heurística. Os dois métodos de avaliação seriam realizados em uma mesma RIA para posterior comparação dos resultados.

1.3 ORGANIZAÇÃO DA DISSERTAÇÃO

No Capítulo 2 é apresentada a fundamentação teórica sobre os principais conceitos relacionados à usabilidade, avaliação de usabilidade, avaliação automática de usabilidade, padrões para avaliação da qualidade de software, captura da interação do usuário e à mineração de dados. No Capítulo 3 são descritos os trabalhos relacionados à análise de log para avaliação de usabilidade. No Capítulo 4 é apresentado um processo de avaliação automática de usabilidade definido com base nos padrões para avaliação da qualidade de software. No Capítulo 5 é apresentada a abordagem proposta de avaliação automática de usabilidade aplicada a dois sistemas web. No Capítulo 6 é apresentada a comparação dos resultados da abordagem proposta com a avaliação heurística realizada nos dois sistemas web. No Capítulo 7 são apresentadas as conclusões, com foco nas contribuições e nos trabalhos futuros.

(20)

2 FUNDAMENTAÇÃO TEÓRICA

A fundamentação teórica está dividida em seis seções. Na primeira parte, apresentada na Seção 2.1, a usabilidade é descrita no contexto das normas ISO/IEC. A Seção 2.2 detalha o processo de avaliação de usabilidade e os dois métodos utilizados neste trabalho: a avaliação heurística e a análise de log. A Seção 2.3 apresenta um panorama da avaliação automática de usabilidade. Os padrões que definem os requisitos de qualidade de software e a forma de avaliação da qualidade, descritos no conjunto de normas da ISO/IEC 25000 – Série SQuaRE, são apresentados na Seção 2.4. A série SQuaRE define como avaliar as características de usabilidade de um software empregando técnicas de modo organizado e sistemático. As Seções 2.5 e 2.6 descrevem, respectivamente, a maneira como os dados que servirão de base para avaliação de usabilidade são capturados e a forma de mineração desses dados.

2.1 USABILIDADE

O termo usabilidade foi utilizado pela primeira vez como substituto da expressão ―user-friendly‖ no início da década de 80. Um sistema ―user-friendly‖ era considerado um sistema amigável, fácil de usar e operacionalizar. No entanto, essa expressão era considerada excessivamente vaga e subjetiva. A partir de então, surgiram diferentes abordagens para definir a usabilidade (DIAS, 2007):

 Definições orientadas ao produto: ligadas às características ergonômicas;

 Definições orientadas ao usuário: associadas ao esforço ou atitude do usuário;

 Definições baseadas no desempenho do usuário: ligadas à forma de interação do usuário, com foco na facilidade de uso e no grau de aceitação dos produtos;

 Definições orientadas ao contexto de uso: associadas à execução de tarefas específicas num ambiente determinado.

Em 1991, a Norma ISO/IEC 9126 (INTERNATIONAL..., 1991) descreveu a usabilidade em uma abordagem orientada ao produto. Usabilidade era considerada um conjunto de atributos de software relacionado ao esforço necessário para utilizá-lo e ao julgamento individual desse uso por um conjunto de usuários. Com a reedição dessa mesma norma, em 1998, as necessidades do usuário foram incluídas no conceito de usabilidade, que passou a ser definido pelas características de qualidade de software: funcionalidade,

(21)

confiabilidade, eficiência, possibilidade de manutenção e portabilidade (INTERNATIONAL..., 1998).

Em uma definição mais detalhada, a norma ISO/IEC 25010 (INTERNATIONAL..., 2011) estabeleceu o conceito de usabilidade considerando as características de qualidade de software e o ponto de vista do usuário e seu contexto de uso, como a capacidade de um produto ser usado por usuários específicos para atingir objetivos com eficácia, eficiência e satisfação em um contexto específico de uso. Para o contexto deste trabalho, essa foi a definição adotada para usabilidade.

O contexto de uso é a combinação dos usuários, tarefas, equipamentos e ambiente em que o produto é usado. A usabilidade pode ser considerada como a qualidade da interação entre o usuário e o sistema e depende de características tanto do sistema quanto do próprio usuário. Assim, a usabilidade está diretamente associada ao contexto operacional e aos diferentes tipos de usuários, tarefas e ambientes. A alteração em qualquer um desses aspectos pode alterar a usabilidade de um sistema (DIAS, 2007).

A eficácia está relacionada à precisão e à completeza com que os usuários atingem objetivos específicos. A precisão está associada à correspondência entre a qualidade do resultado e o critério especificado (para avaliação), enquanto a completeza é a proporção do quanto esse objetivo foi alcançado. A eficácia mede a adequação da interface, fornecendo indicativos relacionados à possibilidade de concluir as tarefas propostas de forma correta (PREECE et al., 2012).

A eficiência é uma característica quantitativa e diz respeito ao tempo total e aos recursos necessários para realizar uma tarefa específica ou à quantidade de erros ocorridos na execução dessa tarefa (INTERNATIONAL..., 1998). O sistema deve ser eficiente a ponto de permitir que o usuário atinja altos níveis de produtividade nas suas atividades. Essa característica de qualidade está intimamente ligada à experiência dos usuários. Para avaliar a eficiência de uso de um sistema é comum estabelecer um determinado nível de experiência desejado dos usuários e medir o tempo gasto por uma amostra desses usuários para a realização de tarefas típicas (DIAS, 2007).

A satisfação do usuário refere-se a percepções, sentimentos e opiniões dos usuários a respeito de um sistema, normalmente identificados por questionários ou entrevistas (DIAS, 2007). Um sistema eficiente, que gera resultados eficazes, pode não ser aceitável se a reação do usuário ao sistema for negligenciada.

O desempenho é outra métrica de usabilidade tão importante quanto a satisfação do usuário (DIAS, 2007). O desempenho reúne aspectos de eficácia e eficiência na sua definição:

(22)

habilidade do usuário em realizar tarefas para as quais o sistema foi desenvolvido e no seu contexto de uso.

O objetivo de se desenvolver sistemas considerando as características de usabilidade é permitir uma interação com qualidade. O foco na usabilidade deve proporcionar a criação de interfaces transparentes de maneira a não dificultar o processo, permitindo ao usuário pleno controle do ambiente sem se tornar um obstáculo durante a interação.

2.2 AVALIAÇÃO DE USABILIDADE

Avaliação de usabilidade é o processo sistemático de coleta de dados responsável por obter informações sobre como um ou mais usuários devem utilizar um sistema para uma determinada tarefa em certo tipo de ambiente (PREECE et al., 2012). O objetivo é verificar o desempenho (eficácia e eficiência) da interação do usuário e obter indícios da sua satisfação, identificando problemas durante a realização de tarefas específicas em seu contexto de uso (DIAS, 2007).

Os métodos de avaliação de usabilidade são divididos em três grandes grupos: métodos de inspeção, métodos de teste com usuários e métodos baseados em modelos (DIAS, 2007).

Os métodos de inspeção, também conhecidos como métodos analíticos ou de prognóstico, são caracterizados pela não participação direta dos usuários. Normalmente, os avaliadores que usam esses métodos se baseiam em regras ou recomendações estabelecidas previamente para identificar os problemas de usabilidade. São exemplos de métodos de inspeção para avaliação de usabilidade: inspeção de usabilidade formal, inspeção ou percurso pluralístico, inspeção de componentes, inspeção de consistência, inspeção ou percurso cognitivo, inspeção baseada em padrões, inspeção baseada em guias de recomendações e guias de estilo e avaliação heurística.

Ao contrário dos métodos de inspeção, os métodos de teste com usuários são caracterizados pela participação direta dos usuários. Os testes podem ser realizados por meio de questionários e entrevistas ou através de técnicas de observação e monitoramento do sistema em situações reais. São classificados como métodos de teste com usuários: entrevistas, questionários, testes empíricos, análise de log e think aloud.

Os métodos baseados em modelos, chamados de métodos de modelagem analítica, têm o objetivo de prever a usabilidade de um sistema a partir de modelos cognitivos ou

(23)

representações de sua interface e/ou de seus usuários. A intenção desses métodos é representar a interação do usuário e como ficam as características relacionadas ao entendimento, conhecimento, pretensões ou reações. São exemplos de métodos baseados em modelos os métodos da família GOMS (Goals, Operators, Methods and Selection Rules). Esses métodos empregam técnicas de modelagem e de análise de tarefas para prever o desempenho do usuário com determinada interface e os problemas de usabilidade encontrados.

Neste trabalho, a análise de log, um método de teste com usuários, é utilizada para a avaliação automática de usabilidade de aplicações interativas web. Para verificar a validade da abordagem proposta para a avaliação automática de usabilidade, a avaliação heurística, um método de inspeção, foi realizada com as mesmas aplicações e os resultados obtidos foram utilizados para realizar uma comparação. Esses dois métodos, análise de log e avaliação heurística, são descritos nas subseções seguintes.

2.2.1 Análise de Log

A análise de log é um método de avaliação de usabilidade classificado como método de teste com usuários, que pode ser realizada local ou remotamente. Esse método consiste no emprego de técnicas para analisar os dados referentes à interação do usuário com o sistema que, geralmente, ficam registrados em arquivos de log armazenados em servidores (CYBIS et al., 2010; IVORY; HEARST, 2001).

A possibilidade de ser realizada remotamente é uma das vantagens da análise de log. Dessa maneira, os usuários estão em seus ambientes naturais, o que minimiza a ocorrência dos problemas de interação artificiais, como aqueles gerados quando os testes são realizados em laboratório, quando o usuário percebe que está sendo monitorado e se sente constrangido. Além disso, como os usuários estão separados no tempo e espaço, é desnecessário realizar a avaliação em tempo real, o que permite envolver uma grande quantidade de usuários com baixo custo (MACK; NIELSEN, 1994).

O objetivo da análise de log é verificar os registros de todas as interações realizadas entre o usuário e o sistema para descobrir padrões de comportamentos dos usuários que possam indicar problemas de usabilidade. O uso dessa técnica gera dados relacionados a padrões de uso, usabilidade de produtos, informações sobre o acesso a determinada parte do

(24)

sistema, conteúdo mais acessado, caminhos realizados pelo usuário, dentre outros (PREECE et al., 2012).

De forma geral, cada registro em um arquivo de log de servidor contém: endereço IP que faz a requisição, data e horário da requisição, URL requisitada, tamanho do arquivo requisitado, protocolo empregado na requisição, navegador e sistema operacional usado pelo computador requisitante. A Figura 1 representa uma transação realizada com sucesso (código 0200), contendo o endereço IP da máquina requisitante (10.20.32.83), a data e horário do acesso, o tipo de requisição efetuada (solicitação da página index.html) e o tamanho do arquivo que retornou ao cliente (304).

10.20.32.83 [27/Oct/2013:11:10:34 -0200] “GET /index.html HTTP/1.1” 200 304

Figura 1 – Exemplo de entrada em arquivo de log de servidor Fonte: Autoria própria.

As informações obtidas a partir de um arquivo de log de servidor podem ser organizadas em quatro tipos (CYBIS et al., 2010), apresentadas resumidamente pela lista a seguir:

1. Visitas: número de usuários, duração de cada acesso por usuário, quantidade de páginas acessadas em um determinado período, local de onde partiu a requisição do usuário, tipo do navegador e sistema operacional utilizado.

2. Referência: lista de endereços web de onde partem os usuários, termos de pesquisa que foram digitados para acessar o sistema.

3. Conteúdo: as páginas mais visitadas.

4. Navegação: os caminhos percorridos pelos usuários para alcançar o objetivo.

Os dados constantes em um arquivo de log são recursos interessantes para análise de usabilidade, considerando que os usuários estão em seus ambientes naturais, realizando tarefas reais. No entanto, trazem informações bastante superficiais em relação aos objetivos da análise de usabilidade, registrando apenas o caminho percorrido pelos usuários e a duração dessas visitas (CYBIS et al., 2010; OLINER et al., 2012; RIVOLLI et al., 2014).

Em RIAs, os dados que podem ser armazenados no servidor sobre a interação do usuário não são suficientes para extrair informação detalhada sobre o uso real da aplicação. Um sistema web tradicional consiste em múltiplas páginas, atualizadas a cada interação do usuário. Em sistemas com tecnologia RIA, pode haver uma única página com várias

(25)

subpáginas que gerenciam todas as interações com usuário. Essa tecnologia evita que páginas inteiras sejam atualizadas a cada interação e permite que apenas alguns elementos sejam atualizados. No entanto, é necessário que a interação dos usuários com todos os elementos da interface seja capturada para obter dados detalhados que possam servir de base para uma avaliação de usabilidade.

Neste trabalho, a ferramenta utilizada para realizar a captura da interação do usuário com o sistema web avaliado foi a Web Application Usage Tracking Tool (WAUTT) (RIVOLLI et al., 2014), que além de capturar as informações existentes nos arquivos de log de servidor, também permite registrar as interações do usuário ocorridas em sistemas web que utilizam tecnologia RIA.

2.2.2 Avaliação Heurística

A avaliação heurística é um método de inspeção para avaliação de usabilidade de sistemas interativos realizada por especialistas. O objetivo é identificar problemas de usabilidade que serão corrigidos ao longo do processo de desenvolvimento do sistema (NIELSEN, 1994). A avaliação heurística é o método de avaliação de usabilidade mais utilizado, uma vez que é fácil de ser aplicado e tem baixo custo (BLANDFORD et al., 2004; KAROULIS; POMBORTSIS, 2003; HOLLINGSED, NOVICK, 2007; ALVES et al., 2014). Além disso, é considerado um método eficiente (NIELSEN, 1994), com capacidade de adaptação a diversos domínios de aplicação (PREECE et al., 2012), sendo adequado também para sistemas web (RUSU et al., 2011; MACK; NIELSEN, 1994).

Na avaliação heurística, os avaliadores analisam o fluxo de interação exigido para completar uma tarefa real e fazem o julgamento dos elementos interativos da interface do sistema baseando-se em heurísticas, princípios ou padrões de usabilidade. Heurística é uma parte do conhecimento capaz de sugerir ações plausíveis a seguir ou ações implausíveis a evitar (LENAT, 1982). Assim, heurísticas são regras informais de julgamento que guiam as pessoas numa rápida tomada de decisão. Essas heurísticas servem como sugestões de como projetar uma boa interface e podem ser definidas pelos avaliadores ou especialistas.

O número de avaliadores depende da análise do contexto de uso do sistema e do custo benefício. A recomendação é que a avaliação seja realizada por três a cinco especialistas na área. As avaliações realizadas por especialistas podem produzir ótimos resultados em relação à rapidez da avaliação e à quantidade e importância dos problemas de usabilidade

(26)

identificados. No entanto, esse resultado está diretamente relacionado à competência dos avaliadores e às estratégias de avaliação empregadas. Pesquisas realizadas por Nielsen (1994) fornecem indicações sobre a quantidade de avaliadores para possibilitar a identificação de problemas de usabilidade. Cinco avaliadores especialistas são capazes de identificar 95% dos problemas de usabilidade de um sistema, enquanto que o mesmo número de avaliadores novatos identifica apenas 50% dos problemas (CYBIS et al., 2010).

Para evitar a influência de um avaliador na análise de outro avaliador, uma vez que esse processo é um julgamento de valor, cada um dos especialistas analisa a usabilidade separadamente, inspecionando e verificando todos os elementos várias vezes e realizando comparações com as heurísticas escolhidas. No entanto, não há restrição para que o avaliador considere outras heurísticas que julgue relevante.

As heurísticas consideradas neste trabalho foram as definidas por Nielsen (1994) baseadas em 294 tipos de erros encontrados usualmente em estudos empíricos. O Quadro 1 apresenta um resumo dessas heurísticas.

Nº Heurística

1 Visibilidade do estado atual do sistema: O usuário precisa de feedback informando continuamente o que está acontecendo e dentro de um tempo razoável.

2 Correlação entre o sistema e o mundo real: A informação deve ser contextualizada; o sistema deve evitar termos técnicos, utilizando a linguagem do usuário e em ordem lógica e coerente.

3 Controle e liberdade do usuário: O usuário deve conseguir desfazer ou refazer uma operação realizada incorretamente.

4

Consistência e padrões: Funções, palavras ou situações iguais devem se identificadas da mesma maneira; a mesma ação deve ser apresentada na mesma localização e da mesma forma para facilitar o reconhecimento.

5 Prevenção de erros: Um sistema deve ser projetado para que não seja necessário enviar uma mensagem de erro; a prevenção de falhas deve ser configurada.

6

Reconhecimento ao invés de memorização: A interface do sistema deve oferecer ajuda contextual e informações capazes de orientar as ações do usuário; o usuário não deve ser obrigado a memorizar informações.

7

Flexibilidade e eficiência de uso: O sistema deve permitir ao usuário personalizar ou programar suas ações frequentes; o sistema precisa ser fácil para usuários leigos, mas flexível para se tornar ágil a usuários avançados.

8 Projeto estético e minimalista: Os diálogos do sistema precisam ser simples e claros; não devem conter informações irrelevantes ou desnecessárias.

9 Suporte aos usuários no reconhecimento, diagnóstico e recuperação de erros: As mensagens de erros devem ter redação simples e clara, indicar o problema e sugerir soluções.

10 Informações de ajuda e documentação: A documentação do sistema deve ser facilmente acessível, com foco nas tarefas comuns do usuário e não pode ser muita longa.

Quadro 1 – As Dez Heurísticas de Usabilidade de Nielsen Fonte: Adaptado de Dias (2007).

(27)

Além de identificar os problemas, os avaliadores também classificam os problemas de usabilidade encontrados de acordo com o seu grau de severidade. O objetivo é identificar aqueles que são mais sérios e deverão ser corrigidos prioritariamente. Neste trabalho, a classificação foi realizada utilizando uma escala com valores variando entre números de 1 (um) a 4 (quatro), sendo que o menor número indica um problema cosmético e o maior indica um problema catastrófico conforme a Tabela 28.

Tabela 28 - Níveis de Severidade dos Problemas de Usabilidade

Descrição Nível de Severidade

Problema Cosmético: não há urgência na correção do problema, pois não há interferência no funcionamento do sistema.

1

Problema Simples: a prioridade de correção é baixa, pois o usuário pode facilmente contornar o problema.

2

Problema Grande: a prioridade de correção é alta, pois o usuário terá dificuldade de concluir a tarefa.

3

Problema Catastrófico: o problema impede a conclusão da tarefa e correção deve ser realizada.

4

Fonte: Nielsen (1994).

Cada avaliador associa todos os problemas de usabilidade encontrados às heurísticas violadas e apresentam os resultados em um relatório. Os relatórios individuais são posteriormente consolidados em um único relatório de problemas de usabilidade.

2.3 AVALIAÇÃO AUTOMÁTICA DE USABILIDADE

Diversas técnicas de avaliação de usabilidade têm sido propostas para identificar problemas de usabilidade diferentes e em estágios distintos do desenvolvimento de software. Cada técnica tem seus próprios requisitos e, geralmente, técnicas diferentes descobrem problemas de usabilidade diferentes (IVORY; HEARST, 2001; FERNANDEZ et al., 2011; WALJI, 2013).

Estudos apontam que a mesma técnica aplicada numa mesma interface por avaliadores diferentes resultam em problemas de usabilidade distintos. Isso indica que não há uma forma sistemática de descobrir problemas de usabilidade. Essa característica, aliada ao fato de que cada técnica descobre apenas alguns problemas, é o que leva à recomendação para o uso de várias técnicas diferentes (MOLICH et al., 1999; NIELSEN, 1994; FERNANDEZ et al., 2011).

(28)

Uma das alternativas para aprimorar essa falta de sistemática e ampliar a faixa de cobertura dos problemas descobertos é automatizar alguns aspectos ou etapas da avaliação de usabilidade, por exemplo, a forma de captura dos dados, a análise da informação coletada e a sugestão de melhorias (IVORY; HEARST, 2001). A avaliação automática de usabilidade apresenta algumas vantagens em relação aos métodos tradicionais de avaliação (NIELSEN, 1994):

 Redução do custo da avaliação. Métodos que automatizam a captura, a análise e a etapa de sugestão de melhorias podem diminuir o tempo gasto na avaliação e, consequentemente, o custo.

 Aumento da consistência dos erros descobertos. Em certos casos, podem ser implementadas ferramentas para descobrir desvios nas tarefas comparando-as com modelos definidos como ideais. Isso também permite detectar os padrões de comportamento do usuário que podem sugerir possíveis erros.

 Redução da necessidade de avaliadores experientes. Automatizar algumas partes do processo de avaliação como a análise e a sugestão de melhorias pode ser uma forma de ajudar os avaliadores que não têm muita experiência.

 Aumento da faixa de cobertura dos erros descobertos. Fatores como tempo, custo e recursos restritos não permitem que sejam avaliados todos os aspectos de uma interface. Ferramentas que identificam possíveis padrões de comportamento dos usuários podem aumentar a quantidade de características de usabilidade avaliadas.

 Comparação entre interfaces. Algumas abordagens para avaliação automática permitem realizar comparações entre interfaces distintas, aprimorando o processo de design de interface.

Avaliação da usabilidade durante a fase de design de interface. A maior parte das técnicas de avaliações tradicionais permite a avaliação de usabilidade somente após a fase de design ou prototipação do projeto, o que aumenta o custo do projeto.

Apesar de ser utilizado o termo ―avaliação automática‖, a maior parte das técnicas ou ferramentas para avaliação automática de usabilidade requer um esforço humano expressivo porque dependem de testes tradicionais ou exigem intensa interação do avaliador (BALBO et

(29)

al., 2005). Nesse sentido, uma classificação da avaliação de usabilidade pode ser dividida em quatro abordagens:

 Não automática: realizada por avaliadores especialistas.

Captura automática: uso de software para facilitar o registro de informação relevante sobre o usuário e o sistema.

 Análise automática: métodos que identificam os problemas de usabilidade automaticamente.

 Análise crítica: métodos que, além de identificar os problemas automaticamente, também sugerem melhorias.

Predominantemente, a automação dos testes de usabilidade tem sido utilizada em duas etapas: na captura dos dados e na análise desses dados de acordo com alguma métrica ou modelo. Fernandez et al. (2011) apresentaram um estudo sistemático dos métodos de avaliação relatados em 206 trabalhos sobre avaliação de sistemas web. Os resultados mostraram que 58% das avaliações foram realizadas através de testes com usuário, mas apenas 31% foram realizadas através de avaliação automática. Os métodos não foram aplicados com exclusividade, pois em um mesmo trabalho podem ter sido aplicados um ou mais métodos. Os autores dividem os métodos de avaliação de usabilidade de sistemas web em cinco categorias:

1. Testes com usuários: envolvem o avaliador observando os usuários na interação com o sistema. Exemplos: análise de log e protocolo think-aloud.

2. Métodos de inspeção: envolvem um avaliador experiente usando um conjunto de critérios para identificar potenciais problemas de usabilidade. Exemplos: avaliação heurística e regras de recomendação.

3. Investigação: envolvem a aplicação de perguntas subjetivas sobre a interação do usuário com o sistema. Exemplos: entrevistas e questionários.

4. Modelos analíticos: envolvem alguma abordagem que permite ao avaliador predizer a usabilidade de um sistema aplicando modelos. Exemplos: família GOMS e testes cognitivos.

5. Simulação: envolvem a simulação da interação do usuário com o sistema através da utilização de algoritmos de simulação. Exemplo: modelo Petri Net.

(30)

Dos 206 estudos analisados, 69% das avaliações foram realizadas por métodos manuais e 31% utilizaram alguma forma de avaliação automática. São considerados métodos automáticos: análise de log, simuladores, algoritmos para análise de código, dentre outros. Por outro lado, exemplos de métodos manuais são: entrevistas, questionários e protocolo think-aloud. Na avaliação automática de usabilidade, os avaliadores apenas precisam interpretar os resultados depois que as atividades principais do método foram realizadas automaticamente. A interpretação realizada pelo avaliador pode ser utilizada na tomada de decisão em relação ao sistema, por exemplo, se o sistema está em conformidade com os requisitos ou existe alguma necessidade de reprojeto.

2.4 PADRÕES PARA AVALIAÇÃO DA QUALIDADE DE SOFTWARE

A série de padrões ISO/IEC 25000, também conhecida como série SQuaRE (System and Software Quality Requirements and Evaluation), teve o objetivo de criar um framework para a avaliação da qualidade de produto de software. Esse framework é o resultado da evolução de vários outros padrões, especificamente da ISO/IEC 9126 e da ISO/IEC 14598, que definem um modelo de qualidade de produto de software e um processo de avaliação da qualidade, respectivamente.

A série SQuaRE é composta por cinco divisões, conforme apresentado na Figura 2.

Figura 2 – Divisões da Série SQuaRE Fonte: Adaptado de International...( 2014).

(31)

Neste trabalho foram utilizadas as normas: ISO/IEC 25010, que apresenta modelos de qualidade de software, qualidade em uso e dados; ISO/IEC 2502n, que aborda métricas de software, com definições matemáticas de métricas de qualidade; e ISO/IEC 25040, que especifica requisitos, recomendações e diretrizes para avaliação de produto de software.

A definição de um modelo de qualidade é tratada na norma ISO/IEC 25010, que divide o modelo em duas partes: modelo de qualidade de produto de software e modelo de qualidade em uso.

O modelo de qualidade de produto de software é composto por oito características, com cada característica dividida em subcaracterísticas mensuradas interna ou externamente. Essas características ou subcaracterísticas são medidas externamente quando o software faz parte de um sistema de computador ou internamente quando estão relacionadas a atributos do software e ao comportamento do sistema. As características do modelo de qualidade de produto de software estão representadas na Figura 3, conforme a definição da ISO/IEC 25010.

Figura 3 – Características de Qualidade de Produto de Software Fonte: Adaptado de International...(2011).

A qualidade em uso é definida por outras três características principais, representadas na Figura 4, mensuradas no contexto real ou na simulação de uso do sistema: eficácia em uso, eficiência em uso, satisfação em uso e usabilidade em uso. A definição de um modelo de qualidade fornece a base para especificação dos requisitos de qualidade e para a avaliação da

(32)

qualidade, que podem ser utilizados sobre diferentes perspectivas: desenvolvedores, clientes e demais interessados em especificar e avaliar a qualidade de um software.

Figura 4 – Características de Qualidade em Uso Fonte: Adaptado de International...(2011).

Em relação à avaliação da qualidade, a ISO/IEC 25040 define requisitos, recomendações e diretrizes para a avaliação do produto de software, especificando um modelo de referência do processo, com informações genéricas para a avaliação da qualidade. No modelo de referência do processo de avaliação, a norma prevê cinco etapas que devem ser seguidas para avaliar um software. Para cada uma dessas etapas existem outras tarefas, cada qual gerando saídas (documentação) sobre o processo:

1. Estabelecer os requisitos da avaliação: a. Estabelecer o propósito da avaliação;

b. Obter os requisitos de qualidade do produto de software; c. Identificar as partes do produto a serem incluídas na avaliação; d. Definir o rigor da avaliação.

Saída: Requisitos da avaliação; 2. Especificar a avaliação:

a. Selecionar as métricas;

b. Definir os critérios de decisão para as métricas; c. Definir os critérios de decisão para avaliação. Saída: Especificação da avaliação.

3. Projetar a avaliação:

(33)

Saída: Projeto da avaliação. 4. Executar a avaliação:

a. Obter os valores das métricas;

b. Aplicar critérios de decisão para as métricas; c. Aplicar critérios de decisão para avaliação. Saída: Resultados da avaliação.

5. Concluir a avaliação:

a. Revisar os resultados; b. Dispor os dados. Saída: Conclusão da avaliação.

Para as tarefas de avaliação, o Anexo D (Informativo) da Norma ISO/IEC 25040 ainda sugere técnicas de avaliação indicadas para cada característica de qualidade. Em relação à usabilidade, a norma define três técnicas: inspeção da documentação e da interface do usuário, verificação da conformidade em relação a padrões de interface e testes com usuários.

O modelo de referência do processo de avaliação produto de software está representado na Figura 5.

Figura 5 – Modelo de Referência/ Avaliação de Qualidade de Produto de Software Fonte: Adaptado de International...(2011).

Com o processo de avaliação definido de forma sistemática e pautado em um modelo de qualidade previamente estruturado, é possível avaliar a qualidade de um produto de software utilizando definições matemáticas. As normas ISO/IEC 2502n descrevem um modelo de referência para mensurar a qualidade de um software, apresentam definições

(34)

matemáticas para cálculo dessas métricas e oferecem um guia prático para a aplicação. O modelo de referência para mensurar a qualidade está esquematizado na Figura 6.

Figura 6 – Modelo de Referência para Mensurar a Qualidade do Produto de Software Fonte: Adaptado de International...(2007).

Um método para mensurar a qualidade é uma sequência lógica de operações usadas para quantificar propriedades e relacioná-las a uma escala especificada (INTERNATIONAL..., 2012b). As características e subcaracterísticas podem ser quantificadas aplicando funções para mensurar a qualidade. Uma função é um algoritmo usado para combinar elementos de qualidade. O resultado da execução desses algoritmos é chamado de métrica de qualidade de software. Dessa forma, métricas de qualidade se tornam quantificações de características e subcaracterísticas de qualidade.

Em relação à característica de usabilidade, as métricas de qualidade de um software podem ser usadas para indicar o quanto esse software é amigável, fácil de operacionalizar, entender e aprender. Além disso, também é possível mensurar essa característica enquanto os usuários testam uma determinada função. Nesse caso, os resultados serão influenciados pela capacidade dos usuários e pelo contexto de uso. No entanto, esse fato não invalida os resultados, desde que a avaliação seja executada sobre condições especificadas para um conjunto de usuários que possa representar ou identificar um grupo. Para resultados consideráveis, pelo menos oito usuários são necessários, embora informação útil possa ser obtida de grupos menores (INTERNATIONAL..., 2012c).

(35)

2.5 CAPTURA DA INTERAÇÃO DO USUÁRIO

A captura da interação do usuário é muito utilizada para obter dados que serão utilizados para avaliação de usabilidade e estudos do comportamento do usuário (PREECE et al., 2012; TURNBULL, 2006; JANSEN, 2006; KELLAR; WATTERS, 2005). Esses dados também podem ser usados para justificar a realização de manutenção ou alterações nos sistemas.

Sistemas web que utilizam a tecnologia RIA são projetados com uma ou mais páginas, compostas por componentes individuais, que podem ser independentemente atualizados, excluídos ou adicionados em tempo de execução (AMALFITANO et al., 2010). O emprego de tecnologia RIA faz com que os sistemas web sejam similares aos sistemas implementados para uso local (desktop), considerando os recursos disponíveis para interatividade do usuário, trazendo ganho na característica de usabilidades desses sistemas (AMALFITANO et al., 2010).

Neste trabalho foi utilizada a Web Application Usage Tracking Tool (WAUTT) (RIVOLLI et al., 2014), uma ferramenta para capturar informações detalhadas sobre a interação do usuário com uma RIA. A WAUTT é utilizada para capturar a interação do usuário com sistemas web em um computador cliente e registrar todos os eventos coletados em um servidor para serem usados para avaliação de usabilidade. A captura dos dados ocorre com a inserção de um código JavaScript nas páginas da RIA. Além de capturar um grande número de detalhes, a ferramenta permite ao avaliador selecionar eventos específicos de acordo o objetivo da avaliação.

Os dados de interação capturados pela WAUTT são chamados de eventos. Considera-se um evento qualquer interação do usuário com um elemento específico da interface, por exemplo: o clique e o movimento do mouse (considerando a coordenada em relação ao canto superior esquerdo da tela), a rolagem da página (considerando a posição da barra de rolagem a partir do topo da tela), a mudança de foco sempre que um elemento receber ou perder o foco, o carregamento completo da página, o redimensionamento da janela do navegador, dentre outros.

A ferramenta foi projetada para capturar e armazenar os dados em um banco de dados relacional. As informações armazenadas no banco de dados podem ser acessadas por meio da interface administrativa. Cada interação do usuário pode ser associada a um dos seguintes grupos de informação:

(36)

 Dados da sessão: inclui o identificador único da sessão, sistema operacional, navegador e endereço IP da máquina. A sessão refere-se à sequência de ações do mesmo usuário durante o uso da aplicação e é criada quando o usuário abre o navegador e carrega o aplicação. A sessão encerra-se quando o navegador é fechado.

 Dados da navegação: inclui o título da página, endereço, tamanho e tipo de requisição (get ou post). Os dados de navegação envolvem a sequência de páginas carregadas durante o uso do sistema. Enquanto em alguns sistemas os usuários interagem com uma única página sem atualizá-la completamente, em outros sistemas várias páginas são carregadas.

 Dados de evento: inclui os detalhes específicos de cada ação executada pelo usuário na interface e variam de acordo com o tipo de evento.

 Dados de atributos (DOM): inclui o nome do elemento da página e seus atributos, por exemplo, id, class, title e atributos específicos, por exemplo, value e name para o elemento tipo input.

 Dados da tarefa: essa informação refere-se à tarefa ativa, caso a ferramenta esteja monitorando várias tarefas para permitir a realização da análise dos dados capturados por tarefa.

A Figura 7 mostra dados capturados pela WAUTT e acessados via interface administrativa.

Figura 7 – Interface administrativa para acesso aos dados capturados pela WAUTT Fonte: Rivolli et al. (2014).

(37)

A captura de dados de eventos de forma automática, como a realizada pela WAUTT, é um ponto importante para a avaliação de usabilidade descrita neste trabalho. No entanto, é necessário executar outras atividades para analisar e interpretar esses dados, obtendo, dessa forma, conhecimento útil para mensurar a qualidade de um software. A mineração dos dados capturados, descrita na Seção 2.6, é uma das atividades necessária para iniciar a análise dos dados, com a finalidade de auxiliar os avaliadores a identificar os dados considerados significativos, reduzindo o volume de dados e focalizando a tomada de decisão.

2.6 MINERAÇÃO DE DADOS

A Mineração de Dados (Data Mining) em documentos web, também conhecida como Web Mining, refere-se à aplicação de técnicas de mineração para automatizar a descoberta e extração de conhecimento útil em grandes bases de dados web (HAN; KAMBER, 2011). Em geral, a mineração de dados na web abrange três campos de pesquisa: mineração de conteúdo, mineração de estrutura e mineração de uso.

A mineração de conteúdo refere-se à descoberta de conhecimento contido nos documentos web, que podem ser de formatos variados (texto, imagem, áudio e vídeo). A mineração de estrutura descobre conhecimento útil dos hiperlinks, que representam a estrutura da web. A mineração de uso trabalha com as informações de como os usuários interagem com o sistema web. Esse campo de pesquisa também é conhecido como Web Log Mining e refere-se à descoberta de padrões de comportamento dos usuários. Enquanto a mineração de conteúdo e a mineração de estrutura utilizam os dados primários da web, a mineração de uso utiliza dados secundários provenientes de arquivos de log, perfis de usuário, pasta favoritos (bookmarks), ou quaisquer outros dados de interação (SHARMA et al., 2011).

Os métodos aplicáveis à mineração de dados na web são definidos de acordo com os dados que serão selecionados e os resultados a serem obtidos. Dentre os métodos que podem ser utilizados, destacam-se: análise estatística, associação, agrupamento (clustering), classificação, predição e regressão (ASHRAF; ASHRAF, 2014).

Neste trabalho, o método utilizado foi o clustering, que é o estudo formal de algoritmos e métodos para agrupar objetos com características semelhantes (MIRKIN, 2012). Diferentemente do método de classificação, que trabalha com objetos com características conhecidas e sobre as quais é possível estabelecer uma descrição ou rótulo, no clustering não se sabe inicialmente quais serão essas classes. A finalidade do clustering é encontrar classes

(38)

que são diferentes umas das outras, mas que possuam membros similares entre si, segundo alguma medida de similaridade.

O clustering é uma técnica de mineração de dados conhecida como aprendizado não supervisionado. Enquanto no aprendizado supervisionado é possível conhecer previamente os objetos (atributos/entrada) e suas classes (saída), no aprendizado não supervisionado, primeiro é necessário descobrir padrões e similaridades entre os objetos para depois definir as classes.

Definições formais de um agrupamento (cluster) são (EVERITT et al., 2011):

1. Objetos de um mesmo cluster são semelhantes entre si e diferentes dos objetos dos outros agrupamentos;

2. Um cluster é um conjunto de ponto no espaço tal que a distância entre os pontos em um mesmo conjunto é menor que a distância entre pontos de diferentes aglomerados; 3. Os clusters podem ser descritos como regiões conexas de um espaço multidimensional

que contém uma grande densidade relativa de pontos. As regiões estão separadas umas das outras por regiões de baixa densidade relativa de pontos.

De forma geral, o processo de clustering é composto por quatro etapas (JAIN; DUBES, 1988):

1. Aquisição dos dados (seleção das amostras, seleção das características de cada amostra, pré-processamento dos dados);

2. Definição da medida de similaridade (por exemplo, distância euclidiana, correlação de Pearson e distância de Manhattan);

3. Aplicação do algoritmo de clustering; 4. Análise e interpretação dos clusters.

Algoritmos de clustering podem ser aplicados nos três campos de pesquisa da mineração de dados na web (mineração de conteúdo, de estrutura e de uso). O foco deste trabalho foi a mineração de uso. Apesar dos dados constantes dos arquivos de log de eventos serem conhecidos, não é possível saber exatamente o conhecimento útil que será extraído a partir da sua análise.

Neste trabalho o algoritmo escolhido para executar o clustering foi o algoritmo X-Means, uma extensão do K-Means (MACQUEEN, 1697). Embora o K-Means tenha sido proposto a mais de 50 anos, ainda é um dos algoritmos de clustering mais utilizados. A facilidade de implementação, a simplicidade, a eficiência e a diversidade de campos de aplicação são algumas das razões da sua popularidade (JAIN, 2010).

(39)

O objetivo do K-Means é escolher k objetos (aleatoriamente ou seguindo algum critério) que serão definidos como centroides (centro do cluster). Todos os demais objetos são associados ao centroide mais próximo. A cada iteração do algoritmo, os centroides são recalculados dentre os objetos de seu próprio cluster e os objetos são realocados para o centroide mais próximo. Esse passo é repetido até que o ponto de convergência seja satisfatório, ou seja, até que não haja mais alteração na definição dos centroides.

No entanto, o K-Means tem uma limitação relacionada à definição do número de clusters (k): o avaliador é quem precisa definir o número k, o que força o algoritmo a trabalhar com um número fixo de clusters. O fato de fixar esse número pode resultar em um ponto de convergência insatisfatório. Por esse motivo, foi o escolhido o X-Means, que define dinamicamente o número de clusters, na busca por um ponto de convergência considerado ótimo (PELLEG, 2000).

(40)

3 TRABALHOS RELACIONADOS

Nas próximas seções são apresentados os trabalhos pesquisados na literatura que estão relacionados à avaliação de usabilidade automática realizada através do método de análise de log. O capítulo está dividido em duas seções. A Seção 3.1 apresenta um resumo das principais características dos trabalhos. A Seção 3.2 descreve a análise e a comparação dos trabalhos relacionados quanto a essas caraterísticas.

3.1 ANÁLISE DE LOG PARA AVALIAÇÃO DE USABILIDADE

O Quadro 2 mostra um resumo dos trabalhos que utilizam a análise de log como método para avaliar a usabilidade de sistemas web. Os trabalhos são apresentados em ordem cronológica.

Referência Descrição

WebRem Usine (PAGANELLI; PATERNÒ, 2002)

A ferramenta apresentada no trabalho permite a análise de los de interação do usuário utilizando um modelo de tarefas definido para uma aplicação específica. O método é composto por 3 fases: a) preparação, com a definição do modelo de tarefas; b) análise de log automática, fornecendo as tarefas executadas, o número de erros e tempo de conclusão; c) avaliação, com a análise humana para visualizar os problemas encontrados e sugerir melhorias. A ferramenta apresenta os resultados de forma gráfica, indicando quantas vezes e quais tarefas foram executadas com sucesso e com erro, a lista das tarefas que nunca foram executadas corretamente e o padrão de comportamento dos usuários em tarefas realizadas com sucesso. Os autores finalizam o artigo propondo melhorias na ferramenta para minimizar os esforços na fase de preparação do método.

AWUSA (TIEDTKE et al., 2002)

Os autores apresentam uma ferramenta que utiliza diferentes técnicas de captura , e mineração de dados para fazer a avaliação automática de usabilidade em um sistema web. Não há a presença de um avaliador para fazer análise humana dos resultados nem sugestão de melhorias da interface. A abordagem da ferramenta prevê: a) visualização dos caminhos percorridos pelo usuário; b) visualização das tarefas não concluídas; c) visualização das interfaces ou situações com pouca usabilidade; d) visualização de novas tarefas que usuários têm a intenção de executar; e) agrupamento dos usuários de acordo com suas tarefas/objetivos. Com essas informações e através da utilização de algoritmos de agrupamento e regras de associação, os problemas de usabilidade encontrados são classificados em cinco categorias: interação, informação, arquitetura, design e técnico. Os autores concluem que a automação é uma vantagem comparada às abordagens de avaliação de usabilidade tradicionais. No entanto, os métodos tradicionais também têm vantagens significativas e o ideal seria criar um sistema que combinasse a avaliação clássica com uma abordagem automatizada.

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

v) por conseguinte, desenvolveu-se uma aproximação semi-paramétrica decompondo o problema de estimação em três partes: (1) a transformação das vazões anuais em cada lo-

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo