SlideShare uma empresa Scribd logo
1 de 67
1
UNIVERSIDADE FEDERAL DO PARANÁ
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
Leonardo Ramón Bermúdez Alvarez
Rafael Kozar
PLATAFORMA DE TELEMEDICINA DE BAIXO CUSTO
CURITIBA, 2015
2
Leonardo Ramón Bermúdez Alvarez
Rafael Kozar
PLATAFORMA DE TELEMEDICINA DE BAIXO CUSTO
Trabalho de conclusão do curso
Superior em Tecnologia em
Análise e Desenvolvimento de
Sistemas, Universidade Federal do
Paraná, Curitiba - PR. Orientador:
Prof. Dr. Luiz Antônio Pereira
Neves.
CURITIBA, 2015
3
AGRADECIMENTOS
4
“Frase”
5
SUMÁRIO
2.4 INTERFACE HUMANO-COMPUTADOR.....................................................................16
3.2.1.4. MOTOR V8 JAVASCRIPT...................................................................................................23
3.METODOLOGIA......................................................................................................26
4.1. Modelo Incremental....................................................................................................26
4.1. AMBIENTE DE HARDWARE......................................................................................26
3.2.SOFTWARES UTILIZADOS........................................................................................27
4.3.2Gant...........................................................................................................................28
4.3 Plano de Comunicação................................................................................................28
3.3.Plano de Riscos...........................................................................................................29
4.5DIAGRAMA ENTIDADE RELACIONAMENTO.............................................................39
<<<<apresentação, descrever a quantidade de entidades e principais ...>>>...................39
4.6.....................................................................................................................................39
4.8.3Cadastrar Robo.........................................................................................................42
4.8.4Editar Paciente..........................................................................................................43
4.8.5Editar Paciente..........................................................................................................44
4.6.6 Editar Robo...............................................................................................................44
..........................................................................................................................................44
4.8.6Excluir Atendente......................................................................................................44
4.8.7Excluir Robo..............................................................................................................45
4.6.8 Excluir Paciente.......................................................................................................45
4.6.8 Movimentar Robo.....................................................................................................46
4.8.8Realizar Atendimento com Vídeo..............................................................................46
4.8.9Receber Atendimento................................................................................................47
LISTA DE FIGURAS
6
FIGURA 1 -
LISTA DE QUADROS
QUADRO 1 -
7
LISTA DE SIGLAS
NIST – National Institute of Standards and Technology
PaaS – Plataforma como Serviço
SaaS – Software como Serviço
SLA – Services Level Agreement
IaaS – Infra-estrutura como Serviço
GEPTA – Grupo de Estudos e Pesquisas em Tecnología Aplicada
TI – Tecnologia da Informação
OpenCV – Open Source Computer Vision Library
OMS - Organização Mundial de Saúde
ORM - Object Relational Mapping
ODM - Object Data Mapping
BD – Banco de dados
UUID – Identificadores únicos universais
W3C – World Wide Web Consortium
8
OPENSOURCE – Projeto de código aberto
LISTA DE SÍMBOLOS
9
RESUMO
10
ABSTRACT
-
-
-
-
-
-
-
-
-
-
-.
Keywords: -----------------------------
1. INTRODUÇÃO
O sistema de saúde brasileiro sofre com a falta de médicos e profissionais da
saúde, tendo inclusive que importar estes profissionais. No entanto não há uma
efetiva carência destes profissionais no país, uma vez que o Brasil possui 400
mil médicos em atividade, correspondendo a 5 médicos para 1 mil habitantes,
11
enquanto a OMS recomenda um mínimo de 3,5 médicos para esta mesma
quantidade de habitantes. (COISI, 2015)
Vemos então que o problerma não é a falta de médicos e sim a distribuição,
poucos aceitam se instalarem nas periferias ou cidades do interior, sendo
diversos os motivos para este desequilíbrio, tais como distância, falta de
segurança, falta de infraestrutura médica, salários baixos.
Ao tempo que faltam médicos, a telemedicina que foi uma promessa durante
muitos anos, possui hoje todos os recursos técnicos necessários para permitir
atendimentos médicos à distância e mitigar o problema da escassez de médicos.
1.1. APRESENTAÇÃO DO TEMA
O tema deste trabalho é o desenvolvimento de uma plataforma de software em
nuvem que permita um completo atendimento médico ou acompanhamento de
tratamento à distância. A solução tem como atores o atendente e o paciente.
1.2. ESTRUTURA DO TRABALHO
A organização deste documento está feita nos seguintes capítulos:
Capitulo 1: Justificativa do projeto, definições dos objetivos gerais e específicos,
problematização e motivação do projeto.
Capitulo 2:
Capitulo 3:
12
1.3. OBJETIVOS
1.3.1. Objetivo geral
O objetivo geral do projeto é desenvolver uma plataforma de software em nuvem
que permita aos profissionais da saúde, tais como médicos, psicólogos,
fisioterapeutas, assistentes sociais e outros, atender remotamente os pacientes em
tratamento. Desta forma os profissionais conseguem atender uma quantidade maior
de pacientes sem perdas de tempo por deslocamento, registrando automaticamente
cada histórico de atendimento.
Este projeto também possui um segundo objetivo complementar: estruturar e
disponibilizar na mesma plataforma em nuvem, um ambiente de processamento de
visão computacional de alta performance e elasticidade, que deverá ser utilizado na
implementação de funcionalidades futuras.
13
Existe ainda um terceiro objetivo complementar: para pacientes com maior grau de
dependência, foram agregados recursos e controles à plataforma que permitem que
o atendente controle um robô localizado junto ao paciente.
1.3.2. Objetivos específicos
Para alcançar os objetivos gerais descritos acima, devem ser satisfeitos os
seguintes objetivos específicos:
• Implantar um ambiente de computação em nuvem
o Definir um servidor de baixo custo e suficiente poder computacional
o Escolher sistema operacional apropriado;
o Instalar compiladores das linguagens que envolvem o projeto.
o Implantar a biblioteca OpenCV encarregada das funções de Visão
Computacional;
• Estruturar uma arquitetura de software que comporte o processamento
em nuvem e a escalabilidade das rotinas de Visão Computacional
o Desenvolver rotinas que permitam a comunicação entre o paciente e o
atendendente, com o registro de informações resultante.
o Programar uma camada de apresentação para interação com o usuário
e com o atendente.
o Programar aplicativo Android que além de interagir com o paciente
poderá repassar comandos para um robô com base no
microcontrolador Arduino.
14
1.4. PROBLEMATIZAÇÃO
O Brasil vive um momento de escassez de profissionais no setor médico,
tendo inclusive que importar estes profissionais de outros países para tentar suprir a
demanda interna de atendimentos (MAIS MEDICOS, 2015).
Normalmente os atendimentos são feitos mediante o deslocamento do
paciente ate o profissional da saúde, porém dependendo da condição de saúde e
mobilidade do paciente pode ser necessária que seja o médico que va ate o
paciente, tornando o atendimento ainda mais custoso do que costuma ser
normalmente e afetando ainda mais a disponibilidade destes profissionais.
1.5. JUSTIFICATIVA
15
No mundo da TI vivemos atualmente o momento da migração para a computação
em nuvem, uma arquitetura que tem características excepcionais para atender as
demandas técnicas da Telemedicina.
Ao mesmo tempo que as aplicações tradicionais que funcionam em ambiente
desktop, tais como o sistema operacional Windows, devem seguir paulatinamente o
caminho da migração para a arquiterua em nuvem, em virtude do estabelecimento e
prevalescencia da nova arquitetura, este modelo cria também um ambiente ideal
para o processamento de aplicações que exigem alta performance e rápida
escalabilidade, condições excepcionais para o processamento de imagens que é a
função básica da Visão Computacional, objetivo complementar deste projeto.
CARACTERÍSTICAS DA COMPUTACAO EM NUVEM: tendo como base a
ampliação do acesso à internet, o barateamento dos equipamentos de acesso(vide
Smartphones e Chromebooks) e movida pela alta escalabilidade e consequente alto
poder de processamento da arquitetura, também ... <<<refazer>>>
1.6. MOTIVAÇÃO
• Dominar o funcionamento da arquitetura de processamento em nuvem;
• Criar uma arquitetura computacional em núvem própria para o processamento
de Visão Computacional e registro das informações ....
• Migrar a solução Nano Robot para o processamento em nuvem;
2. REVISÃO DE LITERATURA
2.1 Telemedicina e Telessaúde
16
De acordo com a OMS, telemedicina compreende “a oferta de serviços ligados aos
cuidados com a saúde, nos casos em que a distância é um fator crítico; tais serviços
são prestados por profissionais da área da saúde, usando tecnologias de informação
e de comunicação para o intercâmbio de informações válidas para diagnósticos,
prevenção e tratamento de doenças e a contínua educação de prestadores de
serviços em saúde, assim como para fins de pesquisas e avaliações”. Para além da
Medicina, a Telessaúde envolve o apoio a profissionais de diversas áreas da saúde,
com equipe qualificada de teleconsultoria, que disponibiliza a melhor evidência
científica para tomada de decisão. As experiências exitosas e que têm tido
sustentabilidade financeira no Brasil, frequentemente, estão associadas à parceria
de sua realização com Programas de Residência em Medicina de Família e
Comunidade (Programa de Pós-Graduação Médica), que oferece suporte com
formação e experiência em Atenção Primária à Saúde, além de muitos especialistas
focais. Na área da regulação, a Telessaúde ajuda a diminuir o número de
encaminhamentos da atenção primária em saúde para outras especialidades. Por
exemplo, no Rio Grande do Sul, o Telessaúde solucionou 69% das dúvidas dos
médicos de família que seriam feitas sem esse apoio de uma “segunda opinião
médica”, reduzindo, portanto, os custos associados a esses encaminhamentos
desnecessários. (MONTEIRO, 2015)
<<Geni>>
2.3. IMPORTANTES CONCEITOS
Os principais conceitos utilizados neste trabalho são: Visão Computacional,
Arduino, Arquitetura em Nuvem.
2.4 INTERFACE HUMANO-COMPUTADOR
17
A introdução de um sistema interativo em um ambiente de trabalho modifica a
realização das tarefas por ele suportadas e condiciona o desempenho de seu
operador aos erros e acertos da equipe de desenvolvimento do sistema. Ao se
elaborar um programa deve-se perguntar que atributos de facilidade de uso devem
ser considerados para possibilitar a interação, aprendizagem e satisfação do
usuário.
A IHC afirma que os sistemas devem ser projetados de forma a atender às
necessidades e se acomodar às capacidades das pessoas às quais eles são
endereçados. Quatro elementos básicos devem ser considerados dentro do contexto
da IHC: sistema, usuários, desenvolvedores, ambiente de uso (domínio de
aplicação) sendo que estes elementos devem estar envolvidos em dois processos:
interação usuário-sistema e o desenvolvimento do sistema em si. As meta das IHC
consistem em produzir sistemas usáveis e seguros, assim como sistemas funcionais
e em que as pessoas não devem ter que mudar radicalmente sua forma de atuar
para se adaptarem ao sistema; é o sistema que deve ser projetado de forma a
atender às suas necessidades. (DEITEL, 2005)
<<Conceito de Gonzalges – Processamento Digital de imagens>>
3. VISÃO GERAL DO PROJETO
18
A arquitetura de computação em núvem é aplicação de sistema na WEB que
envolve as ferramentas ... o que faz, como e porque..e apresenta o nome do sistema
e justifica a denominação
3.1 ESPECIFICAÇÕES INICIAIS
Nesta seção são apresentados o escopo do projeto e há a definição de cada
módulo do sistema xx Robot.
3.2. DEFINIÇÃO DO ESCOPO DO PROJETO
Nesta seção há a definição do escopo do projeto e a definição dos módulos
de ambos os produtos desta pesquisa
3.2.1. Descrição da arquitetura em Nuvem
A computação em nuvem (Cloud Computing) é um modelo de
computação que permite ao usuário final conectado à internet utilizar um
poder computacional sem precedentes a partir de qualquer lugar, bastando
para isso apenas ter um terminal conectado à “nuvem” e utilizar a interface
padrão de navegação do seu browser favorito.
De acordo com Taurion (2009, p.7), o termo Computação em Nuvem surgiu em 2006
em uma palestra de Eric Schmidt, da Google, sobre como sua empresa gerenciava seus
Datacenters
19
Por traz da facilidade de uso por parte dos usuários e da abstração que
o termo nuvem representa, fica escondida toda uma complexa infraestrutura
de comunicação, processamento e armazenamento que permitem a
disponibilização e utilização das mais diversas aplicações computacionais na
modalidade de serviços.
O laboratório de tecnologia da informação do National Institute of
Standards and Technology (NIST) define:
Computação em Nuvem como um modelo do tipo
“pague pelo uso” para possibilitar acesso de rede disponível,
conveniente e sobre demanda a um pool compartilhado de
recursos computacionais configuráveis (por exemplo, servidores,
armazenamento, redes, aplicações, serviços) que podem ser
rapidamente adquiridos e liberados com o mínimo esforço
gerencial ou de interação de provedor de serviços (NIST, 2012,
p.13).
A Computação em Nuvem distribui os recursos na forma de serviços, sendo que de acordo
com a modalidade de serviço oferecido podem ser caracterizados como:
• Infrastructure-as-a-Service (IaaS): É a camada dos recursos físicos, tais
como servidores, armazenamento de dados (storage), equipamentos de rede
e comunicação e outros afins;
• Platform-as-a-Service (PaaS): Compreende a plataforma das aplicações, os
serviços de desenvolvimento e execução, além de serviços de banco de
dados;
• Software-as-a-Service (SaaS): Trata-se da disponibilização dos serviços de
software para o usuário final, ou seja, é uma forma de distribuir e
comercializar o software.
20
•
http://www.fitec.org.br/servicos-em-nuvem-oportunidade-para-operadoras-parte-i/
Tipo de nuvem
b) Nuvem Pública – A nuvem pública é o modelo padrão de computação em nuvem, no qual
os serviços são oferecidos de forma aberta a todos os usuários, seja de forma gratuita ou pagando
pelo uso conforme contratado.
b) Nuvem Privada;
A infraestrutura de nuvem privada é voltada exclusivamente para uma única
organização, podendo estar hospedada internamente ou externamente, mas em
geral é construída sobre um data-center privado e fica protegidas atrás de um
firewall com acesso restrito aos funcionários da organização e parceiros de negócios.
c) Nuvem Comunitária;
É uma infra-estrutura de nuvem compartilhada por várias
organizações que partilham interesses e responsabilidade comum.
Pode ser administrada pelas próprias organizações ou por um
terceiro e também pode estar hospedada interna ou
externamente.
21
d) Nuvem Híbrida.
Neste caso temos uma composição de duas ou mais nuvens,
sejam elas privadas, publicas ou comunitárias.
3.2.1.1. Provedor de nuvem
Digital Ocean
Foi escolhido por tratar-se de um provedor de hospedagem em núvem simples, que
atende desenvolvedores em qualquer escala, sendo que ate para os planos mais
básicos(US$5 por mês) disponibiliza discos SSD que proporcionam rápido acesso
para utilização de aplicativos e sites. Reunindo então as melhores características
para o processamento confiávelde Visão Computacional que objetiva este projeto.
Figura x – Imagem do Console Digital Ocean
22
http://www.carlosstenzel.com/TI/o-que-e-a-digitalocean/
Servidor nuvem + Linux + node.js + escalabilidade
Figura 2 – Imagem do sistema tal (FAZ, 2015)
3.2.1.2. Sistema Operacional
Foi utilizado Linux na distribuição Ubuntu versão 14.04 por tratar-se de um
sistema operacional opensource, de alta confiabilidade e estabilidade, portanto
totalmente apropriado para este projeto.
3.2.1.3. Node.js
Node.js é uma plataforma de desenvolvimento Web, construída sobre o motor V8
JavaScript para facilmente construir aplicações de rede rápidas e escaláveis, utiliza
um modelo de I/O direcionada a evento não bloqueante que o torna leve e eficiente,
ideal para aplicações em tempo real com troca intensa de dados através de
dispositivos distribuídos(NODE, 2015).
23
Com Node.js podemos criar uma variedade de aplicações Web utilizando apenas
código em JavaScript do lado do servidor.
Portanto de forma diferente de outras plataformas como .NET, java, Ruby ou Pyton
em que os processos são enfileirados e executados e paralisam o processamento
enquanto utilizam um I/O no servidor(blocking-thread), no Node.js não existe
prioridade nem bloqueios, todas as treads são executadas na medida que vão
chegando(single trhead), desta forma todo o poder de processamento do servidor é
disponibilizado o tempo todo, permitindo dezenas de milhares de conexões
simultâneas(IMASTERS, 2015).
3.2.1.4. MOTOR V8 JAVASCRIPT
É o interpretador de JavaScript OPENSOURCE implementado pelo Google em C+
+ e utilizado pelo navegador Google Chrome.
Ele permite executar código Javascript no lado do servidor e confere ótimo
desempenho ao Node.js que utiliza esta linguagem com base.
Pelo fato do V8 ter sido escrito em C++, ele consegue acelerar o desempenho de
uma aplicação compilando o código Javascript para o formato nativo de máquina
antes de executá-lo, permitindo que rode a velocidade de um código binário
compilado(V8, 2015).
Justamente pelo fato do V8 ser escrito em C++ é que esta tecnologia foi escolhida
para fazer parte da plataforma, uma vez que tanto as rotinas já existentes que
controlam os robôs, quanto outras de processamento de imagem utilizando
OPENCV foram escritas na linguagem C++.
3.2.1.5. Mongoose
Mongoose é uma biblioteca do Node.js que permite o acesso a dados no banco de
dados Mongo.
24
O Mongoose funciona com base em esquemas para modelar os dados da aplicação,
fornece um mapeamento de objetos do MongoDB similar ao ORM ou ODM, isso
significa que o Mongoose traduz os dados do banco de dados para objetos
JavaScript para que possam ser utilizados por sua aplicação.Ele possui sistema de
conversão de tipos, validação, criação de consultas e hooks para lógica de negócios.
(MONGOOSE, 2015)
3.2.1.5. MongoDB
O MongoDB é um banco de dados OPENSOURCE orientado a documentos, ele faz
parte da nova geração de BD chamados de NoSQL, denominados desta forma para
serem diferenciados dos bancos de dados relacionais que utilizam a sintaxe SQL e
trabalham de forma bidimensional, armazenando registros em linhas e colunas.
No MongoDB ao invés de registros trabalha com documentos que são autocontidos
e auto descritivos utilizando a sintaxe JSON..
Bancos de Dados Orientados a Documentos tem como característica conter todas
as informações importantes em um único documento, ser livre de esquemas,
possuir identificadores únicos universais - UUID, possibilitar a consulta de
documentos através de métodos avançados de agrupamento e filtragem, técnica
conhecida como MapReduce, permitindo também melhorar a redundância e
eliminar inconsistências(MONGODB, 2015).
3.2.1.4. WebRTC
WebRTC é uma API elaborada pelo W3C sob a modalidade OPENSOURCE, que
permite a comunicação de áudio e vídeo de forma extremamente simplificada, sem a
necessidade de instalar plug-ins ou bibliotecas adicionais. Desta forma permite aos
25
desenvolvedores criar sistemas de comunicação em tempo real – RTC, utiliza
tecnologias web padrão tais como HTML e JavaScript, funciona perfeitamente em
todos os navegador de última geração(WEBRTC, 2015).
Na implementação feita neste projeto ambos clients (paciente e atendente) registram
seu IP no servidor, para que a partir da identificação do IP qualquer uma das partes
possa iniciar uma chamada, estabelecendo uma conexão direta com o outro (par a
par) e transfer dados de vídeo e voz (streaming) sem passar pelo servidor.
Figura x – Arquitetura típica de aplicação que utiliza WebRTC
26
<<nova pagina>>
3. METODOLOGIA
Neste capítulo é apresentado as metodologias usadas no desenvolvimento do
sistema. Serão representados o modelo incremental, ambiente de hardware, a
linguagem de programação utilizada, a modelagem de dados, diagamas de caso de
uso, de classes e de sequência e como também o plano de atividades.
4.1. Modelo Incremental
O modelo incremental foi a melhor abordagem escolhida pelo fato de nossos
requesitos mudarem bastante, conforme o desenrrolar do projeto .
4.1. AMBIENTE DE HARDWARE
O hardware utilizado para o desenvolvimento de do projeto foram dois notebooks
portáteis e um tablets Samsung Galaxy Tab 3 .
• Notebook Acer:
o Processador: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
o Memória (RAM): 8,00 GB
o Disco Rígido: 500 GB
o Sistema Operacional: Windows 10 Pro
• Notebook Samsung ATIV Book 2
o Processador: Intel(R) Core(TM) i5- 4210U CPU @2.70GHz
o Memória (RAM): 8,00 GB
o Disco Rígido: 1 T
27
o Sistema Operacional: Windows 10 Pro
• Tablet: Samsung Galaxy Tab 3
• Processador: 2x ARM Cortext-A9 @ 1,20 GHz
• Memória (RAM): 832 MG
• Sistema Operacional: Android
Núvem
Processador: Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz
Memória: 512MB
Disco: 20 GB.
3.2. SOFTWARES UTILIZADOS
• Visual Studio 2013: Software usa para programação do sistema
• Putty: Software utilizado para acesso remoto para núvem;
• Winscp: Software utilizado para transferência de arquivos;
• SmartGit: Software utilizado para o versionamento do código;
• Google Chrome: navegador para testes de interface.
• Astah Comunity – Usado na criação de diagramas da documentação.
• WBS Schedule Pro – Ferramente usada na geração da estrutura analítica do
projeto
• Pacote Microsoft Office – Usado na geração de documento de textos.
4.3.1 WBS
O WBS (Work Breakdown Structure) é mode de divisão das tarefas do projeto, no
qual se busca identificar visualmente as atividades a serem executadas para se
concluir o projeto. Apresentado na figura tal.
28
4.3.2 Gant
De acordo com o Diagrama do GAnt ....
4.3 Plano de Comunicação
29
Para o sucesso do projeto a necessidade que haja cinergia entre os
integrantes, do qual só pode ser alcançado com a efetiva e boa comunicação entres
os mesmo, de forma a providenciar um ligação harmoniosa para que cada um
consiga saber o que a outra pessoa está fazendo e de qual será sua parte na
contribuição no desenvolvimento, deste modo busca não perder tempo em
discuções desnecessárias. Segue abaixo o plano de comunicação.
Grupo Intersssado Método/Meio Objetivo Frequência
Equipe do Projeto Reunião entre a
equipe e orientador
Andamento do
Projeto
Quinzenal
Equipe do Projeto Reunioes e
telefonemas
Acompanhamento
das tarefas
Quando necessário
Equipe do Projeto Reunião online ou
prensicial
Desenvolvimento do
software
Quando necessário
3.3. Plano de Riscos
Tem por finalidade identificar possíveis problemas que podem ocorrer durante
o desenvolvimento do projeto, de forma a identificar ações preventivas e corretivas
para que os riscos não afetem o produto final desejado.
O risco é classificado entre uma nota de 1 a 9, através dos indicadores
probalidade e impacto
N º Condição Consequência Ação Probabilidade Impacto Classificação
1 Falta de
conhecimen
to nas
tecnologias
usadas
Atraso na
entrega do
produto final.
Estudar as
tecnologia
utilizadas
no
desenvolvi
mento do
projeto
Atlo Alto 7
2 Mudanças
no escopo
do projeto
Atraso nas
atividades do
cronograma
Ações que
utilizem
menos
recursos de
tempo
Muito Alto Moderado 7
3 Falha de
comunicaçã
o
Atraso nas
atividades do
cronograma
Comprome
timento
com
reuniões
Alto Moderado 6
30
entre
integrantes
e
orientador
4 Defeito nos
hadwares e
software
utilizados
Atraso nas
atividades do
cronograma
Procurar
pro
hardware
alternativo
s
Muito Alto Muito
Baixo
5
4.4 Diagrama de Casos de Uso
Descrição do diagrama...
31
4.4.1 Descrição dos casos de Uso
>>>> apresentação, tabelas com as devidas informações de ...<<<<
Caso de Uso : Realizar atendimento com Vídeo
Descrição: Este caso uso descreve como o atendente pode realizar um atendimento
com vídeo.
Pré-condições: Atendente precisa estar logado no sistema. Paciente precisa estar
com o aplicativo android rodando.
Pós-condições: Stream de vídeo entre o paciente e o atendente.
Ator Envolvido: Atendente.
Fluxo de eventos Principais:
1. O atendente escolhe determinado paciente e clica em acessar;
32
2. Clica no botão ligar;
3. O sistema recebe e envia uma stream de vídeo para o tablet do paciente;
Fluxo de Exceção:
E1. Problema com api de stream de vídeo.
Caso de Uso : Movimentar Robô
Descriçao: Este caso uso descreve como o atendente pode enviar comandos de
movimentação.
Pré-condiçoes: Atendente precisa estar logado no sistema. Pacienta precisa estar
com o aplicativo android rodando.
Pós-condições: Um comando de movimentação é recebido pelo aplicativo android.
Ator Envolvido: Atendente.
Fluxo de eventos Principais:
1. O atendente escolhe determinado paciente e clica em acessar;
2. Clica na setas de direção e envia as direções para o sistema;
3. O sistema recebe essas direções;
4. Reenvia-os para o tablet do paciente;
Fluxo de Exceção:
E1. Problema com sockets no envio da web para o sistema ou do sistema para
android.
Caso de Uso : Receber Atendimento
Descrição: Este caso uso descreve como o paciente recebe o atendimento.
Pré-condiçoes: Atendente precisa estar logado no sistema. Pacienta precisa estar
com o aplicativo android rodando.
Pós-condições: Stream de vídeo entre paciente e atendente.
Ator Envolvido: Atendente.
33
Fluxo de eventos Principais:
1. Paciente acessa o aplicativo e escolhe qual paciente que ele é.
Fluxo de Exceção:
E1. Problema com api de stream de vídeo .
Caso de Uso : Cadastrar Atendimento
Descriçao: Este caso uso descreve como o atendente pode cadastrar um
atendimento.
Pré-condiçoes: Atendente precisa estar logado no sistema e ter no mínimo um
paciente cadastrado.
Pós-condições: Um cadastrado é realizado.
Ator Envolvido: Atendente.
Fluxo de eventos Principais:
1. O atendente escolhe determinado paciente e clica em acessar;
2. Seleciona o tipo de atendimento;
3. Registra o atendimento, no campo específico .
3. Clica em salvar;
4. O sistema salvo o atendimento;
6. Retorna para lista de pacientes
Caso de Uso : Cadastrar Paciente
Descriçao: Este caso uso descreve como o atendente cadastra um paciente no
sistema.
Pré-condiçoes: Atendente precisa estar logado no sistema.
Pós-condições: insere um novo paciente no sistema.
34
Ator Envolvido: Atendente.
Fluxo de eventos Principais:
1. O atendente preenche os campos com os dados do novo paciente;
2. Clica em salvar;
3. O sistema válida os dados;
4. O sistema retorna para para lista de pacientes com uma mensagem de
confirmação do cadastro.
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
Caso de Uso : Cadastrar Usuário
Descriçao: Este caso uso descreve como o administrador cadastra um atendente no
sistema.
Pré-condiçoes: administrador precisa estar logado no sistema.
Pós-condições: Insere um novo atendente ou administrador no sistema.
Ator Envolvido: administrador.
Fluxo de eventos Principais:
1. O administrador preenche os campos com os dados do novo atendente;
2. O sistema válida o e-mail preenchido;
3. Clica em salvar;
4. O sistema válida os dados;
5. O sistema retorna para para lista de atendente com uma mensagem de
confirmação do cadastro.
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
E2. O mesmo e-mail já estar sendo usado por outro atendente.
35
Caso de Uso : Cadastrar Robô
Descriçao: Este caso uso descreve como o administrador cadastra um robô no
sistema.
Pré-condiçoes: administrador precisa estar logado no sistema.
Pós-condições: Insere um novo robô no sistema.
Ator Envolvido: administrador .
Fluxo de eventos Principais:
1. O sistema válida o preenchimento do campo nome;
2. O administrador preenche campos com os dados do novo robô;
3. Clica em salvar;
4. O sistema válida os dados;
5. O sistema retorna para para lista de robôs com uma mensagem de confirmação
do cadastro.
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
E2. O nome do robô já estar sendo usado por outro robô.
Caso de Uso : Editar Paciente
Descriçao: Este caso de uso descreve como o Atendente edita um paciente.
Pré-condiçoes: Atendente estar logado e ter no mínimo um paciente já cadastro.
Pós-condições: Os dados de um paciente são atualizados.
Ator Envolvido: Atendente;
Fluxo de eventos Principais:
1. O atendente escolhe um paciente e clica em editar;
2. É redirecionado para tela de edição do Atendente.;
3. O atendente preenche os outro campos;
4. Clica em salvar;
36
5. O sistema válida os dados;
6. O sistema retorna para para lista de pacientes com uma mensagem de
confirmação da edição.
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
Caso de Uso : Editar Atendente
Descriçao: Este caso de uso descreve como o administrador edita um atendente.
Pré-condiçoes: administrador precisa estar logado e ter no mínimo um atendente já
cadastro.
Pós-condições: Os dados de um atendente são atualizados, o mesmo pode se
tornar também administrador do sistema.
Ator Envolvido: Administrador ;
Fluxo de eventos Principais:
1. O administrador escolhe um atendente e clica em editar;
2. É redirecionado para tela de edição do atendente;
3. O sistema valida o preenchimento do campo e-mail;
4. O administrador termina de preenche os outros campos;
5. Clica em salvar;
6. O sistema válida os dados;
7. O sistema retorna para para lista de atendentes com uma mensagem de
confirmação da edição;
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
E2. E-mail já estar sendo usado por outro atendente.
Caso de Uso : Editar Robô
37
Descriçao: Este caso de uso descreve como o administrador edita um robô.
Pré-condiçoes: administrador precisa estar logado e ter no mínimo um robô já
cadastro.
Pós-condições: Os dados de um robô são atualizados.
Ator Envolvido: Administrador ;
Fluxo de eventos Principais:
1. O administrador escolhe um robô e clica em editar;
2. É redirecionado para tela de edição do robô;
3. O sistema valida o preenchimento do campo nome do robô;
4. O administrador termina de preenche os outros campos;
5. Clica em salvar;
6. O sistema válida os dados;
7. O sistema retorna para para lista de robôs com uma mensagem de
confirmação da edição;
Fluxo de Exceção:
E1. Campos de preenchimento obrigatório não preenchidos.
E2. O nome do robô já estar sendo usado por outro robô.
Caso de Uso : Excluir Paciente
Descriçao: Este caso de uso descreve como o atendente exclui um paciente.
Pré-condiçoes: atendente precisa estar logado e ter no mínimo um paciente já
cadastro.
Pós-condições: Um paciente é apagado do sistema.
Ator Envolvido: Administrador ;
Fluxo de eventos Principais:
1. O atendente escolhe um paciente e clica em excluir;
2. O sistema deleta as referências deste paciente;
38
3. Retorna para para lista de pacientes com uma mensagem de confirmação da
exclusão;
Caso de Uso : Excluir Robô
Descriçao: Este caso de uso descreve como o administrador exclui um robô.
Pré-condiçoes: administrador precisa estar logado e ter no mínimo um robô
cadastro.
Pós-condições: Um robô é apagado do sistema.
Ator Envolvido: Administrador ;
Fluxo de eventos Principais:
1. O administrador escolhe um robô e clica em excluir;
2. O sistema deleta as referências deste robô;
3. Retorna para para lista de robôs com uma mensagem de confirmação da
exclusão;
Caso de Uso : Excluir Atendente
Descriçao: Este caso de uso descreve como o administrador exclui um atendente.
Pré-condiçoes: administrador precisa estar logado e ter no mínimo um atendente
cadastro.
Pós-condições: Um atendente é apagado do sistema.
Ator Envolvido: Administrador ;
Fluxo de eventos Principais:
1. O administrador escolhe um atendente e clica em excluir;
2. O sistema deleta as referências deste atendente;
3. Retorna para para lista de atendentes com uma mensagem de confirmação
da exclusão;
39
4.5 DIAGRAMA ENTIDADE RELACIONAMENTO
<<<<apresentação, descrever a quantidade de entidades e principais ...>>>
4.6
4.7 DIAGRAMA DE CLASSES
<<< apresentação>>>
40
4.8 DIAGRAMA DE SEQUÊNCIA
<<<< apresentação>>>
4.6.1 Cadastrar Atendente
41
4.8.2 Cadastrar Atendimeto
4.6.3 Cadastrar Paciente
42
4.8.3 Cadastrar Robo
43
4.8.4 Editar Paciente
44
4.8.5 Editar Paciente
4.6.6 Editar Robo
4.8.6 Excluir Atendente
45
4.8.7 Excluir Robo
4.6.8 Excluir Paciente
46
4.6.8 Movimentar Robo
4.8.8 Realizar Atendimento com Vídeo
47
4.8.9 Receber Atendimento
<<<nova pagina e capitulo>>>
4. Apresentação do Software
Nesta seçao será apresentado o software e sua seção.....
5.1.1 Login
48
<<<<descrição>>>
49
5.1.2
50
51
52
53
54
55
56
57
58
5.2 VALIDAÇÃO DA PLATAFORMA DE TELEMEDICINA
Foi utilizada a metodologia de Pressman (2006) para planejar e implementar os
testes. Definiu-se que os quesitos a serem testados deveriam ser usabilidade,
legibilidade, funcionalidade e interface. ´
Foram convocados e submetidos aos testes 8 usuários com diferentes perfis de
idade e habilidade na utilização de softwares, posteriormente estes preencheram
questionários com níveis de resposta ótimo, bom, regular, insuficiente e classificação
equivalente em valores.
5.2.1 Teste de Usabilidade
O teste de usabilidade mostra o acesso e organização do material, facilidade
de uso e de entendimento, previsibilidade e descrição do material. Ilustrado
no quadro a seguir:
TESTE PERGUNTAS
DE
ACEITAÇÃO
DO USUÁRIO
DO SISTEMA
ÓTIMO BOM REGULAR INSUFICIENTE
USABILIDADE Login ao
sistema
93% 7%
Organização
do sistema
85% 15%
59
Facilidade de
uso
88% 12%
Facilidade de
entendimento
85% 15%
Previsibilidade 87% 13%
Descrição do
sistema
90% 10%
É eficaz,
eficiente e
agradável?
92% 18%
QUADRO XX – AVALIAÇÃO DE USABILIDADE DA PLATAFORMA DE
TELEMEDICINA
Analisando o resultado da avaliação no quesito usabilidade, considerando que o
sistema teve 3 resultados acima de 90% e os outros 4 com média de 86% de
aceitação, podemos então afirmar que o sistema atende bem os usuários em termos
de usabilidade.
5.2.2 Teste de Legibilidade
O teste de legibilidade mostra que o sistema possui e esta de acordo com
uma boa legibilidade, com ícones, rótulos, textos passando as mensagens
desejadas.
TESTE PERGUNTAS
DE
ACEITAÇÃO
DO USUÁRIO
DO SISTEMA
ÓTIMO BOM REGULAR INSUFICIENTE
LEGIBILIDADE Os dados a
serem lidos
95% 5%
60
são
apresentados
de forma
contínua, não
piscantes?
O sistema
utiliza rótulos
(textuais)
quando pode
existir
ambiguidade
de
ícones?
82% 18%
Os ícones são
legíveis?
85% 15%
Os rótulos
de campos
começam
com
uma letra
maiúscula, e
as letras
restantes são
minúsculas?
90% 10%
QUADRO XX – AVALIAÇÃO DE LEGIBILIDADE DA PLATAFORMA DE
TELEMEDICINA
Na avaliação da legibilidade os resultados mostram que o sistema possui:
61
• As informações estão apresentadas nas telas de forma que facilitam a leitura.
• O contraste entre a cor de fundo e a cor da fonte utilizada, não prejudica a
leitura, fazendo com que o texto tenha o destaque suficiente.
• O espaçamento entre os elementos da página é ideal, diminuindo a poluição
visual.
5.2.3 Teste de Funcionalidade
O teste de funcionalidade mostra o que os recursos do sistema se propõem a
fazer. Este teste possui as seguintes perguntas: Propõe-se a fazer o que é
proposto? Satisfaz as necessidades? Gera resultados corretos? Características
compatíveis com o seu nível de conhecimento? A linguagem utilizada no sistema é
compatível com a sua? Ilustrado no quadro a seguir.
TESTE PERGUNTAS
DE
ACEITAÇÃO
DO USUÁRIO
DO SISTEMA
ÓTIMO BOM REGULAR INSUFICIENTE
FUNCIONALIDADE Propõe-se a
fazer o que é
proposto?
100%
Satisfaz as
necessidades?
85% 15%
Gera
resultados
corretos?
90% 10%
62
Características
compatíveis
com
o seu nível de
conhecimento
?
93% 7%
QUADRO XX – AVALIAÇÃO DE FUNCIONALIDADE DA PLATAFORMA DE
TELEMEDICINA
A avaliação de funcionalidades mede se os objetivos foram alcançados
baseados em sua descrição e se houve alguma funcionalidade falha.
5.2.4 Teste de Interface
O teste de Interface mostra a interação do usuárioe sistema. O quadro abaixo
mostra os resultados obtidos das seguintes tabelas.
Interfaces Aceitação
das telas
pelos
usuários
Usuário
1 2 3 4 5 6 7 8
Tela 1 -
Login
63
Correspondência de valores: 1 a 3 Insuficiente, 4 a 5 regular, 6 a 8 bom, 9 e 10 ótimo
QUADRO XX – AVALIAÇÃO DE INTERFACES DA PLATAFORMA DE
TELEMEDICINA
Conclusões
• -pequeno escopo do projeto
Este projeto de “Telemedicina de baixo custo”, tem como objetivo principal o
atendimento médico a pacientes de forma remota, através de um software que
permita a comunicação simultânea entre atendente e paciente, além do registro do
atendimento. Ainda possui como objetivos adicionais, a disponibilização de uma
biblioteca de visão computacional para processamento em nuvem e a possibilidade
de comandar robôs para acompanhamento de pacientes que demandem um
acompanhamento diferenciado.
A solução aqui demonstrada trata de uma plataforma de software em núvem, que
utiliza linguagens e recursos de última geração para atender os objetivos propostos.
• se os objetivos forma atingidos
Conforme demonstrado, a plataforma de software em nuvem que é objeto deste
trabalho, contém todas as funcionalidades necessárias para atender os objetivos
previamente definidos, consideramos que estes foram atingidos plenamente.
• - resumo dos resultados dos testes
Foram realizados testes, utilizando a metodologia de Pressman (2006), na qual um
grupo de usuários preenche um questionário para pontuar a solução apresentada.
Foram pontuados os quesitos, funcionalidade, legibilidade e usabilidade, resultando
que todos os usuários deram notas correspondentes a ótimo e bom, tendo como
64
resultado geral uma média de aprovação próxima de 90%, de forma a obter uma
validação totalmente positiva dos quesitos apresentados.
- qual relevância e contribuição do projeto
Quando do início deste trabalho eram diferentes os objetivos e as prioridades
destes, passamos por fases com objetivos tais como
• “Plataforma de visão computacional na nuvem”
• Migração do projeto pre-existente “Piá Robô “para a nuvem
• Estruturação de uma plataforma de processamento de Visão Computacional
em nuvem, com alta escalabilidade
Todas as mudanças acabaram enriquecendo a “Plataforma de Telemedicina de
baixo custo” e contribuindo com diferentes funcionalidades que hoje estão sob a
mesma plataforma de nuvem.
Apesar de não ter resultado numa efetiva utilização na “Plataforma de Telemedicina
de baixo custo”, a biblioteca OPENCV foi portada para a plataforma de nuvem e fica
disponível de forma totalmente funcional para futuros trabalhos, fundamentalmente
para o grupo de pesquisa GEPTA que deverá utilizar como base para seus projetos.
Por último e de fundamental importância, acreditamos verdadeiramente que esta
solução possa efetivamente ganhar o mercado e contribuir no atendimento remoto
de pacientes, fundamentalmente em locais com escassez de profissionais da saúde,
conforme relatado no trabalho.
65
REFERENCIAS
COISI, Juliana Folha de São Paulo: Brasil aumenta o número de médicos mas
distribuição continua desigual Seminários Folha da Saúdeo do brasil, São Paulo,
Disponível em <http://www1.folha.uol.com.br/seminariosfolha/2015/05/1628533-
brasil-aumenta-numero-de-medicos-mas-concentracao-continua.shtml>
Acesso em 10 de Outubro de 2015.
GUEDES, G. UML 2 Guia Prático. São Paulo: Novatec, 2007.
PEREIRA, CAIO RIBEIRO Node.js: Aplicações web real-time com Node.js. São Paulo: Casa do Código,
2014.
DOUGLAS, ERIC JavaScript Furtivo. São Paulo: Leanpub, 2014
SILVA, MAURICIO SAMY JavaScript: Guia do programador São Paulo: Novatec, 2010
GONZALEZ, Rafael C., WOODS, Richard E. Processamento de imagens digitais São Paulo: Blucher,
2000
PRESSMAN, R. S. Engenharia de Software. Rio de Janeiro: McGraw-Hill,2006
MONTEIRO, Alexandra A história da telessaude: da cidade para o estado do Rio
de Janeiro. Rio de janeiro: EdUerj,2015
MAIS MEDICOS Mais médicos para o Brasil, mais saúde para você, Brasilia,
Disponível em < http://www.maismedicos.gov.br/conheca-programa>
Acesso em 10 de Outubro de 2015.
NODE, O que é node.js? Disponível em http://nodebr.com/pagina7/
Acesso em 12 de Outubro de 2015
66
IMASTERS, Como o Node funciona,
Disponível em <http://imasters.com.br/artigo/22016/javascript/o-que-exatamente-e-o-
nodejs/>
Acesso em 12 de Outubro de 2015
V8, Motor V8 Javascript,
Disponível em <https://code.google.com/p/v8/>
Acesso em 12 de Outubro de 2015
MONGOOSE, Introdução ao Mongoose
Disponível em < http://nodebr.com/nodejs-e-mongodb-introducao-ao-mongoose>
Acesso em 12 de Outubro de 2015
MONGODB, Introdução ao Mongodb
Disponível em < http://www.devmedia.com.br/introducao-ao-mongodb/30792>
Acesso em 13 de Outubro de 2015
WEBRTC, Webrtc
Disponível em < http://www.webrtc.org>
Acesso em 13 de Outubro de 2015
67

