• Nenhum resultado encontrado

Foram definidos nove casos de uso principais para o desenvolvimento do protótipo da ferramenta de apoio ao ensino de Linguagens Livre de Contexto, conforme apresentados na figura 16.

ud Caso de Uso Principais

Name: Caso de Uso Principais Author: Gaspar

Version: 1.0

Created: 13/11/2006 22:09:47 Updated: 14/11/2006 18:09:16

Usuário Visualizar Teoria

Abrir Gramática

Realizar Deriv ações

Realizar Simplificações

Conv eter GLC para FNC Criar Autômato

com Pilha Reconhecer

Sentença pelo PDA Criar Analisador

Preditiv o LL(1) Reconhecer Sentença pelo

LL(1)

Figura 16 – Diagrama de Casos de Usos Principais

6.3.1 Caso de Uso 01 – Visualizar Teoria

• Atores: Usuário

• Propósito: Permitir o usuário visualizar as teorias apresentadas pela ferramenta.

• Fluxo Principal:

1. O usuário escolhe o módulo referente à teoria que deseja visualizar;

2. O sistema abre o respectivo módulo;

3. O usuário clica no botão “Teorias e Exemplos”, figura 25;

4. O sistema apresenta a página com as respectivas teorias do módulo.

6.3.2 Caso de Uso 02 – Abrir Gramática

• Atores: Usuário

• Propósito: Permitir o usuário abrir um arquivo de texto contendo uma gramática ou permitir que o mesmo digite uma gramática, verificar se a gramática está dentro das regras.

• Fluxo Principal:

1. O usuário clica em “Abrir Gramática”, figura 23;

2. O sistema apresenta a tela para abrir o arquivo de texto que contenha a gramática;

3. O usuário seleciona o arquivo e clica em abrir;

4. O sistema abre o arquivo e mostra no campo entrada;

5. O usuário clica em “Verificar Gramática”, figura 23;

6. O sistema verifica se a gramática está digitada conforme as regras de negócio 1 à 7;

7. O sistema apresenta a mensagem de verificação concluída com sucesso;

8. O usuário clica em “Criar Gramática”, figura 23;

9. O sistema cria um objeto com a gramática verificada.

• Fluxos Alternativos:

1. Se o usuário preferir digitar a gramática:

1.1. O usuário digita no campo entrada a gramática;

1.2. Ir para o item 5 do fluxo principal.

7. Se foram encontrados inconformidades na gramática:

7.1. O sistema apresenta uma mensagem de erro contendo as linhas e respectivas inconformidades encontradas;

7.2. O usuário corrige a gramática;

7.3. Voltar ao item 5 do fluxo principal.

6.3.3 Caso de Uso 03 – Realizar Derivações

• Atores: Usuário

• Propósito: Permitir o usuário visualizar a árvore de derivação de uma gramática;

• Fluxo Principal:

1. O usuário clica em Criar Gramática;

2. Executar Caso de Uso 02;

3. O sistema mostra a gramática criada em GLC Base;

4. O sistema apresenta a árvore de derivação da Gramática;

6.3.4 Caso de Uso 04 – Realizar Simplificações

• Atores: Usuário

• Propósito: Permitir o usuário realizar todas as simplificações à gramática automaticamente ou em partes.

• Fluxo Principal:

1. O usuário clica em “Criar Gramática”, figura 24;

2. Executar Caso de Uso 02;

3. O sistema mostra a gramática criada em GLC Base;

4. O usuário define as opções de simplificações que deseja realizar;

5. O usuário clica em executar simplificações;

6. O sistema executa os respectivos algoritmos referentes as simplificações selecionadas pelo usuários;

7. O sistema mostra a gramática simplificada;

8. O sistema habilita os botões “Ver Detalhes”, figura 24, de cada opção de simplificação selecionada pelo usuário;

9. O usuário clica em salvar;

10. O sistema salva a gramática em um arquivo de arquivo;

• Fluxos Alternativos:

9.1. Se o usuário escolher uma das opções de ver os detalhes:

9.1.1. O usuário clica em “Ver Detalhes”;

9.1.2. O sistema mostra os detalhes do respectivo item de simplificação selecionado;

9.1.3. O usuário clica em retornar;

9.1.4. Voltar ao item 9 do fluxo principal.

9.2. Se o usuário escolher converter a gramática simplificada em GLC Base:

9.2.1. O usuário clica em “Converter em GLC Base”, figura 24;

9.2.2. O sistema converte a gramática simplificada na GLC Base;

9.2.3. Voltar ao item 9 do fluxo principal.

9.3. Se o usuário escolher fechar o módulo:

9.3.1. O usuário clica em fechar;

9.3.2. O sistema armazena a gramática base atual no módulo principal do sistema, e fecha o módulo atual;

6.3.5 Caso de Uso 05 – Converter GLC para FNC

• Atores: Usuário

