Universidade Federal de Santa Catarina
Centro Tecnológico - CTC
Dep. de Informática e Estatística
Projeto GEOPLANO












ESTUDOS REALIZADOS
NA UFSC



No EDUGRAF (Laboratório de Software Educacional - UFSC), uma concepção do projeto foi desenvolvida por Ramos e Mendonça (1990)5. A partir de uma análise inicial, foi possível perceber que o software pretendido deveria apresentar algumas características abaixo relacionadas:

  • simplicidade - os procedimentos de definição, arquivamento e acesso dos polígonos devem ser de extrema simplicidade, para permitir flexibilidade e efetiva utilização do software. Seria ideal que estes procedimentos simulassem os movimentos que se realizam a nível concreto com a borracha sobre o Geoplano madeira;

  • visualização da unidade de área - quando do cálculo da área é importante poder visualizar os quadrados, através de segmentos de retas unindo os pontos da malha;

  • possibilidade de mover partes selecionadas através de rotações e translações - estes movimentos permitiriam combinar partes da figura visando obter novas unidades inteiras de área, fornecendo um poderoso recurso gráfico capaz de permitir a checagem das conjecturas formuladas a respeito das simetrias observadas nas figuras;

  • possibilidade de hachuramentos variados com utilização de cores diversas - esta característica é fundamental para facilitar a demarcação de partes já solucionadas e também para permitir a implementação de soluções que utilizem a modularização descrita na estratégia utilizada para a segunda categoria de usuários. Como são necessários hachuramentos com duas finalidades diversas - demarcação de partes já solucionadas e modularização - deve ser definida uma cor especial para a identificação de áreas já solucionadas;

  • definição de retângulos que circunscrevam outros polígonos - este recurso é necessário para auxiliar a implementação de estratégias semelhantes a descrita como número um, na qual o polígono para o qual se deseja o cálculo da área deve ser circunscrito por um retângulo;

  • sub-divisão interna do polígono - para facilitar a visualização e implementação de estratégias similares a de número dois, deverá ser possível sub-dividir o polígono em partes menores através da utilização de uma outra figura, cuja área seja uma fração conhecida da unidade;

  • zooms - aqui o que se intenta é a possibilidade de dar destaque a determinadas partes selecionadas na figura, com ampliação das mesmas. Nota-se que é importante a visualização concomitante da figura original, logo recomenda-se a manutenção da mesma numa janela lateral;

  • estrutura de controle da navegação entre os diversos níveis de ampliação - como diversos níveis de ampliação poderão ser necessários em alguns polígonos, torna-se necessário o acesso a um mapeamento que permita a navegação rápida entre os vários níveis de ampliação já efetuados. Este mapeamento imaginado é similar aos existentes em alguns hipertextos, sendo cada nível de ampliação uma tela ou nó do mesmo;

  • sobreposição na mesma tela de um outro Geoplano com novo dimensionamento - o estudo de alguns casos mostrou que o cálculo da área de uma figura fica facilitado quando todos os vértices do polígono estudado ocorrem em "pregos" do Geoplano. Assim, a escolha das dimensões do Geoplano a ser utilizado é um fato importante para a facilidade e rapidez dos cálculos;

  • calculadora - é bastante importante a existência de uma calculadora de fácil acesso e da possibilidade do registro, para checagem e reavaliação posterior, dos cálculos efetivados;

  • cálculo da distância entre dois pontos na tela - a estratégia 2 descrita no parágrafo anterior depende do conhecimento de algumas distâncias a serem referenciadas a partir da unidade de comprimento utilizada (distância entre dois pregos), para permitir checar os valores atribuídos as mesmas, o software deve estar munido de algumas "réguas" que referenciem as principais frações e seus sub-múltiplos. Cabe ressaltar neste caso que é importante tomar cuidado, no sentido de não permitir que os truncamentos feitos a nível numérico e computacional, camuflem a realidade das grandezas representadas pelas dízimas, periódicas ou não;

  • mudanças na disposição dos pregos - seria bastante interessante oferecer, no ambiente gerado pelo software, a possibilidade de trabalhar com outras unidades de área, tais como: o retângulo, o triângulo ou mesmo o losango. Essa possibilidade aponta no sentido de quebrar o mito do saber cristalizado, já que permitiria que fosse perguntas como "Por que se usa o quadrado como unidade de área?", por exemplo.

Alguns softwares foram desenvolvidos, sendo o primeiro em 1993 a partir da concepção acima descrita. A interface deste software foi assim representada:

