Trabalho Fundamentos de Desenvolvimento de Software

Site e aplicativos

  • Status do projeto

    Concluído
  • Interessado

    6
  • Postado em

  • Localização

    O projeto pode ser concluído remotamente
  • Orçamento

    Em consulta
  • Depósito pago

    R$ 0,00
  • Bônus total por indicação

    R$ 0,00
  • Na contratação

    R$ 0,00
  • postado por

    Lucas

Descrição do Projeto

Imagine um sistema de acompanhamento de atletas corredores. O sistema dispõe de um módulo “backend” e de dois módulos “front-end”. O módulo “font-end” dos corredores é uma aplicação para celulares enquanto o módulo “front-end” para o treinador é uma aplicação que roda em um browser. O módulo do corredor possui as seguintes funcionalidades:
1) Visualizar treino: permite visualizar o próximo treino programado para ele. Por simplicidade um treino será composto apenas por um identificador numérico, uma distância em metros e um tempo em minutos. O objetivo é que o corredor percorra a distância indicada em um tempo menor que o proposto (supõem-se que só existe um treino programado por vez para cada corredor).
2) Informar desempenho no treino: o corredor informa o número do treino que ele executou, o tempo que levou e um indicador de esforço para completar o treino (um número entre 1 (mais fácil) e 10 (mais difícil).
O módulo do treinador tem as seguintes funcionalidades:
1) Analisar um treino: o treinador informa o código do aluno e o sistema apresenta o desempenho do aluno no último treino proposto. Com base nos resultados o sistema pode recomendar um treino mais leve, a manutenção do mesmo treino ou um treino mais pesado.
2) Analisar o histórico de treinos de um aluno: o treinador informa o código do aluno e o sistema apresenta o nome e a idade do aluno seguido de todos os treinos já propostos com os respectivos desempenhos.
3) Propor um novo treino: o treinador entra o código do aluno, a distância que ele deve percorrer e o tempo máximo que ele pode levar para completar o treino.
Com base nas informações acima você deve:
1) Apresentar o diagrama de classes do módulo “back-end” considerando a arquitetura CLEAN. Devem ser destacados no diagrama as classes dos níveis de entidades e casos de uso. Deve-se explorar o padrão “strategy” para facilitar modificações no sistema de recomendações e o padrão “fachada” para isolar as fachadas de serviço (uma para o aluno e outra para o treinador). As interfaces com o sistema de persistência também devem ser previstas.
2) Escolher uma das fachadas para implementar. Deve-se implementar a fachada e todas as classes necessárias para seu funcionamento completo. Todas as classes devem receber suas dependências por injeção de dependência através do construtor
3) Implementar drivers de teste capazes de testar a fachada implementada e as demais classes envolvidas. Dubles das bases de dados devem ser usados nos testes.

Freelancers interessados

    {{ item.displayName }} {{ item.displayName }}

    {{ item.displayDisciplines }}

    • {{ item.hourlyRate || '-' }} por hora
    • {{ item.cityName }}
      {{ item.stateName }}, {{ item.countryName }}
    • {{ item.nrSharedConnections }} conexões compartilhadas

Nenhum freelancer interessado ainda

Operação falhou!
Por favor, tente novamente mais tarde. Se o problema persistir entre em contato com o suporte.