Você está na página 1de 98

Igor Luppi de Oliveira

Desenvolvimento de Interface Gráfica


Computacional para Processamento Digital de
Sinais Químicos

São José dos Campos, SP


Dezembro de 2019
Igor Luppi de Oliveira

Desenvolvimento de Interface Gráfica Computacional


para Processamento Digital de Sinais Químicos

Trabalho de conclusão de curso apresentado


ao Instituto de Ciência e Tecnologia – UNI-
FESP, como parte das atividades para obten-
ção do título de Bacharel em Engenharia de
Computação.

Universidade Federal de São Paulo – UNIFESP


Instituto de Ciência de Tecnologia
Engenharia de Computação

Orientador: Prof. Dr. Henrique Mohallem Paiva

São José dos Campos, SP


Dezembro de 2019
Na qualidade de titular dos direitos autorais, em consonância com a Lei de direitos autorais nº 9610/98, autorizo a publicação livre e
gratuita desse trabalho no Repositório Institucional da UNIFESP ou em outro meio eletrônico da instituição, sem qualquer ressarcimento
dos direitos autorais para leitura, impressão e/ou download em meio eletrônico para fins de divulgação intelectual, desde que citada a
fonte.

Ficha catalográfica gerada automaticamente com dados fornecidos pelo(a) autor(a)

Luppi de Oliveira, Igor


Desenvolvimento de Interface Gráfica Computacional para Processamento Digital de
Sinais Químicos/ Igor Luppi de Oliveira
Orientação: Henrique Mohallem Paiva-São José dos Campos, 2019.
98 p.
Development of a Graphical User Interface for Digital Chemical Signal Processing

Trabalho de Conclusão de Curso-Engenharia da Computação-Universidade Federal de


São Paulo-Instituto de Ciência e Tecnologia, 2019.

1. Calibração multivariada. 2. Seleção de variáveis. 3. Interface gráfica de usuário. 4.


Avaliação de usabilidade. I. Paiva, Henrique Mohallem
Este trabalho é dedicado a toda comunidade científica, em momentos de crise na ciência,
devemos nos unir e mostrar o motivo da ciência brasileira ser tão importante.
Agradecimentos

Agradeço aos meus companheiros de curso, que sempre colaboraram em novas


vitórias e conquistas, aos meus queridos professores que passaram uma enorme experiência
acadêmica e profissional para minha formação, aos coordenadores de curso, ao meu
orientador Henrique Paiva, que me ajudou e instruiu na elaboração da pesquisa, ao pós-
doutorando David Douglas da Universidade Federal da Paraíba (UFPB), que contribuiu
com ideias, sugestões e feedbacks nas atividades desenvolvidas da pesquisa e aos avaliadores
desse projeto pela contribuição e apoio. Agradeço também ao suporte e apoio da minha
família em toda graduação, sem eles nada teria sido possível.
“Você pode alcançar qualquer coisa através
da aplicação diligente da ciência.”
— Riichiro Inagaki, Dr. Stone
Resumo
Esse projeto explora e dá continuidade à pesquisa que desenvolveu uma
interface gráfica para usuário em MATLAB para realizar seleção de variáveis por
meio do Successive Projections Algorithm (SPA) para reduzir problemas de colineari-
dade em regressão multilinear. Buscando aprimorar essa interface, foi realizada uma
avaliação de usabilidade por heurísticas e com usuários para levantar os problemas de
usabilidade presentes na interface original e, por meio de novos requisitos funcionais
propostos junto aos clientes do sistema, foram desenvolvidas novas melhorias no
escopo da estatística multivariável, como análises de discriminantes lineares para
classificação de dados baseados em preditores lineares de conjuntos de dados nor-
malmente distribuídos, gráficos estatísticos para explorar os dados multivariados,
etc. Essa proposta visa atender usuários que atuam na quimiometria, de forma que
não precisem dos conhecimentos técnicos específicos da linguagem MATLAB para
utilizar as ferramentas disponibilizadas nesse trabalho.

Palavras-chaves: calibração multivariada. seleção de variáveis. interface gráfica de


usuário. avaliação de usabilidade.
Abstract
This project explore and continues the research that developed a MATLAB
graphical user interface to perform variable selection using the Successive Projections
Algorithm (SPA) to reduce collinearity problems in multilinear regression. In order to
improve this interface, a usability evaluation using heuristic inspection and usability
tests was performed to uncover the usability issues present in the original interface,
by the gathering of new functional requirements proposed in partnership with the
GUI clients, and further improvements in the scope of multivariable statistics was
created, such as linear discriminant analysis for data classification based on linear
predictors from two sets of normally distributed data, statistical graphics to explore
multivariate data, etc. This proposal aims to serve users who work in chemometrics
so they do not need MATLAB language specific technical knowledge to use the tools
available in this work.

Key-words: multivariate calibration. variable selection. graphical user interface.


usability evaluation.
Lista de ilustrações

Figura 1 – Exemplo das categorias de métodos baseados em mínimos quadrados. . 33


Figura 2 – Distribuição de problemas de usabilidade encontrados pelos avaliadores. 40
Figura 3 – Curva de proporção de problemas de usabilidade por inspeção heurística
pelos avaliadores. (NIELSEN, 1995a) . . . . . . . . . . . . . . . . . . . 40
Figura 4 – Curvas comparando o resultado obtido nas simulações e a modelagem
matemática proposta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 5 – Curva de problemas de usabilidade encontrados por número de usuários
no teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 6 – Relação conceitual entre a usabilidade e as iterações sobre o design da
aplicação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Figura 7 – Módulo de carregamento dos dados. . . . . . . . . . . . . . . . . . . . . 45


Figura 8 – Módulo de pré-processamento dos dados. . . . . . . . . . . . . . . . . . 46
Figura 9 – Módulo de seleção de amostra. . . . . . . . . . . . . . . . . . . . . . . 47
Figura 10 – Módulo de aplicação do SPA. . . . . . . . . . . . . . . . . . . . . . . . 47

Figura 11 – Processo de criação dos artefatos gráficos por meio das bibliotecas de
interfaces gráficas do MATLAB. . . . . . . . . . . . . . . . . . . . . . . 54
Figura 12 – Processo de integração dos artefatos gráficos às funções do MATLAB. . 58

Figura 13 – Evidência do problema (1) em Load Data. . . . . . . . . . . . . . . . . 61


Figura 14 – Evidência do problema (2) em Load Data. . . . . . . . . . . . . . . . . 62
Figura 15 – Evidência do problema (3) em Load Data. . . . . . . . . . . . . . . . . 62
Figura 16 – Evidência do problema (4) em Load Data. . . . . . . . . . . . . . . . . 63
Figura 17 – Evidência do problema (5) em Load Data. . . . . . . . . . . . . . . . . 63
Figura 18 – Evidência do problema (6) em Load Data. . . . . . . . . . . . . . . . . 64
Figura 19 – Evidência do problema (7) em Load Data. . . . . . . . . . . . . . . . . 65
Figura 20 – Evidência do problema (1) em Data Pre-Processing. . . . . . . . . . . . 66
Figura 21 – Evidência do problema (2) em Data Pre-Processing. . . . . . . . . . . . 66
Figura 22 – Evidência do problema (3) em Data Pre-Processing. . . . . . . . . . . . 67
Figura 23 – Evidência do problema (4) em Data Pre-Processing. . . . . . . . . . . . 68
Figura 24 – Evidência do problema (5) em Data Pre-Processing. . . . . . . . . . . . 68
Figura 25 – Evidência do problema (6) em Data Pre-Processing. . . . . . . . . . . . 69
Figura 26 – Evidência do problema (1) em Sample Selection. . . . . . . . . . . . . . 69
Figura 27 – Evidência do problema (2) em Sample Selection. . . . . . . . . . . . . . 70
Figura 28 – Evidência do problema (3) em Sample Selection. . . . . . . . . . . . . . 70
Figura 29 – Evidência do problema (5) em Sample Selection. . . . . . . . . . . . . . 71
Figura 30 – Evidência do problema (1) em SPA. . . . . . . . . . . . . . . . . . . . 72
Figura 31 – Evidência do problema (2) em SPA. . . . . . . . . . . . . . . . . . . . 73
Figura 32 – Evidência do problema (4) em SPA. . . . . . . . . . . . . . . . . . . . 73
Figura 33 – Evidência do problema (5) em SPA. . . . . . . . . . . . . . . . . . . . 74
Figura 34 – Feedback da avaliação com usuário (1). . . . . . . . . . . . . . . . . . . 79
Figura 35 – Feedback da avaliação com usuário (2). . . . . . . . . . . . . . . . . . . 79

Figura 36 – Tela: Load Data - alterações na interface de plot. . . . . . . . . . . . . 81


Figura 37 – Tela: Load Data - plot de cores padronizadas x únicas. . . . . . . . . . 81
Figura 38 – Tela: Sample Selection - implementação da seleção de várias amostras. 82
Figura 39 – Tela: SPA - mudança nas opções de critério de validação. . . . . . . . . 82
Figura 40 – Tela: Multivariate Statistics - Completa. . . . . . . . . . . . . . . . . . 83
Figura 41 – Tela: Multivariate Statistics - Opção de LSQ. . . . . . . . . . . . . . . 83
Figura 42 – Tela: Multivariate Statistics - Opção de LSQ - Resultado. . . . . . . . . 84
Figura 43 – Tela: Multivariate Statistics - Opção de LDA. . . . . . . . . . . . . . . 84
Figura 44 – Tela: Multivariate Statistics - Opção de LDA - Plot original. . . . . . . 85
Figura 45 – Tela: Multivariate Statistics - Opção de LDA - Scatter Plot. . . . . . . 85
Figura 46 – Tela: Multivariate Statistics - Opção de LDA - Classificação das carac-
terísticas linearmente. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figura 47 – Tela: Multivariate Statistics - Opção de LDA - Rótulos. . . . . . . . . . 86
Figura 48 – Tela: Multivariate Statistics - Opção de LDA - Matriz de Confusão. . . 87
Figura 49 – Tela: Multivariate Statistics - Opção de Scree Plot. . . . . . . . . . . . 87
Figura 50 – Tela: Multivariate Statistics - Opção de Scree Plot - Resultado. . . . . 88
Lista de tabelas

Tabela 1 – Resultado da Avaliação para o Usuário 1. . . . . . . . . . . . . . . . . 75


Tabela 2 – Resultado da Avaliação para o Usuário 2. . . . . . . . . . . . . . . . . 75
Tabela 3 – Resultado da Avaliação para o Usuário 3. . . . . . . . . . . . . . . . . 76
Tabela 4 – Resultado da Avaliação para o Usuário 4. . . . . . . . . . . . . . . . . 76
Tabela 5 – Resultado da Avaliação para o Usuário 5. . . . . . . . . . . . . . . . . 77
Tabela 6 – Resultado da Avaliação para o Usuário 6. . . . . . . . . . . . . . . . . 77
Tabela 7 – Resultado da Avaliação para o Usuário 7. . . . . . . . . . . . . . . . . 78
Tabela 8 – Resultado da Avaliação para o Usuário 8. . . . . . . . . . . . . . . . . 78
Sumário

I Preparação da pesquisa 23

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.1.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

II Referenciais teóricos 29

2 Fundamentação Teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1 Multivariate Calibration (Calibração Multivariada) . . . . . . . . . . . . . 31
2.1.1 Univariate Calibration (Calibração Univariada) . . . . . . . . . . . 31
2.1.2 Chemometrics (Quimiometria) . . . . . . . . . . . . . . . . . . . . . 31
2.2 Variable Selection (Seleção de Variáveis) . . . . . . . . . . . . . . . . . . . 32
2.2.1 Spectroscopy (Espectroscopia) . . . . . . . . . . . . . . . . . . . . . 33
2.2.2 Successive Projections Algorithm . . . . . . . . . . . . . . . . . . . 33
2.3 Sample Selection (Seleção de Amostras) . . . . . . . . . . . . . . . . . . . . 34
2.3.1 Kennard-Stone Algorithm . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.2 SPXY Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 Avaliação de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.1 Classificação dos Problemas de Usabilidade . . . . . . . . . . . . . . 36
2.4.2 Avaliação por Inspeção Heurística . . . . . . . . . . . . . . . . . . . 37
2.4.2.1 O Papel dos Especialistas na Avaliação Heurística . . . . . 39
2.4.3 Avaliação por Teste com Usuário . . . . . . . . . . . . . . . . . . . 39
2.4.3.1 Determinando o Tamanho da Amostra de Usuários . . . . 41
2.4.3.2 Procedimento de Avaliação por Teste com Usuário . . . . 42
2.5 Processo de Design Iterativo de Interface de Usuário . . . . . . . . . . . . 43
2.5.1 Relação do Design Iterativo com Teste com Usuário . . . . . . . . . 44

3 Revisão da Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1 Interface gráfica do usuário para processamento de sinais . . . . . . . . . . 45
3.1.1 Signal Processing and Variable Selection for Multivariate Calibration 45
3.1.2 Multivariate Calibration GUIs . . . . . . . . . . . . . . . . . . . . . 46
III Material e Métodos 49

4 Metodologia de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1 Análise de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1 Inspeção Heurística . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1.2 Teste com Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Implementação de Melhorias do Sistema . . . . . . . . . . . . . . . . . . . 53
4.2.1 Desenvolvimento dos Artefatos Gráficos . . . . . . . . . . . . . . . . 54
4.2.1.1 Propriedades dos Objetos Gráficos . . . . . . . . . . . . . 54
4.2.2 Desenvolvimento de Novas Funcionalidades . . . . . . . . . . . . . . 55
4.2.2.1 Aba Load Data . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2.2.2 Aba Sample Selection . . . . . . . . . . . . . . . . . . . . 56
4.2.2.3 Aba SPA . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2.4 Aba Multivariate Statistics . . . . . . . . . . . . . . . . . 57
4.2.3 Integração dos Artefatos com as Funcionalidades . . . . . . . . . . . 58

IV Resultados 59

