Tools
E-mail Imprimir PDF

VisAr3D - Arquitetura de Software em 3D

 

Introdução

 

A abordagem VisAr3D traz uma nova dimensão à prática da disciplina Modelagem de Software e propõe uma solução diferenciada para o apoio à compreensão de diagramas UML em sistemas com muitos elementos de modelagem, combinando recursos de tecnologias emergentes de visualização 3D, como a Realidade Virtual e a Realidade Aumentada (RODRIGUES e WERNER, 2011). Ela visa atender aos seguintes desafios:

1) Possibilitar o apoio a aulas práticas interativas, incluindo a utilização de vídeos, animações, documentações etc.;

2) Permitir a criação de um ambiente de troca de informações entre os alunos e professores;

3) Possibilitar uma nova forma de disposição das informações contextualizadas a um modelo de software 3D;

4) Se propor a surpreender os alunos com novas maneiras de ressaltar informações e relações existente e relevantes; e

5) Permitir o aluno interagir, intuitivamente, no ambiente 3D para compreender um sistema com muitos elementos de modelagem proposto pelo professor em sala de aula.

A principal característica da abordagem VisAr3D é disponibilizar a visualização 3D de um modelo UML, gerado automaticamente a partir de um diagrama 2D existente. Esta solução explora diferentes perspectivas, relacionamentos, abstrações e documentações contextualizadas, onde o usuário possa, intuitivamente, compreender os elementos de modelagem de um ambiente 3D.

A ideia é organizar todo tipo de documentação existente e relevante relacionada aos elementos de modelagem de um sistema. Esses dados importantes estarão associados aos elementos de modelagem correspondentes, e o usuário poderá explorar e interagir com eles na terceira dimensão. A abordagem propõe ao aluno conflitos com seu atual nível de desenvolvimento, que o desafia a aprender e avançar. O resultado deste tipo de aprendizagem exige do educando um salto no sentido de apropriar-se de novos conhecimentos que lhe estão sendo propostos (LUCKESI, 2005).

A visualização de diagramas em uma nova perspectiva possibilita a utilização de projetos mais elaborados e complexos, semelhantes aos desenvolvidos pela indústria. E, ainda, a manipulação destes modelos em um ambiente de aprendizagem simulado por meio de elementos virtuais 3D pode trazer uma experiência atraente para o processo de aprendizagem. Uma exploração e interação intuitiva feita pelos alunos de modelagem de software e pelo professor, utilizando recursos e facilidades, tais como a manipulação de modelos em um ambiente de aprendizagem simulado por meio de elementos virtuais, traz uma experiência atraente para o processo de aprendizagem.

 

Requisitos da Abordagem

 

(1) A abordagem deve apoiar o desenvolvimento e a participação dos alunos em projetos complexos.

(2) A abordagem deve reduzir a distância entre a teoria e a prática.

(3) A abordagem deve apoiar as atividades dos estudantes no processo de assimilação de conhecimentos e habilidades, e assim propagar o conhecimento entre os participantes. Com a abordagem, pretende-se ajudar a melhorar a comunicação entre os membros do grupo, ajudar na organização e divisão de tarefas dentro da equipe, permitindo a integração dos resultados individuais como uma atividade de grupo de trabalho, e colaborar com a resolução de problemas complexos, através da cooperação, ou seja, propagar conhecimento entre os participantes.]

(4) A abordagem deve ser interessante para o usuário, proporcionando um ambiente exploratório e intuitivo, propício a descobertas e desafios, que responda a interação do aluno.

(5) A simplicidade e a facilidade de uso são requisitos importantes ao utilizar a ferramenta.

(6) Os diagramas 3D modelados devem ter uma aparência semelhanteaos diagramas 2D de origem, para que se tornem um ambiente familiar ao seu usuário.

(7) A abordagem deve utilizar a valorização visual, necessária para diferenciar a informação adicional que será explorada.

(8) Detalhes de informações devem ser escondidos, e exibidos quando solicitados.

