Especificação do Projeto
Especificação do Projeto da Disciplina
Informações Iniciais
O projeto da disciplina deve envolver o conhecimento de um middleware para o desenvolvimento de aplicações de IoT no contexto de uma nuvem computacional - Cloud Computing. Para o projeto, a turma será dividida em grupos com 3 integrantes
Cada grupo terá disponível recursos computacionais que envolvem:
- Acesso a infraestrutura do LaSDPC (Cloud) para a integração da solução proposta, se for o caso escolhido pelo grupo
- Outros materiais (depende da disponibilidade)
- Se possível, utilizem as vms disponíveis do LaSDPC. Problemas de acesso devem ser reportados a mim.
O Projeto
Estudo, instalação, configuração e integração de componentes e dados de um ambiente monitorado (laboratório), com o uso do OpenHab (http://openhab.org)
Os grupos serão formados para testar módulos e cada módulo deverá ser capaz de se integrar a outros módulos dentro do Openhab. Os grupos podem simular a interação do OpenHub com funcionalidades de software, simulando um sensor fisico. Essa interação via software denominamos de Sensores Virtuais. Podem por exemplo interagir com alguma API remota (Twitter, OpenWeatherMap, etc.)
Do Desenvolvimento do Projeto
Para desenvolver o projeto, cada grupo deve ter especial atenção para a fases a seguir:
Fase 1: Definir como será a arquitetura do projeto com o levantamento de requisitos
- Nesta fase, espera-se que o grupo consiga organizar conceitualmente as idéias, e para issso recomenda-se o uso de diagramas (UML - classe, caso de uso, atividades, etc) ou fluxogramas. Espera-se também todo o levantamento de requisitos (necessidades) do projeto para que ele seja finalizado e funcione ao final
Fase2: Discussões sobre componentes de software, APIs, frameworks de desenvolvimento (se for o caso)
- Nesta fase, os grupos precisam listar componentes de softwares/bibliotecas que usurá para desenvolver a solução.
Fase 3: Protocolos de de Comunicação a serem utilizados
- Esta fase tem uma ligação importante com a fase 1, em que se definiem os requisitos do projeto. Especificamente nesta fase, é preciso escolher o protocolo ou os protocolos de comunicação que serão utilizados para integrar dispositivos. Vocês podem utilizar mais de um protocolo. Isso na realidade vai depender de como vão arquitetar a solução
Fase 4: Linguagens de Programação/Sistema Operacional/Frameworks de Desenvolvimento
- Matenha o foco em poucas linguages de programação. Dê especial atenção aquelas que facilitam o desenvolvimento da solução e que forneçam encapsulamento. Em situações que seja necessário desenvolver código em mais baixo nível, é preciso detalhar como isso foi feito, com as devidas explicações.
- Ambientes de desenvolvimento como por exemplo Android Studio (se a solução envolver apps.
Fase 6: Integração com alguma nuvem computacional
- Por exemplo, o grupo quer coletar algum informação de variação da umidade do ar e enviá-las a uma máquina virtual do LaSDPC ou uma nuvem pública, em que determinados usuários possam ter acesso via uma interface Web ou por meio de APPs. Qualquer ação envolvendo a nuvem devem ser associada o que foi definido na primeira fase.
Fase 7: Testes de Funcionalidade
- Os grupos deverão apresentar os resultados de funcionamento da solução proposta.
- Solicite abertura de portas para a VM do seu grupo para que os testes com o openhab possa ser efetuado
O que deve ser entregue e como?
- Um relatório técnico ou video, descrevendo a instalação, configuração e teste de alguma aplicação com o Openhab
- Todos os códigos da solução.
Da Estruturação do Relatório/Video
- O relatório/video, deve mostrar tecnicamente como é o Openhab, como configurá-lo, como utilizá-lo e como desenvolver alguma aplicação utilizando este middleware ou integrando alguma aplicação a ele. O relatório deve ter no máximo 15 páginas.
- Explicar detalhadamente a solução desenvolvida. Detalhes técnicos que precisam ser explicados mas vão ultrapassar o limite de páginas do texto, favor colocar a explicação em um anexo ao texto.
- Discuta as soluções, as dificuldades, os resultados obtidos, o hardware utilizado, a metodologia de execução dos experimentos/configurações, etc. Podem utilizar fluxogramas, diagramas UML, etc.
Do Envio do Relatório/Video
- O relatório/video deve ser enviado via Moodle, obedecendo o prazo final.
- O relatório/video deve apresentar a forma de execução da solução e com detalhes (README). No caso do video, os autores devem se identificar e introduzir o que vão apresentar.
- Relatório/Video postado depois do prazo não será corrigido, e invalidará o projeto do grupo.
- Coloque o arquivo do relatório em um .ZIP, com a seguinte estrutura:
projeto-cloud2020-grupoXX
No caso do video, ele deve ser disponibilizado com um link para o Youtube no zip postado no Moodle e também estar presente no Github.
Da Estruturação dos Códigos
- Os códigos precisam ser claros e estarem devidamente comentados
- A solução deve apresentar um tutorial de como interagir com a solução.
- Arquivos de configurações, etc devem ser enviados para um repositório do tipo github
- A URL para o repositório dever estar presente no artigo. Artigos sem a URL do repositório da solução, terão penalização na nota: (-5 pontos)
- Meu usuário no GitHub: juliocest@gmail.com
Do Envio dos Códigos
- Os códigos devem apenas estarem disponíveis no github. O limite de postagem dos códigos (apenas no github - NÃO ENVIAR CÓDIGOS no edisciplinas) deve obedecer o mesmo prazo de envio do artigo. Por exemplo, não serão aceitos códigos que foram postados depois do prazo de postagem do artigo no Moodle. A data de organização dos códigos no github, DEVE ser menor ou igual a data e hoário limite de entrega do projeto. Códigos postados depois do prazo não serão corrigidos, e invalidará o projeto do grupo.
Como será a Avaliação do Projeto?
- A avaliação da disciplina constará de uma nota final sobre o funcionamento da solução apresentada
Das Notas e Pesos
- Relatório/Video
- Peso: 50%
- Quem Avalia: Professor da disciplina
- Execução e Códigos
- Peso: 50%
- Quem Avalia: Professor da disciplina
Das Perguntas
- Cada grupo deverá responder 5 perguntas, que o docente fará após assistir o video ou ler o relatório. as quais serão feitas pelo professorno dia da avaliação.
- Cada pergunta equivale a 20% da nota geral e vale para todo o grupo.