Mais conteúdo relacionado

Mais procurados

Ana rasteiro reflexão ufcd 3275 ana rasteiro corrigida pela mediadora
Ana rasteiro reflexão  ufcd 3275 ana rasteiro corrigida pela mediadoraAna rasteiro reflexão  ufcd 3275 ana rasteiro corrigida pela mediadora
Ana rasteiro reflexão ufcd 3275 ana rasteiro corrigida pela mediadorarasteiro
 
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021BarbaraLuiza13
 
Deolinda Autobiografia
Deolinda   AutobiografiaDeolinda   Autobiografia
Deolinda Autobiografiajosemorais
 
Portfólio de aprendizagem
Portfólio de aprendizagemPortfólio de aprendizagem
Portfólio de aprendizagemviviprof
 
Como fazer apresentação oral
Como fazer apresentação oralComo fazer apresentação oral
Como fazer apresentação oralSandra Alves
 
Manual para cuidadores de idosos
Manual para cuidadores de idososManual para cuidadores de idosos
Manual para cuidadores de idososgcmrs
 
Livro os meus interesses profissionais
Livro   os meus interesses profissionaisLivro   os meus interesses profissionais
Livro os meus interesses profissionaisMyzer
 
Ana rasteiro ft ufcd 3244_reflexão
Ana rasteiro ft ufcd 3244_reflexãoAna rasteiro ft ufcd 3244_reflexão
Ana rasteiro ft ufcd 3244_reflexãorasteiro
 