5 Avaliação de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.1 Relatório de Avaliação por Inspeção Heurística . . . . . . . . . . . . . . . . 61
5.1.1 Problemas de Usabilidade na Aba Load Data . . . . . . . . . . . . . 61
5.1.2 Problemas de Usabilidade na Aba Data Pre-Processing . . . . . . . 65
5.1.3 Problemas de Usabilidade na Aba Sample Selection . . . . . . . . . 69
5.1.4 Problemas de Usabilidade na Aba SPA . . . . . . . . . . . . . . . . 72
5.2 Relatório de Avaliação por Testes com Usuário . . . . . . . . . . . . . . . . 74
5.2.1 Feedback da Avaliação com Usuário . . . . . . . . . . . . . . . . . . 75
5.3 Discussão sobre a Avaliação de Usabilidade . . . . . . . . . . . . . . . . . . 76

6 Testes de Unidade das Implementações . . . . . . . . . . . . . . . . . . . . 81


6.1 Load Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2 Sample Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3 SPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.4 Multivariate Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.4.1 Multivariate Statistics - LSQ . . . . . . . . . . . . . . . . . . . . . . 83
6.4.2 Multivariate Statistics - LDA . . . . . . . . . . . . . . . . . . . . . 84
6.4.3 Multivariate Statistics - Scree Plot . . . . . . . . . . . . . . . . . . 87
6.5 Discussão sobre Implementações Realizadas . . . . . . . . . . . . . . . . . 88
V Considerações Finais 89

7 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Parte I

Preparação da pesquisa
25

1 Introdução

O uso de interfaces gráficas foi um marco na história da computação, surgindo junto


com os primeiros sistemas operacionais baseados em interface gráfica, conforme apresenta
(REIMER, 2005). Com esse avanço, o acesso aos micro computadores por usuários não
especializados em computação se tornou mais comum, ao passo que esses sistemas evoluíam
seu ambiente gráfico, para proporcionar um uso mais agradável e cada vez mais atrativo
para os consumidores. Após o grande avanço tecnológico das últimas décadas, um novo
desafio surgiu, trazer interfaces gráficas mais especializadas para problemas específicos.
Conforme (MYERS et al., 2000), as ferramentas de interface de software criadas no passado
tiveram enorme impacto no design dos desenvolvedores atuais, virtualmente as aplicações
de hoje carregam o legado das ferramentas de interfaces elaboradas no passado. Além
disso, no que diz respeito à elaboração e arquitetura de softwares, o uso das ferramentas
de interface para usuário trouxeram um ganho na produtividade dos desenvolvedores,
ajudando no design, implementação, validação, permitir que não desenvolvedores possam
contribuir, entre outros benefícios, como apresenta (MYERS, 1995).
No meio acadêmico, a demanda por softwares capazes de abstrair algoritmos
complexos tornou-se uma necessidade, essencialmente empregando o uso da tecnologia
para o desenvolvimento científico nos tempos modernos. Por outro lado, estes usuários
são diversificados em várias áreas, realizam trabalhos em linhas de pesquisas diversas, e
por isso o apoio computacional de aplicativos e interfaces na pesquisas é uma necessidade.
Em especial, na química muitas análises sobre compostos e moléculas usam algoritmos
computacionais, como o Successive Projections Algorithm (SPA, Algoritmo das Projeções
Sucessivas) (SOARES et al., 2013), que é uma abordagem no problema de seleção de
variáveis, que consiste em determinar um conjunto menor de instâncias de uma amostra,
uma vez que a análise por métodos analíticos, em muitos casos, se beneficia do uso
desse conjunto reduzido, do que todo conjunto medido de uma amostra. Aplicações como
espectroscopia da emissão plasma (GALVÃO et al., 2001), determinação de enxofre em
diesel (BREITKREITZ et al., 2003), determinação da viscosidade de óleos lubrificantes e
propriedades da gasolina (CANECA et al., 2006) (HONORATO et al., 2008), entre outros
exemplos na literatura. Muitas vezes, conhecer as propriedades físico-químicas do sistema
a priori ajuda no processo de determinar um conjunto ótimo, e é isso que algoritmos como
o SPA buscam encontrar. Para assistir o uso dessas técnicas, o desenvolvimento de uma
interface gráfica especializada (PAIVA et al., 2012) pode trazer os benefícios para quem
necessita usar constantemente tais procedimentos no meio científico.
26 Capítulo 1. Introdução

1.1 Objetivos
A seguir os objetivos geral e específico desse trabalho são apresentados.

1.1.1 Objetivo Geral


O objetivo geral deste projeto foi elaborar uma interface gráfica para processamento
digital de sinais químicos, em particular, para aplicar a técnica de seleção de variáveis
usando o algoritmo Successive Projections Algorithm (SPA) (SOARES et al., 2013),
utilizando as bibliotecas de Graphical User Interface (GUI, Interface Grafica de Usuário)
do MATLAB. Além disso, o software deve atender os mesmos requisitos propostos por
(PAIVA et al., 2012), a fim de evoluir esse trabalho que tem sido utilizado pela comunidade
científica e aprimorá-lo com base nos novos requisitos levantados e nas avaliações de
usabilidade desse software. A interface também deve atender à toda toda comunidade
científica, por isso foi necessário usar a língua inglesa em todo desenvolvimento.

1.1.2 Objetivos Específicos


Definem-se os seguintes objetivos específicos a serem atingidos:

∙ Realizar a avaliação por inspeção heurística (NIELSEN, 1994) e por testes com
usuário (KESSNER et al., 2001) da interface gráfica proposta por (PAIVA et al.,
2012) e gerar um relatório de inspeção.

∙ Realizar modificações da interface gráfica proposta por (PAIVA et al., 2012), seguindo
o feedback de pesquisadores da área e das avaliações heurísticas aplicadas na interface
original;

∙ Realizar testes de unidade para atestar o funcionamento da interface, verificando


se as alterações feitas não impactaram os resultados já obtidos com a proposta de
(PAIVA et al., 2012) e analisar se as novas funcionalidades estão corretas;

1.2 Justificativa
Segundo (BOYD et al., 1990), a Graphical User Interface representa uma mudança
fundamental na maneira como computadores apresentam a informação e como os usuários
podem interagir com eles. Graças a sistemas como esses, que abstraem do uso de algoritmos
complexos para algo interativo e intuitivo, o uso de softwares especializados se tornou
mais fácil para pesquisadores de diversas áreas do conhecimento.
Em particular, o desenvolvimento de uma interface para processamento de sinais
químicos, contribui para o desenvolvimento científico, uma vez que traz maneiras de se
1.2. Justificativa 27

realizar uma análise de substâncias de forma simples e com respaldo técnico, já que a
ferramenta garante que o procedimento de análise é correto, se responsabilizando de garantir
o funcionamento das técnicas e algoritmos envolvidos, permitindo com que o usuário final
não precise entrar nos detalhes técnicos de implementação das metodologias. Conforme
(PAIVA et al., 2012), uma interface gráfica para o Successive Projections Algorithm traz
facilidades no uso desse algoritmo no ambiente MATLAB, que também agrega outras
funcionalidades, como gerenciar o processo de seleção de variáveis do SPA, cálculos de
predições em modelos de regressão linear múltipla e outros pré-processamentos.
O uso dessa ferramenta no meio acadêmico é de grande utilidade para os grupos
de pesquisa que realizam estes tipos de análise. Novas necessidades e demandas surgiram,
e por meio da criação de uma nova interface será possível atender as expectativas, e assim
contribuir no desenvolvimento de outras pesquisas.
Parte II

Referenciais teóricos
31

2 Fundamentação Teórica

2.1 Multivariate Calibration (Calibração Multivariada)

É uma disciplina com foco em encontrar relacionamentos entre um


conjunto de medidas que são fáceis ou baratas para adquirir, e outras
medidas, que são caras ou que demandam trabalho intensivo. O objetivo
é encontrar bons relacionamentos de tal forma que as medidas caras as
surges podem ser previstas rapidamente e com alta acurácia dos mais
baratos (NAES et al., 2002).

A estatística multivariada é uma coleção de ferramentas matemáticas poderosas,


que podem ser aplicadas à análise química quando mais de uma medição é adquirida
para cada amostra (BEEBE; KOWALSKI, 1987). Dessa forma, parâmetros de modelos
podem ser estimados onde as respostas dependem não somente da análise como de outras
variáveis químicas e físicas. Como definido por (GEMPERLINE, 2006), para uma 𝑖-ésima
calibração com interseções não nulas, pode ser escrito como:

𝑦𝑖 = 𝑏0 + 𝑥𝑖1 𝑏1 + 𝑥𝑖2 𝑏2 + ... + 𝑥𝑖𝑗 𝑏𝑗 + 𝑒𝑖 (2.1)

De forma que 𝑥𝑖𝑗 define a 𝑗-ésima resposta instrumental medida.

2.1.1 Univariate Calibration (Calibração Univariada)


Na forma mais simples de uma calibração linear, o modelo pode ser escrito como
(GEMPERLINE, 2006):

𝑦 𝑖 = 𝑏 1 𝑥𝑖 + 𝑒 𝑖 (2.2)

De forma que 𝑦𝑖 é a concentração da 𝑖-ésima amostra de calibração, 𝑥𝑖 é o instru-


mento de leitura correspondente, 𝑏1 é o coeficiente de calibração, que é a inclinação da
linha ajustada, e 𝑒𝑖 o erro associado à 𝑖-ésima amostra de calibração (GEMPERLINE,
2006).

2.1.2 Chemometrics (Quimiometria)


A Quimiometria, que foi inicialmente abordada em 1971, descreve o uso de modelos
matemáticos, princípios da estatística e outros métodos baseados na lógica no ramo da
Química, com foco especial na Química Analítica (GEMPERLINE, 2006). Possui o objetivo
de analisar dados químicos, buscando transformá-los em informação para tomadas de
32 Capítulo 2. Fundamentação Teórica

decisão (BEEBE; PELL; SEASHOLTZ, 1998), e do ponto de vista computacional, é uma


aplicação data-driven based, uma vez que todo dado será importante e guiará a tomada
de decisão. Além disso, há um foco interdisciplinar, envolvendo conceitos da estatística
multivariada, computacionais e de análises químicas. Em geral, pode-se dividir seu estudo
nas seguintes áreas principais: (GEMPERLINE, 2006)

1 Calibração, validação e testes.

2 Procedimentos experimentais e otimização de medidas.

3 Extração de informação química de dados analíticos.

2.2 Variable Selection (Seleção de Variáveis)


Já mencionada na seção 1, a análise analítica obtém benefícios ao selecionar um
conjunto menor medidas por amostras, podendo facilitar na interpretação dos resultados
(BROWN; TAULER; WALCZAK, 2009). Esse procedimento de seleção é conhecido na
Quimiometria como seleção de variáveis. São utilizadas abordagens computacionais para
resolução deste problema, onde se busca otimizar a combinação de muitas variáveis para
encontrar uma região ótima, do ponto de vista de performance, relacionada ao resultado
analítico (SOARES et al., 2013). No aspecto de otimização 𝑁 dimensional, a solução dita
como quase-ótima é a procurada, pois será próxima do resultado analítico, e será factível
computacionalmente.
Na literatura, há vários métodos computacionais de seleção de variáveis, como por
exemplo os métodos baseados em regressão por mínimos quadrados (MEHMOOD et al.,
2012), podem ser divididos em categorias (SAEYS; INZA; LARRANAGA, 2007):

∙ Métodos de Filtro: Utiliza basicamente o resultado da seleção puramente para


identificar o subconjunto ótimo.

∙ Métodos Empacotadores: Pode ser retroalimentado com a saída da seleção, para


reduzir ainda mais o subconjunto. Em geral, são baseados em iterações do resultado
parcial.

∙ Métodos Embarcados: Embarcam a seleção por regressão em seus próprios métodos,


modificado-os e os tornando um componente da seleção.

A Figura 1 exemplifica o funcionamento dos métodos de seleção baseados em


regressão por mínimos quadrados (MEHMOOD et al., 2012).
2.2. Variable Selection (Seleção de Variáveis) 33

Figura 1: Exemplo das categorias de métodos baseados em mínimos quadrados.

Fonte: (MEHMOOD et al., 2012)

2.2.1 Spectroscopy (Espectroscopia)


Uma aplicação da seleção de variáveis está na espectroscopia, que estuda a interação
da matéria e da radiação eletromagnética. Em particular, tem-se o estudo da espectroscopia
em regiões próxima do infravermelho, conhecido como NIRS (Near-Infrared Spectroscopy,
Espectroscopia no Infravermelho Próximo). Possui diversas aplicações na ciência, como
na análise de alimentos (OSBORNE, 2006), nas tecnologias de agriculturas e de alimento
(WILLIAMS; NORRIS et al., 1987), na análise de cigarros (MOREIRA et al., 2009) e
inúmeras outras. A última, em particular, utiliza o algoritmo SPA (Successive Projections
Algorithm) para realizar a seleção de variáveis.

2.2.2 Successive Projections Algorithm


O algoritmo SPA (SOARES et al., 2013) é uma das abordagem utilizadas para o
problema de seleção de variáveis. Muito utilizado para realizar classificações (PONTES
et al., 2005), como a de óleos vegetais comestíveis (GAMBARRA-NETO et al., 2009),
determinação de ácidos orgânicos (LIU; HE, 2009), classificação de cigarros, mencionado
na subseção 2.2.1, entre outras aplicações. Seu funcionamento consiste de duas etapas
principais: determinação dos conjuntos e avaliação desses candidatos, afim de encontrar
o conjunto ótimo. Esse algoritmo recebe como entrada uma matriz Xcal que representa
em suas linhas e colunas as amostras e variáveis, respectivamente, uma variável inicial 𝑘0 ,
que pode ser definida no algoritmo como alguma variável aleatória distribuída entre as
variáveis disponíveis e 𝑁 o número de variáveis a serem selecionadas.
O Algoritmo 1 descreve o pseudocódigo da rotina SPA para uma seleção de variáveis
de calibração. Na linha 1 a 3 as variáveis de controle e casos base são iniciados. Na linha
4 defini-se x𝑗 como a 𝑗-ésima coluna de Xcal . Para cada iteração 𝑛, das linhas 6 a 10, o
algoritmo seleciona a próxima variável de calibração. Na linha 6, toma-se o conjunto 𝑆
34 Capítulo 2. Fundamentação Teórica

