5W2H


What


  • 1. Qual o nome do seu projeto?
  • 2. Qual o objetivo deste projeto?
    • O objetivo do projeto é auxiliar professores e instrutores a aplicarem simulados de exames e provas a seus alunos a partir de uma plataforma online e acompanharem o resultado de cada um de maneira mais fácil e rápida. Tudo isso, sem que o professor tenha custos altos ou até mesmo custo nenhum.
  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
    • Manter a conexão instantânea de notificações de alunos que realizaram o simulado e seus resultados;
    • Escalar o banco de dados para armazenar questões de simulados e permitir que diferentes professores compartilhem de mesmas questões e/ou provas inteiras;
  • 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
    • Entender como se dá a aplicação de simulados;
    • Tecnologias de desenvolvimento web (HTML5, CSS3, JavaScript, Frameworks, etc);
    • APIs;
    • Cloud hosting;
    • Configuração de domínio e DNS;
    • Tecnologias de Banco de Dados (NoSQL, SQL, etc) e Bancos de Dados existentes (MySQL, PostgreSQL, MongoDB, etc);
    • Administração de servidores.
  • 5. Quais soluções similares existem no mercado?


Why


  • 1. Porque é interessante desenvolver este projeto?
    • Existem poucas soluções com o mesmo propósito;
    • As soluções existentes cobram caro e são inviáveis para professores/cursos com pequenas turmas.
  • 2. Porque deve usar a tecnologia escolhida?
    • A tecnologia escolhida é:
      • básica e essencial para o desenvolvimento web, ou seja, não é possivel utilizar outra;
      • não essencial, mas de grande potencial, inovadora e de boa escalabidade;
  • 3. Porque usar o hardware específico?
  • 4. Porque usar o sistema específico?
    • A plataforma web é a mais fácil de se disseminar o projeto, visto que todos os dispositivos que se conectam à internet e tenham acesso a um navegador são capazes de abrir páginas web;


Who


  • 1. Quem pode se beneficiar deste projeto?
    • Professores e instrutores;
    • Administradores de cursos/escolas;
    • Responsáveis por correção e análise de provas dos alunos;
  • 2. Quem poderá operar o sistema?
    • Qualquer usuário interessado em aplicar simulados, utilizando funções para este fim, aqui referidos sempre como professores;
    • Alunos, utilizando funções para receber simulados e realizá-los;
    • Administradores do sistema, com privilégio de uso de qualquer função;
  • 3. Quem deverá participar do desenvolvimento do sistema?
    • Desenvolvedores back-end (lado do servidor/codificação) para web;
    • Desenvolvedores front-end (lado do browser/interface gráfica) para web;
    • Administradores de banco de dados;
    • Administradores de servidor;


Where


  • 1. Onde os dados serão inseridos?
    • A plataforma iniciará com uma parte dos dados já inserida no banco de dados, com provas e questões públicas e pré-disponíveis para uso, e a cooperação posterior dos usuários será inserida através do próprio site.
  • 2. Onde os dados serão externalizados, publicados?
    • Os dados serão exibidos na plataforma em questão a partir da devida permissão de cada tipo de usuário (exibições diferentes para alunos, professores e administradores).
  • 3. Onde esta aplicação poderá ser usada?
    • Em qualquer navegador disponível para o público.
  • 4. Onde os dados serão armazenadas?
    • Em um banco de dados preparado exclusivamente para uso do software.
  • 5. Onde o software deverá ser hospedado?
    • Em um servidor cloud.


When


  • 1. Em quanto tempo pretende desenvolver o sistema?
    • No cronograma inicial a previsão de conclusão do protótipo do projeto é de cerca de 4 meses.
  • 2. Quais serão as fases e em quanto tempo cada uma?
    • Pesquisa -> 3 semanas
    • Classificar questões -> 4 semanas
    • Criar a interface gráfica -> 4 semanas
    • Desenvolver a programação do site -> 4 semanas
  • 3. Qual o tempo de resposta do dispositivo ou do sistema?
    • Na ordem de segundos.
  • 4. Quanto tempo para responder a uma entrada?
    • Na ordem de segundos.
  • 5. Quanto tempo para gerar a saída?
    • Na ordem de segundos.


How


  • 1. Como será dividido o desenvolvimento do sistema?
    • Estudos de armazenamentos em bancos de dados;
    • Buscar questões/provas;
    • Classificar as questões/provas;
    • Desenvolver o código fonte;
    • Desenvolver a interface gráfica;
    • Configurar hospedagem e domínio;
    • Realizar o deploy, ou seja, colocar o site no ar;
  • 2. Como será feita a entrada de dados?
    • Através da conta do usuário autenticado com privilégios de docente ou de administrador, pois ambos podem anexar questões/provas ao sistema. Além disso, através de usuários com privilégios de aluno, para inserir a resolução de seus simulados.
  • 3. Como será feita a saída de dados?
    • Através da saída das questões/provas e dos resultados para o usuário em questão.
  • 4. Descreva as funcionalidades?
    • Funcionalidades aplicadas a todos:
      • Autenticar usuários pelo cadastro ou login social;
      • Pesquisar questões/provas;
      • Selecionar a categoria da questão/prova;
      • Avaliar dificuldade da questão/prova;
      • Ter acesso, quando permitido, ao gabarito da prova em questão.
      • Notificações instantâneas na plataforma;
      • Notificações por e-mail;
    • Funcionalidades aplicadas ao aluno:
      • Resolver questões/provas;
      • Visualizar relatórios de desempenho;
    • Funcionalidades aplicadas ao docente:
      • CRUD questões/provas pertencentes a ele;
      • Tornas questões/provas públicas;
      • Comercializar simulados;
      • Criar grupos, internos ao site, de modo que ele possa enviar ou aplicar uma questão/prova para uma turma inteira;
      • Inserir os alunos no grupo criado por ele;
      • Visualizar relatórios de desempenho dos alunos da turma;
    • Funcionalidades aplicadas ao administrador;
      • Todas as anteriores e, referente a dados de qualquer usuário, também:
        • CRUD usuários;
        • CRUD patrocinadores;
        • CRUD questões/provas;

