iVProg Classes: Requisitos
igor edited this page 2 years ago

1. Introdução

iVProg Classes é uma plataforma na nuvem para a criação, compartilhamento e resolução de projetos iVProg, de maneira fácil e rápida.

2. Principais recursos

  • Gerenciamento de usuários
  • Gerenciamento de projetos iVProg
  • Gerenciamento de diretórios (folders)
  • Gerenciamento de respostas submetidas
  • Registro de eventos (logs)

2.1. Gerenciamento de usuários

Para o gerenciamento de usuários, o iVProg Classes implementará os seguintes recursos:

  • cadastro
  • alteração
  • exclusão
  • login
  • recuperação de senha

Os dados necessários para cadastro dos usuários serão os seguintes:

  • nome
  • email
  • senha
  • data e hora de cadastro
  • data e hora da última alteração

2.2. Gerenciamento de projetos iVProg

Para o gerenciamento dos projetos iVProg, o iVProg Classes implementará os seguintes recursos:

  • criação
  • alteração
  • exclusão
  • compartilhamento

Os dados necessários para cada projeto serão os seguintes:

  • título
  • descrição
  • tipo (exercício ou teste), veja o tópico 2.2.1.
  • compartilhamento (nenhum, incorporação ou completo), veja no tópico 2.2.2.
  • conteúdo ivprog
  • sequencia (ordem do projeto no conjunto - permite que o usuário organize a sequência que quiser)
  • data e hora da criação
  • data e hora da última alteração

2.2.1. Tipos de projeto

Os projetos iVProg poderão ser de diferentes tipos:

  • Exercício: o usuário criador terá acesso às informações dos usuários que resolverem o exercício, como nome, e-mail, solução e porcentagem de acerto. Além disso, para esse tipo de projeto, a área de autoria de atividades será habilitada.
  • Teste: o usuário criador se limitará a explorar a ferramenta, criando seu algoritmo, seja visual ou textual.

2.2.1. Tipos de compartilhamento

Todos os projetos poderão ser compartilhados por meio de uma URL pública. Esse compartilhamento pode ser configurado de três maneiras diferentes:

  • Nenhum: o projeto é privado.
  • Incorporação: ideal para iFrame, onde o único conteúdo apresentado na página é o iVProg com o algoritmo criado pelo usuário.
  • Completo: ideal para compartilhar a página completa do iVProg. Nesse compartilhamento, o conteúdo continua sendo o iVProg com o conteúdo criado pelo usuário. Porém, a página terá alguma imagem ou cor de fundo, para ser mais amigável.

2.3. Gerenciamento de diretórios (folders)

O objetivo da inclusão do recurso "diretório" é permitir que o usuário organize os projetos, agrupando-os. Por exemplo: ao criar projetos/exercícios para uma turma X, o usuário pode criar o diretório turma_x, a fim de agrupar esses itens.

Os dados necessários para o registro dos diretórios são:

  • nome do diretório
  • cor do diretório

Para o gerenciamento dos diretórios, as seguintes funções serão implementadas:

  • adicionar
  • alterar
  • excluir
  • listar

2.4. Gerenciamento de respostas submetidas

Para os projetos que são do tipo exercício e que são compartilhados, respostas poderão ser submetidas pelos usuários. Para cada resposta, os seguintes dados serão registrados:

  • usuário associado à resposta
  • conteúdo iVProg da resposta
  • porcentagem de acerto
  • data e hora da submissão

Os usuários que submeteram respostas a exercícios poderão visualizar todas as suas submissões em sua área privada.

2.5. Registro de eventos (logs)

Todas os eventos produzidos pelas interações do usuário com a plataforma e com o conteúdo produzirão registros de log. Para cada registro, serão gravadas as seguintes informações:

  • usuário associado
  • tipo de evento (ver tabela abaixo)
  • data e hora da ocorrência
  • contexto (projeto, geral, usuário ...)
  • endereço IP
  • descrição (informar, por exemplo, o dado anterior e o novo, para os casos de atualização)

Uma lista inicial com alguns dos eventos que serão registrados podem ser encontrados na tabela abaixo.

Tipo de Evento Descrição
USER_ADD Cadastro de usuário
USER_UPDATE Alteração de usuário
USER_LOGIN Entrada do usuário
USER_LOGOFF Saída do usuário
USER_DELETE Exclusão do usuário
USER_PASSWORD_ASK Solicitação de registro de nova senha
USER_PASSWORD_NEW Registro de nova senha
PROJECT_ADD Criação de novo projeto
PROJECT_UPDATE Alteração de projeto
PROJECT_DELETE Exclusão de projeto
PROJECT_SHARE Alteração no compartilhamento do projeto
FOLDER_ADD Criação de um novo diretório
FOLDER_UPDATE Alteração de diretório
FOLDER_DELETE Exclusão de diretório
ANSWER_ADD Registro de uma nova resposta a um projeto/exercício
ANSWER_OPEN Visualização de um exercício iVProg