A VisAr3D propõe-se a ser um ambiente de visualização 3D e não permite edição de modelos. A edição de diagramas 3D é mais árdua do que a edição de diagramas 2D (GEF3D, 2011) e poderia exigir do usuário uma habilidade que prejudicaria um requisito importante da abordagem, que é a sua simplicidade de uso. TORI (2010) confirma, dizendo que esta faz parte das diretrizes básicas para o design de mídia interativa, sob uma perspectiva de aplicação na educação.

Visão Geral da Abordagem VisAr3D

Uma visão geral da abordagem VisAr3D, apresentada na Figura 1, é composta de três módulos: Módulo Arquitetural, Módulo Realidade Aumentada e Módulo Realidade Virtual.

 

img_visar1

Em um curso regular voltado para as novas demandas do mercado, o professor ensina exibindo parte de um diagrama UML de um sistema grande e complexo, projetando-o na parede ou em um cartaz impresso. Ele detalha elementos de modelagem e seus relacionamentos em um nível de abstração, possivelmente utilizando vários estilos arquiteturais.

1) No Módulo Realidade Aumentada, o usuário, a partir de um padrão gráfico presente num diagrama impresso ou projetado, permite o acesso do Módulo Realidade Virtual.

2) Os dados de um projeto de modelos de sistemas de software são importados ou lidos através de arquivos XMI de um repositório, criados, inicialmente, no Módulo Arquitetural.

img_visar2

img_visar3

3) O Módulo Realidade Virtual compila as informações vindas do Módulo Arquitetural e, em seguida, posiciona os diagramas no espaço 3D, esconde atributos e operações, cria uma pequena profundidade nas classes com diferentes cores para indicar a presença de informações importantes contextualizadas. Por esta razão, deve-se considerar que a qualidade da visualização 3D está diretamente ligada à qualidade do modelo construído.

img_visar4

img_visar5

4) O espaço 3D é totalmente preenchido por todos os tipos de diagramas disponíveis modelados: diagramas de classes, casos de uso, diagramas de sequência etc. Centralizado na tela, é apresentado o primeiro diagrama de classes do sistema.

5) Para acessar diferentes tipos de diagramas UML, como por exemplo, um diagrama de sequência ou caso de uso, o usuário deve mover no espaço 3D numa posição abaixo na tela. Numa posição acima na tela, tem-se o acesso aos diagramas de pacotes.

6) A profundidade da terceira dimensão disponibiliza outras versões daqueles diagramas. O eixo Z mostra a variação dos modelos no tempo. A ideia é ter um relógio, que ao rodar os ponteiros possa navegar no eixo Z e visualizar outra versão daquele mesmo diagrama.

7) Para examinar cada modelo, o usuário deve aplicar o Zoom ou rodar o mesmo, utilizando além do mouse, as setas do teclado.

8) Durante a visualização de um diagrama, o usuário pode querer explorar algum tipo de informação, especificamente. Como por exemplo, métodos da classe, a documentação disponível ou o relacionamento de uma classe em outro diagrama. Para isso, basta acessar o menu.

Recursos Mínimos Necessários

A implementação completa da abordagem VisAr3D requer os seguintes recursos mínimos: um diagrama UML projetado na parede ou em um papel impresso com um padrão gráfico, e um dispositivo móvel com webcam, ligado à rede de computadores.

Público-alvo

A abordagem destina-se, preferencialmente, aos alunos de graduação e a professores da disciplina de Modelagem de Sistemas. Contudo não se restringe apenas a este nível de alunos, podendo ser útil àqueles mais experientes, assim como pode apoiar, também, aos desenvolvedores de software. Estes alunos já conhecem, através dos seus professores, ou mesmo, até por experiência profissional particular na área, a modelagem de sistemas como uma etapa importante no desenvolvimento de software, determinante para o seu sucesso.

Utilização do Espaço 3D

Durante a criação de modelos dentro de sala de aula, são elaborados diagramas de vários tipos, com documentação correspondente, são feitos diversos exercícios, envolvendo uma discussão entre os alunos e entre os alunos e o professor. Para organizar este cenário e apoiar o ensino de modelagem, foi proposta uma divisão do espaço 3D para que todas estas informações não sejam perdidas e que ainda sejam aproveitadas durante todo o ciclo de vida do projeto. Este espaço ilimitado para exploração dos dados foi dividido de acordo com visões e tipos de diagramas (a Figura 6 mostra um esquema desta organização), seguindo alguns critérios:

img_visar6

1) Todos os diagramas são exibidos e explorados em uma só cena em vez de múltiplas janelas, como acontece nas ferramentas 2D. Alguns dos impactos (como por exemplo, inconsistências) e facilidades na leitura são perdidos quando impressos, ou dispostos em muitas janelas com scroll.

2) Diagramas do mesmo tipo são exibidos ao longo do eixo X do Sistema Cartesiano, ou seja, numa mesma altura são exibidos somente diagramas de Caso de Uso. Numa outra altura somente, Diagramas de Classe e assim por diante;

3) O eixo Y exibe diferentes tipos de diagramas, seguindo o seguinte critério:

i) Y = 0: Diagrama de Classes, devido à sua relevância e maior frequência de uso.

ii) Y positivo: Diagrama de Pacotes, que exibe um outro nível de abstração da arquitetura.

iii) Y negativo: para cada altura diferente, é reservado um espaço para diferentes tipos de diagramas: Diagrama de Casos de Uso, Diagrama de Sequência, Diagrama de Estados etc.

iv) O eixo Z é utilizado para exibir os mesmos diagramas numa outra versão. Este eixo é reservado para comparação e versionamento de modelos.

v) Para cada diagrama, ficam disponíveis diferentes tipos de visões (acessadas através do menu) que mostram informações existentes e disponíveis para cada elemento de modelagem, como: documentação, anotação, exercício, autoria, atributos/operações, pacotes, outros diagramas de um mesmo tipo, ou outros diagramas de tipos diferentes, onde o elemento também pode ser encontrado.

Apesar dos diagramas terem apenas uma pequena profundidade e parecer com um plano, quase 2D, o 3D é explorado quando a este é acrescentado novos elementos gráficos (além das cores) e com novas camadas (documentação, por exemplo), que são reconhecidos como informações extra. Além disso, existe ainda a exploração do espaço ilimitado 3D, como foi explicado acima.

Recursos da Abordagem

Segundo os critérios para uma boa visualização 3D descritos no capítulo 3, a VisAr3D apresenta as seguintes recursos:

1. Visão Geral

Um mapa geral é fornecido com todos os diagramas disponíveis, seguindo uma organização do espaço 3D apresentada, anteriormente. Todos os diagramas são simplificados, escondendo informações, a princípio, desnecessárias, deixando-o limpo, sem poluição visual. Em primeiro plano, é exibido o primeiro diagrama de classes, ou ponto de vista capturado com a webcam.

2. Informações Contextualizadas

Toda informação importante que deve ser explorada pelo aluno, como por exemplo, a indicação de que o elemento de modelagem possui documentação, aparece de alguma forma sobreposta ao elemento correspondente. Estas, especificamente, aparecem no formato de uma pequena camada de espessura presente numa classe, na cor vermelha e na cor azul, indica que a mesma pertence a mais de um diagrama e que contém documentações associadas a ela, respectivamente. Elas podem, também, ser ícones coloridos que só aparecem quando solicitados através do menu. São de fácil percepção e ressaltam a sua correspondência ao seu conteúdo.

3. Exploração do Ambiente 3D

O Módulo Realidade Virtual da abordagem VisAr3D é exibido numa janela de um browser que possui botões de navegação na sua parte inferior. Através destes botões, o aluno, como se estivesse imerso no ambiente virtual, pode explorar o ambiente com a ajuda do mouse, movendo-se no espaço para a direita, para a esquerda, para cima, para baixo, para longe ou para próximo do plano, com ângulos de rotação. A técnica de Zoom também está disponível, fornecendo mais detalhes sobre os dados apresentados em uma determinada visão. Para ampliar a leitura do modelo, os diagramas podem ser ampliados ou reduzidos de acordo com o tamanho desejado.

4. Agente de Busca

Outra facilidade proporcionada pela VisAr3D é um agente de busca que permite procurar documentos ou elementos de modelagem por palavras-chave ou filtros. O agente de busca analisa informações sobre os modelos e sua documentação; e o filtro analisa as condições especificadas pelo usuário. O resultado pode ser uma lista de links ou uma visualização gráfica através de cores ou ícones. Este subsistema permite de forma rápida e fácil encontrar e acessar todos os tipos de informação associados ao modelo de software em estudo.

 