O professor Antônio Carlos Mariani, do Departamento de Informática e Estatística da UFSC, desenvolveu um outro software em linguagem Smalltalk for Windows. Mais poderoso que o protótipo anteriormente construído, este software contou com os recursos do sistema operacional Windows, apresentando uma ótima interface e excelente interação com o usuário. A interface deste programa pode ser vista abaixo:

Mais tarde, a partir de agosto de 1995, foi obtida uma bolsa de iniciação científica com o objetivo de dar continuidade ao projeto iniciado com o protótipo de 1993. Outro software foi desenvolvido tendo como base a aplicação desenvolvida por Mariani, utilizando a mesma linguagem de programação. Foi necessário considerar como deveria ser a interface deste Geoplano implementado. Para isto, os ensinamentos de Norman (1990), que dizia que "é na tarefa que o usuário está realizando que devem ser buscadas as informações sobre como deve ser a interface", foram observados. Isto significa que o foco do projeto e da análise da interface deve ser a tarefa que o usuário está desempenhando. Para Norman são prioridades do projeto:

  • usuário - o que ele realmente quer fazer?;

  • a tarefa - a análise da tarefa. Como o trabalho pode ser feito melhor, tendo em conta todo o cenário no qual a tarefa é construída, incluindo outras tarefas, o ambiente social, as pessoas e a organização?;

  • tanto quanto possível, fazer a tarefa dominar e fazer a ferramenta invisível;

  • aperfeiçoar a interação, fazendo as coisas certas ficarem visíveis, fornecendo os modelos mentais corretos, ou seja, seguir as regras do bom projeto para o usuário.

A ergonomia de software, que investiga a utilização de um software por seus usuários, analisando a interação homem computador como o conjunto dos fenômenos físicos e cognitivos que intervém na realização da tarefa informatizada, torna-se um aspecto importante nesta fase do projeto. Há a chamada "análise hierárquica da tarefa", que se baseia num modelo teórico sobre como o homem processa a informação. Há o entendimento de que na realização de uma tarefa as atividades não ocorrem independentemente umas das outras, ou seja, há uma estrutura na tarefa. Algumas atividades são executadas em paralelo, e podem causar, ou mesmo habilitar, a ocorrência de outras. O comportamento é estruturado, e depende dos objetos que são utilizados na realização da tarefa. Johnson (1994) recomenda que a representação das diferentes dimensões em um sistema de conhecimentos sobre a tarefa, deve dar-se a partir de três componentes:

  • uma subestrutura orientada à metas pode ser pensada como um plano para executar a tarefa. Esta estrutura determina os objetivos e sub-objetivos e incluem ainda estados condicionais e os estados verossímeis que devem prevalecer quando um destes objetivos é atingido. Assume-se a hipótese de que a resolução de uma tarefa é organizada segundo o modelo de planificação hierárquica;

  • procedimentos da tarefa - são unidades simples, ou atômicas, desenvolvidas à medida em que a tarefa é praticada - pode existir mais de um procedimento diferente para atingir o mesmo objetivo ou sub-objetivo;

  • uma estrutura taxonômica para as ações e objetos genéricos da tarefa - os objetos e ações relacionados aos procedimentos são categorizados de acordo com suas propriedades.

Dan Diaper (1989) propõe uma análise hierárquica chamada de TAKD (Task Analysis for Knowledge Descriptions). A base da metodologia TAKD se constitui na construção de uma hierarquia descritiva da tarefa envolvendo dois tipos de listas:

  • uma lista de objetos específicos e,

  • uma lista de ações específicas.

Baseado nestes conceitos, levando-se em consideração também o modelo de Barthet para a descrição e classificação das ações numa aplicação interativa, assim como outros aspectos relativos à ergonomia levantados por ele, como sucessão de operações, linguagem de interação, tratamento de erros, ajuda ao trabalho, ajuda na aprendizagem e possibilidades de evolução, a seguinte interface foi construída:

Cinco alunos de uma disciplina da UFSC utilizaram este Geoplano em aulas práticas de laboratório e foram observados. Várias técnicas foram utilizadas para a observação destes voluntários, sendo feito uma análise ergonômica ao final do estudo. Agora, uma análise hierárquica:

Descrição hierárquica das ações que compõem a tarefa "Uso do Geoplano computacional - versão Windows "


A seguir, a descrição das operações implementadas.