como o conjunto de variáveis que ainda não foram selecionadas, à partir dai é calculado a
projeção de x𝑗 no subespaço ortogonal à x𝑘(𝑛−1) , na linha 7. É determinado, na linha 8,
o maior vetor projetado, que é armazenado em 𝑘(𝑛) e, na linha 9, x𝑗 recebe a projeção
do mesmo vetor, para todo 𝑗 ∈ 𝑆, para as próximas iterações. Por fim, na linha 12, as
seleções 𝑘(𝑛), para todo 𝑛 = 0, . . . , (𝑁 − 1) são retornadas.

Algoritmo 1: SPA_Selecao
Entrada : Matriz Xcal , variável inicial 𝑘0 , escalar 𝑁
Saída : Conjunto de variáveis 𝑘(𝑛), ∀𝑛 = 0, . . . , (𝑁 − 1)
1 𝑛 := 1
2 𝑘(0) := 𝑘0
3 𝐽 := quantidade de colunas de Xcal
4 Seja x𝑗 := Xcal [:][𝑗], ∀𝑗 = 1, . . . , 𝐽
5 enquanto 𝑛 < 𝑁 faça
6 𝑆 = {𝑗, de modo que 1 ≤ 𝑗 ≤ 𝐽 e 𝑗 ∈ / {𝑘(0), . . . , 𝑘(𝑛 − 1)}}
| |
7 Px𝑗 = x𝑗 − (x𝑗 x𝑘(𝑛−1) )x𝑘(𝑛−1) (x𝑘(𝑛−1) x𝑘(𝑛−1) )−1
8 𝑘(𝑛) = 𝑎𝑟𝑔 max ||Px𝑗 ||, ∀𝑗 ∈ 𝑆
9 x𝑗 = Px𝑗 , ∀𝑗 ∈ 𝑆
10 𝑛=𝑛+1
11 fim
12 retorna 𝑘(𝑛), ∀𝑛 = 0, . . . , (𝑁 − 1)

A segunda etapa do SPA consiste em avaliar as variáveis extraídas e armazenadas em


k. O melhor conjunto de seleção de variáveis pode ser determinado pelo menor erro médio
quadrático de predição (RMSEP), definido na Equação 2.3, em um conjunto independente.


1 𝑁∑︁
⎸ 𝑣𝑎𝑙

𝑅𝑀 𝑆𝐸𝑃 = ⎷ (𝑦𝑣𝑎𝑙,𝑖 − 𝑦^𝑣𝑎𝑙,𝑖 )2 (2.3)
𝑁𝑣𝑎𝑙 𝑖=1

Onde 𝑦𝑣𝑎𝑙,𝑖 e 𝑦^𝑣𝑎𝑙,𝑖 são denotados como a referência e o valor previsto para a 𝑖-ésima
amostra de validação, respectivamente. Uma terceira fase realiza o descarte das variáveis
que não contribuem no modelo, para assim, diminuir o erro associado. Esse procedimento
é realizado até que encontrar o menor número de variáveis, de modo que o RMSEV não é
significativamente maior que o valor mínimo observado no scree plot, de acordo com um
F-test, com nível de significância sendo 𝛼 = 0.25, conforme sugere (GALVAO et al., 2008).

2.3 Sample Selection (Seleção de Amostras)


Um dos problemas que envolvem matrizes complexas, no contexto de calibração
multivariada, é o de reproduzir conjuntos de calibração e validação de amostras expe-
rimentais reais. Muitas vezes, esse problema pode trazer o viés da seleção (WINSHIP;
MARE, 1992), de forma que elementos externos possam influenciar, tornando a amostra,
2.3. Sample Selection (Seleção de Amostras) 35

à principio, enviesada ou não representativa, do ponto de vista da população que se busca


analisar. Por ser um problema genérico à vários campos da ciência, algumas pesquisam
buscam estudar o impacto de modelos de seleção com viés para análise de dados (VELLA,
1998), e até mesmo buscar maneiras de contornar e lidar com o viés de seleção (CORTES
et al., 2008), abordando propostas teóricas de correção para esse viés.

2.3.1 Kennard-Stone Algorithm


O algoritmo Kennard-Stone (KS) (KENNARD; STONE, 1969), propõe uma maneira
de selecionar um subconjunto 𝐾 de um conjunto de 𝑀 amostras. Buscando atingir uma
distribuição uniforme dos dados, esse algoritmo distribui suas seleções ao longo do espaço de
seleção, buscando regiões do espaço distantes daquelas que já contém amostras selecionadas.
O algoritmo começa com um par de amostras, e em toda iteração busca selecionar uma
amostra distante das já selecionadas. Para atingir esse objetivo, é aplicado a Distancia
Euclidiana 𝐸𝐷𝑥 (𝑝, 𝑞) entre os vetores 𝑥 para cada par (𝑝, 𝑞) das amostras, que define o
método de cálculo de distância entre as amostras. A equação 2.4 apresenta essa relação
(KENNARD; STONE, 1969) (GALVAO et al., 2005).


⎸𝑁
⎸∑︁
𝐸𝐷𝑥 (𝑝, 𝑞) = ⎷ [𝑥
𝑝 (𝑖) − 𝑥𝑞 (𝑖)]2 𝑝, 𝑞 ∈ [1, 𝑀 ] (2.4)
𝑖=1

Na equação 2.4, 𝑀 é o número de amostras e 𝑁 o número de variáveis para cada


vetor 𝑥, de modo que 𝑥𝑝 (𝑖) e 𝑥𝑞 (𝑖) são, respectivamente, as 𝑖-ésimas variáveis para as
amostras 𝑝 e 𝑞. Como resultado do algoritmo, é obtido um subconjunto com |𝐾| amostras
e, consequentemente, outro subconjunto com |𝑀 − 𝐾| amostras.

2.3.2 SPXY Algorithm


O algoritmo SPXY (GALVAO et al., 2005) é derivado da ideia do algoritmo KS, à
partir da equação 2.4, sem perda de generalidade, o algoritmo realiza o mesmo cálculo
para uma amostra de vetores independentes 𝑦. Para que essas distâncias sejam igualmente
importantes e independentes à seleção, os valores de 𝐸𝐷𝑥 (𝑝, 𝑞) e 𝐸𝐷𝑦 (𝑝, 𝑞) são divididos
por seus respectivos valores máximos dos conjuntos de dados, assim define-se a distância
normalizada 𝑥𝑦, calculada por 2.5 (GALVAO et al., 2005).

𝐸𝐷𝑥 (𝑝, 𝑞) 𝐸𝐷𝑦 (𝑝, 𝑞)


𝐸𝐷𝑥𝑦 = + (2.5)
max 𝑝,𝑞∈[1,𝑀 ] 𝐸𝐷𝑥 (𝑝, 𝑞) max 𝑝,𝑞∈[1,𝑀 ] 𝐸𝐷𝑦 (𝑝, 𝑞)

Como resultado do algoritmo, temos uma dupla de subconjuntos com |𝐾| e |𝑀 −𝐾|
amostras para os conjuntos de amostras 𝑥 e 𝑦.
36 Capítulo 2. Fundamentação Teórica

2.4 Avaliação de Usabilidade


Ao passo que se desenvolve uma interface gráfica, é possível a obtenção de erros
e bugs de desenvolvimento, que a princípio são facilmente detectáveis, entretanto, do
ponto de vista do usuário, poderá haver problemas de compreensão da interface em si,
principalmente no que diz respeito a usabilidade. Segundo (NIELSEN; MOLICH, 1990),
há quatro formas de avaliar a usabilidade de uma interface de usuário:

∙ Automaticamente por procedimentos automatizados.

∙ Empiricamente por experimentos via testes com usuário.

∙ Formalmente por técnicas de análise.

∙ Heurísticas de avaliação por inspeção.

2.4.1 Classificação dos Problemas de Usabilidade


Com finalidade de deixar claro para o cliente do produto onde deve-se investir tempo
e recursos operacionais para correção dos problemas de usabilidade, é usual classificá-los.
Em geral os problema são classificados por:

∙ Escala de Severidade: Representa numericamente quão grave o problema é para a


usabilidade do usuário.

∙ Escala de Ocorrência: representa numericamente a amplitude do problema, ou seja,


se está presente em todo o sistema ou em situações específicas.

Em geral, a severidade de um problema é a combinação de três fatores (NIELSEN,


1995b) que sempre devem ser questionados:

∙ Frequência: O problema é frequente? Quão comum ou raro é no sistema?

∙ Impacto: O problema é impactante? Quão fácil ou difícil será para os usuários passar
por ele?

∙ Persistência: O problema é persistente? Quão perseverante será o problema? Os


usuários conseguirão lidar com ele uma vez conhecendo-o?

Apesar da divisão por fatores, é comum encontrá-los agregados, combinando todos


os aspectos de severidade em uma única escala (NIELSEN, 1995b), que facilita na tomada
de decisão do negócio e priorização dos problemas, conforme sugerido da forma:
Escala de Severidade
2.4. Avaliação de Usabilidade 37

0. Não pode-se afirmar que há problemas de usabilidade.

1. Problema apenas cosmético, não necessita ser corrigido, apenas se houver tempo e
recursos extras disponíveis.

2. Problema de usabilidade pequeno, deveria corrigi-lo com uma baixa prioridade.

3. Problema de usabilidade grande, deveria corrigi-lo com uma alta prioridade.

4. Problema catastrófico de usabilidade, mandatório a correção imediata antes de


colocar em produção ou lançar uma atualização.

Conforme é sugerido em (BENSON et al., 2002), é uma prática comum nas avaliações
de usabilidade indicar o grau de ocorrência do problema, uma vez que, agrega à escala de
severidade no relatório de avaliação, complementando na tomada de decisão, e definindo
bem sua gravidade. A ocorrência do problema é dividida em três níveis:
Escala de Ocorrência

1. O problema é um caso isolado.

2. O problema ocorre em várias partes do programa.

3. O problema ocorre de forma generalizada ao longo do programa.

2.4.2 Avaliação por Inspeção Heurística


A avaliação por inspeção por meio de heurísticas, conforme apresentado por (NI-
ELSEN, 1994), foi capaz de cobrir uma base 249 problemas de usabilidade, algumas
heurísticas em especial, capazes de lidar com 82 problemas sérios de usabilidade. A partir
dessa análise, (NIELSEN, 1994) definiu as 10 heurísticas que mais explicavam os problemas
de usabilidade:

∙ Visibilidade do status do sistema: O sistema deve manter os usuários cientes do


que está acontecendo, apresentando sempre o estado atual e realizando feedbacks
apropriados e rápidos quando houver alguma transição de estado.

∙ Correspondência entre o sistema e o mundo real: O sistema deve "conversar"com


o usuário por uma mesma linguagem, utilizando frases e conceitos adequados ao
usuário alvo.

∙ Controle do usuário e liberdade: O sistema deve permitir que o usuário alvo esteja
no controle da situação, em um momento, saídas de emergência devem ser oferecidas.
Além disso, o usuário deve ter a liberdade de tomar decisões, sem necessidade de
conhecimentos específicos de comandos complexos.
38 Capítulo 2. Fundamentação Teórica

∙ Consistência e uso de padrões: Uma mesma operação ou comando deve ser apre-
sentada da mesma maneira, tendo sempre o mesmo efeito em toda a ferramente,
consequentemente garantindo uma padronização e evitando com que o usuário
questione se semânticas diferentes dentro do sistema significam a mesma coisa.

∙ Prevenção de erros: A ferramente deve ser pensada de forma que previna a ocorrência
de erros pelo uso incorreto do usuário. Segundo (LEWIS; NORMAN, 1995), pode-se
classificar os erros em duas categorias:

– mistakes: Ocorrem quando o usuário realiza uma ação inapropriada, com


intenção de fazê-la.
– slips: Ocorrem quando o usuário realiza uma ação inapropriada, porém sem
intenção, cometendo um deslize.

Dessa forma, o sistema deve prover indicações claras, para evitar mistakes equivoca-
dos, causados pela mal interpretação de símbolos, entradas de dados, entre outros
artefatos gráficos.

∙ Reconhecimento ao invés de memorização: O sistema deve fornecer formas do usuário


reconhecer padrões em sua interface, uma vez que isso é melhor do que forçar o
usuário a memorizar informações que precisa enquanto navega na aplicação. A grande
diferença entre reconhecimento e memorização é a quantidade de pistas que são
fornecidas para que um conhecimento seja acessado, no caso, memorização envolve
menos pistas do que reconhecimento (BUDIU, 2014). Essa heurística é facilmente
detectável ao realizar testes com usuários novos, uma vez que esses deverão realizar
ações com base em nenhum ou pouco conhecimento prévio.

∙ Flexibilidade e eficiência de uso: O sistema deve se adaptar ao nível do usuário, ou


seja, deve atender não somente aqueles que são iniciantes, mas também permitir que
usuários experientes tenham acelerações em seu uso, como, por exemplo, atalhos,
comandos via teclado, etc.

∙ Design estético e minimalista: O sistema deve possuir uma interface simples, focada
em manter as informações importantes e que são necessárias em primeiro plano, e
assim deixando informações secundárias em segundo plano, por meio de menu e abas.
Esse tipo de design é importante, pois quanto maior o número de informações que o
usuário demanda processar, mais confuso será, e ele demandará um maior tempo
para analisar e tomar suas decisões.

∙ Ajude os usuários a reconhecer, diagnosticar e recuperar erros: Apesar das tentativas


de prevenção de erros, o sistema deve estar preparado para tratá-los quando surgirem.
De acordo com (LEWIS; NORMAN, 1995), o sistema deve prover indicações claras
2.4. Avaliação de Usabilidade 39