5. Ponto de Vista

O recurso Ponto de vista é usado para definir as posições para a visualização do mundo virtual; proporcionam visitas guiadas no formato de animação. Ela facilita a navegação do usuário através de pontos de interesse pré-definidos. O professor, ou o aluno, pode escolher (ou definir) uma posição no diagrama como um novo ponto de vista. Ele será capaz de mover-se, rapidamente, entre esses pontos, mesmo quando eles estão longe no diagrama.

 

6. Visões

Algumas dessas visões são: Visão dos Relacionamentos com Outros Diagramas, Visão dos Relacionamentos com Outros Tipos de Diagramas, Visão de Pacote, Visão de Métrica, Visão de Atributos/Operações, Visão do Autor, Visão de Documentação, Visão de Anotação, Visão de Exercícios e Visão de Comportamento.

 

6.1. Visão dos Relacionamentos com Outros Diagramas

Uma classe em um modelo pode ser apresentada em vários diagramas. É muitas vezes difícil e tedioso descobrir quais as dependências entre classes, ou em que lugares elas estão dentro do sistema como um todo. Esta relação não é explicitamente apresentada nos diagramas. Para entender completamente este elemento de modelagem, pode ser necessário explorar seus atributos, métodos, e relacionamentos com outros elementos que podem ser encontrados em diagramas diferentes. Nesta visão, o diagrama sinaliza através de objetos virtuais coloridos (setas coloridas) os relacionamentos externos a este diagrama em cada elemento de modelagem, por exemplo, as classes deste diagrama que pertencem a mais de um diagrama exibirá links coloridos que farão o acesso a esta mesma classe num outro diagrama (a Figura 7 mostra a tela da VisAr3D com a Visão dos Relacionamentos com Outros Diagramas, simulando os links coloridos). O elemento de classe é centralizado na tela à medida que o usuário muda de um diagrama para outro.

 

6.2. Visão dos Relacionamentos com Outros Tipos de Diagramas (Figura 8)

Esta visão destaca os elementos de modelagem que pertencem a outros tipos de diagramas utilizando links coloridos associados a ele. Por exemplo, a classe “Rule” pode ser explorada e estudada num diagrama de sequência. Este é um acesso a um ponto de vista (viewpoint) especial. Neste item do menu, o usuário visualiza objetos virtuais coloridos (ícones coloridos) sobre os elementos de modelagem que apontam para outros tipos de diagramas, onde aquele objeto foi modelado. Ao clicar neste link, o usuário fará o acesso a esta mesma classe num outro diagrama. O seu ponto de vista é alterado, através de uma animação entre estes dois pontos no espaço 3D.

img_visar7

6.3. Visão de Pacote

Ao escolher esta visão no menu, objetos virtuais em cores são exibidos, indicando a correspondência das classes aos seus pacotes. Num universo com muitos elementos, as cores ajudam a percepção do usuário para identificação dos pacotes daquele diagrama. Ao clicar num ícone, pode-se acessar o diagrama de pacote correspondente. Isto acontece somente quando o diagrama de pacote está disponível (ou seja, se este diagrama foi modelado). Nesta visão, o usuário pode acessar este nível de abstração, com um clique. A Figura 9 mostra a tela da VisAr3D com a Visão de Pacotes, simulando os links coloridos.

img_visar8

6.4. Visão de Métrica

A VisAr3D combina o layout existente dos diagramas de classe UML com a visualização de métricas. À medida que a aplicação de métricas para um modelo UML pode resultar em uma enorme quantidade de dados, e esses dados são normalmente apresentados em tabelas, é um trabalho difícil para um engenheiro de software, ou um estudante, fazer o mapeamento entre os valores das métricas de uma tabela e as classes de um diagrama UML, manualmente. A VisAr3D apoia esta atividade através da integração da visualização do modelo e das métricas, que foram extraídas do arquivo XMI, usando cor, tamanho e forma para visualizar valores. A Figura 10 mostra um exemplo de quatro diferentes métricas visualizadas sobre um diagrama de classes. Este estudo reduz a quantidade de métricas disponíveis a um conjunto de complexidade gerenciável que podem ser utilizadas como indicadores para a compreensão prévia. Este item do menu pode ou não estar disponível.