Epidemiologia e vigilância a saúde
Epidemiologia e vigilância a saúdeEpidemiologia e vigilância a saúde
Epidemiologia e vigilância a saúdesimonemickos
 
Proporções do Rosto
Proporções do RostoProporções do Rosto
Proporções do RostoArtur Coelho
 
CREAS- CENTRO DE REFERÊNCIA ESPECIALIZADO DE ASSISTÊNCIA SOCIAL – CREAS GU...
CREAS- CENTRO DE REFERÊNCIA  ESPECIALIZADO DE ASSISTÊNCIA  SOCIAL – CREAS  GU...CREAS- CENTRO DE REFERÊNCIA  ESPECIALIZADO DE ASSISTÊNCIA  SOCIAL – CREAS  GU...
CREAS- CENTRO DE REFERÊNCIA ESPECIALIZADO DE ASSISTÊNCIA SOCIAL – CREAS GU...Rosane Domingues
 
C.L.C. 5 - Reflexão crítica sobre o computador
C.L.C. 5 - Reflexão crítica sobre o computadorC.L.C. 5 - Reflexão crítica sobre o computador
C.L.C. 5 - Reflexão crítica sobre o computadorI.Braz Slideshares
 
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...Quirino Vieira
 
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadora
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadoraAna maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadora
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadorarasteiro
 
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSA
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSAENVELHECIMENTO E SAÚDE DA PESSOA IDOSA
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSAenfermagemnaveia
 

