• Nenhum resultado encontrado

3.2 ESPECIFICAÇÃO

3.2.1 Diagrama de casos de uso

Nessa seção são descritos os principais casos de uso da AduboGL. Por se tratar de uma aplicação voltado à aprendizagem da matéria de computação gráfica a partir da biblioteca OpenGL, encontrou-se apenas um ator que será o próprio usuário do sistema, sendo ele o aluno ou o professor da disciplina. A Figura 5 exibe o diagrama de casos de uso do referido trabalho.

33

Para entender os casos de uso é necessário ter conhecimento das partes que formam a aplicação. A AduboGL é formada por cinco janelas, sendo elas: fábrica que é o local onde

as peças são disponibilizadas para serem colocadas no exercício; bandeja é onde o exercício

é construído; janela de código-fonte da peça selecionada é onde o usuário visualiza o código em C++ das peças conforme são selecionadas; a janela de visualização do exercício 3D é onde o resultado do exercício é exibido; e por fim, visualização 3D com câmera é a visualização da janela de resultado a partir de uma câmera, para visualizar o

exercício em um ângulo diferente.

O UC01 mostra como o ator Usuário cria peças para interagir com o exercício da

AduboGL. O Quadro 13 apresenta os detalhes do caso de uso.

UC01 – Criar peças disponíveis na fábrica para realizar um exercício

Descrição As peças do exercício são aquelas que são colocadas no cenário para gerar posteriormente o código-fonte. Cada peça representa um comando da OpenGL, por exemplo, o desenho de um cubo ou o comando glPushMatrix() glPopMatrix(), ou ainda as transformações escala, rotação e translação (ver seção 2.2.4).

A aplicação possui um espaço para disponibilizar todas essas peças a serem utilizadas pelo usuário, o espaço chama-se fábrica. As peças disponíveis nela ficam armazenadas em uma lista da fábrica. A janela a esquerda é dividida em duas partes: fábrica (exibe peças para serem criadas) e bandeja (apresenta as peças já criadas, colocadas e encaixadas). As partes são separadas por uma linha horizontal;

Cenário Principal

1.O Usuário inicia a AduboGL;

2.O Usuário clica com o mouse em uma peça da fábrica e arrasta para qualquer parte do exercício mantendo o botão do mouse pressionado;

3.A aplicação irá criar uma peça idêntica a clicada.

Pós-Condição A peça criada é armazenada na aplicação em uma lista de peças da bandeja para que o usuário possa realizar os demais movimentos com a mesma. O usuário poderá visualizar a peça conforme o cursor do mouse é movimentado. A peça deve acompanhar o cursor.

Quadro 13 – Detalhamento do caso de uso UC01

Já o UC02 mostra como o ator Usuário coloca uma das peças já criadas no ambiente do exercício. O Quadro 14 apresenta os detalhes do caso de uso.

34

UC02 – Colocar a peça criada no ambiente do exercício, sobre a bandeja

Descrição Após a criação da peça, ela deve ser colocada na bandeja para que o exercício possa ser iniciado, assim como a aprendizagem da OpenGL e a geração do código-fonte.

A bandeja é o local que armazena as peças já criadas que irão compor o exercício.

A peça que representa os comandos glPushMatrix() glPopMatrix() poderá receber peças internamente, chamadas de peças filhas. Essas peças filhas representam os comandos que são circundados pelo comando glPushMatrix()e glPopMatrix().

Pré-Condição UC01 Cenário

Principal

1. O Usuário deve soltar o botão do mouse para soltar a peça criada em qualquer local da bandeja;

2. A aplicação colocará a peça abaixo da última já posicionada, caso for a primeira peça, colocará no topo da bandeja.

Cenário Alternativo 1

1. Se no passo 1 do cenário principal o Usuário soltar a peça dentro da fábrica, a peça será removida da bandeja e da lista de peças da bandeja.

Cenário Alternativo 2

1. No passo 1 do cenário principal o Usuário pode soltar a peça ao lado de outra peça;

2. A aplicação verificará se a peça que está ao lado da nova permite ter peças filhas;

