Desenvolvimento e avaliação de um interface com o utilizador para um sistema de
escalonamento
1. Introdução
O processo de escalonamento consiste na afetação de operações a recursos
disponíveis. Neste processo é necessário ter em conta um conjunto de restrições
como a disponibilidade de recursos, capacidade de produção e metas de produção
a alcançar (Pinedo, 2009). Um sistema de escalonamento contribui para a tomada
de decisão estratégica de uma organização, reforçando a sua competitividade.
O presente trabalho surge da necessidade de criar um interface com o utilizador
para um sistema de escalonamento existente. Surgem assim dois objetivos a
alcançar: o primeiro objetivo é permitir, de uma forma gráfica e interativa, a
definição de um problema de escalonamento; o segundo objetivo é permitir
visualizar e adaptar, de uma forma interativa, o plano de escalonamento.
Para atingir os objetivos foi necessário estudar e selecionar uma metodologia
que permitisse o desenvolvimento de um interface centrado no utilizador. A
metodologia eleita foi a Metodologia em Estrela (Hix e Hartson, 1993), uma vez
que esta se centra na avaliação de usabilidade.
Esta metodologia permitiu o desenvolvimento de um protótipo que foi submetido a
uma sessão de avaliação com o intuito de avaliar a sua usabilidade. Esta
avaliação representa a fase conclusiva do primeiro ciclo iterativo da
Metodologia em Estrela.
Em termos de estrutura, após a Introdução, este artigo apresenta a secção
dedicada à interação entre humano e computador onde são apresentados os
conceitos que sustentam este trabalho.
Na secção seguinte, Análise do Problema, são identificadas as análises que
contribuem para a contextualização e compreensão do problema e que permitem a
construção do modelo de interação.
A secção Protótipo é dedicada à descrição dos módulos que fazem parte do
protótipo desenvolvido. É feita uma análise detalhada às suas principais
características e funcionalidades.
Não menos importante, a secção Avaliação de Usabilidade é dedicada à avaliação
da facilidade de utilização do protótipo. É apresentada a metodologia
utilizada, forma como foi conduzida a sessão de avaliação, os resultados
obtidos e a interpretação dos mesmos.
Por fim, na secção Conclusões e Trabalho Futuro é realizada a apreciação do
trabalho desenvolvido e são apresentadas as perspetivas de trabalho futuro.
2. Interação entre Humano e Computador
A interação entre um utilizador e um sistema computacional interativo define-se
como o processo de comunicação entre estes dois elementos e que é gerido por um
terceiro elemento preponderante: o interface (Piairo, 2012).
O interface assume-se como uma fronteira entre o humano e o computador. Permite
representar o comportamento de um sistema computacional interativo e
proporciona ao utilizador os meios necessários para controlar ou operar esse
mesmo sistema (Meech, 1999).
A área de investigação que estuda o processo de comunicação entre humano e
computador designa-se por Interação Humano-Computador (HCI) (Hewett et al.,
1996). Enquanto área de investigação multidisciplinar, a principal preocupação
e contribuição da HCI é proporcionar ao utilizador um meio adequado através do
qual possa interagir com um sistema computacional interativo.
Neste contexto, a HCI identifica dois conceitos que devem ser considerados no
desenvolvimento de um sistema computacional interativo: funcionalidade e
usabilidade (Karray et al., 2008). O primeiro conceito é definido como o
conjunto de ações ou serviços disponibilizados aos utilizadores. Relativamente
ao conceito de usabilidade, este é definido como a eficiência e adequabilidade
na concretização de determinados objetivos por determinados utilizadores
(Karray et al., 2008). A definição de usabilidade de um sistema computacional
alterou-se ao longo tempo devido à melhor compreensão da interação entre humano
e computador e dos fenómenos que rodeiam esse processo de comunicação. Uma das
mais conhecidas definições de usabilidade foi apresentada por Nielsen (1993):
a usabilidade apresenta múltiplos componentes e é tradicionalmente associada a
cinco atributos: facilidade de aprendizagem, eficiência, facilidade de
memorização, reduzida taxa de erros, e satisfação de utilização.
Num sistema computacional interativo evidenciam-se dois componentes principais:
o componente funcional, também designado por computacional, é responsável pela
concretização de tarefas; o componente comunicacional, mais conhecido como
interface, é responsável pela gestão do processo de comunicação entre o sistema
e o utilizador (Hix e Hartson, 1993). Do ponto de vista do utilizador, o
interface representa todo o sistema.
2.1.Desenvolvimento do interface
O processo de desenvolvimento de um interface é composto por duas partes:
componente de interação e componente de software. O componente de interação
define o comportamento do interface. O componente de software fornece os meios
para implementar o código que instancia o componente de interação (Hix e
Hartson, 1993).
Apesar dos componentes serem desenvolvidos em diferentes domínios (o componente
de interação ocorre no domínio comportamental enquanto o componente de software
ocorre no domínio da construção), ambos são necessários e igualmente
importantes na definição do grau de usabilidade do sistema.
A fim de desenvolver o componente de interação foi necessário adotar uma
metodologia para tal. A metodologia selecionada designa-se por Metodologia em
Estrela (Hix e Hartson, 1993). Esta metodologia permite o desenvolvimento de
interfaces centrados no utilizador uma vez que se centra na avaliação contínua
ao longo de todo o processo de desenvolvimento. Como consequência, os
resultados de cada atividade são avaliados antes de se iniciar a atividade
seguinte.
A designação Metodologia em Estrela deve-se à sua forma em estrela. As pontas
da estrela não estão ordenadas ou ligadas segundo uma sequência. O que
significa que o processo de desenvolvimento, na teoria, pode ser iniciado em
qualquer ponto da estrela (Hix e Hartson, 1993). No centro da estrela encontra-
se o processo de avaliação de usabilidade.
Esta metodologia inclui as seguintes atividades: Análise do sistema, das
tarefas, de funcionalidades, do utilizador; Especificação dos requisitos de
usabilidade; Design e representação do design; Prototipagem rápida; e Avaliação
de usabilidade. É necessário referir que as cinco fases contidas na área de
interesse são as fases necessárias para a criação e avaliação de um protótipo
de um interface para um sistema de escalonamento.
3. Análise do problema
A fase de Análise representa o ponto de partida do processo de desenvolvimento
do interface. Foram realizadas as seguintes análises: outros sistemas de
escalonamento, sistema de escalonamento existente, utilizador, tarefas e
funcionalidades. A informação resultante da fase de análise é posteriormente
vertida num modelo de interação durante a fase de Design e representação do
mesmo.
O estudo e análise dos sistemas de escalonamento JD Edwards EnterpriseOne
Production Scheduling (Oracle, 2007), Sistrade Scheduling (Sistrade, 2009) e
Lekin (Pinedo et al., 2002) tiveram como objetivos: a identificação dos objetos
empregues na interação e das funcionalidades valorizadas pelos utilizadores; e
a compreensão das formas de interação e comparação das formas de representação
disponibilizadas por cada um dos sistemas. Nestes sistemas, o plano de
escalonamento é representado através de um diagrama de Gantt, onde os
retângulos representam tarefas. As diferentes colorações e comprimentos
permitem dotar cada um dos retângulos com diferentes significados (diferentes
tarefas com diferentes tempos de processamento, por exemplo). Ao nível da
interação a principal funcionalidade disponibilizada é o drag and drop de
tarefas, funcionalidade que permite movimentações horizontais (antecipação ou
atraso do inicio de tarefa) e movimentações verticais (migração de tarefas
entre máquinas paralelas). É dado um especial enfâse à representação gráfica
dos resultados (planos de escalonamento) por parte destes sistemas. Ou seja,
existe um maior investimento na visualização e interação com os resultados em
detrimento da definição dos dados de entrada. Em termos práticos isto pode
significar em algumas situações um maior consumo de tempo na definição do
problema de escalonamento em comparação com a análise do plano de escalonamento
resultante.
Este trabalho procura equilibrar o investimento em termos de visualização e
interação entre a entrada de dados (problema de escalonamento) e os resultados
(plano de escalonamento).
As análises do sistema de escalonamento existente, dos potenciais utilizadores,
das tarefas a realizar e das funcionalidades a disponibilizar tiveram como
objetivo compreender e contextualizar o problema identificado. Este conjunto de
análises permitiu especificar os requisitos de usabilidade. No entanto, é
necessário referir que a especificação dos requisitos de usabilidade não está
confinada à fase de análise, ou seja, alguns requisitos foram identificados ou
alterados em fases posteriores. A informação recolhida e elaborada ao longo de
toda a fase de Análise permitiu construir o modelo de interação.
O modelo de interação, elaborado na fase de Design e representação do design,
identifica os objetos com os quais os utilizadores irão interagir. Foram
identificados os seguintes objetos de interação: operações, tarefas e
precedências.
A concretização da fase de Design é o ponto de partida para o desenvolvimento
de um protótipo do interface. O desenvolvimento de um protótipo permitirá
avaliar todo o trabalho de análise.
4. Protótipo
O sistema recebe como entrada de dados um problema de escalonamento através do
interface com o utilizador e processa essa informação com a finalidade de obter
um plano de escalonamento como resultado. Este resultado é disponibilizado
graficamente ao utilizador através de um diagrama de Gantt com o qual o
utilizador pode interagir.
A Figura_3 ilustra a visão global do sistema. O módulo Editor de Tarefas e o
módulo Editor de Problemas de Escalonamento são responsáveis pela definição do
problema de escalonamento (entrada de dados) enquanto o módulo de Visualização
de Resultados é responsável pela representação e interação com o plano de
escalonamento (saída de resultados).
4.1. Editor de Tarefas
O Editor de Tarefas (Piairo, 2012) (Piairo et al., 2013) permite, de uma forma
gráfica e interativa, definir ou editar uma sequência de operações. Esta
sequência define a ordem pela qual as operações devem ser processadas (Figura
4).
Uma operação pode ter como precedente uma outra operação ou um conjunto de
operações. Cada uma das operações possui três atributos: descrição,
identificação da máquina onde é processada e tempo de processamento.
O utilizador pode inserir, remover, selecionar, mover e redimensionar operações
e precedências. Ao utilizador são disponibilizadas as seguintes
funcionalidades: cortar, copiar e colar, undo e redo, zoom in e zoom out, e
auto-layout. Esta última funcionalidade destaca-se pela sua utilidade, uma vez
que permite a estruturação automática das operações de acordo com os seus
respetivos níveis.
De modo a assegurar a correta definição de uma tarefa, foi desenvolvido um
mecanismo de validação em tempo real. O mecanismo permite que qualquer
alteração promovida pelo utilizador na sequência de operações seja validada
instantaneamente. No caso de insucesso numa validação, a coloração do objeto
que provocou a falha é alterada e é disponibilizada uma mensagem tooltip para
que o utilizador possa identificar e compreender a causa do insucesso. São
realizadas as seguintes validações: operações isoladas ' uma tarefa com mais do
que uma operação não deve conter operações isoladas (operação sem qualquer
relação de precedência com outra qualquer célula); precedências ' uma
precedência deve estar associada a uma operação de origem e a uma operação de
destino e entre uma operação de origem e uma operação de destino deve existir
apenas uma precedência (repetição de precedências); atributos da operação '
todos os atributos da operação devem ser devidamente definidos (descrição,
tempo de processamento e identificação da máquina); operações finais ' uma
tarefa apenas deve conter uma operação final; ciclos ' numa tarefa não é
permitida a existência de ciclos (conjunto de operações que formam um rede
fechada); descrição da tarefa ' deve ser definida uma descrição para a tarefa.
4.2. Editor de Problemas de Escalonamento
O Editor de Problemas de Escalonamento (Piairo, 2012) (Piairo et al., 2013)
permite, de uma forma gráfica e interativa, definir ou editar um problema de
escalonamento. Um problema de escalonamento corresponde a um conjunto de
tarefas a serem realizadas num determinado período de tempo (Figura_5).
O utilizador pode selecionar, inserir, remover, mover e redimensionar as
tarefas. Cada uma das tarefas é caraterizada por quatro atributos: data de
lançamento, data de entrega, prioridade e quantidade. São disponibilizadas as
funcionalidades: cortar, copiar e colar, undo e redo, zoom in e zoom out.
O utilizador pode selecionar, inserir, remover, mover e redimensionar as
tarefas. Cada uma das tarefas é caraterizada por quatro atributos: data de
lançamento, data de entrega, prioridade e quantidade. São disponibilizadas as
funcionalidades: cortar, copiar e colar, undo e redo, zoom in e zoom out.
O utilizador pode aplicar dois tipos de movimentos às tarefas: movimentos
horizontais e movimentos verticais. Relativamente aos primeiros, quando o
utilizador move horizontalmente uma tarefa, a sua data de lançamento e de
entrega são alteradas, enquanto a sua duração se mantém inalterada. No caso em
que o utilizador opte por redimensionar a tarefa (apenas o redimensionamento
horizontal é permitido), uma das datas, lançamento ou entrega, é alterada,
assim como a duração da tarefa. Relativamente aos movimentos verticais, o
utilizador pode trocar de posição uma ou várias operações em simultâneo.
Existem algumas ações que alteram a posição das tarefas: remover uma tarefa - o
espaço da operação removida é ocupado por uma outra tarefa de modo a não
existirem espaços livres; inserir uma tarefa ' uma nova tarefa é sempre
inserida imediatamente abaixo da última tarefa.
O valor máximo da escala temporal pode ser alterado pelo utilizador, o que
provoca uma adaptação automática das dimensões dos objetos à nova escala.
Tal como acontece no módulo anterior, para o módulo Editor de Problemas de
Escalonamento foi também desenvolvido um mecanismo de validações em tempo real
para orientar o utilizador ao longo do processo de definição do problema de
escalonamento. São realizadas as seguintes validações: gama operatória ' uma
tarefa deve ter associada uma gama operatória; estado da gama operatória ' a
gama operatória associada à tarefa pode ter sido validada com sucesso ou
insucesso; atributos da tarefa ' todos os atributos das tarefas devem ser
devidamente definidos (data de lançamento, data de entrega, prioridade e
quantidade); valor máximo da escala temporal - deve ser um número inteiro maior
que zero; descrição do problema de escalonamento ' deve ser definida uma
descrição para o problema de escalonamento.
4.3. Editor de Visualização de Resultados
O Editor de Visualização de Resultados (Piairo, 2012) permite a visualização do
plano de escalonamento e interação entre o utilizador e as operações das
tarefas constituintes do plano de escalonamento (Figura_6). Esta interação
permite o ajustamento do plano às necessidades do utilizador e/ou criação de
cenários alternativos.
As alterações promovidas pelo utilizador podem ser classificadas como
movimentos horizontais e movimentos verticais. Os movimentos horizontais
consistem na alteração da posição de uma operação dentro da mesma máquina. Isto
permite antecipar ou retardar o início do processamento de uma determinada
operação. Para estes movimentos são realizadas duas validações: sobreposições
de operações ' não são permitidas sobreposições de operações na mesma máquina;
operações antecessoras ' a data de início de uma operação não deve ser inferior
à data de conclusão da operação antecessora. Relativamente ao movimento
vertical, este implica a migração de uma determinada operação para uma máquina
diferente da inicial. Esta possibilidade assume interesse no caso de máquinas
paralelas ou de avarias.
5. Avaliação de usabilidade
Esta secção descreve a metodologia utilizada na avaliação de usabilidade do
protótipo desenvolvido e apresenta os resultados obtidos durante a sessão de
avaliação assim como a respetiva análise.
5.1. Metodologia
Com o intuito de avaliar a facilidade de utilização do interface desenvolvido
foi preparado um guião baseado em (Pereira, 2004). Não menos importante,
pretendia-se também a construção de um documento com os comentários e sugestões
de melhoria recolhidos durante a sessão de avaliação.
O guião teve um papel orientador dos participantes durante a sessão de
avaliação e é composto por quatro elementos: introdução, questionário inicial,
teste de eficiência e questionário final. A introdução procura contextualizar
os participantes de modo a que possam compreender o propósito do sistema e da
sessão de avaliação, das tarefas a executar durante a sessão, e o tipo de
perguntas apresentadas; o questionário inicial, preenchido antes da realização
do teste de eficiência, procurar traçar o perfil dos participantes e avaliar a
sua atitude perante sistemas de escalonamento; o teste de eficiência é
caracterizado por um conjunto de tarefas referência que os participantes devem
realizar com o objetivo de definir um problema de escalonamento específico,
permitindo deste modo a observação de diferentes formas de interação; o
questionário final, preenchido após o teste de eficiência procura obter a
opinião dos participantes relativamente aos aspetos específicos da interação e
às funcionalidades disponibilizadas. Adicionalmente são solicitados aos
participantes comentários e sugestões de melhoria.
Na sessão de avaliação estiveram presentes 10 participantes. Todos os
participantes possuem experiência em sistemas de escalonamento, experiência
adquirida em contexto profissional e/ou académico. A definição do número
necessários de participantes para a sessão de avaliação baseou-se em (Virzi,
1992). Segundo este, uma sessão de avaliação com apenas 5 participantes permite
identificar cerca de 80% dos problemas de usabilidade. No caso de estarem pelo
menos 10 participantes na sessão de avaliação será possível identificar 90% dos
problemas de usabilidade.
5.2. Sessão de avaliação
A sessão de avaliação teve início com a receção dos participantes e entrega do
guião da sessão de avaliação. De seguida foi realizada uma introdução ao
interface com o utilizador a ser avaliado e aos objetivos da sessão. Após a
contextualização dos participantes o questionário inicial foi preenchido.
O passo que se seguiu foi o teste de eficiência. Neste teste, era solicitado
aos participantes a definição de um problema de escalonamento baseado em
(Madureira, 2003). O problema de escalonamento é composto por 7 tarefas com
diferentes data de lançamento e entrega, prioridades e quantidades. Para cada
tarefa, os participantes deveriam definir e associar uma sequência de operações
(gama operatória). Era necessário a definição de 5 tarefas com 8 a 11
operações, cujos atributos também deveriam ser definidos pelos participantes.
Para cada participante foi registado o tempo gasto na correta definição do
problema de escalonamento.
Por fim, e após o teste de eficiência, os participantes preencheram o
questionário final, onde eram questionados sobre os diversos aspetos de
interação e funcionalidades disponibilizadas pelo interface avaliado.
5.3. Resultados
Segue-se a apresentação dos resultados obtidos através do questionário inicial
e final e a respetiva interpretação desses resultados.
As respostas obtidas nos questionários foram classificadas segundo uma escala
de valores inteiros entre -3 (valor mínimo) e +3 (valor máximo). O valor médio
zero é um valor neutro.
No questionário inicial, com o intuito de avaliar a sua atitude relativamente a
um sistema de escalonamento, os participantes foram questionados sobre a
facilidade de uso e utilidade de um sistema de escalonamento na realização de
três tarefas: programação e controlo da produção, distribuição de tarefas e
afetação de recursos (Figura_7).
A tarefa afetação de recursos obteve a maior classificação média, sendo por
isso a tarefa onde um sistema de escalonamento pode ser especialmente útil. Por
outro lado, os participantes reconhecem a complexidade das tarefas,
classificando a mesma tarefa como sendo das mais difíceis de realizar.
Relativamente ao principal propósito de um sistema de escalonamento, entre a
maximização da utilização de recursos, a redução dos tempos mortos e a
otimização do processo de produção, os participantes atribuíram a maior
classificação média à primeira e última finalidade (Figura_8).
Ao longo do teste de eficiência o tempo despendido por cada participante na
definição do problema de escalonamento foi registado (Figura_9). Em termos
médios foram necessários cerca de 33 minutos para os participantes definirem
corretamente o problema de escalonamento. O tempo máximo foi cerca de 41
minutos enquanto o tempo mínimo foi cerca de 24 minutos de 33 minutos. Como
esperado, os participantes com maior experiência neste tipo de sistema, os
especialistas/peritos, registaram os menores tempos de conclusão.
No questionário final, era solicitado aos participantes a sua opinião
relativamente a um conjunto de aspetos de interação do interface
disponibilizado para avaliação. Em termos de preferência por um dos
dispositivos de interação, rato e teclado, foi com naturalidade que se
verificou que a preferência dos participantes recaiu sobre o rato (Figura_10).
A Figura_11 ilustra a classificação média obtida dos vário aspetos de interação
do Editor de Problemas de Escalonamento. Embora todos os aspetos tivessem
obtido classificações positivas, a facilidade de utilização das funções Cortar,
Copiar e Colar, assim como a definição do valor máximo da escala temporal
destacam-se por terem obtido a classificação máxima. A identificação de erros
através da coloração dos contornos dos objetos e a alteração das datas de
lançamento e entrega via manipulação com o rato são os aspetos a melhorar.
A Figura_12 ilustra a classificação dos vários aspetos de interação do módulo
Editor de Tarefas. As funcionalidades Cortar, Copiar e Colar, e Auto-Layout
obtiveram a classificação máxima, sendo por isso as mais fáceis de usar. Os
restantes aspetos também obtiveram classificações positivas, apesar de
inferiores.
Em termos globais, os participantes avaliaram positivamente o interface nos
seus vários aspetos: estrutura geral, funcionalidades disponibilizadas,
articulação entre módulos e facilidade de uso.
Ao analisar a Figura_13, pode-se observar que os participantes classificaram o
interface como sendo suficiente, adequado e familiar relativamente à definição
de problemas de escalonamento.
Após a avaliação dos vários aspetos interativos do interface, os participantes
foram capazes de apresentar comentários e sugestões de melhoria Aqui ficam
alguns exemplos:
* Armazenamento automático das alterações realizadas nos atributos das
operações e tarefas;
* Seleção de todo o conteúdo de um campo. Isto permite evitar o duplo clique na
seleção de valores;
* Seleção automática de uma operação ao ser inserida.
6. Conclusões e Trabalho Futuro
A concretização dos objetivos definidos para este trabalho traduziu-se no
desenvolvimento de um interface centrado no utilizador para um sistema de
escalonamento. Representa o primeiro ciclo iterativo da Metodologia em Estrela.
Este trabalho apresenta duas grandes contribuições. A primeira passa pela
definição de um problema de escalonamento de uma forma gráfica e interativa
através dos módulos Editor de Problemas de Escalonamento e Editor de Tarefas. O
mecanismo de validação em tempo real permite orientar o utilizador ao longo do
processo de definição identificando visualmente erros e eventuais falhas
ocorridas. A segunda contribuição baseia-se na visualização e interação com os
planos de escalonamento. A interatividade proporcionada ao utilizador permite a
adaptação dos planos de escalonamento e a criação de cenários alternativos.
A avaliação de usabilidade do protótipo permitiu avaliar a facilidade de
interação proporcionado pelo mesmo aos participantes. A criação de um guião
revelou-se importante e necessária na organização e coordenação da sessão de
avaliação. Em termos de apreciação global, conclui-se que os participantes
avaliam positivamente o protótipo nos seus vários aspetos interativos:
estrutura geral, articulação entre módulos, facilidade de utilização e
utilidade das funcionalidades disponibilizadas. Isto reflete a avaliação
positiva da forma gráfica e interativa na definição de um problema de
escalonamento.
As perspetivas de trabalho futuro baseiam-se na implementação das melhorias
identificadas na sessão de avaliação, na otimização da articulação entre
módulos e no refinamento do mecanismo de validação em tempo real.