Mais procurados (20)

Ana rasteiro reflexão ufcd 3275 ana rasteiro corrigida pela mediadora
Ana rasteiro reflexão  ufcd 3275 ana rasteiro corrigida pela mediadoraAna rasteiro reflexão  ufcd 3275 ana rasteiro corrigida pela mediadora
Ana rasteiro reflexão ufcd 3275 ana rasteiro corrigida pela mediadora
 
SUS
SUSSUS
SUS
 
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021
P.R.A ALEXANDRE TORRES-ATUALIZADO-30-06-2021
 
Deolinda Autobiografia
Deolinda   AutobiografiaDeolinda   Autobiografia
Deolinda Autobiografia
 
Plano de aulal 1
Plano de aulal 1Plano de aulal 1
Plano de aulal 1
 
Portfólio de aprendizagem
Portfólio de aprendizagemPortfólio de aprendizagem
Portfólio de aprendizagem
 
Como fazer apresentação oral
Como fazer apresentação oralComo fazer apresentação oral
Como fazer apresentação oral
 
Portefólio
Portefólio Portefólio
Portefólio
 
Manual para cuidadores de idosos
Manual para cuidadores de idososManual para cuidadores de idosos
Manual para cuidadores de idosos
 
Livro os meus interesses profissionais
Livro   os meus interesses profissionaisLivro   os meus interesses profissionais
Livro os meus interesses profissionais
 
