VISÃO GERAL
Histórico de versão
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
23.04.2021 | 0.1 | Criação do documento | Bruna Almeida Damarcones Porto |
11.05.2021 | 0.2 | Adição de introdução ao diagrama de blocos | Carlos Eduardo Isadora Galvão |
Visão Geral
O Software desenvolvido para o projeto Gama Boyle Lab servirá como ponte entre o equipamento físico e os usuários que estarão envolvidos nos experimentos. Trata-se de uma aplicação Web, que possibilitará a realização de experimentos de forma totalmente remota, via transmissão ao vivo realizada por uma webcam acoplada na estrutura do dispositivo.
A interface possibilitará que o aluno configure as características do experimento, como quantidade de reagentes, tempo de agitação da solução, entre outros. Além disso, será disponibilizado um chat para comunicação entre usuários dos tipos aluno, técnico e professor, afim de tirar dúvidas ou solicitar atendimento.
O software será uma aplicação web, que permitirá aos usuários controlar o Gama Boyle Lab de forma remota para executar os experimentos que estão listados. Será possível acompanhar toda a execução do experimento por vídeo conferência, através de uma webcam acoplada na estrutura, dando visão clara a tudo que está ocorrendo na plataforma.
A aplicação será desenvolvida em Javascript, utilizando React para o Front-end e Node para o Back-end, uma linguagem amplamente utilizada, que possui uma biblioteca voltada ao controle de robôs, denominada Johnny Five, para integração direta com os Arduínos utilizados no equipamento.
A interface possibilitará que o aluno configure as características do experimento, como quantidade de reagentes, tempo de agitação da solução, entre outros. Além disso, será disponibilizado um chat para comunicação entre usuários dos tipos aluno, técnico e professor, afim de tirar dúvidas ou solicitar atendimento.
O software será uma aplicação web, que permitirá aos usuários controlar o Gama Boyle Lab de forma remota para executar os experimentos que estão listados. Será possível acompanhar toda a execução do experimento por vídeo conferência, através de uma webcam acoplada na estrutura, dando visão clara a tudo que está ocorrendo na plataforma.
A aplicação será desenvolvida em Javascript, utilizando React para o Front-end e Node para o Back-end, uma linguagem amplamente utilizada, que possui uma biblioteca voltada ao controle de robôs, denominada Johnny Five, para integração direta com os Arduínos utilizados no equipamento.
Diagrama de Blocos
As ações do usuário no navegador web serão interpretadas pelo React Native, que podem ser do tipo iteratividade que não precisam de ação externa ou que precisam de acesso ao servidor. As ações que precisam consultar o servidor (HttpRequest) serão enviadas utilizando o protocolo HTTP e serão recebidas pelo Node.js. Assim que a requisição for mapeada para o módulo que possui as informações requisitadas este módulo será responsável por se comunicar com o banco de dados PostgreSQL. Dependendo da requisição feita o Node.js se comunica com o Arduino Mega através do Johnny Five que funciona como uma API, enviando instruções e recebendo informações da bancada. Com as informações em mãos é gerado um objeto HttpResponse pelo Node.js que será enviado ao React Native.
O diagrama de blocos a seguir mostra como se dará a comunicação geral entre componentes da aplicação e o equipamento físico de maneira resumida.
Identidade Visual
Uma identidade visual foi desenvolvida para guiar o design da aplicação.
Divisão de tarefas
A tabela a seguir apresenta as tarefas do núcleo de Software, os responsáveis e as datas de início e fim.
Atividade | Início | Fim | Responsáveis |
---|---|---|---|
Nome comercial e conceito para o produto | 17/03/2021 | 25/03/2021 | Bruna |
Requisitos | 17/03/2021 | 25/03/2021 | Rodrigo e Carlos |
Justificativa | 17/03/2021 | 25/03/2021 | João Pedro |
Indicadores | 17/03/2021 | 25/03/2021 | Damarcones |
Visão geral | 14/04/2021 | 26/04/2021 | Bruna e Damarcones |
Perfil do usuário | 14/04/2021 | 25/04/2021 | Isadora |
Personas | 14/04/2021 | 21/04/2021 | João Pedro |
Características da plataforma | 14/04/2021 | 19/04/2021 | Carlos |
Princípios e diretrizes do projeto | 14/04/2021 | 25/04/2021 | Matheus |
Metas de usabilidade | 14/04/2021 | 24/04/2021 | Isadora |
Guia de estilo | 14/04/2021 | 24/04/2021 | Bruna |
Protótipo de baixa-fidelidade | 14/04/2021 | 24/04/2021 | João Pedro |
Protótipo de alta-fidelidade | 14/04/2021 | 24/04/2021 | Bruna, Damarcones, João Pedro |
Rich Pictures | 14/04/2021 | 25/04/2021 | Damarcones |
Plano de gerenciamento de riscos | 14/04/2021 | 24/04/2021 | Bruna |
Estimativas | 14/04/2021 | 25/04/2021 | João Pedro |
Casos de uso | 14/04/2021 | 24/04/2021 | Rodrigo |
NFR | 14/04/2021 | 27/04/2021 | Rodrigo |
Diagrama de Classes | 14/04/2021 | 27/04/2021 | Bruna, Damarcones, João Pedro |
Diagrama de Entidade Relacionamento | 26/04/2021 | 28/04/2021 | Isadora, Rodrigo |
Diagrama de Pacotes | 14/04/2021 | 27/04/2021 | Matheus |
Diagrama de Atividades | 14/04/2021 | 26/04/2021 | Bruna e Damarcones |
Diagrama de Estado | 14/04/2021 | 27/04/2021 | Carlos |
Padrões GoF | 14/04/2021 | 27/04/2021 | Bruna e Damarcones |
Ponto de vista de Software | 25/04/2021 | 25/04/2021 | Bruna, Damarcones, João Pedro |
Descrição de Software | 25/04/2021 | 27/04/2021 | Geral |