do problema e suas possíveis causas e soluções, além de prover as ferramentas que


possam ajudar o usuário em sua correção.

∙ Ajuda e documentação: O sistema deve possuir uma interface intuitiva, que permita
sua utilização ao usuário, sem que esse precise de auxílio ou da consulta à documen-
tação, entretanto, essa regra não se faz sempre aplicável, visto que, principalmente
em aplicações complexas e muito especializadas, é necessário a utilização das docu-
mentações acessíveis, sejam estas disponibilizada on-line ou acessadas facilmente
através de pesquisas.

Em geral, a prática de avaliação de usabilidade utilizando heurísticas é recomendada


em todo projeto, pois é de baixo custo, não demanda contato direto com o usuário alvo,
nem mesmo ambientes controlados e preparados, e os resultados são obtidos rapidamente
por um relatório técnico (NIELSEN; MOLICH, 1990). Além disso, essa avaliação pode ser
realizada enquanto o produto é desenvolvido, para garantir que seja construído seguindo
tais preceitos de usabilidade, e atende várias propostas: protótipos, esboços, telas, apps,
etc.

2.4.2.1 O Papel dos Especialistas na Avaliação Heurística

O processo de avaliação heurística deve envolver especialistas da área, trabalhando


separadamente, para conseguirem inspecionar o sistema e coletar o maior número de
problemas de usabilidade. De acordo com (NIELSEN, 1995a), um estudo de caso, sobre
um sistema de resposta por voz, que permite que os clientes acessem suas contas bancárias
(NIELSEN, 1992), foi conduzido com 19 avaliadores, que foram alocados separadamente
para identificar 16 problemas de usabilidade, porém sem saber dessa informação prévia. A
Figura 2 apresenta a distribuição de problemas de usabilidade encontrados pelo avaliadores,
é possível perceber que nenhum especialista foi capaz de encontrar todos os problemas,
por outro lado todos os problemas foram encontrados por pelo menos um avaliador.
Para uma avaliação de usabilidade que traga o melhor resultado, é recomendado
que mais de avaliador inspecione o sistema alvo. A Figura 3 apresenta a curva de proporção
de problemas de usabilidade encontrados por inspeção heurísticas pelos avaliadores do
problema do sistema bancário do estudo de caso (NIELSEN, 1992), conforme segure
(NIELSEN, 1995a), um número adequado de avaliadores são 5, pois na média, 75% dos
problemas são identificados..

2.4.3 Avaliação por Teste com Usuário


A avaliação por teste com usuário (KESSNER et al., 2001) é um método formal que
coloca potenciais usuários chave para testar a interface e realizar tarefas pré-definidas. Esse
teste permite avaliar se o design é eficiente, facilmente aprendido, fácil de lembrar, entre
40 Capítulo 2. Fundamentação Teórica

Figura 2: Distribuição de problemas de usabilidade encontrados pelos avaliadores.

Fonte: (NIELSEN, 1995a)

Figura 3: Curva de proporção de problemas de usabilidade por inspeção heurística pelos avaliadores.
(NIELSEN, 1995a)

outras características. É importante ressaltar que o objetivo dessa avaliação é verificar a


usabilidade do sistema, e não o comportamento do usuário, contudo esse deve ser analisado,
para buscar compreender melhor que em aspecto o design influencia, de forma positiva e
negativa, em suas decisões ao longo das tarefas.
2.4. Avaliação de Usabilidade 41

2.4.3.1 Determinando o Tamanho da Amostra de Usuários

(VIRZI, 1992) relatou em três experimentos a proporção na qual especialistas e


assistentes treinados em usabilidade conseguiam observar problemas de usabilidade com
base no número de usuários participantes nos testes, gerando a medida composta pelo
número de problemas descobertos durante uma única sessão de teste individual pelo número
total de problemas encontrados durante todo o teste. A Figura 4 apresenta a comparação
entre o resultado das simulações Monte Carlo (VIRZI, 1992) e sua modelagem matemática,
conforme a Equação 2.6, de forma que 𝑛 é o tamanho da amostra de participantes e 𝑝 a
probabilidade de detectar um dado problema, (VIRZI, 1992) sugeriu 𝑝 = 0.321 para essa
comparação realizada.

Figura 4: Curvas comparando o resultado obtido nas simulações e a modelagem matemática proposta.

Fonte: (VIRZI, 1992)

Proporção de um único problema encontrado = 1 − (1 − 𝑝)𝑛 (2.6)

(NIELSEN; LANDAUER, 1993) entenderam esses resultados buscando encontram


um padrão para grandes amostras divididas na busca de problemas, usando tanto heu-
rísticas de avaliação como teste com usuário. A partir da mesma fórmula, derivada de
um modelo Poisson, conseguiram ajustá-la para seus dados de avaliação de problemas
de usabilidade, conseguindo predizer o número de problemas de toda interface avaliada
(NIELSEN; LANDAUER, 1993), analisando também o custo-benefício do tamanho da
42 Capítulo 2. Fundamentação Teórica

amostra. Chegaram então a um valor estimado de 𝑝 = 0.33, utilizando 11 estudos de caso.


Após refinar esse estudo, (NIELSEN, 2000) propõe o uso de 𝑝 = 0.31 e define que o valor
médio ideal do tamanho da amostra é de 5 usuários, que em geral cobre mais de 80% dos
problemas de usabilidade em um sistema, e na maioria das vezes, cada novo usuário após
isso sobrepõem mais as descobertas já realizadas do que agregam em novos resultados.
A Figura 5 representa a curva descrita pela Equação 2.7, de forma que 𝑁 representa o
número total de problemas de usabilidade no design da aplicação alvo.

Proporção de problemas de usabilidade encontrados = 𝑁 (1 − (1 − 𝑝)𝑛 ) (2.7)

Figura 5: Curva de problemas de usabilidade encontrados por número de usuários no teste.

Fonte: (NIELSEN, 2000)

2.4.3.2 Procedimento de Avaliação por Teste com Usuário

Para a avaliação por teste com usuário, deve-se buscar uma amostra cuja represen-
tação é o cliente alvo, evitando cair no erro da amostra polarizada, que não representa
realmente o publico de interesse. As tarefas a serem executarem pela amostra devem
descrever o que a atividade deve atender, de forma objetiva, evitando interpretações
equivocadas.
É importante destacar alguns aspectos que, apesar de não estarem diretamente
ligados a execução, podem impactar nos resultados da avaliação, como por exemplo:

∙ Local: Verificar se o local de execução do teste é apropriado e permite que o time de


avaliação consiga desempenhar seu papel.
2.5. Processo de Design Iterativo de Interface de Usuário 43

∙ Horário: Verificar se o horário está adequado com a execução do problema. Ambientes


diurnos e noturnos podem impactar no resultado.

∙ Duração: Verificar se a duração do teste é adequada, uma vez que o usuário cansado
ou desinteressado após uma longa sessão pode impactar no resultado.

2.5 Processo de Design Iterativo de Interface de Usuário


Quatro estudos de caso mostram que o design de interfaces de usuário,
com base no teste com usuário, de forma iterativa em pelo menos três
versões pode melhorar substancialmente a usabilidade (NIELSEN, 1993).

Conforme aponta (NIELSEN, 1993), há benefícios na construção de uma aplicação


por iteração, guida pelos testes de usabilidade, pois a longo prazo há ganhos de perfor-
mance, principalmente no uso pelo usuário e redução de custos. A Figura 6 apresenta
conceitualmente o ganho de usabilidade por iteração. De forma controversa, há uma decaída
no ganho de performance da usabilidade após as primeiras iterações, onde normalmente
os problemas catastróficos são corrigidos, até chegar no estágio de reconceitualização da
interface, trazendo novamente os ganhos de usabilidade.

Figura 6: Relação conceitual entre a usabilidade e as iterações sobre o design da aplicação.

Fonte: (NIELSEN, 1993)

Segundo (NIELSEN, 1993), todo sistema deve buscar ser factível do ponto de
vista de custo e manutenção, além de respeitar as necessidades, no que diz respeito a
funcionalidade, dos clientes. Essas características, apesar de não serem o foco dos padrões
44 Capítulo 2. Fundamentação Teórica

de usabilidade, pertence as boas práticas de desenvolvimento, que está lado-a-lado do design.


(NIELSEN, 1993) apresenta algumas formas de avaliar a qualidade do desenvolvimento do
sistema, do ponto de vista da usabilidade, que é a junção de diversos atributos, como:

∙ Fácil aprendizado: Usuários devem ser capazes de aprender sobre o sistema rapida-
mente.

∙ Eficiente: Usuários com proficiência devem ser capazes de ter uma melhor produtivi-
dade.

∙ Fácil de lembrar: Usuários podem voltar a acompanhar, mesmo com pouca frequência,
e não precisar aprender tudo do começo.

∙ Error-forgiving: Usuários não devem cometer muitos erros, e esses poucos erros não
devem ser catastróficos.

∙ Agradável de usar: Usuários devem se sentir satisfeitos ao usar a ferramenta.

2.5.1 Relação do Design Iterativo com Teste com Usuário


Como discutido na subseção 2.4.3.1, (NIELSEN, 2000) complementa os indicadores
de tamanho de amostra relacionando com o design iterativo. Em sua discussão, um teste
com 15 usuários tende na descoberta de todos os problemas de usabilidade, conforme
apresenta a Figura 5, em que a curva nesse ponto é próxima ao 100%, porém ele ainda
refuta tal argumento alegando que um tamanho menor de amostra é mais viável, pois
pelo mesmo orçamento para realizar um teste com 15 usuários é preferível aplicar 3 testes
distintos com 5 usuários, a cada iteração do design da aplicação.
A execução de vários testes é para buscar melhorar a usabilidade da aplicação
e aprimorar seu design, não somente documentar os pontos negativos com os testes
(NIELSEN, 2000). Além disso, após o primeiro dos três testes, 85% dos problemas serão
encontrados, em teoria, logo a correção desses deve ser realizada para uma próxima rodada
de iteração e testes.
45

3 Revisão da Literatura

3.1 Interface gráfica do usuário para processamento de sinais


Nesta seção serão descritos alguns dos principais artigos relacionados com o tema
deste trabalho, focando nas propostas da literatura para interfaces que auxiliam em
processamentos de sinais químicos, em particular, nos trabalhos relacionados à calibração
multivariada e seleção de variáveis.

3.1.1 Signal Processing and Variable Selection for Multivariate Calibration


A fim de tornar a manipulação de dados e uso do algoritmo mais simples, foi
elaborada uma interface gráfica para aplicação do SPA (PAIVA et al., 2012). Esta interface
é capaz de realizar pré processamento dos dados, permitindo aplicar suavização e redução
de ruído.
A Figura 7 apresenta a tela de carregamento de dados. Nessa etapa, é possível
realizar as configurações desejadas sobre os dados, informando, por exemplo, como deve
ser realizado o plot do resultado.

Figura 7: Módulo de carregamento dos dados.

Fonte: (PAIVA et al., 2012)


46 Capítulo 3. Revisão da Literatura

A Figura 8 apresenta a etapa de pré-processamento, que permite realizar uma


suavização/diferenciação de savitzky-golay (SAVITZKY; GOLAY, 1964).

Figura 8: Módulo de pré-processamento dos dados.

Fonte: (PAIVA et al., 2012)

A Figura 9 mostra a etapa que permite separar uma amostra de conjuntos em duas
amostrar disjuntas, permitindo realizar essa divisão por algoritmos diferentes.
Por fim, a Figura 10 apresenta a tela que executa o algoritmo SPA, especificando
certas variáveis. Além disso, permite realizar predição de resultados, e comparar com a
amostra real.

3.1.2 Multivariate Calibration GUIs


Em (DASZYKOWSKI et al., 2007), o autor propõe uma interface gráfica de usuário
para pessoas sem o conhecimento técnico em MATLAB, com foco particular no uso desse
sistema para realizar análise de componentes principais e sua variante robusta, sendo uma
das interfaces mais populares na área de quimiometria. Entre os métodos implementados
encontram-se vários métodos de regressões estatísticas.
3.1. Interface gráfica do usuário para processamento de sinais 47

Figura 9: Módulo de seleção de amostra.

Fonte: (PAIVA et al., 2012)

Figura 10: Módulo de aplicação do SPA.

Fonte: (PAIVA et al., 2012)


Parte III

Material e Métodos
51

4 Metodologia de Desenvolvimento

Foi elaborada uma pesquisa exploratória, buscando atender as necessidades quali-


tativas propostas para análises químicas assistidas por programas computacionais. Em
particular, foram explorados os requisitos abordados por alguns grupos de pesquisa da
Universidade Federal da Paraíba (UFPB) e do Instituto Tecnológico de Aeronáutica (ITA),
que utilizam as técnicas abordadas no escopo do projeto, com finalidade de acrescentar me-
lhorias para a ferramenta desenvolvida para processamento de sinais e seleção de variáveis
para calibração multivariada (PAIVA et al., 2012).
Para a elaboração da interface gráfica foi necessária uma licença de uso do ambiente
de desenvolvimento MATLAB, equipando com o pacote GUIDE, que é um recurso da
plataforma para o desenvolvimento de GUI. Além disso, foi necessário o uso das toolboxes
Signal Processing e Wavelet. Para gerenciar o desenho da interface, foram usados bibliotecas
de interfaces gráficas do MATLAB como metodologia de desenvolvimento frontend.

4.1 Análise de Usabilidade


Essa seção a seguir discorre sobre a metodologia de análise de usabilidade para
ambas avaliações realizadas: Heurística e com usuário.
52 Capítulo 4. Metodologia de Desenvolvimento

4.1.1 Inspeção Heurística


Para realizar a avaliação heurística, o sistema foi estudado e avaliado até ter
compreendido por completo seu funcionamento e operações. O algoritmo 2 descreve
formalmente o procedimento de avaliação heurística utilizado para realizar a avaliação,
que apresenta as macro tarefas feitas.