3. Se permitir, irá adicionar a peça como filha dela em uma lista de peças filhas e mostrará a mesma encaixada na peça solta;

4. Se a peça já tiver peças filhas, encaixará a nova peça a cima ou abaixo da atual filha, conforme for posicionada na bandeja;

5. Se não permitir apagará a peça criada.

Pós-Condição O Usuário deve poder visualizar a peça criada no exercício. Essa peça corresponde a um dos comandos principais da OpenGL que formarão o código- fonte posterior.

Quadro 14 – Detalhamento do caso de uso UC02

Ainda, o UC03 mostra como o ator Usuário pode alterar as propriedades dos

comandos da OpenGL. Esses comandos são os representados pelas peças já colocadas na bandeja. O Quadro 15 apresenta os detalhes do caso de uso.

O UC04 mostra como o ator Usuário pode movimentar e alterar a posição das peças já

35

UC03 – Alterar propriedades dos comandos da OpenGL

Descrição Alguns comandos da OpenGL possuem parâmetros, como o cubo que possui sua cor e as transformações translação, escala e rotação que possuem os valores de x, y e z a serem transformados. Ao colocar uma peça que representa esses comandos, o Usuário pode alterar suas propriedades.

Pré-Condição UC02 Cenário

Principal

1. Se colocar uma peça que representa o cubo, o Usuário pode alterar sua cor pressionando a tecla “R” para colori-lo de vermelho, “G” para colori-lo de verde ou “B” para colori-lo de azul;

2. Se o Usuário colocar uma peça que represente as transformações ele poderá alterar os valores de x, y e z utilizando as teclas numéricas 1 e 2 para diminuir e aumentar o valor de x, ou 3 e 4 para diminuir e aumentar o valor de y, ou ainda 5 e 6 para diminuir e aumentar o valor de z.

Cenário Alternativo

1. Se a peça já estiver colocada e o Usuário desejar alterar suas propriedades, ele deve clicar sobre a peça e então realizar os passos do cenário principal. Exceção 1. Se o Usuário desejar alterar as propriedades de uma peça filha já

posicionada não conseguirá, pois não é possível selecionar a peça filha após ter clicado em outra.

Pós-Condição Quando for um cubo o Usuário visualizará sua nova cor sobre a própria peça. Quando for uma peça de transformação, o Usuário visualizará o valor alterado na janela de código-fonte, nas posições respectivas de x, y e z.

Quadro 15 – Detalhamento do caso de uso UC03 UC04 – Mexer e alterar a posição das peças já criadas e colocadas na bandeja

Descrição Depois de posicionar a peça no exercício, o Usuáriopode trocá-la de posição, colocando-a em cima, embaixo ou entre uma já colocada.

Pré-Condição UC02 Cenário

Principal

1. O Usuáriodeve clicar e manter pressionado o botão do mouse sobre a peça a ser alterada de lugar;

2. A peça irá se mover na tela conforme o cursor do mouse se movimentar; 3. Quando a peça estiver posicionada ao lado da peça que deseja ser encaixada,

o Usuáriodeve soltar o botão do mouse;

4. A aplicação realizará comparações para verificar a posição em que a peça será encaixada, coloca-a no lugar, desloca as demais peças para baixo e atualiza o índice de todas.

Cenário Alternativo

1. Se no item 3 do cenário principal o Usuário soltar a peça na área da fábrica, a peça será removida e apagada do exercício.

Exceção 1. Se o Usuário tentar mover uma peça filha não conseguirá, pois não é permitido.

Pós-Condição O Usuáriodeve visualizar a peça movida em seu novo lugar e as demais peças deslocadas para baixo.

Quadro 16 – Detalhamento do caso de uso UC04

O UC05 mostra como o ator Usuário pode visualizar o código-fonte de uma peça

selecionada, sendo da fábrica ou da bandeja. O Quadro 17 apresenta os detalhes do caso de uso.

36

UC05 – Visualizar código da peça conforme peça selecionada

Descrição Ao clicar sobre uma peça o Usuário pode visualizar o código-fonte em C++