Ana rasteiro ft ufcd 3244_reflexão
Ana rasteiro ft ufcd 3244_reflexãoAna rasteiro ft ufcd 3244_reflexão
Ana rasteiro ft ufcd 3244_reflexão
 
Epidemiologia e vigilância a saúde
Epidemiologia e vigilância a saúdeEpidemiologia e vigilância a saúde
Epidemiologia e vigilância a saúde
 
Proporções do Rosto
Proporções do RostoProporções do Rosto
Proporções do Rosto
 
O Desenho do Rosto EV
O Desenho do Rosto EVO Desenho do Rosto EV
O Desenho do Rosto EV
 
CREAS- CENTRO DE REFERÊNCIA ESPECIALIZADO DE ASSISTÊNCIA SOCIAL – CREAS GU...
CREAS- CENTRO DE REFERÊNCIA  ESPECIALIZADO DE ASSISTÊNCIA  SOCIAL – CREAS  GU...CREAS- CENTRO DE REFERÊNCIA  ESPECIALIZADO DE ASSISTÊNCIA  SOCIAL – CREAS  GU...
CREAS- CENTRO DE REFERÊNCIA ESPECIALIZADO DE ASSISTÊNCIA SOCIAL – CREAS GU...
 
C.L.C. 5 - Reflexão crítica sobre o computador
C.L.C. 5 - Reflexão crítica sobre o computadorC.L.C. 5 - Reflexão crítica sobre o computador
C.L.C. 5 - Reflexão crítica sobre o computador
 
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...
Portefólio – Técnicas de Apoio à Gestão, Escola Profissional Cristóvão Colomb...
 
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadora
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadoraAna maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadora
Ana maria rasteiro reflexão ft ufcd 3273 corrigida pela mediadora
 
UFCD_10167_Manual Formandos.pdf
UFCD_10167_Manual Formandos.pdfUFCD_10167_Manual Formandos.pdf
UFCD_10167_Manual Formandos.pdf
 
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSA
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSAENVELHECIMENTO E SAÚDE DA PESSOA IDOSA
ENVELHECIMENTO E SAÚDE DA PESSOA IDOSA
 

Semelhante a Tcc plataforma telemedicina de baixo custo

Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoDarlan Segalin
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TIOhio University
 
Gerenciamento de serviços de TI
Gerenciamento de serviços de TIGerenciamento de serviços de TI
Gerenciamento de serviços de TIOhio University
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho finalSergio Chaves
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-ProposalKevin Martins
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.Douglas Scriptore
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasWANDERSON JONER
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaLucianaFerreira163
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Lenin Abadie
 
Virtualizacao e o uso de Software Livre
Virtualizacao e o uso de Software LivreVirtualizacao e o uso de Software Livre
Virtualizacao e o uso de Software LivreJUAREZ DE OLIVEIRA
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de softwareDanilo Gois
 

Semelhante a Tcc plataforma telemedicina de baixo custo (20)

Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TI
 
Gerenciamento de serviços de TI
Gerenciamento de serviços de TIGerenciamento de serviços de TI
Gerenciamento de serviços de TI
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho final
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-Proposal
 
TEES - Apresentacao Final
TEES - Apresentacao FinalTEES - Apresentacao Final
TEES - Apresentacao Final
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de Sistemas
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informatica
 
Mdb
MdbMdb
Mdb
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Virtualizacao e o uso de Software Livre
Virtualizacao e o uso de Software LivreVirtualizacao e o uso de Software Livre
Virtualizacao e o uso de Software Livre
 
Monografia-Devops
Monografia-DevopsMonografia-Devops
Monografia-Devops
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Web services
Web  servicesWeb  services
Web services
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de software
 