Algoritmo 2: Procedimento de Avaliação Heurística


Saída : Relatório de inspeção de usabilidade por heurísticas
1 para cada parte do sistema faça
2 para cada heurística de avaliação faça
3 se parte do sistema não está de acordo com a heurística então
4 Tomar nota da localização do problema com evidências.
5 Indicar a heurística violada.
6 Justificar o motivo a qual a parte do sistema viola a heurística.
7 Julgar e classificar a gravidade do problema.
8 Sugerir soluções para o problema, se possível.
9 fim
10 fim
11 Relatar observações importantes para essa parte do sistema, se necessário.
12 fim
13 Gerar um relatório de inspeção de usabilidade por heurísticas com as informações
coletadas.

4.1.2 Teste com Usuário


Para realizar o teste com usuário foram criadas as seguintes tarefas, que contemplam
boa parte da interface original, passando por todas as abas disponíveis. No total foram 6
tarefas para uma amostra de 8 usuários, que tem conhecimento na área da computação e
mesclados no conhecimento da programação MATLAB.

1. Carregar o arquivo “corn_dataset.mat” como matriz de entrada e plotar três amostras


juntas. Dica: O arquivo está no diretório atual; As amostras são os vetores linha da
matriz de entrada.

2. Aplicar um pré-processamento de Smoothing e Differentiation em alguma amostra.


Dica: O parâmetro é de sua escolha.

3. Dividir a matriz de entrada em dois conjuntos com uma operação de seleção de


amostras. Dica: O parâmetro é de sua escolha; A matriz de entrada é a matriz com
os dados.

4. Copiar a matriz de entrada para outra variável e exportar uma seleção dela como
array. Dica: O parâmetro é de sua escolha; A matriz de entrada é a matriz com os
dados.
4.2. Implementação de Melhorias do Sistema 53

5. Dividir as variáveis da matriz de entrada entre respostas de instrumentação e


parâmetros de interesse, com tamanhos 80x700 e 80x1, respectivamente. Dica: As
variáveis são os vetores coluna da matriz;

5.1 Aplicar o algoritmo de seleção de variáveis SPA com os conjuntos resultantes do


item (5), sendo X e Y as respostas de instrumentação e parâmetros de interesse.

O algoritmo 3 descreve o procedimento de avaliação por teste com usuário feito,


que apresenta as macro tarefas desenvolvidas.

Algoritmo 3: Procedimento de Avaliação por Teste com Usuário


Entrada : Tarefas a serem executadas
Saída : Relatório de inspeção de usabilidade por teste com usuário
1 para cada usuário da amostra de usuários faça
2 para cada tarefa a se executada pelo usuário faça
3 Observar o comportamento do usuário, analisar suas dificuldades e anotar
as partes do sistema que causaram isso.
4 Coletar dados mensuráveis como: tempo de execução da tarefa, se a tarefa
foi concluída corretamente, sensação do usuário, problema ocorridos na
tarefa.
5 Prover sugestões de design para o time de desenvolvimento, se for o cenário.
6 Ao final da tarefa, se possível, pedir para o usuário relatar o que está
pensando, sentindo e explicar suas tomadas de decisões. Esse passo ajuda
na interpretação do avaliador.
7 fim
8 Coletar feedback após a avaliação, questionando aspectos como a experiência do
usuário em relação ao sistema.
9 fim
10 Compilar as informações e gerar um relatório de usabilidade por teste com usuário.

4.2 Implementação de Melhorias do Sistema


No que concebe as novas funcionalidades e melhorias do sistema, foram elaboradas
as seguintes:

∙ Opção de cores variadas por curva em cada plot, em Load Data.

∙ Opção de seleção de muitas amostras em uma única execução do Sample Selection.

∙ Nova opção de critério de validação, internal validation, para execução do Successive


Projection Algorithm e Prediction, em SPA.

∙ Opção de plot da matriz de confusão dos dados esperados e previstos do Prediction,


em SPA.
54 Capítulo 4. Metodologia de Desenvolvimento

∙ Nova funcionalidade de classificação linear de dados com muitas característica, usando


como classificador grupos separados.

∙ Nova funcionalidade de plot de Análise Discriminante Linear, com opção 3d e plot


da classificação das características otimizadas.

∙ Nova funcionalidade de scree plot para um dado de entrada.

4.2.1 Desenvolvimento dos Artefatos Gráficos


Para a implementação dos objetos gráficos, foram utilizadas as bibliotecas de
MATLAB para interface gráfica de usuário como framework de desenvolvimento frontend.
A Imagem 11 apresenta o processo de construção desses objetos gráficos, que é realizado
da seguinte forma:

1. Descrição de marcação: Estruturas de dados com propriedades específicas descrevem


como devem ser criados os objetos gráficos.

2. MATLAB GUI Library: Por meio das bibliotecas de desenvolvimento de interfaces


gráficas do MATLAB coleta os dados de marcação e as requisições de operação e os
executa.

3. Handlers de objetos gráficos: As operações que geram objetos dos artefatos gráficos,
que ficam salvos em memória para uso, permitindo que operações de callback sejam
vinculadas a essas entidades.

Figura 11: Processo de criação dos artefatos gráficos por meio das bibliotecas de interfaces gráficas do
MATLAB.

Fonte: O autor

4.2.1.1 Propriedades dos Objetos Gráficos

A receita de construção desses artefatos, conforme explicado anteriormente, é feita


por um dado estruturado por descrições de marcação, essas que descrevem as propriedades
4.2. Implementação de Melhorias do Sistema 55

dos objetos gráficos, que não necessariamente são usados para todos tipos de objeto, que
podem variar entre:

∙ Objeto Pai: Pode-se associar a um objeto pai, em geral esse objeto é a própria
interface em si ou a aba.

∙ Título: Descrição de título para os frames.

∙ Estilo de elementos: Indica o estilo dos elementos associados, como botões, checkboxes,
etc.

∙ Lista de elementos: Todos elementos associados ao objeto gráfico.

∙ Colunas: Indica se os elementos s]ao distribuídos por colunas

∙ Referência no espaço: Indica especialmente onde o objeto está.

∙ Margem no objeto: Indica se os elementos do objeto tem margem com sua borda.

∙ Tamanho dos elementos: Indica o tamanho dos elementos associados ao objeto


gráfico.

∙ Tamanho do objeto: Indica seu tamanho nas coordenadas X-Y.

∙ Tamanho de fonte: Indica o tamanho das fontes dos elementos associados ao objeto
gráfico.

∙ Tamanho do título: Indica o tamanho das fontes do título do objeto gráfico.

∙ Cor: Indica a cor background do objeto gráfico.

∙ Outras: Indicações de visibilidade, tamanhos de elementos auxiliares, etc.

Dessa forma, um dado de descrição pode ter várias propriedades, e para cada
artefato gráfico da interface, um dado de descrição é feito e tratado pelas bibliotecas de
interface gráfica do MATLAB, que gera os objetos gráficos.

4.2.2 Desenvolvimento de Novas Funcionalidades


As seções a seguir discorrem sobre as implementações e alterações feitas nas
funcionalidades do sistema, divididas por abas consoante como está na interface gráfica.
56 Capítulo 4. Metodologia de Desenvolvimento

4.2.2.1 Aba Load Data

Na aba load data foi adicionado uma opção checkbox na parte de plots de dados
que faz com que cada plot por figura tenha uma coloração única em cada curva, sem essa
opção a cada 8 curvas por plot a cor se repete. Para isso foi usado o método de HSV
colormap array do MATLAB que retorna o mapa de cores hsv como uma matriz de três
colunas com 𝑛 linhas, que representa o espalhamento das cores entre o mapa de cores.

4.2.2.2 Aba Sample Selection

Na aba sample selection foi removido uma opção de algoritmo sub-utilizada e


preservado as opções de Kennard-Stone e Random Sampling. Além disso, foi estendido
a entrada 𝑁 , anteriormente como um valor que dividia a amostra total em duas partes,
para uma entrada vetorial, permitindo a separação em 𝑘 amostras, sendo 𝑘 o tamanho da
amostra + 1. O Algoritmo 4 apresenta o pseudocódigo do funcionamento da seleção de
várias amostras para uma matriz, o mesmo vale para duas matrizes, quando há necessidade
de introduzir seleção dos parâmetros de interesse, é aplicado da mesma maneira sem perda
de generalidade.

Algoritmo 4: Procedimento de Seleção de Várias Amostras


Entrada : Matriz 𝑋, Vetor de tamanho de amostras 𝑁
Saída : |𝑁 | amostras e seus dados auxiliares
1 𝑁 𝑡𝑎𝑚 := |𝑁 |
2 𝑋_𝑛𝑜𝑡𝑠𝑒𝑙 := 𝑋
3 𝑋_𝑠𝑒𝑙(𝑘) := [ ], ∀𝑘 ∈ 1 . . . 𝑁 𝑡𝑎𝑚
4 𝑚𝑎𝑛𝑡𝑒𝑟_𝑖𝑛𝑑𝑖𝑐𝑒𝑠 := 1 . . . |𝑋_𝑛𝑜𝑡𝑠𝑒𝑙|
5 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑚𝑜𝑠𝑡𝑟𝑎(𝑘) := [ ], ∀𝑘 ∈ 1 . . . 𝑁 𝑡𝑎𝑚
6 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑡𝑜𝑡𝑎𝑙 := [ ]
7 para 𝑖𝑑𝑥 = 1 até 𝑁 𝑡𝑎𝑚 faça
8 𝑛𝐴𝑡𝑢𝑎𝑙 = 𝑁 [𝑖𝑑𝑥]
9 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑡𝑢𝑎𝑙 = selecionaUmaAmostra(𝑋_𝑛𝑜𝑡𝑠𝑒𝑙, 𝑛𝐴𝑡𝑢𝑎𝑙)
10 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑐𝑜𝑚𝑝 = vetor de índices de 1 até |𝑋_𝑛𝑜𝑡𝑠𝑒𝑙|
11 O elemento na posição 𝑘 do vetor 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑐𝑜𝑚𝑝 é removido,
∀𝑘 ∈ 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑡𝑢𝑎𝑙
12 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 = 𝑚𝑎𝑛𝑡𝑒𝑟_𝑖𝑛𝑑𝑖𝑐𝑒𝑠[𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑡𝑢𝑎𝑙]
13 O elemento na posição 𝑘 do vetor 𝑚𝑎𝑛𝑡𝑒𝑟_𝑖𝑛𝑑𝑖𝑐𝑒𝑠 é removido,
∀𝑘 ∈ 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑡𝑢𝑎𝑙
14 𝑋_𝑠𝑒𝑙(𝑖𝑑𝑥) = 𝑋_𝑛𝑜𝑡𝑠𝑒𝑙[𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑡𝑢𝑎𝑙][:]
15 𝑋_𝑛𝑜𝑡𝑠𝑒𝑙 = 𝑋_𝑛𝑜𝑡𝑠𝑒𝑙 − 𝑋_𝑠𝑒𝑙(𝑖𝑑𝑥)
16 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑡𝑜𝑡𝑎𝑙 = 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑡𝑜𝑡𝑎𝑙 ∪ 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑
17 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑚𝑜𝑠𝑡𝑟𝑎(𝑖𝑑𝑥) = 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑
18 fim
19 retorna 𝑋_𝑠𝑒𝑙, 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑡𝑜𝑡𝑎𝑙 e 𝑖𝑛𝑑𝑖𝑐𝑒𝑠_𝑎𝑚𝑜𝑠𝑡𝑟𝑎
4.2. Implementação de Melhorias do Sistema 57

4.2.2.3 Aba SPA

Para o algoritmo SPA e Prediction foram alteradas a maneira de seleção de validação,


agora por meio de radio buttons, deixando explicito todas as opções de validação, além
da inclusão de uma opção de validação interna (SOARES et al., 2014), que realiza uma
validação cruzada, porém carregando a variável da iteração atual no cálculo.

4.2.2.4 Aba Multivariate Statistics

∙ Least Squares Classifier (LSC):

A funcionalidade LSC permite o usuário gerar um vetor de classes para uma matriz de
dados por características de teste com base em outras duas matrizes de calibração, que irão
representar uma classe cada uma. Para realizar essa classificação, é calculado o método de
mínimos quadrados linear entre as duas matrizes de calibração, e a partir da reta calculada
por esse método, a matriz de dados é dividida em dois grupos de dados, cada um em uma
classe.

∙ Linear discriminant analysis (LDA):

A funcionalidade LDA permite o usuário realizar scatter plots de uma matriz de amostras
por características, que pode incluir a classificação linearmente, em uma dimensão otimizada
de características, de duas classes escolhidas e também uma matriz de confusão entre
a classificação linear em uma dimensão e a classificação linear por duas amostras de
validação. O algoritmo da matriz de confusão foi obtido pela comunidade no fórum
da comunidade MATLAB File Exchange (https://www.mathworks.com/matlabcentral/
fileexchange/) da MathWorks.

∙ Scree Plot:

Essa funcionalidade realiza o Scree Plot de uma matriz como valor de entrada, onde é
calculado os auto-valores da matriz quadrada resultante da multiplicação dessa matriz por
sua transposta. Essa operação permite também o plot de seus valores em escala logarítmica.
58 Capítulo 4. Metodologia de Desenvolvimento

4.2.3 Integração dos Artefatos com as Funcionalidades


A Figura 12 apresenta o processo de integração dos artefatos gráficos com as
funcionalidades. Esses artefatos são ligados por meio de funções de callback, que definem
chamadas de eventos, em particular, as funcionalidades desejadas para cada elemento
gráfico, como por exemplo botões, checkboxes, etc.

Figura 12: Processo de integração dos artefatos gráficos às funções do MATLAB.

Fonte: O autor
Parte IV

Resultados
61

5 Avaliação de Usabilidade

5.1 Relatório de Avaliação por Inspeção Heurística


As seções a seguir discorrem sobre a avaliação heurística por cada aba do sistema.

5.1.1 Problemas de Usabilidade na Aba Load Data