img_visar9

6.5. Visão de Atributos/Operações

Os atributos e operações das classes de um diagrama só aparecem quando solicitadas pelo usuário na Visão de Atributos/Operações, para evitar a poluição de informações de grandes diagramas. Num sistema complexo, as classes possuem muitos atributos e operações que desarrumam o diagrama e comprometem sua leitura. Esta visão é essencial para obter clareza dos diagramas. O usuário passa o cursor sobre o elemento de modelagem e estas informações são exibidas em um tamanho legível numa janela (Figura 11).

 

img_visar10

6.6. Visão do Autor (Figura 12)

A VisAr3D permite a visualização da autoria do modelo. À distância, num conjunto de muitas classes e relacionamentos, ícones coloridos indicam os autores dos elementos de modelagem. Na Visão do Autor, o nome do autor é apresentado quando o usuário move o cursor sobre os elementos de modelagem.

 

6.7. Visão de Documentação

O desenvolvimento de um projeto de arquitetura muitas vezes produz uma grande quantidade de documentação, bem como registros das decisões iniciais sobre o projeto para facilitar a comunicação entre os stakeholders. Esta informação é muito importante para os estudantes de modelagem de software, especialmente para os novatos, para compreender todo o processo de criação e desenvolvimento do software. Durante a navegação através do modelo, os alunos terão acesso a esta informação sobreposta (profundidade na cor azul, conforme a Figura 13), à medida que se movem através do espaço do modelo. É fácil perceber sua correspondência com o seu conteúdo, pela sua identificação graficamente. À medida que o usuário optar por ler um documento, mais que um elemento de modelagem, associado a ele, é marcado. A intenção aqui é valorizar a boa documentação e incentivar os alunos a sempre documentar.

 

img_visar11

img_visar12

6.8. Visão de Anotação

A VisAr3D, como ferramenta pedagógica interativa, deve permitir a troca de mensagens e informações entre alunos e entre alunos e professores, tornando as aulas mais interessantes e favorecendo a construção do conhecimento dos alunos por meio da aprendizagem colaborativa.

img_visar13

Um dos pressupostos teóricos e diretrizes dos estudos de Piaget é fazer com que a interação social e a linguagem tenham um lugar proeminente na programação diária de ensino, estimulando a interação verbal entre os alunos e promovendo atividades de grupo que envolvam cooperação e troca de ideias (HAYDT, 2006).

As anotações são informações geradas dentro do espaço virtual. Servem para facilitar a compreensão dos modelos de software e, conseqüentemente, melhorar a comunicação entre os membros da equipe que constroem o sistema. Através de situações espontâneas e, às vezes, até lúdica, um estudante pode explorar, criar e, especialmente, comunicar-se com outros alunos ou o professor para obter novas informações e para construir o seu próprio processo de aprendizagem, através do compartilhamento de descobertas, dúvidas ou mensagens simples, utilizando anotações.

Todo o histórico desta comunicação é armazenado no repositório da VisAr3D. Elas são valiosas para ajudar no entendimento de pontos polêmicos e na elaboração da documentação de toda modelagem. Este ambiente de troca de informações é propício para a incentivar a participação, interação e colaboração entre os alunos, não excluindo a interação face-a-face.

A abordagem possibilita a criação, alteração e exclusão das anotações durante a exploração.

 

6.9. Visão de Exercícios

Esta visão permite o professor interagir com os alunos através de exercícios que possibilitam melhorar o seu conhecimento sobre a teoria estudada. Essa visão é semelhante a da anotação e da documentação, mas é classificada como Visão de Exercício. Os alunos podem ser convidados a escolher entre alternativas de projeto, ser obrigados a fazer escolhas para atender às necessidades do cliente, ser solicitados a reutilizar componentes, a aderir aos padrões e, também, a corrigir elementos errados, ser encorajados a usar "Estudos de Caso", ou podem ser desafiados a refatorar uma parte do modelo. Esta é outra forma de informação gerada no espaço virtual. O professor pode criar situações para que o aluno, independentemente ou auxiliado por ele, aplique os conhecimentos adquiridos na solução de problemas diversos.

 