Tcc plataforma telemedicina de baixo custo

  • 1. 1 UNIVERSIDADE FEDERAL DO PARANÁ Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Leonardo Ramón Bermúdez Alvarez Rafael Kozar PLATAFORMA DE TELEMEDICINA DE BAIXO CUSTO CURITIBA, 2015
  • 2. 2 Leonardo Ramón Bermúdez Alvarez Rafael Kozar PLATAFORMA DE TELEMEDICINA DE BAIXO CUSTO Trabalho de conclusão do curso Superior em Tecnologia em Análise e Desenvolvimento de Sistemas, Universidade Federal do Paraná, Curitiba - PR. Orientador: Prof. Dr. Luiz Antônio Pereira Neves. CURITIBA, 2015
  • 5. 5 SUMÁRIO 2.4 INTERFACE HUMANO-COMPUTADOR.....................................................................16 3.2.1.4. MOTOR V8 JAVASCRIPT...................................................................................................23 3.METODOLOGIA......................................................................................................26 4.1. Modelo Incremental....................................................................................................26 4.1. AMBIENTE DE HARDWARE......................................................................................26 3.2.SOFTWARES UTILIZADOS........................................................................................27 4.3.2Gant...........................................................................................................................28 4.3 Plano de Comunicação................................................................................................28 3.3.Plano de Riscos...........................................................................................................29 4.5DIAGRAMA ENTIDADE RELACIONAMENTO.............................................................39 <<<<apresentação, descrever a quantidade de entidades e principais ...>>>...................39 4.6.....................................................................................................................................39 4.8.3Cadastrar Robo.........................................................................................................42 4.8.4Editar Paciente..........................................................................................................43 4.8.5Editar Paciente..........................................................................................................44 4.6.6 Editar Robo...............................................................................................................44 ..........................................................................................................................................44 4.8.6Excluir Atendente......................................................................................................44 4.8.7Excluir Robo..............................................................................................................45 4.6.8 Excluir Paciente.......................................................................................................45 4.6.8 Movimentar Robo.....................................................................................................46 4.8.8Realizar Atendimento com Vídeo..............................................................................46 4.8.9Receber Atendimento................................................................................................47 LISTA DE FIGURAS
  • 6. 6 FIGURA 1 - LISTA DE QUADROS QUADRO 1 -
  • 7. 7 LISTA DE SIGLAS NIST – National Institute of Standards and Technology PaaS – Plataforma como Serviço SaaS – Software como Serviço SLA – Services Level Agreement IaaS – Infra-estrutura como Serviço GEPTA – Grupo de Estudos e Pesquisas em Tecnología Aplicada TI – Tecnologia da Informação OpenCV – Open Source Computer Vision Library OMS - Organização Mundial de Saúde ORM - Object Relational Mapping ODM - Object Data Mapping BD – Banco de dados UUID – Identificadores únicos universais W3C – World Wide Web Consortium
  • 8. 8 OPENSOURCE – Projeto de código aberto LISTA DE SÍMBOLOS
  • 10. 10 ABSTRACT - - - - - - - - - - -. Keywords: ----------------------------- 1. INTRODUÇÃO O sistema de saúde brasileiro sofre com a falta de médicos e profissionais da saúde, tendo inclusive que importar estes profissionais. No entanto não há uma efetiva carência destes profissionais no país, uma vez que o Brasil possui 400 mil médicos em atividade, correspondendo a 5 médicos para 1 mil habitantes,
  • 11. 11 enquanto a OMS recomenda um mínimo de 3,5 médicos para esta mesma quantidade de habitantes. (COISI, 2015) Vemos então que o problerma não é a falta de médicos e sim a distribuição, poucos aceitam se instalarem nas periferias ou cidades do interior, sendo diversos os motivos para este desequilíbrio, tais como distância, falta de segurança, falta de infraestrutura médica, salários baixos. Ao tempo que faltam médicos, a telemedicina que foi uma promessa durante muitos anos, possui hoje todos os recursos técnicos necessários para permitir atendimentos médicos à distância e mitigar o problema da escassez de médicos. 1.1. APRESENTAÇÃO DO TEMA O tema deste trabalho é o desenvolvimento de uma plataforma de software em nuvem que permita um completo atendimento médico ou acompanhamento de tratamento à distância. A solução tem como atores o atendente e o paciente. 1.2. ESTRUTURA DO TRABALHO A organização deste documento está feita nos seguintes capítulos: Capitulo 1: Justificativa do projeto, definições dos objetivos gerais e específicos, problematização e motivação do projeto. Capitulo 2: Capitulo 3:
  • 12. 12 1.3. OBJETIVOS 1.3.1. Objetivo geral O objetivo geral do projeto é desenvolver uma plataforma de software em nuvem que permita aos profissionais da saúde, tais como médicos, psicólogos, fisioterapeutas, assistentes sociais e outros, atender remotamente os pacientes em tratamento. Desta forma os profissionais conseguem atender uma quantidade maior de pacientes sem perdas de tempo por deslocamento, registrando automaticamente cada histórico de atendimento. Este projeto também possui um segundo objetivo complementar: estruturar e disponibilizar na mesma plataforma em nuvem, um ambiente de processamento de visão computacional de alta performance e elasticidade, que deverá ser utilizado na implementação de funcionalidades futuras.
  • 13. 13 Existe ainda um terceiro objetivo complementar: para pacientes com maior grau de dependência, foram agregados recursos e controles à plataforma que permitem que o atendente controle um robô localizado junto ao paciente. 1.3.2. Objetivos específicos Para alcançar os objetivos gerais descritos acima, devem ser satisfeitos os seguintes objetivos específicos: • Implantar um ambiente de computação em nuvem o Definir um servidor de baixo custo e suficiente poder computacional o Escolher sistema operacional apropriado; o Instalar compiladores das linguagens que envolvem o projeto. o Implantar a biblioteca OpenCV encarregada das funções de Visão Computacional; • Estruturar uma arquitetura de software que comporte o processamento em nuvem e a escalabilidade das rotinas de Visão Computacional o Desenvolver rotinas que permitam a comunicação entre o paciente e o atendendente, com o registro de informações resultante. o Programar uma camada de apresentação para interação com o usuário e com o atendente. o Programar aplicativo Android que além de interagir com o paciente poderá repassar comandos para um robô com base no microcontrolador Arduino.
  • 14. 14 1.4. PROBLEMATIZAÇÃO O Brasil vive um momento de escassez de profissionais no setor médico, tendo inclusive que importar estes profissionais de outros países para tentar suprir a demanda interna de atendimentos (MAIS MEDICOS, 2015). Normalmente os atendimentos são feitos mediante o deslocamento do paciente ate o profissional da saúde, porém dependendo da condição de saúde e mobilidade do paciente pode ser necessária que seja o médico que va ate o paciente, tornando o atendimento ainda mais custoso do que costuma ser normalmente e afetando ainda mais a disponibilidade destes profissionais. 1.5. JUSTIFICATIVA
  • 15. 15 No mundo da TI vivemos atualmente o momento da migração para a computação em nuvem, uma arquitetura que tem características excepcionais para atender as demandas técnicas da Telemedicina. Ao mesmo tempo que as aplicações tradicionais que funcionam em ambiente desktop, tais como o sistema operacional Windows, devem seguir paulatinamente o caminho da migração para a arquiterua em nuvem, em virtude do estabelecimento e prevalescencia da nova arquitetura, este modelo cria também um ambiente ideal para o processamento de aplicações que exigem alta performance e rápida escalabilidade, condições excepcionais para o processamento de imagens que é a função básica da Visão Computacional, objetivo complementar deste projeto. CARACTERÍSTICAS DA COMPUTACAO EM NUVEM: tendo como base a ampliação do acesso à internet, o barateamento dos equipamentos de acesso(vide Smartphones e Chromebooks) e movida pela alta escalabilidade e consequente alto poder de processamento da arquitetura, também ... <<<refazer>>> 1.6. MOTIVAÇÃO • Dominar o funcionamento da arquitetura de processamento em nuvem; • Criar uma arquitetura computacional em núvem própria para o processamento de Visão Computacional e registro das informações .... • Migrar a solução Nano Robot para o processamento em nuvem; 2. REVISÃO DE LITERATURA 2.1 Telemedicina e Telessaúde
  • 16. 16 De acordo com a OMS, telemedicina compreende “a oferta de serviços ligados aos cuidados com a saúde, nos casos em que a distância é um fator crítico; tais serviços são prestados por profissionais da área da saúde, usando tecnologias de informação e de comunicação para o intercâmbio de informações válidas para diagnósticos, prevenção e tratamento de doenças e a contínua educação de prestadores de serviços em saúde, assim como para fins de pesquisas e avaliações”. Para além da Medicina, a Telessaúde envolve o apoio a profissionais de diversas áreas da saúde, com equipe qualificada de teleconsultoria, que disponibiliza a melhor evidência científica para tomada de decisão. As experiências exitosas e que têm tido sustentabilidade financeira no Brasil, frequentemente, estão associadas à parceria de sua realização com Programas de Residência em Medicina de Família e Comunidade (Programa de Pós-Graduação Médica), que oferece suporte com formação e experiência em Atenção Primária à Saúde, além de muitos especialistas focais. Na área da regulação, a Telessaúde ajuda a diminuir o número de encaminhamentos da atenção primária em saúde para outras especialidades. Por exemplo, no Rio Grande do Sul, o Telessaúde solucionou 69% das dúvidas dos médicos de família que seriam feitas sem esse apoio de uma “segunda opinião médica”, reduzindo, portanto, os custos associados a esses encaminhamentos desnecessários. (MONTEIRO, 2015) <<Geni>> 2.3. IMPORTANTES CONCEITOS Os principais conceitos utilizados neste trabalho são: Visão Computacional, Arduino, Arquitetura em Nuvem. 2.4 INTERFACE HUMANO-COMPUTADOR
  • 17. 17 A introdução de um sistema interativo em um ambiente de trabalho modifica a realização das tarefas por ele suportadas e condiciona o desempenho de seu operador aos erros e acertos da equipe de desenvolvimento do sistema. Ao se elaborar um programa deve-se perguntar que atributos de facilidade de uso devem ser considerados para possibilitar a interação, aprendizagem e satisfação do usuário. A IHC afirma que os sistemas devem ser projetados de forma a atender às necessidades e se acomodar às capacidades das pessoas às quais eles são endereçados. Quatro elementos básicos devem ser considerados dentro do contexto da IHC: sistema, usuários, desenvolvedores, ambiente de uso (domínio de aplicação) sendo que estes elementos devem estar envolvidos em dois processos: interação usuário-sistema e o desenvolvimento do sistema em si. As meta das IHC consistem em produzir sistemas usáveis e seguros, assim como sistemas funcionais e em que as pessoas não devem ter que mudar radicalmente sua forma de atuar para se adaptarem ao sistema; é o sistema que deve ser projetado de forma a atender às suas necessidades. (DEITEL, 2005) <<Conceito de Gonzalges – Processamento Digital de imagens>> 3. VISÃO GERAL DO PROJETO
  • 18. 18 A arquitetura de computação em núvem é aplicação de sistema na WEB que envolve as ferramentas ... o que faz, como e porque..e apresenta o nome do sistema e justifica a denominação 3.1 ESPECIFICAÇÕES INICIAIS Nesta seção são apresentados o escopo do projeto e há a definição de cada módulo do sistema xx Robot. 3.2. DEFINIÇÃO DO ESCOPO DO PROJETO Nesta seção há a definição do escopo do projeto e a definição dos módulos de ambos os produtos desta pesquisa 3.2.1. Descrição da arquitetura em Nuvem A computação em nuvem (Cloud Computing) é um modelo de computação que permite ao usuário final conectado à internet utilizar um poder computacional sem precedentes a partir de qualquer lugar, bastando para isso apenas ter um terminal conectado à “nuvem” e utilizar a interface padrão de navegação do seu browser favorito. De acordo com Taurion (2009, p.7), o termo Computação em Nuvem surgiu em 2006 em uma palestra de Eric Schmidt, da Google, sobre como sua empresa gerenciava seus Datacenters
  • 19. 19 Por traz da facilidade de uso por parte dos usuários e da abstração que o termo nuvem representa, fica escondida toda uma complexa infraestrutura de comunicação, processamento e armazenamento que permitem a disponibilização e utilização das mais diversas aplicações computacionais na modalidade de serviços. O laboratório de tecnologia da informação do National Institute of Standards and Technology (NIST) define: Computação em Nuvem como um modelo do tipo “pague pelo uso” para possibilitar acesso de rede disponível, conveniente e sobre demanda a um pool compartilhado de recursos computacionais configuráveis (por exemplo, servidores, armazenamento, redes, aplicações, serviços) que podem ser rapidamente adquiridos e liberados com o mínimo esforço gerencial ou de interação de provedor de serviços (NIST, 2012, p.13). A Computação em Nuvem distribui os recursos na forma de serviços, sendo que de acordo com a modalidade de serviço oferecido podem ser caracterizados como: • Infrastructure-as-a-Service (IaaS): É a camada dos recursos físicos, tais como servidores, armazenamento de dados (storage), equipamentos de rede e comunicação e outros afins; • Platform-as-a-Service (PaaS): Compreende a plataforma das aplicações, os serviços de desenvolvimento e execução, além de serviços de banco de dados; • Software-as-a-Service (SaaS): Trata-se da disponibilização dos serviços de software para o usuário final, ou seja, é uma forma de distribuir e comercializar o software.
  • 20. 20 • http://www.fitec.org.br/servicos-em-nuvem-oportunidade-para-operadoras-parte-i/ Tipo de nuvem b) Nuvem Pública – A nuvem pública é o modelo padrão de computação em nuvem, no qual os serviços são oferecidos de forma aberta a todos os usuários, seja de forma gratuita ou pagando pelo uso conforme contratado. b) Nuvem Privada; A infraestrutura de nuvem privada é voltada exclusivamente para uma única organização, podendo estar hospedada internamente ou externamente, mas em geral é construída sobre um data-center privado e fica protegidas atrás de um firewall com acesso restrito aos funcionários da organização e parceiros de negócios. c) Nuvem Comunitária; É uma infra-estrutura de nuvem compartilhada por várias organizações que partilham interesses e responsabilidade comum. Pode ser administrada pelas próprias organizações ou por um terceiro e também pode estar hospedada interna ou externamente.
  • 21. 21 d) Nuvem Híbrida. Neste caso temos uma composição de duas ou mais nuvens, sejam elas privadas, publicas ou comunitárias. 3.2.1.1. Provedor de nuvem Digital Ocean Foi escolhido por tratar-se de um provedor de hospedagem em núvem simples, que atende desenvolvedores em qualquer escala, sendo que ate para os planos mais básicos(US$5 por mês) disponibiliza discos SSD que proporcionam rápido acesso para utilização de aplicativos e sites. Reunindo então as melhores características para o processamento confiávelde Visão Computacional que objetiva este projeto. Figura x – Imagem do Console Digital Ocean
  • 22. 22 http://www.carlosstenzel.com/TI/o-que-e-a-digitalocean/ Servidor nuvem + Linux + node.js + escalabilidade Figura 2 – Imagem do sistema tal (FAZ, 2015) 3.2.1.2. Sistema Operacional Foi utilizado Linux na distribuição Ubuntu versão 14.04 por tratar-se de um sistema operacional opensource, de alta confiabilidade e estabilidade, portanto totalmente apropriado para este projeto. 3.2.1.3. Node.js Node.js é uma plataforma de desenvolvimento Web, construída sobre o motor V8 JavaScript para facilmente construir aplicações de rede rápidas e escaláveis, utiliza um modelo de I/O direcionada a evento não bloqueante que o torna leve e eficiente, ideal para aplicações em tempo real com troca intensa de dados através de dispositivos distribuídos(NODE, 2015).
  • 23. 23 Com Node.js podemos criar uma variedade de aplicações Web utilizando apenas código em JavaScript do lado do servidor. Portanto de forma diferente de outras plataformas como .NET, java, Ruby ou Pyton em que os processos são enfileirados e executados e paralisam o processamento enquanto utilizam um I/O no servidor(blocking-thread), no Node.js não existe prioridade nem bloqueios, todas as treads são executadas na medida que vão chegando(single trhead), desta forma todo o poder de processamento do servidor é disponibilizado o tempo todo, permitindo dezenas de milhares de conexões simultâneas(IMASTERS, 2015). 3.2.1.4. MOTOR V8 JAVASCRIPT É o interpretador de JavaScript OPENSOURCE implementado pelo Google em C+ + e utilizado pelo navegador Google Chrome. Ele permite executar código Javascript no lado do servidor e confere ótimo desempenho ao Node.js que utiliza esta linguagem com base. Pelo fato do V8 ter sido escrito em C++, ele consegue acelerar o desempenho de uma aplicação compilando o código Javascript para o formato nativo de máquina antes de executá-lo, permitindo que rode a velocidade de um código binário compilado(V8, 2015). Justamente pelo fato do V8 ser escrito em C++ é que esta tecnologia foi escolhida para fazer parte da plataforma, uma vez que tanto as rotinas já existentes que controlam os robôs, quanto outras de processamento de imagem utilizando OPENCV foram escritas na linguagem C++. 3.2.1.5. Mongoose Mongoose é uma biblioteca do Node.js que permite o acesso a dados no banco de dados Mongo.
  • 24. 24 O Mongoose funciona com base em esquemas para modelar os dados da aplicação, fornece um mapeamento de objetos do MongoDB similar ao ORM ou ODM, isso significa que o Mongoose traduz os dados do banco de dados para objetos JavaScript para que possam ser utilizados por sua aplicação.Ele possui sistema de conversão de tipos, validação, criação de consultas e hooks para lógica de negócios. (MONGOOSE, 2015) 3.2.1.5. MongoDB O MongoDB é um banco de dados OPENSOURCE orientado a documentos, ele faz parte da nova geração de BD chamados de NoSQL, denominados desta forma para serem diferenciados dos bancos de dados relacionais que utilizam a sintaxe SQL e trabalham de forma bidimensional, armazenando registros em linhas e colunas. No MongoDB ao invés de registros trabalha com documentos que são autocontidos e auto descritivos utilizando a sintaxe JSON.. Bancos de Dados Orientados a Documentos tem como característica conter todas as informações importantes em um único documento, ser livre de esquemas, possuir identificadores únicos universais - UUID, possibilitar a consulta de documentos através de métodos avançados de agrupamento e filtragem, técnica conhecida como MapReduce, permitindo também melhorar a redundância e eliminar inconsistências(MONGODB, 2015). 3.2.1.4. WebRTC WebRTC é uma API elaborada pelo W3C sob a modalidade OPENSOURCE, que permite a comunicação de áudio e vídeo de forma extremamente simplificada, sem a necessidade de instalar plug-ins ou bibliotecas adicionais. Desta forma permite aos
  • 25. 25 desenvolvedores criar sistemas de comunicação em tempo real – RTC, utiliza tecnologias web padrão tais como HTML e JavaScript, funciona perfeitamente em todos os navegador de última geração(WEBRTC, 2015). Na implementação feita neste projeto ambos clients (paciente e atendente) registram seu IP no servidor, para que a partir da identificação do IP qualquer uma das partes possa iniciar uma chamada, estabelecendo uma conexão direta com o outro (par a par) e transfer dados de vídeo e voz (streaming) sem passar pelo servidor. Figura x – Arquitetura típica de aplicação que utiliza WebRTC
  • 26. 26 <<nova pagina>> 3. METODOLOGIA Neste capítulo é apresentado as metodologias usadas no desenvolvimento do sistema. Serão representados o modelo incremental, ambiente de hardware, a linguagem de programação utilizada, a modelagem de dados, diagamas de caso de uso, de classes e de sequência e como também o plano de atividades. 4.1. Modelo Incremental O modelo incremental foi a melhor abordagem escolhida pelo fato de nossos requesitos mudarem bastante, conforme o desenrrolar do projeto . 4.1. AMBIENTE DE HARDWARE O hardware utilizado para o desenvolvimento de do projeto foram dois notebooks portáteis e um tablets Samsung Galaxy Tab 3 . • Notebook Acer: o Processador: Intel(R) Core(TM) i5-3230M CPU @2.60GHz o Memória (RAM): 8,00 GB o Disco Rígido: 500 GB o Sistema Operacional: Windows 10 Pro • Notebook Samsung ATIV Book 2 o Processador: Intel(R) Core(TM) i5- 4210U CPU @2.70GHz o Memória (RAM): 8,00 GB o Disco Rígido: 1 T
  • 27. 27 o Sistema Operacional: Windows 10 Pro • Tablet: Samsung Galaxy Tab 3 • Processador: 2x ARM Cortext-A9 @ 1,20 GHz • Memória (RAM): 832 MG • Sistema Operacional: Android Núvem Processador: Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz Memória: 512MB Disco: 20 GB. 3.2. SOFTWARES UTILIZADOS • Visual Studio 2013: Software usa para programação do sistema • Putty: Software utilizado para acesso remoto para núvem; • Winscp: Software utilizado para transferência de arquivos; • SmartGit: Software utilizado para o versionamento do código; • Google Chrome: navegador para testes de interface. • Astah Comunity – Usado na criação de diagramas da documentação. • WBS Schedule Pro – Ferramente usada na geração da estrutura analítica do projeto • Pacote Microsoft Office – Usado na geração de documento de textos. 4.3.1 WBS O WBS (Work Breakdown Structure) é mode de divisão das tarefas do projeto, no qual se busca identificar visualmente as atividades a serem executadas para se concluir o projeto. Apresentado na figura tal.
  • 28. 28 4.3.2 Gant De acordo com o Diagrama do GAnt .... 4.3 Plano de Comunicação
  • 29. 29 Para o sucesso do projeto a necessidade que haja cinergia entre os integrantes, do qual só pode ser alcançado com a efetiva e boa comunicação entres os mesmo, de forma a providenciar um ligação harmoniosa para que cada um consiga saber o que a outra pessoa está fazendo e de qual será sua parte na contribuição no desenvolvimento, deste modo busca não perder tempo em discuções desnecessárias. Segue abaixo o plano de comunicação. Grupo Intersssado Método/Meio Objetivo Frequência Equipe do Projeto Reunião entre a equipe e orientador Andamento do Projeto Quinzenal Equipe do Projeto Reunioes e telefonemas Acompanhamento das tarefas Quando necessário Equipe do Projeto Reunião online ou prensicial Desenvolvimento do software Quando necessário 3.3. Plano de Riscos Tem por finalidade identificar possíveis problemas que podem ocorrer durante o desenvolvimento do projeto, de forma a identificar ações preventivas e corretivas para que os riscos não afetem o produto final desejado. O risco é classificado entre uma nota de 1 a 9, através dos indicadores probalidade e impacto N º Condição Consequência Ação Probabilidade Impacto Classificação 1 Falta de conhecimen to nas tecnologias usadas Atraso na entrega do produto final. Estudar as tecnologia utilizadas no desenvolvi mento do projeto Atlo Alto 7 2 Mudanças no escopo do projeto Atraso nas atividades do cronograma Ações que utilizem menos recursos de tempo Muito Alto Moderado 7 3 Falha de comunicaçã o Atraso nas atividades do cronograma Comprome timento com reuniões Alto Moderado 6
  • 30. 30 entre integrantes e orientador 4 Defeito nos hadwares e software utilizados Atraso nas atividades do cronograma Procurar pro hardware alternativo s Muito Alto Muito Baixo 5 4.4 Diagrama de Casos de Uso Descrição do diagrama...
  • 31. 31 4.4.1 Descrição dos casos de Uso >>>> apresentação, tabelas com as devidas informações de ...<<<< Caso de Uso : Realizar atendimento com Vídeo Descrição: Este caso uso descreve como o atendente pode realizar um atendimento com vídeo. Pré-condições: Atendente precisa estar logado no sistema. Paciente precisa estar com o aplicativo android rodando. Pós-condições: Stream de vídeo entre o paciente e o atendente. Ator Envolvido: Atendente. Fluxo de eventos Principais: 1. O atendente escolhe determinado paciente e clica em acessar;
  • 32. 32 2. Clica no botão ligar; 3. O sistema recebe e envia uma stream de vídeo para o tablet do paciente; Fluxo de Exceção: E1. Problema com api de stream de vídeo. Caso de Uso : Movimentar Robô Descriçao: Este caso uso descreve como o atendente pode enviar comandos de movimentação. Pré-condiçoes: Atendente precisa estar logado no sistema. Pacienta precisa estar com o aplicativo android rodando. Pós-condições: Um comando de movimentação é recebido pelo aplicativo android. Ator Envolvido: Atendente. Fluxo de eventos Principais: 1. O atendente escolhe determinado paciente e clica em acessar; 2. Clica na setas de direção e envia as direções para o sistema; 3. O sistema recebe essas direções; 4. Reenvia-os para o tablet do paciente; Fluxo de Exceção: E1. Problema com sockets no envio da web para o sistema ou do sistema para android. Caso de Uso : Receber Atendimento Descrição: Este caso uso descreve como o paciente recebe o atendimento. Pré-condiçoes: Atendente precisa estar logado no sistema. Pacienta precisa estar com o aplicativo android rodando. Pós-condições: Stream de vídeo entre paciente e atendente. Ator Envolvido: Atendente.
  • 33. 33 Fluxo de eventos Principais: 1. Paciente acessa o aplicativo e escolhe qual paciente que ele é. Fluxo de Exceção: E1. Problema com api de stream de vídeo . Caso de Uso : Cadastrar Atendimento Descriçao: Este caso uso descreve como o atendente pode cadastrar um atendimento. Pré-condiçoes: Atendente precisa estar logado no sistema e ter no mínimo um paciente cadastrado. Pós-condições: Um cadastrado é realizado. Ator Envolvido: Atendente. Fluxo de eventos Principais: 1. O atendente escolhe determinado paciente e clica em acessar; 2. Seleciona o tipo de atendimento; 3. Registra o atendimento, no campo específico . 3. Clica em salvar; 4. O sistema salvo o atendimento; 6. Retorna para lista de pacientes Caso de Uso : Cadastrar Paciente Descriçao: Este caso uso descreve como o atendente cadastra um paciente no sistema. Pré-condiçoes: Atendente precisa estar logado no sistema. Pós-condições: insere um novo paciente no sistema.
  • 34. 34 Ator Envolvido: Atendente. Fluxo de eventos Principais: 1. O atendente preenche os campos com os dados do novo paciente; 2. Clica em salvar; 3. O sistema válida os dados; 4. O sistema retorna para para lista de pacientes com uma mensagem de confirmação do cadastro. Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. Caso de Uso : Cadastrar Usuário Descriçao: Este caso uso descreve como o administrador cadastra um atendente no sistema. Pré-condiçoes: administrador precisa estar logado no sistema. Pós-condições: Insere um novo atendente ou administrador no sistema. Ator Envolvido: administrador. Fluxo de eventos Principais: 1. O administrador preenche os campos com os dados do novo atendente; 2. O sistema válida o e-mail preenchido; 3. Clica em salvar; 4. O sistema válida os dados; 5. O sistema retorna para para lista de atendente com uma mensagem de confirmação do cadastro. Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. E2. O mesmo e-mail já estar sendo usado por outro atendente.
  • 35. 35 Caso de Uso : Cadastrar Robô Descriçao: Este caso uso descreve como o administrador cadastra um robô no sistema. Pré-condiçoes: administrador precisa estar logado no sistema. Pós-condições: Insere um novo robô no sistema. Ator Envolvido: administrador . Fluxo de eventos Principais: 1. O sistema válida o preenchimento do campo nome; 2. O administrador preenche campos com os dados do novo robô; 3. Clica em salvar; 4. O sistema válida os dados; 5. O sistema retorna para para lista de robôs com uma mensagem de confirmação do cadastro. Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. E2. O nome do robô já estar sendo usado por outro robô. Caso de Uso : Editar Paciente Descriçao: Este caso de uso descreve como o Atendente edita um paciente. Pré-condiçoes: Atendente estar logado e ter no mínimo um paciente já cadastro. Pós-condições: Os dados de um paciente são atualizados. Ator Envolvido: Atendente; Fluxo de eventos Principais: 1. O atendente escolhe um paciente e clica em editar; 2. É redirecionado para tela de edição do Atendente.; 3. O atendente preenche os outro campos; 4. Clica em salvar;
  • 36. 36 5. O sistema válida os dados; 6. O sistema retorna para para lista de pacientes com uma mensagem de confirmação da edição. Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. Caso de Uso : Editar Atendente Descriçao: Este caso de uso descreve como o administrador edita um atendente. Pré-condiçoes: administrador precisa estar logado e ter no mínimo um atendente já cadastro. Pós-condições: Os dados de um atendente são atualizados, o mesmo pode se tornar também administrador do sistema. Ator Envolvido: Administrador ; Fluxo de eventos Principais: 1. O administrador escolhe um atendente e clica em editar; 2. É redirecionado para tela de edição do atendente; 3. O sistema valida o preenchimento do campo e-mail; 4. O administrador termina de preenche os outros campos; 5. Clica em salvar; 6. O sistema válida os dados; 7. O sistema retorna para para lista de atendentes com uma mensagem de confirmação da edição; Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. E2. E-mail já estar sendo usado por outro atendente. Caso de Uso : Editar Robô
  • 37. 37 Descriçao: Este caso de uso descreve como o administrador edita um robô. Pré-condiçoes: administrador precisa estar logado e ter no mínimo um robô já cadastro. Pós-condições: Os dados de um robô são atualizados. Ator Envolvido: Administrador ; Fluxo de eventos Principais: 1. O administrador escolhe um robô e clica em editar; 2. É redirecionado para tela de edição do robô; 3. O sistema valida o preenchimento do campo nome do robô; 4. O administrador termina de preenche os outros campos; 5. Clica em salvar; 6. O sistema válida os dados; 7. O sistema retorna para para lista de robôs com uma mensagem de confirmação da edição; Fluxo de Exceção: E1. Campos de preenchimento obrigatório não preenchidos. E2. O nome do robô já estar sendo usado por outro robô. Caso de Uso : Excluir Paciente Descriçao: Este caso de uso descreve como o atendente exclui um paciente. Pré-condiçoes: atendente precisa estar logado e ter no mínimo um paciente já cadastro. Pós-condições: Um paciente é apagado do sistema. Ator Envolvido: Administrador ; Fluxo de eventos Principais: 1. O atendente escolhe um paciente e clica em excluir; 2. O sistema deleta as referências deste paciente;
  • 38. 38 3. Retorna para para lista de pacientes com uma mensagem de confirmação da exclusão; Caso de Uso : Excluir Robô Descriçao: Este caso de uso descreve como o administrador exclui um robô. Pré-condiçoes: administrador precisa estar logado e ter no mínimo um robô cadastro. Pós-condições: Um robô é apagado do sistema. Ator Envolvido: Administrador ; Fluxo de eventos Principais: 1. O administrador escolhe um robô e clica em excluir; 2. O sistema deleta as referências deste robô; 3. Retorna para para lista de robôs com uma mensagem de confirmação da exclusão; Caso de Uso : Excluir Atendente Descriçao: Este caso de uso descreve como o administrador exclui um atendente. Pré-condiçoes: administrador precisa estar logado e ter no mínimo um atendente cadastro. Pós-condições: Um atendente é apagado do sistema. Ator Envolvido: Administrador ; Fluxo de eventos Principais: 1. O administrador escolhe um atendente e clica em excluir; 2. O sistema deleta as referências deste atendente; 3. Retorna para para lista de atendentes com uma mensagem de confirmação da exclusão;
  • 39. 39 4.5 DIAGRAMA ENTIDADE RELACIONAMENTO <<<<apresentação, descrever a quantidade de entidades e principais ...>>> 4.6 4.7 DIAGRAMA DE CLASSES <<< apresentação>>>
  • 40. 40 4.8 DIAGRAMA DE SEQUÊNCIA <<<< apresentação>>> 4.6.1 Cadastrar Atendente
  • 44. 44 4.8.5 Editar Paciente 4.6.6 Editar Robo 4.8.6 Excluir Atendente
  • 45. 45 4.8.7 Excluir Robo 4.6.8 Excluir Paciente
  • 46. 46 4.6.8 Movimentar Robo 4.8.8 Realizar Atendimento com Vídeo
  • 47. 47 4.8.9 Receber Atendimento <<<nova pagina e capitulo>>> 4. Apresentação do Software Nesta seçao será apresentado o software e sua seção..... 5.1.1 Login
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53
  • 54. 54
  • 55. 55
  • 56. 56
  • 57. 57
  • 58. 58 5.2 VALIDAÇÃO DA PLATAFORMA DE TELEMEDICINA Foi utilizada a metodologia de Pressman (2006) para planejar e implementar os testes. Definiu-se que os quesitos a serem testados deveriam ser usabilidade, legibilidade, funcionalidade e interface. ´ Foram convocados e submetidos aos testes 8 usuários com diferentes perfis de idade e habilidade na utilização de softwares, posteriormente estes preencheram questionários com níveis de resposta ótimo, bom, regular, insuficiente e classificação equivalente em valores. 5.2.1 Teste de Usabilidade O teste de usabilidade mostra o acesso e organização do material, facilidade de uso e de entendimento, previsibilidade e descrição do material. Ilustrado no quadro a seguir: TESTE PERGUNTAS DE ACEITAÇÃO DO USUÁRIO DO SISTEMA ÓTIMO BOM REGULAR INSUFICIENTE USABILIDADE Login ao sistema 93% 7% Organização do sistema 85% 15%
  • 59. 59 Facilidade de uso 88% 12% Facilidade de entendimento 85% 15% Previsibilidade 87% 13% Descrição do sistema 90% 10% É eficaz, eficiente e agradável? 92% 18% QUADRO XX – AVALIAÇÃO DE USABILIDADE DA PLATAFORMA DE TELEMEDICINA Analisando o resultado da avaliação no quesito usabilidade, considerando que o sistema teve 3 resultados acima de 90% e os outros 4 com média de 86% de aceitação, podemos então afirmar que o sistema atende bem os usuários em termos de usabilidade. 5.2.2 Teste de Legibilidade O teste de legibilidade mostra que o sistema possui e esta de acordo com uma boa legibilidade, com ícones, rótulos, textos passando as mensagens desejadas. TESTE PERGUNTAS DE ACEITAÇÃO DO USUÁRIO DO SISTEMA ÓTIMO BOM REGULAR INSUFICIENTE LEGIBILIDADE Os dados a serem lidos 95% 5%
  • 60. 60 são apresentados de forma contínua, não piscantes? O sistema utiliza rótulos (textuais) quando pode existir ambiguidade de ícones? 82% 18% Os ícones são legíveis? 85% 15% Os rótulos de campos começam com uma letra maiúscula, e as letras restantes são minúsculas? 90% 10% QUADRO XX – AVALIAÇÃO DE LEGIBILIDADE DA PLATAFORMA DE TELEMEDICINA Na avaliação da legibilidade os resultados mostram que o sistema possui:
  • 61. 61 • As informações estão apresentadas nas telas de forma que facilitam a leitura. • O contraste entre a cor de fundo e a cor da fonte utilizada, não prejudica a leitura, fazendo com que o texto tenha o destaque suficiente. • O espaçamento entre os elementos da página é ideal, diminuindo a poluição visual. 5.2.3 Teste de Funcionalidade O teste de funcionalidade mostra o que os recursos do sistema se propõem a fazer. Este teste possui as seguintes perguntas: Propõe-se a fazer o que é proposto? Satisfaz as necessidades? Gera resultados corretos? Características compatíveis com o seu nível de conhecimento? A linguagem utilizada no sistema é compatível com a sua? Ilustrado no quadro a seguir. TESTE PERGUNTAS DE ACEITAÇÃO DO USUÁRIO DO SISTEMA ÓTIMO BOM REGULAR INSUFICIENTE FUNCIONALIDADE Propõe-se a fazer o que é proposto? 100% Satisfaz as necessidades? 85% 15% Gera resultados corretos? 90% 10%
  • 62. 62 Características compatíveis com o seu nível de conhecimento ? 93% 7% QUADRO XX – AVALIAÇÃO DE FUNCIONALIDADE DA PLATAFORMA DE TELEMEDICINA A avaliação de funcionalidades mede se os objetivos foram alcançados baseados em sua descrição e se houve alguma funcionalidade falha. 5.2.4 Teste de Interface O teste de Interface mostra a interação do usuárioe sistema. O quadro abaixo mostra os resultados obtidos das seguintes tabelas. Interfaces Aceitação das telas pelos usuários Usuário 1 2 3 4 5 6 7 8 Tela 1 - Login
  • 63. 63 Correspondência de valores: 1 a 3 Insuficiente, 4 a 5 regular, 6 a 8 bom, 9 e 10 ótimo QUADRO XX – AVALIAÇÃO DE INTERFACES DA PLATAFORMA DE TELEMEDICINA Conclusões • -pequeno escopo do projeto Este projeto de “Telemedicina de baixo custo”, tem como objetivo principal o atendimento médico a pacientes de forma remota, através de um software que permita a comunicação simultânea entre atendente e paciente, além do registro do atendimento. Ainda possui como objetivos adicionais, a disponibilização de uma biblioteca de visão computacional para processamento em nuvem e a possibilidade de comandar robôs para acompanhamento de pacientes que demandem um acompanhamento diferenciado. A solução aqui demonstrada trata de uma plataforma de software em núvem, que utiliza linguagens e recursos de última geração para atender os objetivos propostos. • se os objetivos forma atingidos Conforme demonstrado, a plataforma de software em nuvem que é objeto deste trabalho, contém todas as funcionalidades necessárias para atender os objetivos previamente definidos, consideramos que estes foram atingidos plenamente. • - resumo dos resultados dos testes Foram realizados testes, utilizando a metodologia de Pressman (2006), na qual um grupo de usuários preenche um questionário para pontuar a solução apresentada. Foram pontuados os quesitos, funcionalidade, legibilidade e usabilidade, resultando que todos os usuários deram notas correspondentes a ótimo e bom, tendo como
  • 64. 64 resultado geral uma média de aprovação próxima de 90%, de forma a obter uma validação totalmente positiva dos quesitos apresentados. - qual relevância e contribuição do projeto Quando do início deste trabalho eram diferentes os objetivos e as prioridades destes, passamos por fases com objetivos tais como • “Plataforma de visão computacional na nuvem” • Migração do projeto pre-existente “Piá Robô “para a nuvem • Estruturação de uma plataforma de processamento de Visão Computacional em nuvem, com alta escalabilidade Todas as mudanças acabaram enriquecendo a “Plataforma de Telemedicina de baixo custo” e contribuindo com diferentes funcionalidades que hoje estão sob a mesma plataforma de nuvem. Apesar de não ter resultado numa efetiva utilização na “Plataforma de Telemedicina de baixo custo”, a biblioteca OPENCV foi portada para a plataforma de nuvem e fica disponível de forma totalmente funcional para futuros trabalhos, fundamentalmente para o grupo de pesquisa GEPTA que deverá utilizar como base para seus projetos. Por último e de fundamental importância, acreditamos verdadeiramente que esta solução possa efetivamente ganhar o mercado e contribuir no atendimento remoto de pacientes, fundamentalmente em locais com escassez de profissionais da saúde, conforme relatado no trabalho.
  • 65. 65 REFERENCIAS COISI, Juliana Folha de São Paulo: Brasil aumenta o número de médicos mas distribuição continua desigual Seminários Folha da Saúdeo do brasil, São Paulo, Disponível em <http://www1.folha.uol.com.br/seminariosfolha/2015/05/1628533- brasil-aumenta-numero-de-medicos-mas-concentracao-continua.shtml> Acesso em 10 de Outubro de 2015. GUEDES, G. UML 2 Guia Prático. São Paulo: Novatec, 2007. PEREIRA, CAIO RIBEIRO Node.js: Aplicações web real-time com Node.js. São Paulo: Casa do Código, 2014. DOUGLAS, ERIC JavaScript Furtivo. São Paulo: Leanpub, 2014 SILVA, MAURICIO SAMY JavaScript: Guia do programador São Paulo: Novatec, 2010 GONZALEZ, Rafael C., WOODS, Richard E. Processamento de imagens digitais São Paulo: Blucher, 2000 PRESSMAN, R. S. Engenharia de Software. Rio de Janeiro: McGraw-Hill,2006 MONTEIRO, Alexandra A história da telessaude: da cidade para o estado do Rio de Janeiro. Rio de janeiro: EdUerj,2015 MAIS MEDICOS Mais médicos para o Brasil, mais saúde para você, Brasilia, Disponível em < http://www.maismedicos.gov.br/conheca-programa> Acesso em 10 de Outubro de 2015. NODE, O que é node.js? Disponível em http://nodebr.com/pagina7/ Acesso em 12 de Outubro de 2015
  • 66. 66 IMASTERS, Como o Node funciona, Disponível em <http://imasters.com.br/artigo/22016/javascript/o-que-exatamente-e-o- nodejs/> Acesso em 12 de Outubro de 2015 V8, Motor V8 Javascript, Disponível em <https://code.google.com/p/v8/> Acesso em 12 de Outubro de 2015 MONGOOSE, Introdução ao Mongoose Disponível em < http://nodebr.com/nodejs-e-mongodb-introducao-ao-mongoose> Acesso em 12 de Outubro de 2015 MONGODB, Introdução ao Mongodb Disponível em < http://www.devmedia.com.br/introducao-ao-mongodb/30792> Acesso em 13 de Outubro de 2015 WEBRTC, Webrtc Disponível em < http://www.webrtc.org> Acesso em 13 de Outubro de 2015
  • 67. 67