• Propósito: Permitir o usuário converter uma gramática para a Forma Normal de Chomsky.

• Fluxo Principal:

1. O usuário clica em Criar Gramática;

2. Executar Caso de Uso 02;

3. O sistema mostra a gramática criada em GLC Base;

4. O usuário clica em executar conversão;

5. O sistema executa os algoritmos de simplificações de gramática;

6. O sistema executa o respectivo algoritmo referente à conversão de gramáticas para a Forma Normal de Chomsky;

7. O sistema mostra a gramática na Forma Normal de Chomsky;

8. O usuário clica em salvar;

9. O sistema salva a gramática em um arquivo de arquivo;

• Fluxos Alternativos:

4. Se o usuário desmarcar a opção de execução da simplificação antes da conversão:

4.1. O usuário desmarca “simplificar GLC antes de converter”;

4.2. O sistema emite uma mensagem avisando das conseqüências de não simplificar a gramática antes da conversão;

4.3. Voltar ao item 4 do fluxo principal.

6.3.6 Caso de Uso 06 – Criar Autômato com Pilha

• Atores: Usuário

• Propósito: Permitir o usuário abrir um arquivo de texto contendo um autômato com pilha ou permitir que o mesmo digite o autômato, verificar se o autômato está dentro das regras.

• Fluxo Principal:

1. O usuário clica em “Abrir Autômato”, figura 26;

2. O sistema apresenta a tela para abrir o arquivo de texto que contenha o Autômato;

3. O usuário seleciona o arquivo e clica em abrir;

4. O sistema abre o arquivo e mostra no campo entrada;

5. O usuário clica em “Atualizar Dados”, figura 26;

6. O sistema verifica se o Autômato está digitado conforme as regras de negócio 8 e 9;

7. O sistema apresenta a mensagem de verificação concluída com sucesso;

8. O usuário clica em “Criar Autômato com Pilha”, figura 26;

9. O sistema cria um objeto com o autômato verificado.

• Fluxos Alternativos:

1. Se o usuário preferir digitar o autômato:

1.1. O usuário digita no campo entrada o autômato;

1.2. Ir para o item 5 do fluxo principal.

7. Se foram encontrados inconformidades no autômato:

7.1. O sistema apresenta uma mensagem de erro contendo as linhas e respectivas inconformidades encontradas;

7.2. O usuário corrige o autômato;

7.3. Voltar ao item 5 do fluxo principal.

6.3.7 Caso de Uso 07 – Reconhecer Sentença pelo PDA

• Atores: Usuário

• Propósito: Permitir o usuário entrar com uma sentença e realizar o reconhecimento dela pelo autômato criado.

• Fluxo Principal:

1. O usuário digita a sentença;

2. O usuário clica em “Forma de Reconhecimento - completo”, figura 27;

3. O sistema realiza o reconhecimento da sentença, com base no autômato;

4. O sistema apresenta o reconhecimento da sentença;

• Fluxos Alternativos:

2. Se o usuário clicar em reconhecer sentença passo a passo:

2.1. O usuário clica em “Forma de Reconhecimento – passo”, figura 27;

2.2. O sistema realiza o reconhecimento de 1 caractere da sentença, e apresenta o gráfico de transição da próxima sentença;

2.3. Volta para o item 2 do fluxo principal;

4. Se o sistema não reconhecer a sentença:

4.1. O sistema apresenta uma mensagem de que a sentença não é reconhecida pelo autômato atual;

4.2. Volta para o item 1 do fluxo principal;

6.3.8 Caso de Uso 08 – Criar Analisador Preditivo LL(1)

• Atores: Usuário

• Propósito: Permitir o usuário criar um Analisador Preditivo LL(1) a partir de uma gramática;

• Fluxo Principal:

1. O usuário clica em “Criar Gramática”,;

2. Executar Caso de Uso 02;

3. O sistema mostra a gramática criada em GLC Base;

4. O usuário clica em “Criar Analisador LL(1)”;

5. O sistema executa os respectivos algoritmos criando o conjunto first, follow e a tabela de análise preditiva;

6. O sistema mostra os conjuntos e a respectiva tabela criada;

6.3.9 Caso de Uso 09 – Reconhecer Sentença pelo LL(1)

• Atores: Usuário

• Propósito: Permitir o usuário entrar com uma sentença e realizar o reconhecimento dela pelo analisador LL(1).

• Fluxo Principal:

1. O usuário digita a sentença;

2. O usuário clica em Reconhecer Sentença;

3. O sistema realiza o reconhecimento da sentença, com base no analisador LL(1);

4. O sistema apresenta o reconhecimento da sentença;

• Fluxos Alternativos:

4. Se o sistema não reconhecer a sentença:

4.1. O sistema apresenta uma mensagem de que a sentença não é reconhecida pelo analisador atual;

4.2. Volta para o item 1 do fluxo principal;

Documentos relacionados