Alinepaiva (discussão | contribs)
Criou página com '= 5W2H = * Pesquisa de projetos anteriores: ** Sugestão: Ler o escopo dos projetos para entender o objetivo de cada um ** http://www.sourceinnovation.com.br/wiki/Modelo_Es...'
 
Alinepaiva (discussão | contribs)
Sem resumo de edição
 
(116 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= 5W2H =
= Escopo =  


* O Projeto visa na criação de um aplicativo para dispositivo móvel onde os universitários UFU que dominam tais conteúdos, conseguem prover aulas particulares aos  alunos interessados que tenham dificuldades nas matérias. O aluno-professor irá criar seu próprio perfil descrevendo as matérias que dominam e estipulando um valor final da aula, também como o aluno poderá acessar os perfis a procura de um aluno-professor que esteja precisando de aulas para ajudar na disciplina.


 
<br>
* Pesquisa de projetos anteriores:
= 5W2H =
** Sugestão: Ler o escopo dos projetos para entender o objetivo de cada um
<br>
** http://www.sourceinnovation.com.br/wiki/Modelo_Estruturado
 


== What ==
== What ==
 
<br>
# Qual o nome do seu projeto?
* 1.  Qual o nome do seu projeto?
# Qual o objetivo deste projeto?
** Aulas Particulares - UFU
# Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
* 2.  Qual o objetivo deste projeto?
# Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
** Alunos da UFU que dominam tais matérias darem aulas particulares aos alunos interessados que tenham dificuldades nas matérias, estabelecendo um preço acessível.
# Quais soluções similares existem no mercado?
* 3.  Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
** Escolher as tecnologias adequadas.
** Aceitação do público alvo.
* 4.  Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
** Desenvolvimento de sistemas / aplicativos móveis.
* 5.  Quais soluções similares existem no mercado?
**EasyClasses / Eduqi / AulaUP.
<br>
<br>


== Why ==
== Why ==
# Porque é interessante desenvolver este projeto?
# Porque deve usar a tecnologia escolhida?
# Porque usar o hardware específico?
# Porque usar o sistema específico?
<br>
<br>


* 1. Porque é interessante desenvolver este projeto?
** Pelo fato de que a maioria dos  alunos na UFU tem muita dificuldade em determinadas matérias como por exemplo cálculos.
* 2. Porque deve usar a tecnologia escolhida?
** Por ser um meio de comunicação rápida e prática de fácil manuseio, onde aluno-professor e aluno irá intervir.
* 3. Porque usar o hardware específico?
** Uma das principais necessidades da aplicação é a mobilidade, e por isso é indispensável o uso da plataforma móvel.
* 4. Porque usar o sistema específico?
** Por muitos usuários já estarem familiarizados com o sistema, deixando assim uma interface mais amigável.
== Who ==
== Who ==
<br>


# Quem pode se beneficiar deste projeto?  
* 1. Quem pode se beneficiar deste projeto?  
# Quem poderá operar o sistema?
** Todos os universitários da UFU que estiverem com dificuldades nas matérias de qualquer curso.
# Quem deverá participar do desenvolvimento do sistema?  
* 2. Quem poderá operar o sistema?
** Responsabilidade de operação única e exclusivamente dos alunos da UFU cadastrados.
* 3. Quem deverá participar do desenvolvimento do sistema?  
** Desenvolvedor de aplicativo móvel / gestor de projetos / analista de requisitos.
<br>
<br>


== Where ==
== Where ==
<br>


# Onde os dados serão inseridos?  
* 1. Onde os dados serão inseridos?  
# Onde os dados serão externalizados, publicados?
** Os dados serão inseridos através de uma aplicação móvel manuseada pelo usuário.
# Onde esta aplicação poderá ser usada?  
* 2. Onde os dados serão externalizados, publicados?
# Onde os dados serão armazenadas?  
** Serão externalizados numa nuvem de internet.
# Onde o software deverá ser hospedado?  
* 3. Onde esta aplicação poderá ser usada?  
** Na UFU pelos alunos interessados.
* 4. Onde os dados serão armazenadas?  
** O armazenamento dos dados será feito em um banco de dados do servidor em nuvem.
* 5. Onde o software deverá ser hospedado?  
** Em um servidor na nuvem.
<br>
<br>


== When ==
== When ==
<br>


# Em quanto tempo pretende desenvolver o sistema?  
* 1. Em quanto tempo pretende desenvolver o sistema?  
# Quais serão as fases e em quanto tempo cada uma?  
** O tempo estimado para o projeto é de 1 mês em 340 horas full-time.
# Qual o tempo de resposta do dispositivo ou do sistema?
* 2. Quais serão as fases e em quanto tempo cada uma?  
# Quanto tempo para responder a uma entrada?
** 1º Documentação e requisitos funcionais / não funcionais - 100 horas
# Quanto tempo para gerar a saída?
** 2º Desenvolvimento do aplicativo e gestão do projeto - 180 horas
** 3º Testes e correções - 60 horas
* 3. Qual o tempo de resposta do dispositivo ou do sistema?
** O tempo de resposta imediata por estar disponível em uma nuvem.
* 4. Quanto tempo para responder a uma entrada?
** Fração de milissegundos.
* 5. Quanto tempo para gerar a saída?
** Fração de milissegundos.
<br>
<br>


== How ==
== How ==
<br>
* 1. Como será dividido o desenvolvimento do sistema?
# Análise de requisitos não funcionais e funcionais.
# Arquitetura e modelagem de dados.
# Desenvolvimento do aplicativo.
# Testes e implementação do sistema.
* 2. Como será feita a entrada de dados?
** Cadastramento do aluno-professor / aluno, requisitando informações como Nome, CPF, entre outros.
** Permitir que o aluno-professor efetue o cadastro e disponibilização da área de conhecimento para outros alunos agendarem as aulas.
* 3. Como será feita a saída de dados?
** Imediata via notificações no smartphone.
* 4. Descreva a 1a. funcionalidade?
** Cadastrar usuário requisitando os dados
* 5. Descreva a 2a. funcionalidade?
** Efetuar Login com usuário e senha
* 6. Descreva a 3a. funcionalidade?
** Esqueceu a senha para recuperação a senha
* 7. Descreva a 4a. funcionalidade?
** Alterar dados cadastrais
* 8. Descreva a 5a. funcionalidade?
** Mostrar meu perfil
* 9. Descreva a 6a. funcionalidade?
** Mostrar ser um aluno-professor para preencher as informações em meu perfil
* 10. Descreva a 7a. funcionalidade?
** Listar aluno-professor disponível
*11. Descreva a 8a. funcionalidade?
** Alterar meu Perfil e incluir informações
* 12. Descreva a 9a. funcionalidade?
** Listar alunos disponíveis
* 13. Descreva a 10a. funcionalidade?
** Listar chat com aluno e aluno-professor
* 14. Descreva a 11a. funcionalidade?
** Mostrar Minha conta
* 15. Descreva a 12a. funcionalidade?
** Alterar minha conta
* 16. Descreva a 12a. funcionalidade?
** Excluir minha conta permanentemente
* 17. Descreva a 13a. funcionalidade?
** Mostrar sair do aplicativo onde o usuário poderá deslogar


# Como será dividido o desenvolvimento do sistema?
# Como será feita a entrada de dados?
# Como será feita a saída de dados?
# Descreva a 1a. funcionalidade?
# Descreva a 2a. funcionalidade?
# ............
# Descreva a enésima funcionalidade?
<br>
<br>


== How much ==
== How much ==
<br>


# Quanto custa cada parte do sistema?
* 1. Quanto custa cada parte do sistema?
# Quanto deverá custar todo o sistema?  
** Fase inicial (análise / requisitos): 100 horas x R$50/h base: R$ 5.000,00.
# Quantas pessoas deverão ser usadas (Equipe) ?  
** Fase de desenvolvimento: 180 horas x R$50/h: R$ 9.000,00.
# Quanto custa cada profissional?
** Fase de testes e correções: 60 horas x R$50/h: R$ 3.000,00.
# Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?   
* 2. Quanto deverá custar todo o sistema?  
** O sistema deverá custar aproximadamente R$ 17.000,00
* 3. Quantas pessoas deverão ser usadas (Equipe) ?
** Serão usadas 4 pessoas na equipe.
* 4. Quanto custa cada profissional?
** Base média salarial de R$50/h para a equipe de desenvolvimento, gestão e testes.
** 2 desenvolvedores, 1 analista de qualidade, 1 gestor.
* 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?   
** O aplicativo será grátis para todos os universitários da UFU, porém com assinatura para remover os anúncios e destacar o aluno-professor na plataforma.
<br>
* OBS: Valor final de 50 reais a hora estipulado com base na média salarial dos 4 funcionários em regime CLT com 176 horas médias mensais.
** A dedução dos encargos trabalhistas resultam em um salário médio CLT de R$4400 no qual envolvem Desenvolvedores, Gestores e Analista de Qualidade Sênior.
<br>
<br>


= Requisitos =
= Canvas =
 
[[Arquivo:Canvas-AulasParticulares.pdf]]
 
 
<br>
<br>


* O que são requisitos de um software?
= DC =
** Serviços (funcionalidades) de um software e restrições sob as quais o mesmo deve operar ou ser desenvolvido
[[Arquivo:DC_ALINE.JPEG|center|800px]]
= DFD =
[[Arquivo:DFD_APP.PNG|center|800px]]
 
= DER =
[[Arquivo:DER_ALINE_1.PNG|center|800px]]
<bR>
 
 
= Especificações Funcionais =
<br>
<br>


* Características:
* RF001: Cadastrar Usuário
** O termo “requisito” pode ser escrito diferentes formas:
** Permite que o usuário (Aluno / Aluno-Profesor) efetue o cadastro no sistema para que o acesso a plataforma seja concedido.
*** “Declaração em linguagem natural sobre um serviço ou uma restrição.
** Aluno ou Aluno-Professor com os dados necessários para o cadastro (E-mail/Senha/Telefone/Nome/CPF) .
*** “Uma definição formal sobre uma função do software.
**Usuário cadastrado e acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
** Um requisito pode ser apresentado em diferentes níveis de detalhe:
* RF002: Efetuar Login
*** Requisitos do Usuário
**Permite que o usuário (Aluno / Aluno-Profesor) efetue login no sistema para que o acesso a plataforma seja concedido.
**** Lista das funcionalidades e restrições do software.
** Aluno ou Aluno-Professor feito o RF002, é necessário entrar com os dados (Email/Senha) para logar no APP.
*** Requisitos para o Software
** Acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
**** Detalhes técnicos sobre cada requisito do usuário.
* RF003: Recuperar Senha
** Os requisitos são organizados em duas classes:
**Permite que o usuário (Aluno / Aluno-Profesor) faça a recuperação de senha no sistema para que o acessoa a plataforma seja concedida
*** Funcionais
** Aluno ou Aluno-Professor feito o RF001.
**** Funcionalidades do software
** Usuário cadastrado e nova senha enviada por e-mail com sucesso, acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
*** Não Funcionais
* RF04: Alterar dados Cadastrais
**** Restrições ou condições para o software
**Permite que o usuário (Aluno / Aluno-Profesor)  faça a alteração dos dados (E-mail/Senha/Telefone/Nome/CPF) no sistema caso o usuário  queira modificar
<br>
** Aluno ou Aluno-Professor feito o RF001, RF002.
**O usuário tem os dados cadastrais alterados, mostrando o menu principal com todas as funcionalidades do APP.


* Levantamento de requisitos é útil para:
* RF005: Mostrar Meu Perfil
** Identificar as necessidades dos usuários
**Permite que o usuário (Aluno / Aluno-Profesor) veja os dados do seus respectivos perfis.
** Verificar a viabilidade de implementar estas necessidades
** Aluno ou Aluno-Professor feito o RF001, RF002.
** Distribuir as funções do sistema entre as pessoas, o hardware, o software e outros elementos do sistema
** Mostra os dados do perfil no APP.
** Criar um modelo do sistema que será utilizado nas fases de desenvolvimento seguintes
*RF006: Mostrar Ser Aluno-Professor
<br>
**Permite que o usuário (Aluno / Aluno-Profesor) veja os dados do seus respectivos perfis
** Aluno ou Aluno-Professor  permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele usuário existente.
** Mostra os dados do perfil no APP.
* RF007: Listar Aluno-Professor disponível
** Permite que o usuário (Aluno)  olhe a listagem  de aluno-Professor  disponível na plataforma para escolhe aquele professor que mais encaixa para ajudá-lo
** Feito RF001, neste  RF007 O Aluno  permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele aluno-professor existente.
** Listar  aluno-professor  com os  dados disponíveis  do perfil no APP.
* RF008: Alterar meu perfil
**Permite que o usuário (Aluno/Aluno-Professor) faça a alteração dos dados (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto) no sistema.
** Feito RF001, RF005
**O usuário tem dados do "Meus Perfil" alterados no APP.
* RF009: Listar aluno disponível
** Permite que o usuário (Aluno-Professor)  olhe a listagem  de aluno  disponivel na plataforma para escolhe aquele aluno que mais encaixa para ajudá-lo na matéria dominante e oferecer seus serviços contactando.
** Feito RF001, neste RF008 O Aluno-Professor  permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele aluno existente.
** Listar  aluno  com os  dados disponíveis  do perfil no APP.
* RF010: Listar chat com o aluno
**Permite que o usuário (Aluno-Professor)  olhe a listagem  de chat com o  aluno  na plataforma, ou seja os históricos de conversas do CHAT gravadas naquele APP.
**Feito RF009.O Aluno-Professor  permite visualizar os dados  daquele aluno existente.
**Listar chat com o  aluno  no APP.
* RF011: Listar chat com aluno-professor
** Permite que o usuário (Aluno)  olhe a listagem  de chat com o  aluno-professor  na plataforma, ou seja os históricos de conversas do CHAT gravadas naquele APP.
** Feito RF009. O Aluno  permite visualizar os dados  daquele aluno-professor existente.
** Listar chat com o  aluno-professor  no APP.
* RF012: Mostrar minha conta
**Permite que o usuário (Aluno/Aluno-Professor)  visualize a sua conta  na plataforma, como(E-mail/Senha/Telefone/Nome/CPF/Status inativo ou ativo/Perfil do aluno Sim ou Não/Perfil Aluno-professor Sim ou Não) no APP.
** O Aluno ou Aluno-Professor  permite visualizar os seus dados de conta no APP.
**Mostra dados de minha conta no APP.
*RF013: Alterar  Minha conta
**Permite que o usuário (Aluno/Aluno-Professor)  altere  a sua conta  na plataforma, como(E-mail/Senha/Telefone/Nome/CPF/Status inativo ou ativo/Perfil do aluno Sim ou Não/Perfil Aluno-professor Sim ou Não) no APP.
**Feito RF001,RF006
** O usuário tem dados do "Minha conta" alterados no APP.
*RF014: Excluir  Minha conta
**Permite que o usuário (Aluno/Aluno-Professor)  possa excluir  a sua conta  na plataforma, no APP.
**Feito RF001,RF002
**O usuário tem dados do "Minha conta" excluído no APP.
*RF015: Mostar Sair APP
**Permite que o usuário (Aluno/Aluno-Professor)  possa sair da plataforma, no APP.
** Feito RF001,RF002
** O usuário tem dados do "Minha conta" excluído no APP.


* Técnicas para levantamento de dados
=Especificações Não Funcionais=
** O sucesso de um projeto depende diretamente do levantamento de dados
** O levantamento de dados é tão importante no desenvolvimento do projeto que seu resultado pode colaborar ou comprometer o desempenho do projeto
** Para realizá-lo em um sistema de informação, existem diversas técnicas de levantamento de dados
** Dependendo das características do projeto, essas técnicas podem ser aplicadas de forma isolada ou em conjunto
** Abaixo, algumas dessas técnicas:
*** Entrevistas: Identificar as pessoas que serão entrevistadas buscando especialistas no assunto.
*** Questionários: Gerar perguntas organizadas com o objetivo de levantar dados para uma pesquisa ou estudo, cujas respostas são fornecidas pelo informante sem a orientação direta do pesquisador;
*** Revisão de documentação: Utilizar várias fontes de informação como:manuais de procedimentos, documentação, manuais de projeto, relatórios, diagramas e outros;
*** Análise de observação: Observar os usuários em seu ambiente de trabalho enquanto eles executam suas atividades. Pode ser usada para confirmar os resultados de uma entrevista, identificar documentos que devem ser analisados etc.
*** Brainstorm: Termo do Inglês que significa “tempestade de ideias”. É uma metodologia que objetiva explorar as ideias de um grupo de pessoas a fim de obter as melhores soluções. Não há julgamento ou autocrítica. Todas as idéias são aceitas, mesmo aquelas que parecem ser absurdas. Tem-se como objetivo principal fazer com que o grupo libere o seu conhecimento e criatividade. O resultado da técnica Brainstorm tem o seu mérito distribuído porque foi obtido usando as ideias de todo o grupo envolvido.
*** JAD: Join Application Design é uma metodologia criada pela IBM e baseada em sessões de dinâmica de grupo. Define o ponto de vista dos usuários sobre o sistema, incluindo objetivos e as aplicações do sistema até a geração de telas e relatórios. Diferente da técnica Brainstorm, é refinada, organizada e com uma abordagem mais estruturada;
<br>


= Requisitos funcionais =
* RNF001 Velocidade
** Transações processadas/segundo
*** As transações processadas por segundo são estimadas na casa de milhares, dependendo da configuração do servidor em nuvem alocada.
** Tempo de resposta de usuário/evento
*** O tempo de resposta não deve exceder os 100 milissegundos em situações normais de uso para cada comando do usuário.
** Tempo de atualização de tela
*** O tempo de atualização deve estar na casa dos milissegundos, sendo o máximo estimado 1000ms (1 segundo).


* Especificam ações que um sistema deve executar, sem levar em consideração restrições físicas
* RNF002 Tamanho
** MegaBytes
*** O tamanho em megabytes não deve exceder a casa dos 10 megas, uma vez que a aplicação seria compactada para uma mais rápida transferência.
** Número de processadores
*** O número de processadores envolvidos envolve cliente e servidor, sendo o servidor (recomendado) 2 núcleos ou mais e cliente, 1 processador.
** Área disponível em bytes
*** N/A


* Melhor descrito quando são usados casos de uso
* RNF003 Usabilidade
** Tempo de treinamento do usuário
*** Imediato com a interface intuitiva.
** Número de telas/campos de entrada
*** O número estimado em RFs é de 10 a 15 telas.


* Descrevem a funcionalidade ou os serviços do sistema
* RNF004 Confiabilidade
** Tempo médio para falha
*** Aplicação altamente disponível e resiliente com tempo de SLA superior a 99% do tempo.
** Probabilidade de indisponibilidade
*** 99% de SLA de nuvem moderna.
** Taxa de ocorrência de falhas
*** 1% pelo SLA da nuvem.
** Disponibilidade
*** 24 horas por dia, 7 dias por semana.


* Depende do tipo de software, possíveis usuários e o tipo de sistema em que o software é usado
* RNF005 Robustez
** Tempo de reinício após falha
*** Tempo de reinício abaixo de 1 minuto.
** Percentual de eventos que causam falhas
***  Percentual abaixo de 1%.
** Probabilidade de corrupção de dados em caso de falha
*** Probabilidade baseada no SLA, 1%.


* Requisitos funcionais dos usuários podem ser declarações de alto nível a respeito do que o sistema deve fazer
* RNF006 Segurança
** Número de tentativas erradas de autenticação
*** 10 tentativas pelo serviço de autenticação da Nuvem, bloqueando o usuário que utiliza de forma incorreta.
** Número máximo de invasões
*** 0, pelo número de tentativas pequeno.


* Devem descrever detalhadamente os serviços do sistema
* RNF007 Interfaces
** Tipo do dispositivo
*** Smartphone / Tablet / Computador


* Exemplos:
* RNF008 Comunicação
** Um sistema acadêmico fictício deve:
** Tipo de tecnologia
*** Matricular os alunos
*** Tecnologias de serviços utilizando APIs com interfaces em PWA|.
*** Montar uma turma para cada grupo de alunos
=Diagramas Orientados a Objetos=
*** Alocar a turma em salas
[[Arquivo:Diagramas_Orientados_Objetos.pdf]]
*** Gerar Diário
*** Controlar frequência e faltas
*** Calcular pontuação do aluno
*** Gerar relatório de aprovados e reprovados
<br>
<br>

Edição atual tal como às 23h26min de 24 de junho de 2019

Escopo

  • O Projeto visa na criação de um aplicativo para dispositivo móvel onde os universitários UFU que dominam tais conteúdos, conseguem prover aulas particulares aos alunos interessados que tenham dificuldades nas matérias. O aluno-professor irá criar seu próprio perfil descrevendo as matérias que dominam e estipulando um valor final da aula, também como o aluno poderá acessar os perfis a procura de um aluno-professor que esteja precisando de aulas para ajudar na disciplina.


5W2H


What


  • 1. Qual o nome do seu projeto?
    • Aulas Particulares - UFU
  • 2. Qual o objetivo deste projeto?
    • Alunos da UFU que dominam tais matérias darem aulas particulares aos alunos interessados que tenham dificuldades nas matérias, estabelecendo um preço acessível.
  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
    • Escolher as tecnologias adequadas.
    • Aceitação do público alvo.
  • 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
    • Desenvolvimento de sistemas / aplicativos móveis.
  • 5. Quais soluções similares existem no mercado?
    • EasyClasses / Eduqi / AulaUP.


Why


  • 1. Porque é interessante desenvolver este projeto?
    • Pelo fato de que a maioria dos alunos na UFU tem muita dificuldade em determinadas matérias como por exemplo cálculos.
  • 2. Porque deve usar a tecnologia escolhida?
    • Por ser um meio de comunicação rápida e prática de fácil manuseio, onde aluno-professor e aluno irá intervir.
  • 3. Porque usar o hardware específico?
    • Uma das principais necessidades da aplicação é a mobilidade, e por isso é indispensável o uso da plataforma móvel.
  • 4. Porque usar o sistema específico?
    • Por muitos usuários já estarem familiarizados com o sistema, deixando assim uma interface mais amigável.

Who


  • 1. Quem pode se beneficiar deste projeto?
    • Todos os universitários da UFU que estiverem com dificuldades nas matérias de qualquer curso.
  • 2. Quem poderá operar o sistema?
    • Responsabilidade de operação única e exclusivamente dos alunos da UFU cadastrados.
  • 3. Quem deverá participar do desenvolvimento do sistema?
    • Desenvolvedor de aplicativo móvel / gestor de projetos / analista de requisitos.


Where


  • 1. Onde os dados serão inseridos?
    • Os dados serão inseridos através de uma aplicação móvel manuseada pelo usuário.
  • 2. Onde os dados serão externalizados, publicados?
    • Serão externalizados numa nuvem de internet.
  • 3. Onde esta aplicação poderá ser usada?
    • Na UFU pelos alunos interessados.
  • 4. Onde os dados serão armazenadas?
    • O armazenamento dos dados será feito em um banco de dados do servidor em nuvem.
  • 5. Onde o software deverá ser hospedado?
    • Em um servidor na nuvem.


When


  • 1. Em quanto tempo pretende desenvolver o sistema?
    • O tempo estimado para o projeto é de 1 mês em 340 horas full-time.
  • 2. Quais serão as fases e em quanto tempo cada uma?
    • 1º Documentação e requisitos funcionais / não funcionais - 100 horas
    • 2º Desenvolvimento do aplicativo e gestão do projeto - 180 horas
    • 3º Testes e correções - 60 horas
  • 3. Qual o tempo de resposta do dispositivo ou do sistema?
    • O tempo de resposta imediata por estar disponível em uma nuvem.
  • 4. Quanto tempo para responder a uma entrada?
    • Fração de milissegundos.
  • 5. Quanto tempo para gerar a saída?
    • Fração de milissegundos.


How


  • 1. Como será dividido o desenvolvimento do sistema?
  1. Análise de requisitos não funcionais e funcionais.
  2. Arquitetura e modelagem de dados.
  3. Desenvolvimento do aplicativo.
  4. Testes e implementação do sistema.
  • 2. Como será feita a entrada de dados?
    • Cadastramento do aluno-professor / aluno, requisitando informações como Nome, CPF, entre outros.
    • Permitir que o aluno-professor efetue o cadastro e disponibilização da área de conhecimento para outros alunos agendarem as aulas.
  • 3. Como será feita a saída de dados?
    • Imediata via notificações no smartphone.
  • 4. Descreva a 1a. funcionalidade?
    • Cadastrar usuário requisitando os dados
  • 5. Descreva a 2a. funcionalidade?
    • Efetuar Login com usuário e senha
  • 6. Descreva a 3a. funcionalidade?
    • Esqueceu a senha para recuperação a senha
  • 7. Descreva a 4a. funcionalidade?
    • Alterar dados cadastrais
  • 8. Descreva a 5a. funcionalidade?
    • Mostrar meu perfil
  • 9. Descreva a 6a. funcionalidade?
    • Mostrar ser um aluno-professor para preencher as informações em meu perfil
  • 10. Descreva a 7a. funcionalidade?
    • Listar aluno-professor disponível
  • 11. Descreva a 8a. funcionalidade?
    • Alterar meu Perfil e incluir informações
  • 12. Descreva a 9a. funcionalidade?
    • Listar alunos disponíveis
  • 13. Descreva a 10a. funcionalidade?
    • Listar chat com aluno e aluno-professor
  • 14. Descreva a 11a. funcionalidade?
    • Mostrar Minha conta
  • 15. Descreva a 12a. funcionalidade?
    • Alterar minha conta
  • 16. Descreva a 12a. funcionalidade?
    • Excluir minha conta permanentemente
  • 17. Descreva a 13a. funcionalidade?
    • Mostrar sair do aplicativo onde o usuário poderá deslogar


How much


  • 1. Quanto custa cada parte do sistema?
    • Fase inicial (análise / requisitos): 100 horas x R$50/h base: R$ 5.000,00.
    • Fase de desenvolvimento: 180 horas x R$50/h: R$ 9.000,00.
    • Fase de testes e correções: 60 horas x R$50/h: R$ 3.000,00.
  • 2. Quanto deverá custar todo o sistema?
    • O sistema deverá custar aproximadamente R$ 17.000,00
  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • Serão usadas 4 pessoas na equipe.
  • 4. Quanto custa cada profissional?
    • Base média salarial de R$50/h para a equipe de desenvolvimento, gestão e testes.
    • 2 desenvolvedores, 1 analista de qualidade, 1 gestor.
  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • O aplicativo será grátis para todos os universitários da UFU, porém com assinatura para remover os anúncios e destacar o aluno-professor na plataforma.


  • OBS: Valor final de 50 reais a hora estipulado com base na média salarial dos 4 funcionários em regime CLT com 176 horas médias mensais.
    • A dedução dos encargos trabalhistas resultam em um salário médio CLT de R$4400 no qual envolvem Desenvolvedores, Gestores e Analista de Qualidade Sênior.


Canvas

Arquivo:Canvas-AulasParticulares.pdf



DC

DFD

DER



Especificações Funcionais


  • RF001: Cadastrar Usuário
    • Permite que o usuário (Aluno / Aluno-Profesor) efetue o cadastro no sistema para que o acesso a plataforma seja concedido.
    • Aluno ou Aluno-Professor com os dados necessários para o cadastro (E-mail/Senha/Telefone/Nome/CPF) .
    • Usuário cadastrado e acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
  • RF002: Efetuar Login
    • Permite que o usuário (Aluno / Aluno-Profesor) efetue login no sistema para que o acesso a plataforma seja concedido.
    • Aluno ou Aluno-Professor feito o RF002, é necessário entrar com os dados (Email/Senha) para logar no APP.
    • Acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
  • RF003: Recuperar Senha
    • Permite que o usuário (Aluno / Aluno-Profesor) faça a recuperação de senha no sistema para que o acessoa a plataforma seja concedida
    • Aluno ou Aluno-Professor feito o RF001.
    • Usuário cadastrado e nova senha enviada por e-mail com sucesso, acesso ao sistema concedido, mostrando o menu principal com todas as funcionalidades do APP.
  • RF04: Alterar dados Cadastrais
    • Permite que o usuário (Aluno / Aluno-Profesor) faça a alteração dos dados (E-mail/Senha/Telefone/Nome/CPF) no sistema caso o usuário queira modificar
    • Aluno ou Aluno-Professor feito o RF001, RF002.
    • O usuário tem os dados cadastrais alterados, mostrando o menu principal com todas as funcionalidades do APP.
  • RF005: Mostrar Meu Perfil
    • Permite que o usuário (Aluno / Aluno-Profesor) veja os dados do seus respectivos perfis.
    • Aluno ou Aluno-Professor feito o RF001, RF002.
    • Mostra os dados do perfil no APP.
  • RF006: Mostrar Ser Aluno-Professor
    • Permite que o usuário (Aluno / Aluno-Profesor) veja os dados do seus respectivos perfis
    • Aluno ou Aluno-Professor permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele usuário existente.
    • Mostra os dados do perfil no APP.
  • RF007: Listar Aluno-Professor disponível
    • Permite que o usuário (Aluno) olhe a listagem de aluno-Professor disponível na plataforma para escolhe aquele professor que mais encaixa para ajudá-lo
    • Feito RF001, neste RF007 O Aluno permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele aluno-professor existente.
    • Listar aluno-professor com os dados disponíveis do perfil no APP.
  • RF008: Alterar meu perfil
    • Permite que o usuário (Aluno/Aluno-Professor) faça a alteração dos dados (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto) no sistema.
    • Feito RF001, RF005
    • O usuário tem dados do "Meus Perfil" alterados no APP.
  • RF009: Listar aluno disponível
    • Permite que o usuário (Aluno-Professor) olhe a listagem de aluno disponivel na plataforma para escolhe aquele aluno que mais encaixa para ajudá-lo na matéria dominante e oferecer seus serviços contactando.
    • Feito RF001, neste RF008 O Aluno-Professor permite visualizar a (Descrição/Matérias Dominantes/Matérias com Dificuldades/facebook/Instagram/LinKedin/Preço por hora/Foto daquele aluno existente.
    • Listar aluno com os dados disponíveis do perfil no APP.
  • RF010: Listar chat com o aluno
    • Permite que o usuário (Aluno-Professor) olhe a listagem de chat com o aluno na plataforma, ou seja os históricos de conversas do CHAT gravadas naquele APP.
    • Feito RF009.O Aluno-Professor permite visualizar os dados daquele aluno existente.
    • Listar chat com o aluno no APP.
  • RF011: Listar chat com aluno-professor
    • Permite que o usuário (Aluno) olhe a listagem de chat com o aluno-professor na plataforma, ou seja os históricos de conversas do CHAT gravadas naquele APP.
    • Feito RF009. O Aluno permite visualizar os dados daquele aluno-professor existente.
    • Listar chat com o aluno-professor no APP.
  • RF012: Mostrar minha conta
    • Permite que o usuário (Aluno/Aluno-Professor) visualize a sua conta na plataforma, como(E-mail/Senha/Telefone/Nome/CPF/Status inativo ou ativo/Perfil do aluno Sim ou Não/Perfil Aluno-professor Sim ou Não) no APP.
    • O Aluno ou Aluno-Professor permite visualizar os seus dados de conta no APP.
    • Mostra dados de minha conta no APP.
  • RF013: Alterar Minha conta
    • Permite que o usuário (Aluno/Aluno-Professor) altere a sua conta na plataforma, como(E-mail/Senha/Telefone/Nome/CPF/Status inativo ou ativo/Perfil do aluno Sim ou Não/Perfil Aluno-professor Sim ou Não) no APP.
    • Feito RF001,RF006
    • O usuário tem dados do "Minha conta" alterados no APP.
  • RF014: Excluir Minha conta
    • Permite que o usuário (Aluno/Aluno-Professor) possa excluir a sua conta na plataforma, no APP.
    • Feito RF001,RF002
    • O usuário tem dados do "Minha conta" excluído no APP.
  • RF015: Mostar Sair APP
    • Permite que o usuário (Aluno/Aluno-Professor) possa sair da plataforma, no APP.
    • Feito RF001,RF002
    • O usuário tem dados do "Minha conta" excluído no APP.

Especificações Não Funcionais

  • RNF001 Velocidade
    • Transações processadas/segundo
      • As transações processadas por segundo são estimadas na casa de milhares, dependendo da configuração do servidor em nuvem alocada.
    • Tempo de resposta de usuário/evento
      • O tempo de resposta não deve exceder os 100 milissegundos em situações normais de uso para cada comando do usuário.
    • Tempo de atualização de tela
      • O tempo de atualização deve estar na casa dos milissegundos, sendo o máximo estimado 1000ms (1 segundo).
  • RNF002 Tamanho
    • MegaBytes
      • O tamanho em megabytes não deve exceder a casa dos 10 megas, uma vez que a aplicação seria compactada para uma mais rápida transferência.
    • Número de processadores
      • O número de processadores envolvidos envolve cliente e servidor, sendo o servidor (recomendado) 2 núcleos ou mais e cliente, 1 processador.
    • Área disponível em bytes
      • N/A
  • RNF003 Usabilidade
    • Tempo de treinamento do usuário
      • Imediato com a interface intuitiva.
    • Número de telas/campos de entrada
      • O número estimado em RFs é de 10 a 15 telas.
  • RNF004 Confiabilidade
    • Tempo médio para falha
      • Aplicação altamente disponível e resiliente com tempo de SLA superior a 99% do tempo.
    • Probabilidade de indisponibilidade
      • 99% de SLA de nuvem moderna.
    • Taxa de ocorrência de falhas
      • 1% pelo SLA da nuvem.
    • Disponibilidade
      • 24 horas por dia, 7 dias por semana.
  • RNF005 Robustez
    • Tempo de reinício após falha
      • Tempo de reinício abaixo de 1 minuto.
    • Percentual de eventos que causam falhas
      • Percentual abaixo de 1%.
    • Probabilidade de corrupção de dados em caso de falha
      • Probabilidade baseada no SLA, 1%.
  • RNF006 Segurança
    • Número de tentativas erradas de autenticação
      • 10 tentativas pelo serviço de autenticação da Nuvem, bloqueando o usuário que utiliza de forma incorreta.
    • Número máximo de invasões
      • 0, pelo número de tentativas pequeno.
  • RNF007 Interfaces
    • Tipo do dispositivo
      • Smartphone / Tablet / Computador
  • RNF008 Comunicação
    • Tipo de tecnologia
      • Tecnologias de serviços utilizando APIs com interfaces em PWA|.

Diagramas Orientados a Objetos

Arquivo:Diagramas Orientados Objetos.pdf