Ø Operação "criar nova tábua" - é uma operação de natureza opcional e automática, que é disparada por ativação de botão específica na barra de ferramentas ou por opção de item da barra de menu suspenso. Não existem condições de precedências. As condições de paralelismo serão explicitadas na etapa 6. A saída desta operação dispara a operação de definição do número de pregos da tábua a ser aberta. Não foi identificado nenhum problema relativo a execução desta operação. Em geral todas as recomendações ergonômicas foram atendidas.

Ø Operação "definir o número de pregos da tábua" - é uma operação de natureza obrigatória, interativa, disparada automaticamente pela operação "criar nova tábua". Ela precede todas as operações de definição de polígonos e a sua saída é a abertura de uma janela contendo um novo Geoplano com a dimensão especificada que no estágio inicial possui um elástico fechado circulando dois pregos da linha superior. Não foram registrados problemas com esta operação.

Ø Operação "definir dimensão externa da tábua" - é uma operação de natureza opcional e automática, disparada pela simples ação de redimensionamento da janela que contém a tábua. Ela não possui condições de precedência e nem precede nenhuma outra operação no ambiente. A sua saída é o redimensionamento da janela contendo a tábua. Esse simples artifício permite definir malhas retangulares de quaisquer tipo. Não foram registrados problemas com esta operação, a não ser o fato de que seria importante permitir a visualização da relação retangular estabelecida.

Ø Operação "salvar tábua" - é uma operação de natureza opcional e interativa, disparada pela ativação de botão específico da barra de ferramentas ou de opção de item da barra de menus. Ela não possui condições especiais de precedência (a não ser a própria existência da tábua a ser salva), mas precede a operação "abrir tábua já existente". A sua saída define um arquivo do tipo geo. Não foram registrados problemas com esta operação. Ela se efetiva a partir da própria janela de salvamento de arquivos do Windows. É uma operação de natureza opcional e interativa, disparada pela ativação de botão específico da barra de ferramentas ou de opção de item da barra de menus. Ela é precedida pela operação "salvar tábua" e precede as operações de definição de polígono. A sua saída abre uma janela com uma tábua já configurada anteriormente. Esta operação se efetiva a partir da própria janela de abertura de arquivos do Windows, e quanto a sua efetivação não foram observados problemas. Contudo, não há nenhuma mensagem de alerta quando se fecha uma tábua ainda não salva.

Ø Operação "mover elástico" - é uma operação de natureza opcional e interativa, disparada por ação direta sobre a interface, após a ativação de botão específico da barra de ferramentas ou de opção de item da barra de menus. Essa operação não possui condições especiais de precedência (a não ser a própria existência da tábua sobre a qual o movimento se dá). Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com nenhuma das operações do tipo "calcular a área dos polígonos". Por outro lado, em certo sentido, ela as precede, porque não é possível o cálculo da área enquanto não for definido um polígono, o que exige pelo menos um movimento do elástico. Como saída desta operação tem-se a simulação do movimento de um elástico verdadeiro sobre uma malha de pregos, ao final do movimento o "elástico" contorna os pregos definindo um polígono cuja área pode então ser calculada. Os problemas registrados com relação a esta operação são concernentes à atualização e reconstrução da tela enquanto o movimento é executado e ao fato de que o botão específico permanece com o status de ativado mesmo em contextos impossíveis. Outro problema é a inexistência de uma opção de anulação automática de um movimento.

Ø Operação "recortar e mover parte do polígono" - é uma operação de natureza opcional e interativa, disparada por ação direta sobre a interface, após a ativação de botão específico da barra de ferramentas ou de opção de item da barra de menus. A operação se efetiva com o apontamento e o arrasto com pressão do botão direito de uma área da malha. Essa operação possui como condição de precedência a realização de pelo menos um "movimento de elástico". Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com as operações do tipo "calcular a área dos polígonos", com exceção das operações "rotacionar e translacionar partes recortadas" e "mostrar grade". A sua saída é a definição de um recorte de parte do polígono definido na tábua. Com relação a esta operação, registraram-se problemas concernentes à atualização e reconstrução da tela enquanto o movimento era executado e ao fato de que o botão específico permanecia com o status de ativado mesmo em contextos impossíveis. Algumas vezes o arrasto da parte recortada desfaz a figura construída. Outro problema diz respeito ao fato de ser impossível desfazer a operação.