com OpenGL resultante da montagem da mesma. O Usuário visualizará o código-fonte na janela código-fonte da peça selecionada.

Pré-Condição Nenhuma Cenário

Principal

1. O Usuáriodeve clicar sobre uma peça, sendo da fábrica ou da bandeja; 2. A aplicação exibirá na janela de código-fonte da peça selecionada o

código correspondente a peça (se for da fábrica a peça estará com suas inicializações zeradas, se for da bandeja será exibido o código conforme a montagem e sua configuração no exercício).

Cenário alternativo

1. Se o Usuário clicar sobre uma peça que representa os comandos glPushMatrix() glPopMatrix() e dentro da peça tiver peças filhas, será exibido o código com as configurações de cada uma das peças filhas empilhadas.

Pós-Condição O Usuário deve poder visualizar o código-fonte a partir de um arquivo com extensão cpp. A partir deste arquivo o Usuário pode entender como funciona algumas diretivas e comandos do OpenGL e pode executá-lo em um novo projeto.

Quadro 17 – Detalhamento do caso de uso UC05

O UC06 mostra como o ator Usuário pode salvar o exercício conforme as peças

colocadas na bandeja. O Quadro 18 apresenta os detalhes do caso de uso.

UC06 – Salvar o exercício

Descrição Após disponibilizar as peças sobre a bandeja, o Usuário pode salvar o exercício montado para abri-lo posteriormente ou para visualizá-lo na cena em 3D. Pré-Condição UC02

Cenário Principal

1. O Usuário deve clicar com o botão direito dentro da bandeja; 2. A aplicação mostrará um menu;

3. O Usuário deve clicar na opção “Gravar exercício”;

4. A operação irá gerar um arquivo texto no diretório do projeto com o nome “Exercicio.txt” com todas as configurações das peças colocadas na bandeja e na mesma ordem. Caso o arquivo já exista, o mesmo é sobreposto.

Pós-Condição O Usuário deve poder visualizar o arquivo gerado na pasta do projeto com o nome de “Exercicio.txt”. E na janela Visualização do exercício 3D deve aparecer a cena em 3D correspondente ao exercício gravado.

Quadro 18 – Detalhamento do caso de uso UC06

O UC07 mostra como o ator Usuário pode abrir o exercício já salvo em um arquivo

texto. O Quadro 19 apresenta os detalhes do caso de uso.

UC07 – Abrir o exercício salvo

Descrição Após salvar um arquivo com a disposição das peças o Usuário pode abri-lo novamente, mesmo tendo fechado a aplicação.

Pré-Condição UC06 Cenário

Principal

1. O Usuáriodeve clicar com o botão direito dentro da bandeja; 2. A aplicação mostrará um menu;

3. O Usuáriodeve clicar na opção “Abrir exercício”;

4. A aplicação carregará as peças na bandeja na mesma ordem e com as mesmas configurações conforme foram gravadas no arquivo.

Pós-Condição O Usuário deve visualizar as peças carregadas na bandeja, conforme foram salvas, assim como o exercício em 3D. Deve também poder alterar o exercício como é explicado nos casos de uso anteriores.

37

Por fim, o UC08 mostra como o ator Usuário pode visualizar a cena em 3D gerada

pelas peças do exercício. O Quadro 20 apresenta os detalhes do caso de uso.

UC08 – Visualizar cena 3D

Descrição Após salvar um arquivo com a disposição das peças o Usuáriopode visualizá- lo na janela de visualização do exercício 3D.

Pré-Condição UC06 Cenário

Principal

1. O Usuário deve abrir o arquivo exercício, caso não esteja visualizando o cenário em 3D;

2. Na janela Visualização 3D com câmera é exibida a cena 3D correspondente as peças montadas a partir de um frustum de visão.

Pós-Condição O Usuário deve visualizar o cenário 3D conforme as peças gravadas no arquivo. E na janela Visualização do exercício 3D aparece a cena vista de frente.

Quadro 20 – Detalhamento do caso de uso UC08

Documentos relacionados