How much


  • 1. Quanto custa cada parte do sistema?
    • Estima-se que o custo do sistema será, majoritariamente, com os operadores que vão desenvolvê-lo, já que o sistema em questão é um site. Além disso, existirá o custo com a hospedagem cloud do mesmo em um servidor, que é um custo mensal que gira em torno de R$250,00 e o custo com o domínio do site, que é um custo anual de R$30,00.
  • 2. Quanto deverá custar todo o sistema?
    • O custo total do sistema ficará em torno de R$85.000,00, uma estimativa para o salário médio da equipe durante os 4 meses + custos de domínio e hospedagem + margem de erro para possíveis necessidades técnicas.
  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • 1 programador com domínio em interface gráfica;
    • 1 programador com domínio em banco de dados;
    • 1 programador com domínio em servidor;
    • 1 programador com experiencia em desenvolvimento de websites;
  • 4. Quanto custa cada profissional?
    • 1 programador com domínio em interface gráfica R$5.000,00;
    • 1 programador com domínio em banco de dados R$5.000,00;
    • 1 programador com domínio em servidor R$5.000,00;
    • 1 programador com experiencia em desenvolvimento de websites R$5.000,00;
  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • O site não será vendido ao usuário, será disponibilizado de maneira gratuita, arrecadando fundos com marketing/patrocínio ou, caso o professor deseje, pela opção de cobrar por simulados, onde a plataforma receberá uma porcentagem do valor cobrado.


Modelo Estruturado

DFD

  • Processso
  • Depósitos
  • Fluxos

Arquivo:DFD SIMULADOR.pdf

DER

  • Entidades
  • Relacionamentos
  • Chaves
  • Domínios

Arquivo:DER SIMULADOR.pdf

DD

Nome Arquivo: DD-Simulador de Provas

No banco de dados: Todas as tabelas tem um campo ID que serve como identificador do registro e primary key.

  • Usuários
    • Nome: nome completo do usuário.
    • Email: email pessoal do usuário.
    • Senha: senha criada pelo usuário para autenticação.
    • Instituição: relação one-to-one com a tabela Instituições, mostrando a instituição de formação do usuário.
    • Formação: grau de formação do usuário.
    • Categoria: relação one-to-one com a tabela Categorias, informando qual a categoria do usuário.
  • Categorias
    • Nome: nome da categoria, onde pelo menos três já vêm criadas: Aluno, Professor, Admin.
  • Instituições
    • Nome: nome da instituição de ensino.
  • Questões
    • Enunciado: conteúdo da pergunta ou comando da questão.
    • Alternativas: uma relação one-to-many com a tabela Alternativas, onde as alternativas de resposta podem ser selecionadas.
    • Criado Por: relação one-to-one com a tabela Usuários, indicando quem criou esse registro.
    • Pública: um campo verdadeiro ou falso para indicar se esta questão pode ser vista ou utilizada por outros professores além daquele que a criou.
    • Dificuldade: a dificuldade da questão, que deve ser avaliada em um número de 0 a 10.
  • Alternativas
    • Texto: texto da alternativa da questão.
  • Gabaritos
    • Questão: relação one-to-one com a tabela Questões, indicando qual questão receberá a resposta.
    • Alternativa Correta: relação one-to-one com a tabela Alternativas, indicando qual alternativa é a resposta para a questão selecionada.
  • Simulados
    • Questões: relação one-to-many com a tabela Questões, selecionando as questões que serão aplicadas neste simulado.
    • Criado Por: relação one-to-one com a tabela Usuários, indicando quem criou esse registro.
    • Público: um campo verdadeiro ou falso para indicar se este simulado pode ser visto ou utilizado por outros professores além daquele que a criou.
    • Preço: um campo que receberá o valor de venda do simulado, caso o professor decida comercializá-lo.
  • Resultados
    • Aluno: relação one-to-one com a tabela Usuários, mostrando o aluno que obteve o referido resultado.
    • Nota: nota obtida pelo aluno.
  • Turmas
    • Nome: nome da turma para identificação.
    • Alunos: relação one-to-many com a tabela Usuários, para adicionar alunos à turma.
  • Patrocinadores
    • Nome: nome do patrocinador.
    • Descrição: descrição do patrocinador.
    • Adicionado Por: relação one-to-one com a tabela Usuários, indicando quem adicionou o patrocinador.


Modelo OO

Diagrama de Classes

Diagrama de Estado

Diagrama de Casos de Uso

Diagrama de Sequência

Diagrama de Objetos

Diagrama de Colaboração

Diagrama de Interfaces

Diagrama de Atividades

Diagrama de Componentes

Diagrama de Pacotes

Protótipo

  • Objetivo
  • Recursos utilizados
  • Funcionamento
  • Detalhamento (Imagens, vídeos, ...)
  • Resultados obtidos

Pesquisador