1. Carregamento das figuras para plot demora de 3-4 segundos na primeira execução.

∙ Heurística(s) violada(s): Visibilidade do status do sistema.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Verificar o porquê ocorre essa latência de carregamento no
primeiro caso ou inserir uma barra de carregamento.
∙ Evidência:

Figura 13: Evidência do problema (1) em Load Data.

Fonte: O autor

2. Carrega erroneamente as variáveis ao abrir a aplicação.

∙ Heurística(s) violada(s): Visibilidade do status do sistema.


∙ Motivo: Quebra o princípio do status do sistema, apresentando variáveis de um
estado antigo de execução.
∙ Grau de severidade: 2.
62 Capítulo 5. Avaliação de Usabilidade

∙ Grau de ocorrência: 1.
∙ Medida sugerida: Chamar o método de update do workspace de variáveis ao
abrir o programa.
∙ Evidência:

Figura 14: Evidência do problema (2) em Load Data.

Fonte: O autor

3. Botões de Extract, Clear Edit, Invert e Select from array não são totalmente auto-
explicativos.

∙ Heurística(s) violada(s): Correspondência entre o sistema e o mundo real.


∙ Motivo: Não esclarece exatamente suas ações na linguagem do usuário.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 2.
∙ Medida sugerida: Melhorar a semântica, como por exemplo, clear se tornar
delete.
∙ Evidência:

Figura 15: Evidência do problema (3) em Load Data.

Fonte: O autor
5.1. Relatório de Avaliação por Inspeção Heurística 63

4. Operação de Extract não deixa claro o que será feito ao usá-lo.

∙ Heurística(s) violada(s): Correspondência entre o sistema e o mundo real.


∙ Motivo: Utiliza semântica da linguagem MATLAB para explicar o que faz.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Além do texto com o código a ser executado, indicar com
palavras, como por exemplo "All columns will be copied from selected rows".
∙ Evidência:

Figura 16: Evidência do problema (4) em Load Data.

Fonte: O autor

5. Cor dos botões.

∙ Heurística(s) violada(s): Consistência e uso de padrões.


∙ Motivo: Os padrões usados na web recomendam o realce na tonalidade de
botões.
∙ Grau de severidade: 1.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Realçar tonalidade dos botões.
∙ Evidência:

Figura 17: Evidência do problema (5) em Load Data.

Fonte: O autor
64 Capítulo 5. Avaliação de Usabilidade

6. Botão Save não tem caixa de confirmação.

∙ Heurística(s) violada(s): Controle do usuário e liberdade; Prevenção de erros.


∙ Motivo: Dados podem ser salvos e/ou excluídos por um erro de slip.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Apresentar uma caixa de diálogo de confirmação, com opção
de "Don’t ask again".
∙ Evidência:

Figura 18: Evidência do problema (6) em Load Data.

Fonte: O autor

7. Plot liberado para inúmeras amostras.

∙ Heurística(s) violada(s): Controle do usuário e liberdade; Prevenção de erros.


∙ Motivo: Pode levar a um travamento inesperado do sistema por falta de memória;
Usuário pode se sentir desconfortável ao ter que fechar todas imagens.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Apresentar uma caixa de diálogo de confirmação, com opção
de "Don’t ask again", para quantidades grandes de amostras em várias figuras;
Criar um botão para fechar todas imagens abertas.
∙ Evidência:

8. Não indica que os botões de manipulação de objetos podem ser usados em conjunto
com seleção de amostras e índices.

∙ Heurística(s) violada(s): Reconhecimento ao invés de memorização.


∙ Motivo: Dificuldade de reconhecer o uso dos botões de uso de objetos junto aos
de seleção de índices; Não se sabe à priori da funcionalidade antes de conhecer.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: N/A.
5.1. Relatório de Avaliação por Inspeção Heurística 65

Figura 19: Evidência do problema (7) em Load Data.

Fonte: O autor

∙ Evidência: Figura 15.

9. Não apresenta uma ajuda ou documentação para iniciantes.

∙ Heurística(s) violada(s): Ajuda e documentação.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Prover uma opção de acesso a ajuda/documentação on-line.
∙ Evidência: N/A.

5.1.2 Problemas de Usabilidade na Aba Data Pre-Processing

1. Carregamento das figuras processadas demora de 2-4 segundos na primeira execução.

∙ Heurística(s) violada(s): Visibilidade do status do sistema.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Verificar o porquê ocorre essa latência de carregamento no
primeiro caso ou inserir uma barra de carregamento.
∙ Evidência:
66 Capítulo 5. Avaliação de Usabilidade

Figura 20: Evidência do problema (1) em Data Pre-Processing.

Fonte: O autor

2. Cor dos botões.

∙ Heurística(s) violada(s): Consistência e uso de padrões.


∙ Motivo: Os padrões usados na web recomendam o realce na tonalidade de
botões.
∙ Grau de severidade: 1.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Realçar tonalidade dos botões.
∙ Evidência:

Figura 21: Evidência do problema (2) em Data Pre-Processing.

Fonte: O autor

3. Juntão da operação de Differentiation no frame de Smoothing.

∙ Heurística(s) violada(s): Consistência e uso de padrões.


∙ Motivo: A operação de Differentiation usa dados de Smoothing, algo fora do
padrão do resto do sistema. Há confusão se usa ou não quando não conhece.
∙ Grau de severidade: 2.
5.1. Relatório de Avaliação por Inspeção Heurística 67

∙ Grau de ocorrência: 1.
∙ Medida sugerida: Colocar os dados compartilhados em uma área "neutra", que
não dê ideia que pertençam a uma entidade apenas.
∙ Evidência:

Figura 22: Evidência do problema (3) em Data Pre-Processing.

Fonte: O autor

4. Faltando indicações nas validações de entrada de dados para o Wavelet Denoising.

∙ Heurística(s) violada(s): Prevenção de erros.


∙ Motivo: Deveria haver uma verificação de dados para não haver lançamentos
de erros sem tratamento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Verificar os dados e lançar uma caixa de mensagem de aviso.
∙ Evidência:

5. Amostra desejada nos procedimentos fica em outra aba do sistema.

∙ Heurística(s) violada(s): Reconhecimento ao invés de memorização.


∙ Motivo: É necessário lembrar/verificar se está usando a amostra correta, não
há indicação na própria tela.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: N/A.
∙ Evidência:
68 Capítulo 5. Avaliação de Usabilidade

Figura 23: Evidência do problema (4) em Data Pre-Processing.

Fonte: O autor

Figura 24: Evidência do problema (5) em Data Pre-Processing.

Fonte: O autor

6. Não indica o mistake de limites máximos do level de wavelet denosing.

∙ Heurística(s) violada(s): Prevenção de erros; Ajude os usuários a reconhecer,


diagnosticar e recuperar erros;
∙ Motivo: Erro não apresentado ao usuário.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Não permitir que o usuário cometa o mistake impedindo a
ação ou tratando o erro com uma caixa de mensagem de aviso.
∙ Evidência:

7. Não apresenta uma ajuda ou documentação para iniciantes.

∙ Heurística(s) violada(s): Ajuda e documentação.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
5.1. Relatório de Avaliação por Inspeção Heurística 69

Figura 25: Evidência do problema (6) em Data Pre-Processing.

Fonte: O autor

∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Prover uma opção de acesso a ajuda/documentação on-line.
∙ Evidência: N/A.

5.1.3 Problemas de Usabilidade na Aba Sample Selection

1. Cor dos botões.

∙ Heurística(s) violada(s): Consistência e uso de padrões.


∙ Motivo: Os padrões usados na web recomendam o realce na tonalidade de
botões.
∙ Grau de severidade: 1.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Realçar tonalidade dos botões.
∙ Evidência:

Figura 26: Evidência do problema (1) em Sample Selection.

Fonte: O autor

2. Legendas das entradas de dados não indicam o que deve ser inserido.

∙ Heurística(s) violada(s): Correspondência entre o sistema e o mundo real.


70 Capítulo 5. Avaliação de Usabilidade

∙ Motivo: Não conversam em uma linguagem mais natural ao usuário.


∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Mudar a semântica de letras para algo mais auto-explicativo.
∙ Evidência:

Figura 27: Evidência do problema (2) em Sample Selection.

Fonte: O autor

3. Validação de dados no campo "N".

∙ Heurística(s) violada(s): Prevenção de erros; Ajude os usuários a reconhecer,


diagnosticar e recuperar erros.
∙ Motivo: Sistema não provê validação de dados para algumas situações.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Verificar os dados e lançar uma caixa de mensagem de aviso.
∙ Evidência:

Figura 28: Evidência do problema (3) em Sample Selection.

Fonte: O autor

4. Checkbox não descritivo.

∙ Heurística(s) violada(s): Reconhecimento ao invés de memorização.


5.1. Relatório de Avaliação por Inspeção Heurística 71

∙ Motivo: Não é possível inferir seu funcionamento à priori sem ter usado.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Colocar uma legenda ao lado, como por exemplo "Enable
Field".
∙ Evidência: Figura 27

5. Mensagens de erro inconclusivas na execução da seleção.

∙ Heurística(s) violada(s): Ajude os usuários a reconhecer, diagnosticar e recuperar


erros.
∙ Motivo: Não indica exatamente como foi ocasionado o mistake, apenas informa
que aconteceu.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Melhorar a semântica das mensagens, colocando o dado
incorreto na própria mensagem.
∙ Evidência:

Figura 29: Evidência do problema (5) em Sample Selection.

Fonte: O autor

6. Não apresenta uma ajuda ou documentação para iniciantes.

∙ Heurística(s) violada(s): Ajuda e documentação.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Prover uma opção de acesso a ajuda/documentação on-line.
∙ Evidência: N/A.
72 Capítulo 5. Avaliação de Usabilidade

5.1.4 Problemas de Usabilidade na Aba SPA

1. Cor dos botões.

∙ Heurística(s) violada(s): Consistência e uso de padrões.


∙ Motivo: Os padrões usados na web recomendam o realce na tonalidade de
botões.
∙ Grau de severidade: 1.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Realçar tonalidade dos botões.
∙ Evidência:

Figura 30: Evidência do problema (1) em SPA.

Fonte: O autor

2. Legendas das entradas de dados não são auto-explicativas.

∙ Heurística(s) violada(s): Correspondência entre o sistema e o mundo real.


∙ Motivo: As legendas das entradas de dados não conseguem passar uma mensagem
em linguagem natural do usuário do que é necessário entrar como dado, e se é
necessário.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 2.
∙ Medida sugerida: Melhorar na semântica das legendas e/ou adicionar elementos
sugestivos.
∙ Evidência:

3. Indicação do formato dos dados.

∙ Heurística(s) violada(s): Prevenção de erros.


∙ Motivo: Sistema não dá indicação do que é necessário entrar como dado e como.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 2.
∙ Medida sugerida: Adotar elementos sugestivos de validação de dados.
∙ Evidência: Figura 31
5.1. Relatório de Avaliação por Inspeção Heurística 73

Figura 31: Evidência do problema (2) em SPA.

Fonte: O autor

4. Validação dos campos de entrada de dados.

∙ Heurística(s) violada(s): Ajude os usuários a reconhecer, diagnosticar e recuperar


erros.
∙ Motivo: Sistema não valida os dados, ocorrendo erros internos sem emitir avisos
ao usuário.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 2.
∙ Medida sugerida: Verificar os dados e lançar uma caixa de mensagem de aviso.
∙ Evidência:

Figura 32: Evidência do problema (4) em SPA.

Fonte: O autor

5. Erros não tratados que não permitem a continuação/encerramento da execução.


74 Capítulo 5. Avaliação de Usabilidade

∙ Heurística(s) violada(s): Ajude os usuários a reconhecer, diagnosticar e recuperar


erros.
∙ Motivo: A caixa de mensagem de progresso fica travada ad infinitum, por conta
de erros não tratados, deixando o usuário esperando eternamente.
∙ Grau de severidade: 3.
∙ Grau de ocorrência: 2.
∙ Medida sugerida: Verificar os erros, impedir o lançamento da barra de progresso
na situação de erro e emitir um alerta tratando o erro.
∙ Evidência:

Figura 33: Evidência do problema (5) em SPA.

Fonte: O autor

6. Não apresenta uma ajuda ou documentação para iniciantes.

∙ Heurística(s) violada(s): Ajuda e documentação.


∙ Motivo: Quebra o princípio do feedback rápido para um evento.
∙ Grau de severidade: 2.
∙ Grau de ocorrência: 1.
∙ Medida sugerida: Prover uma opção de acesso a ajuda/documentação on-line.
∙ Evidência: N/A.

5.2 Relatório de Avaliação por Testes com Usuário


Essa seção traz os resultados dos teste com usuário feitos com um total de 8 usuários.
Todos com um perfil computacional, porém mesclados em termos de conhecimento da
linguagem MATLAB.
5.2. Relatório de Avaliação por Testes com Usuário 75

Tabela 1: Resultado da Avaliação para o Usuário 1.


Usuário 1 - Conhece bastante sobre MATLAB.
Atividade Duração (min) Observações
1 1:00 N/A
2 1:20 Algumas dificuldades na interpretação dos botões de apply, uma vez
que suas entradas compartilham dados.
3 0:30 N/A
4 0:30 N/A
5 2:00 Ficou confuso entre a opção de extração de dados e exportar seleção de
índices como vetor. Ficou focado somente nos botões de manipulação
de índices (verdes).
5.1 N/A Não conseguiu completar a função. Dificuldade de entender o que precisa
colocar como entrada, por conta de não compreender o algoritmo e não
ter indicação visual pela interface para ajudar nesse algoritmo.
Sugestões: N/A
Fonte: O autor

Tabela 2: Resultado da Avaliação para o Usuário 2.


