Trabalho
Durante o semestre deve ser realizado um trabalho que envolve desenvolvimento em 3 sistemas diferentes: Arduino, RaspberryPi e Android e a interligação entre os 3, originando o 4º sistema.
Dentro dos
temas descritos os grupos deverão fazer o design e a implementação de acordo com os requisitos pedidos. Devem obrigatoriamente ter componentes nos 3 sistemas. Caso no projeto inicial não encontrem a necessidade dos 3 sistemas deverão adicionar requisitos
ao trabalho.
Em alguns casos a comunicação entre os diferentes sistemas pode usar um deles ligado a um PC, em outros casos poderá ser feita apenas usando as redes sem fios ou utilizando a sugestão de intercomunicação nas informações sobre as aulas online.
Esta última opção será a mais provável devido à pandemia e à necessidade de aulas à distância.
O trabalho deve ser desenvolvido usando controlo de versões (ver informações sobre as aulas online).
Deve ser desenvolvida documentação num Wiki do projeto (por exemplo usando o Wiki do sistema de controlo de versões), nomeadamente:
- descrição do processo de desenvolvimento:
- descrição e objetivos do projeto
- timeline prevista
- estado do desenvolvimento, indicação de milestones/fases e estado corrente de acordo com o timeline
- indicar causas de atrasos/avanços;
- remodelações efetuados por causa de problemas encontrados;
- etapas, evolução, problemas, etc.
- documentação dos componentes/módulos e interações
- protocolos de comunicação devem ser detalhados (state machines);
- pode e deve ser usado no relatório final;
- pode ter mais detalhe que o relatório final;
- relatório final pode ter referências ao wiki para mais detalhes.
A arquitetura do sistema de interação entre os 3 sistemas utilizados, o seu desenvolvimento, gestão do sistema de controlo de versões e documentação definem o 4º sistema do projeto.
Atrasos nas entregas
As submissões são até às 23:55 do dia indicado . Entregas com atraso serão penalizadas de acordo com:
5%×2MD-1
Em que MD significa cada meio dia de atraso. Como exemplo um trabalho entregue na tarde seguinte ao dia de entrega terá 1 dia de atraso. Assim se fosse avaliado com 16 teria 14.4 (10% de penalização).
Grupos
Os grupos terão 4 alunos, sendo nomeado um responsável por cada sistema.
Caso não haja estudantes suficientes para completar um grupo a responsabilidade em falta será distribuída pelos elementos existentes. Caso o grupo seja
de 2 ou menos alunos estes serão integrados noutro grupo.
Esta indicação de responsabilidade não implica nenhuma avaliação distinta, apenas que o trabalho desenvolvido será coordenado por esse
estudante. Não implica também que o desenvolvimento seja feito (apenas) por esse estudante.
Os docentes serão responsáveis pela formação dos grupos. Para isso cada estudante deve escolher qual a ordem de preferência de responsabilidade nos sistemas,
devendo indicar os sistemas pela ordem preferida.
Entregas
Deverão ser feitas 4 entregas de acordo com o calendário abaixo:
- 1ª entrega (28 Fev)
- ordem de preferência de sistemas (todos os estudantes)
- 2ª Entrega (05 Mar)
- ordem de preferência para cada grupo dos trabalho, indicando a ordem do mais preferido ao menos.
- indicação do responsável de cada sistema
- apenas necessitam de opções de acordo com a ordem de escolha (os 1ºs escolhem uma)
- por mail
- 3ª entrega (21 Mar)
- planeamento inicial (máx 8 págs)
- objetivos do projeto
- formulário de requisitos (incluindo custo estimado)
- requisitos funcionais e não funcionais
- diagrama de componentes de hardware e a sua interligação
- diagrama de colaboração dos componentes de software
- diagramas de estado para cada componente com estado
- diagrama de Gantt com as tarefas e temporização
- Deve haver texto descritivo (sucinto) dos diagramas.
- resumo da apresentação (txt, pdf, ppt)
- se for para ser projetada deve ser enviada no formato para a projeção
- planeamento inicial (máx 8 págs)
- 4ª Entrega (18 Abr)
- relatório de estado do desenvolvimento: problemas, atrasos, tarefas terminadas, etc. (máx 2 páginas)
- entrega serve mais para verificação pelo próprio grupo do desenvolvimento efetuado
- 5ª Entrega (23 Mai)
- Relatório final (máx 5 págs)
- resumo do desenvolvimento do projeto
- problemas e sua solução (se solucionado)
- objetivos cumpridos e não cumpridos
- link para o Git com o código fonte do projeto
- link para o Wiki se não estiver no Wiki do Git
- código fonte no sistema de controlo de versões (organização e clareza serão bonificadas)
- resumo da apresentação (txt, pdf, ppt)
- se for para ser projetada deve ser enviada no formato para a projeção
- Wiki preenchido com o desenvolvimento do projeto e resultados finais (pode incluir vídeos)
- Relatório final (máx 5 págs)
Apresentações
As seguintes apresentações serão realizadas ao longo do semestre nas aulas práticas:
- Apresentação plano inicial (22, 23 e 25 Mar)
- 10 minutos para cada grupo, onde devem discutir como vão fazer o trabalho
- 5 min para discussão com os outros grupos
- conteúdo será a entrega do plano inicial
- Apresentação do estado desenvolvimento (19 Abr)
- 5 minutos para cada grupo, onde devem discutir como está a decorrer o trabalho
- 2.5 min para discussão com os outros grupos
- Apresentação do projeto (24, 25 e 27 Maio)
- 20 minutos para apresentação do projeto, discutindo os problemas, objetivos cumpridos, etc. Demonstração do resultado final
- 5 minutos para discussão
Calendário
- 28 Fev - 1ª Entrega: escolha sistemas
- 01 Mar - Formação Equipas (profs)
- 05 Mar - 2ª Entrega: Escolha dos trabalhos
- 21 Mar - 3ª Entrega: plano inicial
- 22, 23 e 25 Mar - Apresentação plano inicial
- 18 Abr - 4ª Entrega: estado desenvolvimento
- 19 Abr - Apresentação do estado desenvolvimento
- 23 Mai - 5ª Entrega: Relatório final
- 24, 25 e 27 Mai - Apresentação do projeto
Temas
Ver sugestões na página dos temas.