Ø Operação "mostrar/esconder grade interna" - é uma operação de natureza opcional e automática, disparada pela pressão de botão específico da barra de ferramentas. Esse botão exerce dupla função ativando ou desativando a definição da grade. No caso da ativação é opcional o uso de um botão justaposto que aciona uma menu suspenso permitindo a definição do tamanho da grade a ser mostrada. Essa operação possui como condição de precedência apenas a existência de uma tábua aberta. Não há nenhuma restrição quanto ao sincronismo de sua execução. A sua saída é a definição ou a retirada de uma grade sobre a tábua ativa. Os problemas registrados com relação a esta operação são concernentes apenas à falta de sensibilidade da ativação do botão específico ao contexto em que suas condições de precedência se verificam.

Ø Operação "pintar parte dos polígonos" - é uma operação de natureza opcional e interativa, disparada pela ativação de botão específico de status na barra de ferramentas - esse botão abre uma bandeja para escolha da cor a ser utilizada no processo de pintura. A operação se efetiva, após ativado o estado, com a escolha da cor e com o apontamento e clique de mouse sobre a zona da malha a ser pintada. Essa operação possui como condição de precedência a existência de uma tábua aberta e de um polígono definido sobre a mesma (pelo menos um movimento de elástico). Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com as operações do tipo "calcular a área dos polígonos", com exceção das operações "rotacionar e translacionar partes recortadas" e "mostrar grade". A sua saída é a definição de uma grade sobre a tábua ativa no momento da execução. Os problemas registrados com relação a esta operação são concernentes apenas ao fato de que este botão permanece disponível para ativação mesmo nos contextos em que suas condições de precedência não se verificam. Ainda, não é possível desfazer a ação de forma automática, e como a bandeja de cores não contem a cor do fundo da janela da tábua fica impossível desfazê-la também por essa via.

Ø Operação "ampliar partes do polígono e ver o mapa da ampliação" - é uma operação de natureza opcional e interativa, disparada pela ativação de botão específico de status na barra de ferramentas. A operação se efetiva, após ativado o estado, com a o apontamento e clique de mouse sobre a zona da malha a ser ampliada. Essa operação possui como condição de precedência a existência de uma tábua aberta e de um polígono definido sobre a mesma (pelo menos um movimento de elástico). Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com as operações do tipo "calcular a área dos polígonos", com exceção da operação "mostrar grade". A sua saída é a reconstrução da janela ativa, mostrando em zoom o conteúdo da área apontada. Os problemas registrados com relação a esta operação são concernentes apenas ao fato de que o botão específico permanece disponível para ativação mesmo nos contextos em que suas condições de precedência não se verificam.

Ø Operação "ver o mapa da ampliação" - é uma operação de natureza opcional e automática, disparada pela ativação de botão específico de status na barra de ferramentas. Essa operação possui como condição de precedência a existência de uma tábua aberta e de um polígono definido sobre a mesma (pelo menos um movimento de elástico). Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com as operações do tipo "calcular a área dos polígonos", com exceção da operação "mostrar grade". A sua saída é o aparecimento de uma janela mostrando em tamanho reduzido um mapa da situação original de uma tábua para a qual já foi definido pelo menos um nível de zoom. Os problemas registrados com relação a esta operação são concernentes apenas ao fato de que o botão específico permanece disponível para ativação mesmo nos contextos em que suas condições de precedência não se verificam. Em alguns momentos o mapa fica fora do contexto das ampliações realizadas.

Ø Operação "rotacionar e translacionar partes recortadas" - é uma operação de natureza opcional e automática, disparada pela ativação de botões específicos na barra de ferramentas. Essa operação possui como condição de precedência a existência de uma tábua aberta com um polígono definido sobre a mesma (pelo menos um movimento de elástico), e com a existência de pelo menos um recorte definido. Há restrições quanto ao sincronismo de sua execução, ou seja, ela não pode ser executada em paralelo com as operações do tipo "calcular a área dos polígonos", com exceção da operação "mostrar grade". A sua saída é o aparecimento de uma janela mostrando em tamanho reduzido um mapa da situação original de uma tábua para a qual já foi definido pelo menos um nível de zoom. Os problemas registrados com relação a esta operação são concernentes apenas ao fato de que o botão específico permanece disponível para ativação mesmo nos contextos em que suas condições de precedência não se verificam.

PLANO GERAL DE AÇÕES PARA A TAREFA

A descrição hierárquica da tarefa apenas abstrai e classifica as ações da mesma segundo os seus principais atributos. É preciso ainda descrever e analisar a realização da tarefa como um processo que ocorre no tempo.

Na verdade tal descrição já está presente de forma implícita na descrição isolada de cada operação,. Ao torná-la explícita quer-se apenas ter uma visão mais diretamente focalizada sobre esta característica da tarefa.