Usuário 2 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 2:00 Demorou para realizar o plot das amostras, por conta da demora de
processamento da interface em sua primeira execução.
2 1:30 Dificuldades de visualização do título na máquina de teste (Full HD) e
dificuldades com o inglês.
3 1:00 Ficou um pouco confusão quanto ao checkbox, sobre como poderia
utilizá-lo e qual seu papel.
4 1:20 Inicialmente ficou confuso se a operação copiava todo o conteúdo ou
partes.
5 4:15 Ficou confuso entre a opção de extração de dados e exportar seleção de
índices como vetor. Além disso, estava com dificuldades de identificar o
papel dos botões de manipulação de dados (amarelos) em relação aos
botões de manipulação de índices (verdes), que já estava utilizando,
esses que estão em sessões separadas.
5.1 N/A Não conseguiu completar a função. Dificuldade de entender o que precisa
colocar como entrada, por conta de não compreender o algoritmo e não
ter indicação visual pela interface para ajudar nesse algoritmo. Tentou
rodar o algoritmo de alguma forma, porém obteve vários mistakes, cujos
erros não foram tratados e apresentados para o usuário. Houveram erros
que travaram que deixavam o usuário esperando eternamente.
Sugestões: N/A
Fonte: O autor

5.2.1 Feedback da Avaliação com Usuário


As figuras 34 e 35 apresentam os feedbacks dos usuários com relação à pesquisa
realiza. Esses feedbacks são importantes para compreender os erros e acertos, que agregam
no desenvolvimento de pesquisas futuras na parte de avaliação por teste com usuário.
76 Capítulo 5. Avaliação de Usabilidade

Tabela 3: Resultado da Avaliação para o Usuário 3.


Usuário 3 - Não conhece MATLAB.
Atividade Duração (min) Observações
1 5:00 Completou parcialmente a atividade. Conseguiu realizar o plot das três
amostras separadamente.
2 3:20 Dificuldades de encontrar a aba de pré-processamento, estava pequeno
para sua visão. Procurou no pop-up das figuras ao invés do frame
principal da aplicação.
3 1:10 Estava confuso entre seleção de amostras e seleção de índices de amostra.
4 2:22 Teve dificuldade de encontrar os botões de manipulação de dados
(amarelos), estava focando apenas nos botões de manipulação de índices
(verdes).
5 N/A Teve dificuldades de identificar e interpretar o papel do botão de extra-
ção de dados, confundindo com o de exportar seleção de índices. Estava
realizando a divisão nas linhas e não nas colunas, indicando que não
conseguiu identificar como selecionar as colunas.
5.1 N/A Impossibilitado de continuar completamente pelo item 5. Dificuldade
de entender o algoritmo, do ponto de vista do que era necessário de
dados como entrada.
Sugestões: "Melhoria nas instruções descritas em cada parte da plataforma."
Fonte: O autor

Tabela 4: Resultado da Avaliação para o Usuário 4.


Usuário 4 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 0:40 N/A
2 1:40 Obteve um mistake não tratado ao tentar utilizar como parâmetro para
o Differentiation o grau 2 com ordem de polinômio 1.
3 1:20 Tentou realizar a seleção usando as amostras selecionadas no item 1,
da mesma forma como usou no item 2. Obteve um mistake não tratado
ao tentar utilizar como parâmetro para as variáveis valores numéricos.
4 0:45 N/A
5 N/A Estava com dificuldades de identificar o papel dos botões de manipulação
de dados (amarelos) em relação aos botões de manipulação de índices
(verdes), que já estava utilizando, esses que estão em sessões separadas.
Tentava exportar os dados pela seleção de índices, ao invés dos dados.
5.1 N/A Impossibilitado de continuar completamente pelo item 5. Dificuldade
de entender o algoritmo, do ponto de vista do que era necessário de
dados como entrada.
Sugestões: N/A
Fonte: O autor

5.3 Discussão sobre a Avaliação de Usabilidade


Na avaliação heurística foram encontrados 28 problemas de usabilidade, comparti-
lhados entre as abas do sistema. Em geral, a grande maioria se encontra na configuração
(2,1) no que diz respeito ao grau de severidade e de ocorrência, que não causam um impacto
grande no uso dos especialistas na área e sua modificação pode ser avaliada junto aos
usuários específicos da ferramenta, com exceção dos problemas de mistakes não tratados,
principalmente os da aba SPA, já que sua ocorrência deixava o sistema parado e o usuário
5.3. Discussão sobre a Avaliação de Usabilidade 77

Tabela 5: Resultado da Avaliação para o Usuário 5.


Usuário 5 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 3:43 Teve dificuldade em identificar as seleções.
2 1:50 Teve dificuldade em identificar o Differentiation por compartilhar dados
com o Smoothing.
3 0:15 N/A
4 0:34 N/A
5 N/A Estava com dificuldades de identificar o papel dos botões de manipulação
de dados (amarelos) em relação aos botões de manipulação de índices
(verdes), que já estava utilizando, esses que estão em sessões separadas.
Tentava exportar os dados pela seleção de índices, ao invés dos dados.
5.1 N/A Impossibilitado de continuar completamente pelo item 5. Dificuldade
de entender o algoritmo, do ponto de vista do que era necessário de
dados como entrada. Tentou rodar o algoritmo de alguma forma, porém
obteve vários mistakes, cujos erros não foram tratados e apresentados
para o usuário. Houveram erros que travaram que deixavam o usuário
esperando eternamente.
Sugestões: N/A
Fonte: O autor

Tabela 6: Resultado da Avaliação para o Usuário 6.


Usuário 6 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 1:20 N/A
2 0:40 Não lhe agradou selecionar a amostra em uma aba e ter que executar
no procedimento em outra, sugerindo ter essa opção na mesma tela.
3 0:26 N/A
4 4:00 Estava com dificuldades de identificar o papel dos botões de manipulação
de dados (amarelos) em relação aos botões de manipulação de índices
(verdes), que já estava utilizando, esses que estão em sessões separadas.
5 1:46 Tentava exportar os dados pela seleção de índices, ao invés dos dados,
tentando selecionar todos os índices.
5.1 N/A Não conseguiu completar a função. Dificuldade de entender o que precisa
colocar como entrada, por conta de não compreender o algoritmo e não
ter indicação visual pela interface para ajudar nesse algoritmo. Tentou
rodar o algoritmo de alguma forma, porém obteve vários mistakes, cujos
erros não foram tratados e apresentados para o usuário. Houveram erros
que travaram que deixavam o usuário esperando eternamente. Tentou
selecionar os dados pela seleção de índices ao invés de colocar o nome
do dado.
Sugestões: "Se você sabe o que está fazendo, a funcionalidade está ali, mas não tem mensagem de
erros ou de verificação de input. Sem instrução prévia fica estranho o porquê do uso."
Fonte: O autor

em inanição, sendo um problema de grau sério, porém nenhum catastrófico. Esse dado
deixa indícios da possibilidade de outros erros não tratados que não foram identificados,
então uma atividade que deve ser executada para melhorar a performance do sistema é
varrer mais opções do software não abordadas pela pesquisa em busca de mistakes como
esses.
No que concebe à avaliação por teste com usuário, foi interessante notar que muitos
78 Capítulo 5. Avaliação de Usabilidade

Tabela 7: Resultado da Avaliação para o Usuário 7.


Usuário 7 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 5:00 Conseguiu completar parcialmente. Não conseguiu identificar que pode-
ria realizar a seleção de mais de uma amostra, realizando somente plots
separados cliando amostra por amostra.
2 0:33 N/A
3 0:38 Confundiu o conceito do 𝑁 , imaginou que fosse a quantidade de grupos
do que a quantidade de amostra no grupo selecionado.
4 1:19 N/A
5 N/A Estava com dificuldades de identificar o papel dos botões de manipulação
de dados (amarelos) em relação aos botões de manipulação de índices
(verdes), que já estava utilizando, esses que estão em sessões separadas.
Tentava exportar os dados pela seleção de índices, ao invés dos dados.
5.1 N/A Impossibilitado de continuar completamente pelo item 5. Dificuldade
de entender o algoritmo, do ponto de vista do que era necessário de
dados como entrada. Tentou rodar o algoritmo de alguma forma, porém
obteve vários mistakes, cujos erros não foram tratados e apresentados
para o usuário. Houveram erros que travaram que deixavam o usuário
esperando eternamente.
Sugestões: N/A
Fonte: O autor

Tabela 8: Resultado da Avaliação para o Usuário 8.


Usuário 8 - Conhece pouco sobre MATLAB.
Atividade Duração (min) Observações
1 1:51 Ficou confuso se havia necessidade de realizar o sub-plot.
2 2:00 N/A
3 2:25 Não identificou o papel botão de seleção de variável do MATLAB, ficou
digitando o nome da variável para realizar a seleção.
4 2:42 Tentou exportar os índices pelo extract de dados, diferentemente dos
outros usuários, porém também se confundiu entre os papeis das duas
operações.
5 7:00 Ficou tentando várias vezes realizar a opção de exportar como vetor de
índices ao invés do extract de dados.
5.1 2:44 Conseguiu realizar o plot após obter vários mistakes não tratados.
Sugestões: "Colocar os menus de edição dos dados juntos, em um único local, e fazer um tutorial de
primeiros passos."
Fonte: O autor

usuários tiveram dificuldades semelhantes, o que mostra que para avaliações futuras é
plausível reduzir o tamanho da amostra e buscar mais iterações no design. Além disso, foi
possível notar a diferença no background de alguns usuários, que impactou na performance
do uso da interface, no quesito tempo. Outro ponto importante foi a pesquisa levantada,
que indicou que mais de um terço dos entrevistados se sentiram um pouco desconfortáveis
com o uso da aplicação, muito provavelmente pelas frustrações ao não atingirem o objeto
de suas tarefas, mas ainda assim mais da metade respondeu favorável do uso do sistema.
Em geral, a interface é fácil de aprender a usar, porém para novos usuários pode-
se tornar uma experiência frustrante por não haver ajuda integrada, como relata um
5.3. Discussão sobre a Avaliação de Usabilidade 79

Figura 34: Feedback da avaliação com usuário (1).

Fonte: O autor

Figura 35: Feedback da avaliação com usuário (2).

Fonte: O autor

entrevistado "Se você sabe o que está fazendo, a funcionalidade está ali, mas não tem
mensagem de erros ou de verificação de input. Sem instrução prévia fica estranho o
porquê do uso". No entanto, deve-se ressaltar que essa pesquisa foi realizada com usuários
que não refletem a realidade do público-alvo desse sistema e que tiveram que aprender
primeiramente a técnica envolvida e depois a ferramenta, já para o público-alvo, que possui
a técnica, esse feedback obtido pelo questionário tende a ser mais positivo, uma vez que,
para esses usuários, usar essa ferramenta pode contribuir diretamente no trabalho que
exercem.
81

6 Testes de Unidade das Implementações

As próximas seções apresentam os resultados de modificações visuais e adições de


