Otávio (discussão | contribs)
 
(18 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 10: Linha 10:
**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.
**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?
* 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;
**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;
**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?
* 4.  Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
Linha 18: Linha 18:
**Cloud hosting;
**Cloud hosting;
**Configuração de domínio e DNS;
**Configuração de domínio e DNS;
**Tecnologias de Banco de Dados (NoSQL, SQL, etc) e Bancos de Dados existentes (MySQL, PostgreSQL, MongoDB, etc).
**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?
* 5.  Quais soluções similares existem no mercado?
**Fábrica de Provas (http://www.fabricadeprovas.com.br/)
**Fábrica de Provas (http://www.fabricadeprovas.com.br/)
Linha 33: Linha 34:
* 2. Porque deve usar a tecnologia escolhida?
* 2. Porque deve usar a tecnologia escolhida?
** A tecnologia escolhida é:
** A tecnologia escolhida é:
**básica e essencial para o desenvolvimento web, ou seja, não é possivel utilizar outra;
*** 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;
*** não essencial, mas de grande potencial, inovadora e de boa escalabidade;
* 3. Porque usar o hardware específico?
* 3. Porque usar o hardware específico?
**  
**  
* 4. Porque usar o sistema 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 são capazes de abrir páginas web;
**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;
<br>
<br>


Linha 49: Linha 50:
**Responsáveis por correção e análise de provas dos alunos;
**Responsáveis por correção e análise de provas dos alunos;
* 2. Quem poderá operar o sistema?
* 2. Quem poderá operar o sistema?
**Qualquer usuário interessado em aplicar simulados, utilizando funções para este fim;
**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;
**Alunos, utilizando funções para receber simulados e realizá-los;
**Administradores do sistema, com privilégio de uso de qualquer função;
**Administradores do sistema, com privilégio de uso de qualquer função;
* 3. Quem deverá participar do desenvolvimento do sistema?  
* 3. Quem deverá participar do desenvolvimento do sistema?  
**Desenvolvedores back-end (lado do servidor) para web;
**Desenvolvedores back-end (lado do servidor/codificação) para web;
**Desenvolvedores front-end (lado do browser) para web;
**Desenvolvedores front-end (lado do browser/interface gráfica) para web;
**Administradores de banco de dados;
**Administradores de banco de dados;
**Administradores de servidor;
   
   
<br>
<br>
Linha 63: Linha 65:


* 1. Onde os dados serão inseridos?  
* 1. Onde os dados serão inseridos?  
**Ele iniciará com uma parte parcial dos dados já em seu banco de dados e a cooperação posterior dos usuários será inserida através do próprio site.
** 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?
* 2. Onde os dados serão externalizados, publicados?
** No site em questão.
** 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?  
* 3. Onde esta aplicação poderá ser usada?
** Em qualquer navegador disponível para o público.
** Em qualquer navegador disponível para o público.
* 4. Onde os dados serão armazenadas?  
* 4. Onde os dados serão armazenadas?  
** Em um banco de dados desenvolvido exclusivamente para uso do software.
** Em um banco de dados preparado exclusivamente para uso do software.
* 5. Onde o software deverá ser hospedado?  
* 5. Onde o software deverá ser hospedado?  
** Em um servidor.
** Em um servidor cloud.
<br>
<br>


Linha 78: Linha 80:


* 1. Em quanto tempo pretende desenvolver o sistema?  
* 1. Em quanto tempo pretende desenvolver o sistema?  
** No nosso cronograma inicial planejamos concluir o protótipo do projeto em cerca de 4 meses.
** 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?  
* 2. Quais serão as fases e em quanto tempo cada uma?  
** Pesquisa -> 3 semana
** Pesquisa -> 3 semanas
**Classificar questões -> 1 semana
**Classificar questões -> 4 semanas
**Criar a interface gráfica -> 1 semana
**Criar a interface gráfica -> 4 semanas
**Desenvolver a programação do site -> 2 semanas
**Desenvolver a programação do site -> 4 semanas
* 3. Qual o tempo de resposta do dispositivo ou do sistema?
* 3. Qual o tempo de resposta do dispositivo ou do sistema?
** Na ordem de segundos.
** Na ordem de segundos.
Linha 101: Linha 103:
**Desenvolver o código fonte;
**Desenvolver o código fonte;
**Desenvolver a interface gráfica;
**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?  
* 2. Como será feita a entrada de dados?  
** Através do login e senha do usuário com privilégios de docente e do administrador, pois ambos podem anexar questões/provas ao sistema.
** 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?  
* 3. Como será feita a saída de dados?  
** Através da saída das questões/provas e das notas para o usuário em questão.
** Através da saída das questões/provas e dos resultados para o usuário em questão.
* 4. Descreva as funcionalidades?  
* 4. Descreva as funcionalidades?  
** Funcionalidades aplicadas a todos:
**Funcionalidades aplicadas a todos:
** Autenticar usuários;
*** Autenticar usuários pelo cadastro ou login social;
** Pesquisar questões/provas;
*** Pesquisar questões/provas;
** Selecionar a categoria da questão/prova;
*** Selecionar a categoria da questão/prova;
** Avaliar dificuldade da questão/prova em questão;
*** Avaliar dificuldade da questão/prova;
** Ter acesso, quando permitido, ao gabarito da prova em questão.
*** 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:
**Funcionalidades aplicadas ao docente:
** Inserir questões/provas;
*** CRUD questões/provas pertencentes a ele;
** Criar grupos, internos ao site, de modo que ele possa enviar ou aplicar uma questão/prova para uma turma inteira;
*** Tornas questões/provas públicas;
** Inserir os alunos no grupo criado por ele;
*** 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;
**Funcionalidades aplicadas ao administrador;
** Excluir usuários;
*** Todas as anteriores e, referente a dados de qualquer usuário, também:
** Alterar usuários;
**** CRUD usuários;  
** Adicionar patrocinador;  
**** CRUD patrocinadores;  
** Alterar patrocinador;
**** CRUD questões/provas;
** Excluir patrocinador;  
** Excluir questões/provas;
** Alterar questões/provas;


** <br>
** <br>
Linha 133: Linha 140:


* 1. Quanto custa cada parte do sistema?
* 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?  
* 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) ?  
* 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?
* 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)?   
* 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.
<br>
<br>


Linha 152: Linha 165:
* Depósitos
* Depósitos
* Fluxos
* Fluxos
[[Arquivo:DFD_SIMULADOR.pdf]]


== DER ==
== DER ==
Linha 159: Linha 173:
* Chaves
* Chaves
* Domínios
* Domínios
[[Arquivo:DER_SIMULADOR.pdf]]
<br>


== DD ==
== DD ==


* Descritivos de cada item
[[Arquivo:DD_SIMULADOR.odt]]
** Significado
 
** Conteúdo (Dados compostos)
** Restrições de integridade
** Chave primária (Depósitos de Dados)
<br>
<br>


Linha 172: Linha 185:


== Diagrama de Classes ==
== Diagrama de Classes ==
[[Arquivo:DC_SIMULADOR.pdf]]


== Diagrama de  Estado ==
== Diagrama de  Estado ==
[[Arquivo:DE_SIMULADOR.pdf]]


== Diagrama de  Casos de Uso ==
== Diagrama de  Casos de Uso ==


== Diagrama de Sequência ==
[[Arquivo:DCU_SIMULADOR.pdf]]
 
== Diagrama de Objetos ==
 
== Diagrama de Colaboração ==
 
== Diagrama de  Interfaces ==
 
== Diagrama de Atividades ==
 
== Diagrama de Componentes ==


== Diagrama de Pacotes ==
[[Arquivo:DETALHAMENTO_SIMULADOR.pdf]]


= Protótipo =
= Protótipo =

Edição atual tal como às 02h15min de 4 de dezembro de 2015

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

Arquivo:DD SIMULADOR.odt


Modelo OO

Diagrama de Classes

Arquivo:DC SIMULADOR.pdf

Diagrama de Estado

Arquivo:DE SIMULADOR.pdf

Diagrama de Casos de Uso

Arquivo:DCU SIMULADOR.pdf

Arquivo:DETALHAMENTO SIMULADOR.pdf

Protótipo

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

Pesquisador