6.10. Visão de Comportamento

O comportamento é mais bem visualizado por meio de diagramas animados onde as mensagens são símbolos que passam do remetente para o receptor. Durante uma animação deste tipo, os símbolos de mensagens não processados são mostradas em cinza e os elementos envolvidos saltam para frente do plano do diagrama. A terceira dimensão pode ser empregada de forma útil para fornecer visualizações com mais semântica e animadas, como nos casos dos diagramas de sequência e de colaboração, por exemplo. A VisAr3D disponibiliza a visualização animada destes diagramas, permitindo ao aluno exercitar, utilizar o conhecimento que ele já tem ou buscar novas informações, enfatizando o raciocínio e a reflexão.

Outro ponto que é visto como um problema na UML é que cada tipo de diagrama é apresentado separadamente, isto resulta na ocultação da relação entre diferentes diagramas e elementos do modelo. A abordagem VisAr3D utiliza os benefícios da terceira dimensão, de interatividade e de animação, na visualização da combinação de aspectos estáticos e aspectos dinâmicos dos sistemas num único diagrama. A ideia é usar aspectos diferentes de um sistema no mesmo ponto de vista. Por exemplo, utilizar um diagrama de classes e acrescentar ou combinar a animação de um diagrama dinâmico, como o diagrama de sequência. Desta forma, utiliza-se um único diagrama mantendo as vantagens de ambos.

 

Protótipo Implementado

O principal objetivo do desenvolvimento do protótipo VisAr3D foi mostrar a viabilidade da tecnologia que se deseja desenvolver. Ele possui algumas limitações de interface e usabilidade, contudo ajudou a mostrar algo concreto e executável aos usuários, ou stakeholders. Ele foi projetado para ser um pequeno "exemplar" para testar algumas suposições importantes sobre a abordagem, quanto à funcionalidade, tecnologia e sua contribuição quanto ao ambiente 3D. Ele não tenta reproduzir o sistema final. Em vez disso, enfatiza o que este sistema fará, conforme a visão dos usuários.

 

Limitações do protótipo

 

Para o desenvolvimento do protótipo, decidiu-se implementar um conjunto mínimo de funcionalidades que não comprometessem a sua utilização e a exploração por parte dos usuários. No entanto, algumas funcionalidades ficaram comprometidas devido a problemas técnicos. As principais limitações da VisAr3D são:

1) Janela output: inicialmente, optou-se por utilizar uma segunda janela para o posicionamento do menu e para a exibição das informações solicitadas junto aos diagramas. Esta simplificação contradiz a ideia de utilizar somente uma cena para a apresentação das informações sobre os modelos.

2) Browser: o browser utilizado foi o browser do XJ3D, que não obteve um desempenho muito bom junto a programação em Java. A ideia é pesquisar a possibilidade de mudar o browser, mesmo ainda trabalhando com o XJ3D.

3) Menu: o menu no protótipo fica na janela output, sendo acessado através do teclado.

4) Navegabilidade: o tempo de resposta é grande na navegação dos diagramas. Este problema pode ser solucionado com a alteração do browser, ou com através de uma próxima versão do mesmo. Ao utilizar o browser do XJ3D externamente, sem a programação Java, o seu desempenho fica bem melhor. Portanto, o problema de navegabilidade pode ser relacionado a um erro (bug) com fácil solução.

5) Falta de animações: a VisAr3D, por enquanto não apresenta animações.

6) Simplificação do modelo UML: a falta de direcionamento nos relacionamentos foge um pouco da notação UML. Este problema pode ser rapidamente solucionado após decisões de interface.

 

Contato Lab3D

Cidade Universitária (UFRJ)
Rio de Janeiro - Brasil

Centro de Tecnologia CT
Laboratório de Realidade Virtual
COPPE/UFRJ

Bloco I (subsolo) - sala 044/A

Telefone: 3938-8316

Redes Sociais


Enquete

O que você achou do novo site do Lab3D?