No Geoplano há bastante liberdade e simplicidade no encadeamento ou na seqüência da realização das ações. A utilização do modelo multijanelas do Windows permite muita flexibilidade neste encadeamento.

A seqüência mais genérica de ações está descrita a seguir:

Neste diagrama a precedência obrigatória está indicada da esquerda para a direita, e o paralelismo na dimensão vertical. Cabe lembrar que vária seqüências genéricas do tipo definido acima podem ser disparadas concomitantemente em janelas distintas, dentro do ambiente.

As derivações desta seqüência genérica, são, na denominação de Diaper (1989), as seqüências específicas de ações . Um exemplo de seqüência especifica seria:

[Image]

Combinando diferentes ações do tipo abrir tábua, definir polígono e calcular área podem ser definidos vários tipos de seqüências específicas.

Por outro lado, é preciso salientar que múltiplas seqüências específicas podem também ser desencadeadas em paralelo.

É preciso ainda implementar algumas ações (indicadas em itálico na descrição hierárquica), com relação à funcionalidade da aplicação analisada.

Na organização dos menus e da barra de ferramentas, há pouco a fazer, apenas corrigir uma disposição fora de padronização do item de menu "janela". Pode-se dizer que a organização dos mesmos já reflete a lógica de utilização da ferramenta.

Um aspecto positivo diz respeito ao fato de haver uma adequada repartição da pilotagem entre o usuário e o mesmo, ou seja, a definição da obrigatoriedade ou não, dos disparos das operações está bem definida.

Ainda com relação à funcionalidade do sistema, há que se destacar que mesmo no caso das operações já implementadas, é preciso ainda de forma geral, implementar outras operações de apoio ou ajuda na realização das mesmas, tais como: áreas de registro dos cálculos efetuados (editores), inclusão de uma calculadora para auxiliar nos cálculos, possibilidade de repetir e anular as operações realizadas, possibilidade de interrupções, facilidade na transferência de dados entre aplicações, possibilidades de evolução da interface e sinalização de erros.

É preciso ainda implementar os sistemas de ajuda, tanto para o auxílio à aprendizagem quanto para o tratamento dos erros. No segundo caso, o sistema ainda apresenta um nível bastante primário: os erros não são sinalizados e em geral, nenhuma ajuda é oferecida para a superação dos mesmos. Os sistemas de ajuda estão ainda por serem projetados. É importante ainda assinalar uma área de registros, de proposição e discussão colaborativa de problemas e estratégias. Isso poderia ser conseguido portando-se a atual versão para uma plataforma distribuída com acesso via rede.

É no aspecto relatado nesta última frase que nosso projeto se baseia definitivamente: a construção de um software Geoplano utilizando a linguagem Java para posterior disponibilização deste software em uma rede de computadores, utilizando-se portanto, a Internet como plataforma distribuída.

A Idéia é, portanto, disponibilizar uma versão do software Geoplano executável, numa home page na Internet, de modo que o usuário acesse esta página, e já tenha um contato imediato com o programa, sendo executado na própria home page.

Para realizar tal tarefa, observou-se que a linguagem ideal para a implementação do Geoplano é a linguagem Java, devido a diversos aspectos, entre eles a facilidade com que se baixa e se executa localmente um programa executável, independente da plataforma utilizada.

NOSSO PROJETO

Como visto até agora, os softwares criados na UFSC destinavam-se apenas às aplicações locais, em uma máquina apenas. Poucos tiveram conhecimento destes projetos, resumindo-se apenas àqueles que os criaram. O grande objetivo desta aplicação em uma plataforma distribuída é justamente divulgar o processo iniciado no EDUGRAF.

Com a crescente popularização da Internet e do uso de computadores, percebeu-se a possibilidade de colocar o Geoplano em um ambiente de rede. Muitas escolas dispõem destes recursos e poderiam facilmente utilizar o software Geoplano, bastando apenas acessar o endereço da Internet onde esta aplicação estará hospedada. É mais uma alternativa para a atual forma de ensino: o uso de computadores, utilizando a rede mundial de computadores, acessando aplicações desenvolvidas especialmente para o ensino e aprendizado. As propostas deste tipo ainda são escassas na rede, mas percebe-se uma alteração deste quadro. Algumas instituições de ensino já começam a se interessar pelo assunto. Nossa proposta de colocar o software Geoplano na Internet visa seguir esta nova tendência.