funcionalidades ao sistema. Para consultar todas operações originais da interface basta
acessar o Manual do Usuário (https://www.ele.ita.br/~kawakami/spa/).

6.1 Load Data


A Figura 36 apresenta a modificação na interface realizada para permitir cores
únicas em plots.

Figura 36: Tela: Load Data - alterações na interface de plot.

Fonte: O autor

A Figura 37 apresenta o resultado da modificação no plot, comparando a opção


sem e com cores únicas.

Figura 37: Tela: Load Data - plot de cores padronizadas x únicas.

Fonte: O autor
82 Capítulo 6. Testes de Unidade das Implementações

6.2 Sample Selection


A Figura 38 apresenta o resultado da rotina de selecionar amostras. Na imagem é
possível perceber que é feito a seleção de 4 amostras, com tamanhos 30, 15, 20 e o restante.

Figura 38: Tela: Sample Selection - implementação da seleção de várias amostras.

Fonte: O autor

6.3 SPA
A Figura 39 apresenta a modificação na interface SPA com inclusão de um novo
critério de validação.

Figura 39: Tela: SPA - mudança nas opções de critério de validação.

Fonte: O autor
6.4. Multivariate Statistics 83

6.4 Multivariate Statistics


A Figura 40 apresenta a nova tela de estatística multivariável, que contempla as
operações de LSQ, LDA e Scree Plot.

Figura 40: Tela: Multivariate Statistics - Completa.

Fonte: O autor

6.4.1 Multivariate Statistics - LSQ


A Figura 41 apresenta a nova operação de classificação por mínimos quadrados.
A partir de duas matrizes de entrada (gtrain_a e gtrain_b), que são calibradores para
classificação linear de duas classes da matriz, a matriz gclassify é classificada e um vetor
resultante output_class_name com o rótulo da classe do respectivo item de gclassify.

Figura 41: Tela: Multivariate Statistics - Opção de LSQ.

Fonte: O autor
84 Capítulo 6. Testes de Unidade das Implementações

As matrizes gtrain_a e gtrain_b são matrizes de tamanho 50x5, ou seja, possuem


50 amostras com 5 características cada, ambas geradas a partir de gaussianas centradas
nas médias 0 e 1, respectivamente. A Figura 42 apresenta o resultado dessa operação, que
é a criação do vetor com as classes classificadas.

Figura 42: Tela: Multivariate Statistics - Opção de LSQ - Resultado.

Fonte: O autor

6.4.2 Multivariate Statistics - LDA


A Figura 43 apresenta a nova operação de análise discriminante linear. A par-
tir da entrada da matriz de características e seu vetor de classes respectivo, gclassify e
output_class_name respectivamente, plots são feitos com base nos checkboxes: Linear
Classifier cria o plot de classificação linear das características otimizadas em uma dimensão,
e habilita a seleção da matriz de confusão, 3-Dimension permite visualizar tridimensional-
mente 3 características dos dados e sample labels habilita um texto indicador do rótulo em
cada ponto do gráfico.

Figura 43: Tela: Multivariate Statistics - Opção de LDA.

Fonte: O autor
6.4. Multivariate Statistics 85

A Figura 44 apresenta o plot dos dados originais das características, tanto para
duas como três dimensões.

Figura 44: Tela: Multivariate Statistics - Opção de LDA - Plot original.

Fonte: O autor

A Figura 45 apresenta o scatter plot dos dados, com realce e otimização nas
características selecionadas, tanto para duas como três dimensões.

Figura 45: Tela: Multivariate Statistics - Opção de LDA - Scatter Plot.

Fonte: O autor
86 Capítulo 6. Testes de Unidade das Implementações

A Figura 46 apresenta o plot da classificação linear das características otimizadas


em uma dimensão por índice de amostra.

Figura 46: Tela: Multivariate Statistics - Opção de LDA - Classificação das características linearmente.

Fonte: O autor

A Figura 47 apresenta o mesmo scatter plot da Figura 45, porém apresentando os


índices de cada amostra no gráfico.

Figura 47: Tela: Multivariate Statistics - Opção de LDA - Rótulos.

Fonte: O autor

A Figura 48 apresenta o plot da matriz de confusão calculada a partir da classificação


linear das características otimizadas em uma dimensão e das classes originais obtidas pelo
LSQ.
6.4. Multivariate Statistics 87

Figura 48: Tela: Multivariate Statistics - Opção de LDA - Matriz de Confusão.

Fonte: O autor

6.4.3 Multivariate Statistics - Scree Plot

A Figura 49 apresenta a nova operação de scree plot. A partir de uma matriz de


entrada (gtrain_a), são calculados os autovalores da matriz (gtrain_a) * (gtrain_a)| .
As entradas de título e rótulos dos eixos x-y são opcionais, além do checkbox que, se
selecionado, inclui o plot dos valores na escala logarítmica.

Figura 49: Tela: Multivariate Statistics - Opção de Scree Plot.

Fonte: O autor

A Figura 50 apresenta o scee plot da matriz gtrain_a, com a opção do checkbox


dos log values selecionada.
88 Capítulo 6. Testes de Unidade das Implementações

Figura 50: Tela: Multivariate Statistics - Opção de Scree Plot - Resultado.

Fonte: O autor

6.5 Discussão sobre Implementações Realizadas


As implementações realizadas atenderam os requisitos necessários, e além disso, com
base nas avaliações de usabilidade, em particular, nos problemas principais de validação de
erros, elas foram planejadas para evitar esse tipo de problema, passando em todos os testes
padrão realizados. Em alguns momentos, a máquina usada para testes teve problemas
para criar os gráficos devido a quantidade de amostras, então estratégias futuras podem
contemplar essas questões de desempenho.
Parte V

Considerações Finais
91

7 Conclusão

Esse trabalhou visou realizar avaliações de usabilidade em uma interface gráfica


existente e implementar melhorias de funcionamento e novos algoritmos nesse sistema.
Com relação aos resultados obtidos na avaliação de usabilidade, foi possível verificar
muitos desses problemas existentes graças aos dois métodos aplicados, contudo não foi
viável atacar esses problemas nessa primeira instância, uma vez que, para o teste com
usuários, a amostra não foi totalmente representativa, já que não representou exatamente
o público-alvo interessado nessa aplicação específica da área de quimiometria. Por isso, em
uma pesquisa futura, é muito interessante realizar a mesma metodologia de avaliação feita
nesse trabalho, porém com os usuários chave dessa ferramenta, para atestar e comparar
esses resultados com os obtidos nesse projeto, verificando se os mesmos problemas podem
acontecer com esses usuários, além de obter um feedback desse público, que podem trazer
insights e contribuições importantes. Já a avaliação heurística, que apesar de não necessitar
dos usuários chave para a identificação dos problemas de usabilidade, atua em uma
aplicação já existente no mercado, e por isso nenhuma modificação na usabilidade foi
feita nesse trabalho, porém todos os problemas encontrados foram registrados e, como
passo futuro, será interessante planejar uma estratégia de gestão de mudanças dessa
aplicação, buscando aprimorar a usabilidade sem comprometer os usuários atuais que
estão acostumados com essa ferramenta, evitando com que eles tenham frustrações com
mudanças bruscas na usabilidade do sistema.
Para as funcionalidades desenvolvidas, todas atingiram os requisitos propostos,
porém ainda há muito o que se desenvolver na plataforma, pois ainda existem requisitos
funcionais levantados pelos clientes, porém não planejados. Para isso, em um segundo
momento, é necessário discutir com os usuários chave do sistema sobre as modificações
propostas por essa pesquisa e verificar o que foi atendido, o que falta ser atendido e o
que pode ser melhorado. Esse trabalho trouxe bons resultados e contribuições no meio
acadêmico da área de quimiometria, já que provê uma solução técnica para as necessidades
dos pesquisadores dessa área. Participar e contribuir para esse desenvolvimento é muito
gratificante, além de saber que usuários reais podem usar sua aplicação para a ciência
agrega muito valor ao que foi realizado, as próximas metas são ampliar ainda mais a
abrangência do sistema, começando pelos problemas de classificação, como fora introduzido
nesse projeto.
93

Referências

BEEBE, K. R.; KOWALSKI, B. R. An introduction to multivariate calibration and


analysis. Analytical Chemistry, v. 59, n. 17, p. 1007A–1017A, 1987. PMID: 22667268.
Disponível em: <https://doi.org/10.1021/ac00144a725>.

BEEBE, K. R.; PELL, R. J.; SEASHOLTZ, M. B. Chemometrics: a practical guide. [S.l.]:


Wiley-Interscience, 1998.

BENSON, L. et al. Usability and instructional design heuristics for e-learning evaluation.
[S.l.]: Association for the Advancement of Computing in Education (AACE), 2002.

BOYD, L. H. et al. The graphical user interface crisis: Danger and opportunity. ERIC,
1990.

BREITKREITZ, M. C. et al. Determination of total sulfur in diesel fuel employing nir


spectroscopy and multivariate calibration. Analyst, The Royal Society of Chemistry,
v. 128, p. 1204–1207, 2003. Disponível em: <http://dx.doi.org/10.1039/B305265F>.

BROWN, S. D.; TAULER, R.; WALCZAK, B. Comprehensive chemometrics. [S.l.]:


Elsevier Science, 2009.

BUDIU, R. Memory recognition and recall in user interfaces. Nielsen Norman Group, v. 1,
2014. Disponível em: <https://www.nngroup.com/articles/recognition-and-recall>.

CANECA, A. R. et al. Assessment of infrared spectroscopy and multivariate techniques


for monitoring the service condition of diesel-engine lubricating oils. Talanta, Elsevier,
v. 70, n. 2, p. 344–352, 2006.

CORTES, C. et al. Sample selection bias correction theory. In: SPRINGER. International
conference on algorithmic learning theory. [S.l.], 2008. p. 38–53.

DASZYKOWSKI, M. et al. Tomcat: A matlab toolbox for multivariate calibration


techniques. Chemometrics and intelligent laboratory systems, Elsevier, v. 85, n. 2, p.
269–277, 2007.

GALVAO, R. et al. A variable elimination method to improve the parsimony of mlr models
using the successive projections algorithm. Chemometrics and Intelligent Laboratory
Systems, v. 92, p. 83–91, 05 2008.

GALVAO, R. K. H. et al. A method for calibration and validation subset partitioning.


Talanta, Elsevier, v. 67, n. 4, p. 736–740, 2005.

GALVÃO, R. K. H. et al. Aspects of the successive projections algorithm for variable


selection in multivariate calibration applied to plasma emission spectrometry. Analytica
Chimica Acta, Elsevier, v. 443, n. 1, p. 107–115, 2001.

GAMBARRA-NETO, F. F. et al. Classification of edible vegetable oils using square wave


voltammetry with multivariate data analysis. Talanta, Elsevier, v. 77, n. 5, p. 1660–1666,
2009.
94 Referências

GEMPERLINE, P. Practical guide to chemometrics. [S.l.]: CRC press, 2006.

HONORATO, F. A. et al. Using principal component analysis to find the best calibration
settings for simultaneous spectroscopic determination of several gasoline properties. Fuel,
Elsevier, v. 87, n. 17-18, p. 3706–3709, 2008.

KENNARD, R. W.; STONE, L. A. Computer aided design of experiments.


Technometrics, Taylor & Francis, v. 11, n. 1, p. 137–148, 1969. Disponível em:
<https://www.tandfonline.com/doi/abs/10.1080/00401706.1969.10490666>.

KESSNER, M. et al. On the reliability of usability testing. In: ACM. CHI’01 extended
abstracts on human factors in computing systems. [S.l.], 2001. p. 97–98.

LEWIS, C.; NORMAN, D. A. Designing for error. In: BAECKER, R. M. et


al. (Ed.). Readings in Human–Computer Interaction. Morgan Kaufmann, 1995,
(Interactive Technologies). p. 686 – 697. ISBN 978-0-08-051574-8. Disponível em:
<http://www.sciencedirect.com/science/article/pii/B9780080515748500716>.

LIU, F.; HE, Y. Application of successive projections algorithm for variable selection
to determine organic acids of plum vinegar. Food chemistry, Elsevier, v. 115, n. 4, p.
1430–1436, 2009.

MEHMOOD, T. et al. A review of variable selection methods in partial least squares


regression. Chemometrics and Intelligent Laboratory Systems, v. 118, p. 62 – 69, 2012.
ISSN 0169-7439. Disponível em: <http://www.sciencedirect.com/science/article/pii-
/S0169743912001542>.

MOREIRA, E. D. T. et al. Near infrared reflectance spectrometry classification of


cigarettes using the successive projections algorithm for variable selection. Talanta,
Elsevier, v. 79, n. 5, p. 1260–1264, 2009.

MYERS, B. et al. Past, present, and future of user interface software tools. ACM Trans.
Comput.-Hum. Interact., ACM, New York, NY, USA, v. 7, n. 1, p. 3–28, mar. 2000. ISSN
1073-0516. Disponível em: <http://doi.acm.org/10.1145/344949.344959>.

MYERS, B. A. User interface software tools. ACM Trans. Comput.-Hum. Interact., ACM,
New York, NY, USA, v. 2, n. 1, p. 64–103, mar. 1995. ISSN 1073-0516. Disponível em:
<http://doi.acm.org/10.1145/200968.200971>.

NAES, T. et al. A user Friendly guide to Multivariate Calibration and Classification. [S.l.]:
NIR Publications, 2002.

NIELSEN, J. Finding usability problems through heuristic evaluation. In: ACM.


Proceedings of the SIGCHI conference on Human factors in computing systems. [S.l.],
1992. p. 373–380.

NIELSEN, J. Iterative user-interface design. Computer, IEEE, v. 26, n. 11, p. 32–41, Nov
1993.

NIELSEN, J. Enhancing the explanatory power of usability heuristics. In: ACM.


Proceedings of the SIGCHI conference on Human Factors in Computing Systems. [S.l.],
1994. p. 152–158.
Referências 95

NIELSEN, J. How to conduct a heuristic evaluation. Nielsen Norman Group, v. 1, p. 1–8,


1995.

NIELSEN, J. Severity ratings for usability problems. Papers and Essays, v. 54, p. 1–2,
1995.

NIELSEN, J. Why you only need to test with 5 users. [S.l.]: Useit. com Alertbox, 2000.

NIELSEN, J.; LANDAUER, T. K. A mathematical model of the finding of usability


problems. In: ACM. Proceedings of the INTERACT’93 and CHI’93 conference on Human
factors in computing systems. [S.l.], 1993. p. 206–213.

NIELSEN, J.; MOLICH, R. Heuristic evaluation of user interfaces. In: ACM. Proceedings
of the SIGCHI conference on Human factors in computing systems. [S.l.], 1990. p. 249–256.

OSBORNE, B. G. Near-infrared spectroscopy in food analysis. Encyclopedia of analytical


chemistry: applications, theory and instrumentation, Wiley Online Library, 2006.

PAIVA, H. M. et al. A graphical user interface for variable selection employing the
successive projections algorithm. Chemometrics and Intelligent Laboratory Systems,
v. 118, p. 260 – 266, 2012. ISSN 0169-7439. Disponível em: <http://www.sciencedirect-
.com/science/article/pii/S0169743912001347>.

PONTES, M. J. C. et al. The successive projections algorithm for spectral variable


selection in classification problems. Chemometrics and Intelligent Laboratory Systems,
Elsevier, v. 78, n. 1-2, p. 11–18, 2005.

REIMER, J. A History of the GUI. [S.l.]: arstechnica, 2005.

SAEYS, Y.; INZA, I.; LARRANAGA, P. A review of feature selection techniques in


bioinformatics. Bioinformatics (Oxford, England), v. 23, p. 2507–17, 11 2007.

SAVITZKY, A.; GOLAY, M. J. E. Smoothing and differentiation of data by simplified


least squares procedures. Analytical Chemistry, v. 36, n. 8, p. 1627–1639, 1964. Disponível
em: <https://doi.org/10.1021/ac60214a047>.

SOARES, S. F. et al. A new validation criterion for guiding the selection of variables by
the successive projections algorithm in classification problems. Journal of the Brazilian
Chemical Society, SciELO Brasil, v. 25, n. 1, p. 176–181, 2014.

SOARES, S. F. C. et al. The successive projections algorithm. TrAC Trends in


Analytical Chemistry, v. 42, p. 84 – 98, 2013. ISSN 0165-9936. Disponível em:
<http://www.sciencedirect.com/science/article/pii/S0165993612002750>.

VELLA, F. Estimating models with sample selection bias: a survey. Journal of Human
Resources, JSTOR, p. 127–169, 1998.

VIRZI, R. A. Refining the test phase of usability evaluation: How many subjects is
enough? Human Factors, v. 34, n. 4, p. 457–468, 1992. Disponível em: <https://doi.org-
/10.1177/001872089203400407>.

WILLIAMS, P.; NORRIS, K. et al. Near-infrared technology in the agricultural and food
industries. [S.l.]: American Association of Cereal Chemists, Inc., 1987.
96 Referências

WINSHIP, C.; MARE, R. D. Models for sample selection bias. Annual review of sociology,
Annual Reviews 4139 El Camino Way, PO Box 10139, Palo Alto, CA 94303-0139, USA,
v. 18, n. 1, p. 327–350, 1992.

Você também pode gostar