Sie sind auf Seite 1von 93

FACULDADE DE E NGENHARIA DA U NIVERSIDADE DO P ORTO

Um Exemplo de Computao Ubqua


em Servios de Sade Orientados ao
Utente
Jailson Moreira

V ERSO P ROVISRIA

Mestrado Integrado Engenharia Electrotcnica de Computadores


Orientador: Rosaldo J. F. Rossetti ( Dr.)

Julho de 2011

c Jailson Moreira, 2011


Resumo
O Sistema de Sade est a enfrentar uma mudana necessria, cuja renovao estimula o desenvolvimento de capacidades para conseguir a agilidade, interoperabilidade e eficincia imprescindveis para melhorar a qualidade e a produtividade, reduzindo os custos associados. O modelo
de atendimento centrado no individuo para onde o sistema de sade actual converge, conduzindo
assim para um processo de atendimento distribudo sade .
Actualmente a humanidade enfrenta vrias dificuldades inerentes a uma sociedade cada vez
mais envelhecida, com uma maior predominncia de doenas crnicas e dificuldades associadas
como a mobilidade. Por exemplo uma das grandes epidemias que afectou e continua a afectar este
planeta a Diabete. De acordo com a Organizao Mundial da Sade, em 2006, havia cerca de
171 milhes de pessoas doentes da diabetes, e esse ndice aumenta rapidamente. estimado que
em 2030 esse nmero dobre. A Diabetes Mellitus ocorre em todo o mundo, mas mais comum
(especialmente a tipo II) nos pases mais desenvolvidos. O maior aumento actualmente esperado
na sia e na frica, onde a maioria dos diabticos ser encontrada em 2030. O aumento do ndice
de diabetes em pases em desenvolvimento segue a tendncia de urbanizao e mudana de estilos
de vida.
Neste contexto, o avano acelerado da tecnologia trouxe novos paradigmas para a rea de computao e com eles vrios benefcios para a sociedade. O paradigma da computao ubqua traz
inovaes para aplicar a computao no dia-a-dia das pessoas sem que possa ser percebida. Para
isso, utiliza-se da juno de diversas tecnologias j existentes como, por exemplo, a tecnologia
mvel e sensores. Vrios benefcios atingem a rea mdica, trazendo mtodos novos e nesta
perspectiva que foi desenvolvido um prottipo de um sistema de monitorizao de pacientes de
uma forma discreta, com o objectivo de melhorar, rentabilizar e controlar os dados biomtricos
dos pacientes que sofrem de doenas como a diabetes e tem essa necessidade.
O sistema composto por duas aplicaes, uma mvel e outra Web, em que a mvel integra
tecnologias como sistema operativo Android que uma ferramenta importante para desenvolvimento de sistemas dessa natureza. A aplicao Web fundamental para os profissionais de sade
pois nela que acompanharo os dados biomtricos enviados pelos pacientes. Os pacientes utilizam as duas aplicaes para enviar os dados biomtricos para serem guardados na base de dados
e serem visualizados pelos profissionais de sade e pelo prprio paciente.

ii

Abstract
The health system is facing an inevitable yet necessary change, the renewal of which stimulates the development of capabilities to achieve the agility, interoperability and efficiency that are
essential to improving quality and productivity thus reducing associated costs. The patient-centred
care model is where the current health system converges to, thus leading to a process of distributed
health care services.
Nowadays, humankind faces several difficulties inherent to an increasingly aging society, with
a predominance of chronic diseases and other problems associated with mobility. For instance,
one of the greatest epidemics that has affected and still affects this planet is diabetes. According to
the World Health Organization, in 2006 there were about 171 million people suffering from diabetes, and this value increases rapidly. It is estimated that by 2030 this value will double. Diabetes
Mellitus occurs worldwide but is more common (especially the type II) in more developed countries. The largest increase is expected today in Asia and Africa, where most diabetics will be seen
by 2030. The increased rate of diabetes in developing countries follows the trend of urbanization
and changing lifestyles.
In this context, the rapid advancement in technology has brought new paradigms to the field
of computing, as well as many benefits to the society. The paradigm of ubiquitous computing
brings innovations to be applied to peoples computing needs in their daily lives without it even
being perceived. To achieve this, several existing technologies are combined such as, for instance,
mobile technology and sensors networks. Several of these benefits then reach the medical field,
bringing new methods to it, and it is in this perspective that a prototype of a system was developed
for monitoring patients in a seamless way so as to improve, make it more cost effective and control
the biometric data of patients that suffer from chronic diseases such as diabetes and are in such a
need.
The system consists of two applications, one of which is mobile and the other Web-based, in
which the former integrates the Android operating system which is a key tool for the development
of systems of this sort. The Web-based application is critical to practitioners in the health care
field since it is through it they will follow the biometric data uploaded by their patients. Patients
use both applications to send biometric data to be stored in the database, as well as to be visualised
by health professionals and by the patients themselves.

iii

iv

Agradecimentos
Aproveito este espao para agradecer a todas as pessoas que contriburam, de alguma forma,
para que a realizao desta dissertao.
Agradeo ao Dr. Rosaldo J. F. Rossetti pela colaborao, e conselhos dados durante a realizao deste trabalho.
Um especial agradecimento minha famlia, que apesar da distncia, me concedeu o seu apoio
incondicional ao longo destes anos.
Uma palavra especial para a minha namorada, Maria Furtado, que esteve sempre presente ao
longo da realizao desta dissertao.
Por ltimo, mas no menos importante, agradeo a todos aqueles que no foram mencionados,
mas que de alguma maneira contriburam para a elaborao deste trabalho.

Jailson Moreira
Julho, 2011

vi

Contedo
1

Introduo
1.1 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Reviso Bibliogrfica
2.1 Computao biqua . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Objectivos e relao com os utilizadores . . . . . . . . . . . . . . .
2.1.3 Computao ubqua vs computao mvel vs computao pervasiva
2.1.4 Desafios no desenvolvimento de sistemas ubquos . . . . . . . . . .
2.1.5 Tecnologias de Comunicao . . . . . . . . . . . . . . . . . . . .
2.2 Computao Orientada a Servios . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Elementos da Computao Orientada a Servios . . . . . . . . . .
2.2.2 Arquitectura Orientado a Servio (SOA) . . . . . . . . . . . . . . .
2.3 Computao Orientado a Agentes . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Agente e Sistema Multiagente . . . . . . . . . . . . . . . . . . . .
2.4 Exemplos de Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Sistemas na rea de Computao Ubqua . . . . . . . . . . . . . .
2.4.2 Sistemas na rea de Computao Orientado a Servios . . . . . . .
2.4.3 Sistemas na rea de Computao Orientado a Agentes . . . . . . .
2.4.4 Sistemas na rea da Sade . . . . . . . . . . . . . . . . . . . . . .
2.5 Doenas Crnicas: Diabetes e Obesidades . . . . . . . . . . . . . . . . . .
2.5.1 Breves Consideraes . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Obesidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Hipercolesterolemia . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Glicose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.5 Hipertenso Arterial . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.6 Temperatura Corporal . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Sumrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Anlise e Especificao de Requisitos


3.1 Perspectiva geral do sistema . . . . . .
3.2 Caractersticas dos Utilizadores . . . .
3.3 Especificao detalhada dos Requisitos .
3.4 Restries . . . . . . . . . . . . . . . .
3.5 Casos de Utilizao . . . . . . . . . . .
3.6 Ferramentas de Desenvolvimento . . . .
3.6.1 Sistema Operativo Android . .
vii

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

1
1
2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
5
6
6
7
7
9
10
11
13
13
14
14
14
15
15
17
17
18
19
20
20
21
22

.
.
.
.
.
.
.

23
23
24
24
26
26
28
28

viii

CONTEDO

3.7
4

3.6.2 A Plataforma Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.6.3 Base de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sumrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Implementao e Avaliao de Resultados


4.1 Implementao da Base de Dados e Aplicao Web
4.1.1 Ferramentas Utilizada . . . . . . . . . . .
4.1.2 Descrio de Permisses . . . . . . . . . .
4.1.3 Modelos de Entidade e Associao . . . .
4.1.4 Modelos Relacional . . . . . . . . . . . .
4.1.5 Descrio dos Mdulos do Sistema . . . .
4.1.6 Definio de Vistas . . . . . . . . . . . . .
4.1.7 Decrio de pginas . . . . . . . . . . . .
4.2 Implementao da Aplicao Mvel . . . . . . . .
4.2.1 Viso geral . . . . . . . . . . . . . . . . .
4.2.2 Protocolo Comunicao TCP/IP . . . . . .
4.2.3 Formato das Tramas e seus tratamentos . .
4.2.4 Arquitectura Fisica . . . . . . . . . . . . .
4.2.5 Arquitectura Lgica . . . . . . . . . . . .
4.3 Anlise dos Resultados Obtidos . . . . . . . . . .
4.3.1 Resultados da Base de Dados . . . . . . .
4.3.2 Resultados da aplicao Web . . . . . . . .
4.3.3 Resultados e Anlise da aplicao Mvel .
4.4 Sumrio . . . . . . . . . . . . . . . . . . . . . . .

31
33
39

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

41
41
41
42
43
44
45
49
50
51
52
53
53
55
56
57
57
59
63
66

Concluses
5.1 Sntese do Trabalho Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67
67
68

Interfaces e Procedimentos de Instalao


A.1 Procedimentos da instalao do SDK . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Interfaces Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69
69
70

Referncias

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

75

Lista de Figuras
2.1
2.2
2.3
2.4
2.5
2.6
2.7

Relao entre a Computao Ubqua, Pervasiva e Mvel [2] . . . . . . . .


Uma viso conceitual de como os elementos de SOC se inter-relacionam [8]
Medidor de IMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grfico sobre o IMC [31] . . . . . . . . . . . . . . . . . . . . . . . . . .
Medidor de Colesterol e Glicosel . . . . . . . . . . . . . . . . . . . . . .
Medidor de Presso Arterial . . . . . . . . . . . . . . . . . . . . . . . . .
Medidor de Temperatura: Termmetro . . . . . . . . . . . . . . . . . . . .

. .
.
. .
. .
. .
. .
. .

.
.
.
.
.
.
.

6
10
18
19
20
21
22

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9

Arquitectura Geral do Sistema . . . . . .


Exemplo de registo em bloco de notas . .
Casos de utilizao 1 . . . . . . . . . . .
Casos de utilizao 2 . . . . . . . . . . .
Casos de utilizao 3 . . . . . . . . . . .
Arquitectura do Android [36] . . . . . .
Arquitectura do Eclipse [37] . . . . . . .
Representao da Plataforma em Camadas
Cenrio de Utilizao de Plug-ins . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

24
25
27
27
27
30
31
32
33

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20

Diagrama do Modelo Entidade e Associao . . . . . . . .


Diagrama de Arquitectura do Mdulo Login . . . . . . . .
Diagrama de Arquitectura do Mdulo Registo . . . . . . . .
Diagrama de Arquitectura do Mdulo Perfil . . . . . . . . .
Diagrama de Arquitectura do Mdulo Ficha Clnica . . . .
Diagrama de Arquitectura do Mdulo Medies . . . . . .
Arquitectura da Aplicao Mvel . . . . . . . . . . . . . .
Diagrama de distribuio de componentes . . . . . . . . . .
Diagrama de dependncias dos pacotes de bibliotecas usados
Tabela pessoa da base de dados . . . . . . . . . . . . . . . .
Tabela ficha clnica da base de dados . . . . . . . . . . . . .
Tabela medies da base de dados . . . . . . . . . . . . . .
Tabela da vista lista de pacientes da base de dados . . . . . .
Interface Inicial . . . . . . . . . . . . . . . . . . . . . . . .
Interface para Escolher Tipo de utilizador . . . . . . . . . .
Interface de Registo para Mdico e Pblico . . . . . . . . .
Interface de Registo para Paciente . . . . . . . . . . . . . .
Interface Principal do Mdico . . . . . . . . . . . . . . . .
Interface Principal do Paciente . . . . . . . . . . . . . . . .
Interface histrico medies . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

43
45
46
47
48
49
52
55
56
57
57
58
58
59
59
60
60
61
61
62

ix

. . .
. . .
. . .
. . .
. . .
. . .
. . .
[38]
. . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

LISTA DE FIGURAS

4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
4.32
4.33

Interface de Alertas . . . . . . . . . . . .
Interface Inicial . . . . . . . . . . . . . .
Interface erro login . . . . . . . . . . . .
GUI Principal Paciente . . . . . . . . . .
GUI Principal Mdico . . . . . . . . . . .
Visualizao do erro no envio de medies
GUI de Confirmao dos valores a enviar
GUI histrico medies Presso Arterial .
GUI Alertas Colesterol . . . . . . . . . .
GUI Alertas IMC . . . . . . . . . . . . .
GUI Alertas Temperatural . . . . . . . .
GUI Lista Paciente . . . . . . . . . . . .
GUI Lista Paciente . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

62
63
63
64
64
65
65
65
65
65
65
66
66

A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
A.9
A.10
A.11
A.12

Interface perfil do Mdico . . . . . . . . . . . . . . . . . . . . .


Interface da ficha clinica de um paciente vista pelo medico Mdico
Interface de alerta vista pelo mdico . . . . . . . . . . . . . . . .
Interface das listas de ficha clinica de um mdico . . . . . . . . .
Interface da mdia das medies . . . . . . . . . . . . . . . . . .
Interface do historico medies do imc . . . . . . . . . . . . . . .
Interface de confirmao de envio . . . . . . . . . . . . . . . . .
Interface de envio de medies . . . . . . . . . . . . . . . . . . .
Interface da ficha clinica de um paciente . . . . . . . . . . . . . .
Interface perfil do paciente . . . . . . . . . . . . . . . . . . . . .
Interface principal do publico . . . . . . . . . . . . . . . . . . . .
Interface de alerta presso arterial . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

70
70
71
71
72
72
72
72
73
73
73
73

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

Lista de Tabelas
2.1
2.2
2.3

Classificao de IMC [31] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Classificao das Sociedade Europeia de Hipertenso e de Cardiologia [34] . . .
Tabela de Temperatura [33] . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19
21
22

3.1
3.2

tabela de verses de Android [35] . . . . . . . . . . . . . . . . . . . . . . . . .


comparao entre PostgreSQL e MySQL . . . . . . . . . . . . . . . . . . . . . .

29
35

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12

Tabela de Associaes . . . . . . . . . . .
Modelo Relacional . . . . . . . . . . . . .
Tabela Descritiva do Mdulo LOGIN . . .
Tabela Descritiva do Mdulo Registo . . . .
Tabela Descritiva do Mdulo perfil . . . . .
Tabela Descritiva do Mdulo Ficha Clnica
Tabela Descritiva do Mdulo Medies . .
Trama enviada pelo cliente . . . . . . . . .
Trama enviada pelo servidor . . . . . . . .
Trama enviada pelo cliente . . . . . . . . .
Trama enviada pelo servidor . . . . . . . .
Trama enviada pelo cliente . . . . . . . . .

44
44
46
47
47
48
49
53
53
54
54
54

xi

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

xii

LISTA DE TABELAS

Siglas e Acrnimos
ADT
AVD
API
CCA
CDMA EV-DO
CRA
CORBA
EDGE
GSM
IDEN
IPA
JADE
FHSS
HDL
HTML
IDE
JDK
JRE
LDL
PANs
RSSF
SGBDOR
SMA
SMC
SOA
SOAP
SOC
UMTS
XML
WASP
WI-FI

Android Development Tools


Android Virtual Devices
Application Programming Interface
Context Collecting Agent
Code Division Multiple Access Evolution-Data Optimized
Context Reasoning Agent
Common Object Request Broker Architecture
Enhanced Data rates for GSM Evolution
Global System for Mobile
Integrated Digital Enhanced Network
Information Processing Agent
Java Agent Devolopment Framework
Frequency Hopping spread Spectrum Signaling
High Density Lipoproteins
HyperText Markup Language
Integrated Development Environment
Java SE Development Kit
Java Runtime Environment
Low Density Lipoproteins
Wireless personal area networks
R edes de Sensores Sem Fios
Sistema Gestor de Banco de Dados Objecto Relacional
Sistemas Multi Agentes
Self-Managed Cell
Computao Orientada a Agentes
SIMPLE OBJECT ACCESS PROTOCOL
Computao Orientada a Servios
Universal Mobile Telecommunications System
Extensible Markup Language
Web Architectures for Service Platforms
Wireless Fidelity

xiii

xiv

ABREVIATURAS

Captulo 1

Introduo

O Sistema de Sade est a enfrentar uma mudana necessria, cuja renovao estimula o desenvolvimento de capacidades para conseguir a agilidade, interoperabilidade e eficincia, imprescindveis para melhorar a qualidade e a produtividade, reduzindo os custos associados. O modelo
de atendimento centrado no individuo para onde o sistema de sade actual converge, conduzindo
assim para um processo de atendimento distribudo sade . Neste mbito, a computao ubqua
submersa no dia-a-dia do paciente atravs de servios personalizados de atendimento. Estes servios, oferecidos num cenrio ubquo, dotados de dispositivos electrnicos que podem prover a
colaborao transparente entre os dispositivos do meio (sensores, equipamentos, utilizadores, etc.)
a fim de arrecadar e fornecer informaes a qualquer utilizador. Os utilizadores podem estar em
qualquer lugar e em qualquer hora, que tero acesso a estas informaes em qualquer dispositivo,
mas no intrusivamente, e de forma invisvel, a no ser quando necessrio. A tecnologia de agentes visa ser uma das fundamentais tecnologias usadas na computao ubqua, para reconhecimento
e anlise de informao de contexto de ambientes distribudos. Estes agentes de software transmitem a informao ao pessoal de sade de uma forma mais rpida e precisa, permitindo uma tomada
de deciso mais precisa e reduzindo os custos das transaces. Agentes podem usar e beneficiar
das mais recentes tecnologias e modelos abertos, tal como SOA (service-oriented achitecture) trazendo, assim, a promessa de facilidade de integrao com componentes e sistemas legados. O alto
custo das instituies de sade e dos cuidados permanentes a pessoas com limitaes, justifica
cada vez mais a apario de novas solues de monitorizao de pacientes que se revelem eficazes
e de baixo custo. Com este tipo de monitorizao, ser possvel ajudar pessoas a rentabelizarem o
seu tempo e tambm controlar a sua sade de um forma menos cansativa e stressante.

1.1

Objectivos

O objectivo principal deste trabalho foi conceber um sistema de monitorizao de parmetros


vitais, vivel e de baixo custo que permita tanto aos pacientes como aos profissionais de sade me1

Introduo

lhorarem, rentabilizarem o controlo e anlise desses parmetros enviados pelos pacientes. Tambm
tem como objectivo libertar o paciente dos vrios deslocamentos peridicos aos consultrios
mdicos a fim de disponibilizar estes mesmos registos. Tendo sempre em conta que contribuir
para que o sistema de sade torne cada vez mais amiga do ambiente. Este Sistema vai servir de
complemento a vrios outros que existem mas que fazem monitorizao de forma continua, utilizando redes de sensores para recolha e envio de dados, em que os pacientes esto confinados
as suas residncias ou em hospitais. Mas especificamente, pretende-se com este projecto cumprir
com os seguintes objectivos:
Implementar duas aplicaes: Uma aplicao Web WebHealthSave e outra Mvel HealthSaveMobile ambos para envio e visualizao de dados;
Criar uma Base de Dados para guardar os dados (parmetros vitais, dados pessoais e clnicos dos utilizadores);
Implementar Um Servidor que servir de ligao entre aplicao mvel e Base de Dados.

1.2

Estrutura do Documento

Este relatrio est organizado da seguinte forma:

Capitulo 2: faz uma breve apresentao dos conceitos de computao, nomeadamente


Computao Ubqua, Orientada a Servios e Orientada a Agentes. tambm realizado
um levantamento de sistemas que empregam um ou vrios destes paradigmas na sua concepo, destacando-lhes a arquitectura. Faz um estudo sobre as doenas crnicas, com um
nuance maior sobre diabetes.
Capitulo 3: faz a primeira abordagem ao sistema, ilustrando uma perspectiva geral do
mesmo, especificando os objectivos, os respectivos requisitos e as restries. E ainda faz
uma apresentao sobre o sistema operativo Android, a plataforma eclipse, que so o sistema
operativo e a plataforma de desenvolvimento utilizados neste projecto e a base de dados. Por
fim mostra os diagramas de casos de utilizao.
Capitulo 4: so descritos os detalhes da implementao do prottipo, cujos requisitos e os
casos de utilizao foram especificados no captulo anterior. A primeira parte da implementao dedicada aplicao Web. Na Seco 4.1.1 apresentado as ferramentas que foram
utilizados para a respectiva implementao, na Seco 4.1.2 feita uma descrio das permisses dos utilizadores do sistema. Nas seces seguintes so apresentados um diagrama
do modelo entidade-associao, as respectivas entidades e associaes, o modelo relacional
e, por ltimo, as respectivas descries dos mdulos. Na segunda parte feita a descrio
da implementao da aplicao mvel. So descritos aspectos da fase de implementao e

1.2 Estrutura do Documento

instalao, designadamente a estrutura e dependncias de cdigo fonte e de mdulos executveis, assim como a sua respectiva instalao nas diferentes plataformas computacionais
subjacentes.
Capitulo 5: faz uma sntese do trabalho desenvolvido, sumariando as concluses. So
tambm apresentadas perspectivas de desenvolvimento futuro.

Introduo

Captulo 2

Reviso Bibliogrfica

Neste Captulo procura-se abordar toda a componente terica sobre os sistemas de computao
ubqua, orientada a servios e agentes, Android e outras solues actuais utilizadas na monitorizao remota de pacientes.

2.1

Computao biqua

A Computao Ubqua vem se tornando realidade, saindo dos laboratrios e se integrando na


vida das pessoas sem que essas se apercebam. O termo Computao Ubqua foi definido pela
primeira vez pelo cientista chefe do Centro de Investigao Xerox PARC, Mark Weiser, como:
As tecnologias mais profundas e duradouras so aquelas que desaparecem. Elas dissipam-se nas
coisas do dia-a-dia at tornarem-se indistinguveis [1].

2.1.1

Caractersticas

A computao ubqua caracterizada pela presena de dispositivos portteis, cada vez mais
comuns devido aos avanos na fabricao de componentes electrnicos. Esses dispositivos apresentam uma grande capacidade de processamento e armazenamento de dados, recursos para comunicao sem fio, permitindo assim um aumento de utilizao de equipamentos portteis capazes
de lidar com os dados multimdia. Esses dispositivos se vulgarizaram como handhelds, PDAs, e,
agora, tm aparecido os smart phones e telemveis de grande capacidade computacional. Alm
das funcionalidades originais, como capacidade de comunicao via telemveis, tais dispositivos
tambm possuem diversas funcionalidades e interfaces como GPS, rdio, TV e cmaras fotogrficas digitais, sendo usados em aplicaes que envolvem diversas reas como indstria, medicina,
uso pessoal, entre outros [2].
5

Reviso Bibliogrfica

2.1.2

Objectivos e relao com os utilizadores

A Computao Ubqua concebe novas maneiras de pensar acerca dos computadores. Estabelece novos paradigmas, que tenham em conta o mundo real em que vivemos e as tarefas que queremos completar, e que lhes permita integrarem-se de forma transparente. A computao ubqua
tem como finalidade estar em toda parte o tempo todo. Utilizadores do servio, cujos objectivos e
situaes se podem alterar dinamicamente, exigem que a computao ubqua tenha a capacidade
para responder duma forma adaptada. Na maioria das vezes o sistema que conclui por si mesmo
as alteraes, dando resposta de acordo com as mesmas. No entanto, o utilizador tambm pode
reconfigurar activamente o sistema, de modo a adapt-lo s novas condies. Assim se cria no
sistema a necessidade de no s manter os objectivos do utilizador, e as tarefas e os recursos do
sistema ao longo do tempo, mas tambm as condies ambientais. Simultaneamente, o sistema
dever ser capaz de compreender o raciocnio atrs dessas inferncias referente s circunstncias,
permitindo-lhe ir aprendendo das ilaes correctas e incorrectas. Para alm de ser difcil recolher
toda a informao necessria para garantir um comportamento adaptvel, um desafio faz-lo
imperceptivelmente, para alm de criar um enorme fardo nos recursos do sistema como um todo
[3].

2.1.3

Computao ubqua vs computao mvel vs computao pervasiva

Computao ubqua a integrao entre a mobilidade com sistemas e presena distribuda, em


grande parte imperceptvel, inteligente e altamente integrada dos computadores e suas aplicaes
para o benefcio dos utilizadores. A computao ubqua integra progressos na computao mvel
e computao pervasiva. Enquanto a computao mvel centra-se no aumento de mobilidade de
servios entre ambientes, a pervasiva pressupe a capacidade dos dispositivos computacionais
serem embutidos no ambiente, caracterizado por um conjunto de entidades tais como dispositivos,
utilizadores e redes, actuando discretamente e oferecendo omnipresena aos utilizadores, com o
objectivo de integrar a computao com o ambiente fsico no qual ela est imersa.

Figura 2.1: Relao entre a Computao Ubqua, Pervasiva e Mvel [2]

2.1 Computao biqua

Computao mvel por outro lado a capacidade de um dispositivo computacional e os servios associados ao mesmo serem mveis, permitindo este ser carregado ou transportado mantendose ligado rede ou Internet. Computao pervasiva define que os meios de computao estaro
distribudos no ambiente de trabalho dos utilizadores de forma perceptvel ou imperceptvel.

2.1.4

Desafios no desenvolvimento de sistemas ubquos

Abaixo esto listados alguns dos desafios de investigao ainda existentes. Esto divididos em
algumas sub-reas, como sugerido em [2]:
Monitorizao: Escolha e incluso dinmica dos contextos mais apropriados a cada aplicao; Tcnicas para recolha de contextos fsicos, lgicos e virtuais; Atribuio de semntica
uniforme aos contextos utilizados; Identificao e escolha de fontes de contextos;
Modelao: Modelo de arquitectura para sistemas cientes de contexto; Modelo para representao uniforme da sintaxe dos dados de contexto colectados; Modelo de armazenamento
de dados contextuais; Modelo de comunicao adoptado entre diversos utilizadores ou aplicaes;
Qualidade: Qualidade de contexto (QoC); Qualidade de servio (QoS); Qualidade das fontes de contexto; Gesto de aplicaes cientes de contexto; Tratamento de falhas; Automatizao de tarefas; Utilizao de algoritmos de aprendizagem; Identificao e tratamento
de contextos individuais conflituantes; Identificao e tratamento de contextos colectivos
conflituantes;
Segurana: Segurana para troca de dados entre utilizadores e aplicaes; Confiabilidade
das fontes de contextos; Segurana da Informao de contexto.

2.1.5

Tecnologias de Comunicao

Abaixo so discutidos brevemente algumas das tecnologias de comunicao mais populares,


que tornaram possivel a implementao de sistemas ubquos.
2.1.5.1

Dispositivos

A colocao de dispositivos em todo o ambiente do utilizador, fornecendo meios para que eles
se interligarem, conversarem e trabalharem juntos o novo paradigma que suporta a computao ubqua. Em concepo, juntando os mundos reais e virtual, a construo de ubiquidade em
servios de informao e dispositivos uma meta imprescindvel [4].
2.1.5.2

Redes sem fio

As tecnologias sem fio so uma realidade que cresce a cada dia, em ritmo acelerado, e que
conquistam cada vez mais adeptos. As redes sem fio variam em seu modelo estrutural de diversas

Reviso Bibliogrfica

formas. Podem ser implementadas de uma maneira mais complexa, baseadas em estaes interligadas por um ou vrios pontos de acesso, ou de maneira mais simples, onde estaes podem
comunicar entre si, num modelo ponto-a-ponto [5].
Wi-Fi
Nome de uma popular tecnologia de rede sem fio, que usa ondas de rdio para fornecer
Internet de alta velocidade sem fios e ligaes de rede. A organizao que possui o Wi-Fi
(marca registada) define especificamente Wi-Fi como WLAN produtos que seja baseados
na norma IEEE 802.11.
Inicialmente, Wi-Fi foi apenas usado no lugar do padro 802.11b 2.4GHz. No entanto, a
Wi-Fi Aliance tem ampliado o uso genrico do termo Wi-Fi para incluir qualquer tipo de
produto ou de rede WLAN com base em qualquer das normas 802.11, inclusive 802.11b,
802.11a, banda dupla, e assim por diante, numa tentativa de impedir a confuso sobre a
interoperabilidade de LAN sem fios.
Wi-Fi suportado por muitas aplicaes e dispositivos, incluindo consolas de videojogos,
redes domsticas, PDAs, telemveis, sistemas operacionais, e outros tipos de electrnica de
consumo. Os produtos que so testados e aprovados como "Wi-Fi Certified"(marca registada pela Wi-Fi Alliance) so certificados como interoperveis entre si, mesmo que sejam de
fabricantes diferentes. Por exemplo, um utilizador com um produto certificado Wi-Fi pode
usar qualquer tipo de ponto de acesso com qualquer outra marca de hardware do cliente que
tambm "Wi-Fi Certified". Produtos que passam esta certificao so obrigados a ter um
selo de identificao em suas embalagens que os identifica como "Wi-Fi Certified"e indica
a banda de frequncia de rdio usada (2.5GHz para 802.11b, 802.11g ou 802.11n, e 5GHz
para 802.11a) [6].

Bluetooth
uma tecnologia que permite uma comunicao simples, rpida, segura e barata entre computadores, smart phones, telemveis , ratos, teclados, auriculares, impressoras e outros dispositivos, utilizando ondas de rdio no lugar de cabos. Assim, possvel fazer com que dois
ou mais dispositivos comecem a trocar informaes com uma simples aproximao entre
eles.
Bluetooth um padro global de comunicao sem fio e de baixo consumo de energia que
permite a transmisso de dados entre dispositivos compatveis com a tecnologia. Para isto,
uma combinao de hardware e software utilizada para permitir que essa comunicao
ocorra entre os mais diferentes tipos de aparelhos. A transmisso de dados feita atravs
de radiofrequncia, permitindo que um dispositivo detecte o outro independentemente das
suas posies, desde que estejam dentro do limite de proximidade.
Para que seja possvel atender aos mais variados tipos de dispositivos, o alcance mximo do
Bluetooth foi dividido em trs classes:

2.2 Computao Orientada a Servios

Classe 1: potncia mxima de 100 mW, alcance de at 100 metros;


Classe 2: potncia mxima de 2,5 mW, alcance de at 10 metros;
Classe 3: potncia mxima de 1 mW, alcance de at 1 metro.
Isto significa que um aparelho com Bluetooth classe 3 s conseguir se comunicar com outro
se a distncia entre ambos for inferior a 1 metro, por exemplo. Neste caso, a distncia pode
parecer intil, mas suficiente para ligar um auricular a um telemvel de uma pessoa, por
exemplo. importante salientar, no entanto, que dispositivos de classes diferentes podem
se comunicar sem qualquer problema, bastando respeitar o limite daquele que possui um
alcance menor. A velocidade de transmisso de dados no Bluetooth baixa: at a verso
1.2, a taxa pode alcanar, no mximo, 1 Mbps. Na verso 2.0, esse valor passou para at 3
Mbps. Embora estas taxas sejam curtas, so suficientes para uma ligao satisfatria entre a
maioria dos dispositivos. Todavia, a busca por velocidades maiores constante, como prova
a chegada da verso 3.0, capaz de atingir taxas de at 24 Mbps.
Dispositivos Bluetooth operam na banda ISM (Industrial, Scientific, Medical) centrada em
2,45 GHz, que era formalmente reservada para alguns grupos de utilizadores profissionais.
Nos Estados Unidos, a banda ISM varia de 2400 a 2483,5 MHz. Na maioria da Europa, a
mesma banda tambm est disponvel. A banda dividida em 79 portadoras espaadas de 1
MHz. Portanto, cada dispositivo pode transmitir em 79 frequncias diferentes. Para minimizar as interferncias, o dispositivo mestre, aps sincronizado, pode mudar as freqncias de
transmisso de seus escravos para at 1600 vezes por segundo. Teoricamente sua velocidade
pode chegar a 721 Kbps e possui trs canais de voz [7].
Infravermelhos Tecnologia Infravermelho usa luz difusa reflectida, em paredes, mveis,
etc, ou uma luz dirigida, se uma linha de viso (LOS) existir entre o emissor e o receptor. O
Emissor pode ser uma simples diodo emissor de luz (LED) ou diodos de laser. Fotodiodos
agem como receptores. Os infravermelhos tem uma rpida propagao, mas em contrapartida tem uma largura de banda limitada devido as interferncias das luzes do ambiente
[5].
Transmisso rdio As experincias de longo prazo, realizadas com transmisso de rdio
para redes de rea ampla (por exemplo micro-ondas) e telefones mveis constituem uma
vantagem para transmisso de rdio. A transmisso de rdio pode cobrir reas maiores e
podem penetrar paredes, mveis, plantas, como j referido, podendo adquirir ainda cobertura adicional atravs da reflexo. Rdio normalmente no precisa de uma linha de viso
(LOS) se as frequncias no forem demasiado elevadas [5].

2.2

Computao Orientada a Servios

A computao orientada a servios representa uma nova gerao de plataformas de computao distribuda. Como tal, engloba muitas coisas, incluindo o seu paradigma de prprio desenho

10

Reviso Bibliogrfica

e princpios arquitecturais. Ou seja, representa um modelo distinto de arquitectura e de conceitos,


tecnologias e frameworks. Para entender melhor a computao orientada a servios, as Seces
seguintes definem cada um desses elementos e conclui com uma seco que explica como eles se
inter-relacionam conceitualmente e fisicamente.

2.2.1

Elementos da Computao Orientada a Servios

De acordo com os conceitos apresentados em [8], abaixo descrevem-se os principais componentes de um sistema computacional baseados em servios . A figura 2.2 ilustra as suas diversas
relaes.

Figura 2.2: Uma viso conceitual de como os elementos de SOC se inter-relacionam [8]

Arquitectura orientada a servios estabelece um modelo arquitectnico que visa aumentar


a eficincia, agilidade e produtividade de uma empresa de servios como o principal meio
atravs do qual a soluo lgica representada em apoio realizao dos objectivos estratgicos associadas com computao orientada a servios. Arquitectura orientada a servios
uma forma de arquitectura de tecnologia optimizada de apoio aos servios, composies
de servio, e os inventrios de servios.
Orientao a servios um paradigma de projecto composto por um conjunto especfico
de princpios de desenho. A aplicao destes princpios para a soluo lgica resulta numa
soluo orientada ao servio. A unidade mais fundamental da lgica de soluo orientada a
servios o servio, portanto.

2.2 Computao Orientada a Servios

11

A composio de servios composta de servios que tenham sido especificados para fornecer a funcionalidade necessria para automatizar uma tarefa de negcio ou processo especfico.
Um inventrio de servio uma coleco padronizada de forma independente e governada
de servios complementares dentro de um limite que representa uma sociedade ou um segmento significativo de uma empresa.
Uma soluo lgica orientada a servios implementada como servios e composies de
servios elaboradas em conformidade com os princpios de desenho orientao a servios.

2.2.2

Arquitectura Orientado a Servio (SOA)

O constante crescimento do sector dos servios no ambiente econmico, traz com ele investimentos para a melhoria deste tipo de actividade, fazendo surgir a cincia de servios. Os sistemas
tradicionais cliente-servidor sempre focaram a interaco com o utilizador e os dados de forma
centralizada, o que tornava difcil qualquer mudana estrutural pelo facto de exigir um grande esforo computacional, at mesmo nas novas aplicaes clientes. A proposta da arquitectura SOA
quebra este paradigma j que decompe os sistemas em forma de servios, permitindo que estes
servios sejam consumidos por aplicaes clientes, atravs de uma comunicao padronizada. O
conceito do que uma arquitectura orientada a servios ainda no consensual, uma vez que o
termo servio no um termo bem definido e se confunde com os conceitos de componentes e
de contractos. H diferentes interpretaes do que SOA, dependendo do interlocutor. Alguns
exemplos so apresentados a seguir, com base no que sugerido em [9].
Director de Negcios SOA uma tecnologia que cria um ambiente de negcio gil e prov
vantagem competitiva ou maior valor acrescentado ao negcio;
Gerente TI SOA conjunto de processoss, estruturas e directrizes de governana que
permite alinhar TI s necessidades do negcio;
Arquitecto SW SOA uma arquitectura de software baseada em padres abertos que permitem integrar aplicaes novas e existentes;
Desenvolvedor SOA um framework baseado em webservices que permite invocar objectos remotamente utilizando protocolo SOAP, baseado em XML .
2.2.2.1

O Conceito de Servio

Diversas definies e conceitos sobre servios apontam para um bem no tangvel, existente
apenas no espao de tempo em que o produtor est a criar ou a construir e o consumidor est a
usufruir. Esta definio uma sntese das definies apresentadas a seguir, de acordo com [9]:
uma actividade ou srie de actividades providas como a soluo para os problemas do
consumidor .

12

Reviso Bibliogrfica

toda a actividade econmica cujo o resultado no gera algo fsico, produto ou construo
.
a experincia intangvel praticada por um consumidor actuando como co-produtor .
Servios so mdulos de negcio ou funcionalidades das aplicaes que possuem interfaces
expostas, e que so invocados via mensagens. Em SOA, recursos de software so agrupados como
servios bem definidos, auto-contidos, provendo funcionalidades e padres de negcio, independentes do estado ou contexto de outros servios. H dois tipos de servios: servios de negcio e
servios tcnicos (ou de infra-estrutura). Os servios de negcio reflectem o conceito do negcio
e esto tipicamente associados execuo de uma funo de negcio de uma organizao. Eles
ampliam naturalmente a linguagem do negcio e podem se tornar a ponte de terminologia entre
TI e os utilizadores do negcio durante a anlise e o projecto. Os servios tcnicos ou de infraestrutura so reutilizveis por todos os processos de negcio. Eles so servios de TI que devem
ser nivelados por todas as linhas do negcio (por exemplo, servios de segurana, de impresso,
de log, de auditoria, de monitorizao, de estatsticas em tempo de execuo, de verificao de
interfaces). Estes servios tipicamente utilizam a infra-estrutura de servios para prover alguma
funcionalidade adicional, que no focada no negcio [10]. De um ponto de vista puro de SOA,
servios tcnicos no representam servios, porque servios deveriam representar sempre uma
funcionalidade do negcio. Por outro lado, se temos a infra-estrutura de disponibilizao de servios, podemos utiliz-la para nos ajudar em outros aspectos. Na realidade, esta uma questo
de terminologia. O importante deixar claro que estes servios tm um propsito especfico, a
fim de que as equipas do negcio no tenham a impresso de que os servios no necessariamente
representam funcionalidades do negcio. importante manter uma camada de abstraco clara
que encapsula detalhes tcnicos [11].
2.2.2.2

Objectivos de SOA

SOA tem como objectivo permitir que as organizaes realizem os seus negcios e tenham
vantagens tecnolgicas por meio da combinao de inovao de processos, eficcia na gesto e
estratgia tecnolgica, as quais circundam em volta da definio e reutilizao de servios. A
melhoria da produtividade e agilidade, tanto para o negcio quanto para TI, um dos benefcios
mais importantes que SOA oferece e, consequentemente, a reduo de custos no desenvolvimento
e manuteno dos sistemas envolvidos [12].
2.2.2.3

Caractersticas de SOA

Actividades de negcio so realizadas atravs de uma srie de servios que possuem maneiras
bem definidas de pedir e responder as solicitaes de informao. Desde que os servios
respondam de forma correcta aos comandos com a respectiva qualidade, no interessar o modo
como este foi implementado. Isto significa que o servio precisa de ser adequadamente seguro
e confivel, alm de rpido o suficiente, fazendo de SOA uma tecnologia ideal para ser utilizada
num ambiente de TI que possua hardware e software de mltiplos fabricantes [9].

2.3 Computao Orientado a Agentes

2.2.2.4

13

Vantagens de SOA

A adopo de SOA, com todas as alteraes que esta comporta, por parte dos vendedores e
comunidades de utilizadores finais dentro da indstria de TI um problema para qual muito
importante estabelecer o porqu desta adopo. SOA tem um enorme potencial arquitectural para
oferecer, para qual reconhecem-se alguns benefcios, como sugerido em [13]:
Ubiquidade Os servios so acessveis a partir de qualquer lugar e a qualquer momento;
Reutilizao e Flexibilidade Tem sido um dos maiores objectivos da engenharia de software dcadas, com variveis graus de sucesso. Em SOA, a habilidade de compor novos
servios fora do contexto dos existentes apresenta possibilidade de os reutilizar e traz vantagens a uma organizao que tem de ser gil na resposta s necessidades de negcio. Neste
sentido, existe uma reduo de tempo e custos e aumento de qualidade no desenvolvimento
de aplicaes distribudas atravs da reutilizao de servios;
Manuteno A comunicao entre consumidores e provedores de servios baseada em
interfaces. Isto ajuda imenso na manuteno porque so escondidos os detalhes de implementao;
Integrao A maioria das organizaes tem uma infra-estrutura de aplicaes altamente
fragmentada, na qual foram criadas um vasto nmero de aplicaes em mltiplas plataformas de programao e infra-estruturas de comunicao de vrios vendedores. Neste
contexto SOA traz muitas vantagens por ser um modelo de projecto baseado em interfaces, permitindo assim a integrao das aplicaes atravs de contratos entre consumidores
e provedores de servios.

2.3
2.3.1

Computao Orientado a Agentes


Agente e Sistema Multiagente

Um Agente uma entidade de software que exibe um comportamento autnomo, reactivo,


pr-activo e com uma certa habilidade, geralmente orientado a objectivos, que est situado em
algum ambiente sobre o qual capaz de realizar aces para alcanar seus prprios objectivos
de projecto e a partir do qual percebe alteraes. Uma perspectiva baseada em agentes oferece
uma gama de ferramentas, tecnologias e metforas com potencial de melhorar consideravelmente
a forma em que os indivduos classificam e implementam diversos tipos de software. No entanto,
o desenvolvimento de sistemas multiagente com um nvel de complexidade elevada exige no s
novos modelos e tecnologias, como tambm novas metodologias que apoiam os desenvolvedores
na anlise e desenho destes sistemas [14].
Os Sistemas Multiagentes (SMA) concentram-se no estudo de agentes autnomos em um
universo multiagente. Para os SMA, o termo autnomo significa que os agentes tm uma existncia prpria, independente da existncia de outros agentes. Usualmente, cada agente possui um

14

Reviso Bibliogrfica

conjunto de capacidades comportamentais que definem sua competncia, um conjunto de objectivos, e a autonomia necessria para utilizar suas capacidades comportamentais a fim de alcanar
seus objectivos. Portanto, um agente uma entidade computacional com um comportamento autnomo que lhe permite decidir suas prprias aces [14].

2.4

Exemplos de Aplicaes

So muitas as aplicaes que exploram o paradigma de Computao Ubqua. Neste captulo


so apresentadas algumas dessas aplicaes. As suas escolhas seguiram um conjunto de critrios
considerados relevantes para os objectivos da dissertao. Os principais foram no s o facto
de seus autores apresentarem uma arquitectura como suporte ao esclarecimento das respectivas
aplicaes, como tambm se ter levado em conta a quantidade de detalhes desta exposio. Foram
agrupados em temas onde cada um se destaca. Assim, foram marcados como projectos na rea
da Computao Ubqua (seco 2.4.1), da Computao Orientada a Servios (seco 2.4.2), da
Computao Orientada a Agentes (seco 2.4.3) e na rea da Sade (seco 2.4.4).

2.4.1

Sistemas na rea de Computao Ubqua

Em [15] so apresentadas as actividades que integram o plano de aco "Rede de sensores


sem fio na agropecuria". So actividades de monitorizao e controlo de processos na
agropecuria atravs do uso das inovadoras tecnologias de rede de sensores sem fio e a
computao ubqua. As redes de sensores sem fios (RSSF) ou WLAN so o resultado da
rpida convergncia de trs tecnologias-chave: os circuitos digitais, a comunicao sem fio
e os micro sistemas electromecnicos (MEMS Micro Electro-Mechanical Systems);
EasyLiving [16] um projecto da Microsoft Research, que define um conjunto de tecnologias destinadas integrao dinmica de dispositivos, para o enriquecimento da experincia
do utilizador na utilizao do ambiente onde se encontra;
Em [17] so apresentados trs middleware para computao ubqua, mais precisamente
para mixed - reality, interaco de dispositivos e computao em casa. Utiliza Framework
CORBA.

2.4.2

Sistemas na rea de Computao Orientado a Servios

Em [18] apresentada WASP - Web Architectures for Service Platforms, desenvolvida


na University of Twente, Holanda, em que a arquitectura da plataforma caracterizada
particularmente pelo uso da tecnologia de distribuio de Web Services, e executada sobre
uma rede mvel 3G.
Em [19] apresentada uma arquitectura de middleware, orientada a servios, desenvolvida
na University of the Basques Coutry, uma extenso da Jini Network Technology, explorando
a tecnologia Java. constituda por: Control Resources, que inclui todos os dispositivos de

2.4 Exemplos de Aplicaes

15

rede do ambiente controlveis; Context Resources, formada pelos sensores e outras fontes
de informao ambiental da rede; Interaction Resources, que permite a interaco de pessoas atravs de feedback ou comandos que permitam a concluso dos seus objectivos; e
pelo Ontology Manager, com funo de gesto da base de dados de ontologias, importando
dados ontolgicos dos drivers, e criando uma primeira instncia do Ontology Reasoner, de
modo a permitir um comportamento inteligente e interaco proactiva dos aplicativos com
os utilizadores.

2.4.3

Sistemas na rea de Computao Orientado a Agentes

Em [20] apresentado o Global que um modelo de educao ubqua, descentralizado, baseado em sistemas multiagentes, formado por doze componentes. Interface com Utilizador,
Persistncia, Restritores e Proxys so componentes de suporte representados por APIs. Os
demais componentes so agentes de software. Esses agentes so executados de forma isolada, sendo que cada um disponibiliza um grupo especfico de funcionalidades para o apoio
da aprendizagem. Cada instncia do Global, isto , cada cpia sendo executada em um dispositivo, tem uma instncia desses agentes em execuo. O modelo no exige a execuo de
todos os agentes, sendo que a ausncia de um compromete apenas as funcionalidades que
dependem dele.
Em [21] seus autores apresentam um sistema sensvel ao contexto, usando mltiplos agentes
para processar a informao, com o Context Collecting Agent (CCA), o Context Reasoning
Agent (CRA) e o Information Processing Agent (IPA). O CCA recolhe informaes de
eventos relacionados com o utilizador de vrios dispositivos e apresentados ao CRA, o qual
tem armazenado os perfis e gera os correspondentes comandos que so enviados para o IPA,
que traduz estes comandos para aces, mensagens ou algo mais complexo.
Em [22] apresentada a arquitectura dum sistema multiagente, dispondo a integrao de
dispositivos fsicos de rede de uma forma muito rpida.

Java Agent Devolopment Fra-

mework (JADE) o suporte desta arquitectura que divide-se em 3 grupos de agentes: Interface Agents, responsveis pela transmisso de eventos de actualizaes do sistema e recepo de aces de controlo dos utilizadores; Learning Agents, que envolvem diferentes tipos
de algoritmos de aprendizagem, tais como lgica fuzzy , redes reunorais, rvores de deciso e, por ltimo, Control/Utility agents, que controlam pontos no protocolo UPnP, passam
mensagens de controlo aos correspondentes dispositivos software UPnP e esto escuta dos
eventos daqueles que esto registados.

2.4.4

Sistemas na rea da Sade

Sistema de informao em Sade um mecanismo de recolha, processamento, anlise e transmisso da informao necessria para se organizar e operar os servios de sade e tambm para
a investigao e o planeamento com vistas ao controlo de doenas. O propsito do Sistema de

16

Reviso Bibliogrfica

Informao em sade seleccionar os dados pertinentes a esses servios e transform-los na informao necessria para o processo de decises, prprios das organizaes e indivduos que planeiam, financiam, administram, provem e avaliam os servios de sade. So funes do sistema
de Informao em Sade o planeamento, a coordenao e a superviso dos processos de seleco,
recolha, aquisio, registo, armazenamento, processamento, recuperao, anlise e difuso de dados e gerao de informao. [23] Portanto, trata-se de uma rea onde computao ubqua, SOA,
e SMA aplicam-se muito bem.
Em [24] proposta a Self-Managed Cell (SMC), uma arquitectura modelo para aplicaes
ubquas na sade, em que para monitorizar os pacientes nas suas residncias so utilizados
sensores corporais. Essa arquitectura essencialmente constituda por um conjunto extensvel de servios comunicao, feita pelo Barramento de evento, bem como a gesto e adaptao do controlo aos recursos dirigidos. Embora o conjunto de servios possa modificar-se
dependendo do contexto no qual o SMC solicitado (p. ex., rede da rea do corpo, sistema de controlo em casa, hospital), um nmero de servios constituem a funcionalidade
principal do SMC e sempre devem estar presentes. Descobridor de Servios responsvel
por manter a ligao na SMC. Este servio interroga os novos dispositivos para estabelecer
um perfil que descreve os servios que eles oferecem e logo gera um evento que descreve a
adio do novo dispositivo de outros componentes SMC para utilizar como apropriado. O
Barramento de Eventos, lana as politicas de adaptao do comportamento do SMC. Servio de Gesto, mantm objectos de adaptao para cada um dos componentes que podem
ser alvo de aces de gesto.
Em [25] apresentado um framework para a monitorizao de pacientes em casa com base
em tcnicas de computao pervasiva. O framework inclui componentes que permitem
realizar o acompanhamento do paciente, permitindo a avaliao da sua situao mdica e a
gerao de notificaes de alarmes em momentos crticos. Um dos componentes principais
do framework um mecanismo de raciocnio, desenhado para identificar situaes anormais
relacionadas aos sinais vitais do paciente.
Em [26] descreve-se uma framework da monitorizao inteligente da sade de uma pessoa
em casa. Neste contexto, a computao pervasiva tem um papel importante que permite o
tratamento de vrias variveis relevantes. A soluo integra conhecimento mdico, dados
fisiolgicos e comportamentais dos pacientes, e condies ambientais. A framework integra
mdulos da gesto de contexto, raciocinando e aprendendo. Um modelo lgico e as regras
baseadas em recomendaes mdicas permitem analisar e identificar situaes crticas do
paciente. O exemplo de controlar a tenso arterial ilustra o uso desta proposta.
Em [27] apresentado O HealthShare, que um software inovador que inclui a tecnologia
necessria para a rpida troca de informaes de Sade e tambm um ambiente completo de
desenvolvimento para minimizar o custo das solues que atendam s necessidades de cada
sistema envolvido. O HealthShare foi projectado para reduzir radicalmente o custo, o tempo

2.5 Doenas Crnicas: Diabetes e Obesidades

17

de desenvolvimento, e os riscos de construir e operar um sistema de troca de informaes


na rea de sade.
Em [28] apresentado o Wireless Remote Healthcare Monitoring with Motes que combina
um monitor mvel (PDA) com a capacidade de remotamente e de qualquer lugar ter acesso
informao usando a Internet. O sistema usa tecnologia estabelecida para fornecer a monitorizao de sade rentvel, eficiente e robusta que seria especialmente til para cuidado
continuado dos idosos.

2.5

Doenas Crnicas: Diabetes e Obesidades

Finalmente, importante fazer-se uma breve descrio das doenas crnicas, com o objectivo
de se compreender com que tipos de medies muitos desses pacientes geralmente se envolvem no
seu dia-a-dia. Em muitos casos, tais medies devem ser realizadas pelo prprio paciente, como os
nveis de glicose para os doentes que sofrem de diabetes, a fim de decidirem sobre a necessidade de
se auto-ministrarem teraputicas apropriadas para evitarem situaes de risco. Entretanto, haver
outras doenas em que esta auto-monitorizao por parte do paciente ser necessria.

2.5.1

Breves Consideraes

Segundo a Organizao Mundial da Sade, as doenas crnicas cuja declarao no obrigatria, como as doenas cardiovasculares, a diabetes, a obesidade, o cancro e as doenas respiratrias,
representam cerca de 59 por cento do total de 57 milhes de mortes em cada anuais e 46 por cento
do total de doenas. Uma Doena crnica uma doena cujo tempo de tratamento no de todo
curto, normalmente definido e apartir dos trs meses .
As doenas crnicas no so de emergncias mdicas porque no colocam em risco a vida das
pessoas num curto prazo. Porm, podem ser muito srias e vrias delas causam morte certa. As
doenas crnicas possuem todas a condio em que um sintoma existe continuamente, e mesmo
no pondo em risco a sade fsica das pessoa, so extremamente incomodativo levando disrupo
da qualidade de vida e actividades da pessoas [29]. Um exemplo tpico a diabetes. Calcula-se
que, em todo o mundo, existam 177 milhes de pessoas a sofrere de diabetes, sobretudo de tipo 2.
Mais de mil milhes de adultos sofrem de excesso de peso. Destes, pelo menos 300 milhes so
clinicamente obesos. Apesar de muito diferentes entre si, as doenas crnicas apresentam factores
de risco comuns. So poucos e podem ser prevenidos como por exemplo:
Colesterol elevado;
Tenso arterial elevada;
Obesidade;
Tabagismo;
Consumo de lcool.

18

Reviso Bibliogrfica

2.5.2

Obesidade

A obesidade e a pr-obesidade so avaliadas pelo ndice de Massa Corporal (IMC). Este ndice
mede a corpulncia, que se determina dividindo o peso (quilogramas) pela altura (metros), elevada
ao quadrado, como indicado na expresso abaixo:
IMC =

Peso
Altura2

Existem vrios tipos de aparelhos que servem para efectuar a respectiva medio, a figura 2.3
mostra um exemplo de medidor de IMC. Segundo a Organizao Mundial de Sade, considerase que h excesso de peso quando o IMC igual ou superior a 25 e que h obesidade quando o
IMC igual ou superior a 30. A obesidade uma doena! Mais, uma doena que constitui um
importante factor de risco para o aparecimento, desenvolvimento e agravamento de outras doenas.
H tantas pessoas obesas a nvel mundial que a Organizao Mundial de Sade (OMS) considerou
esta doena como a epidemia global do sculo XXI. De acordo com a OMS, a obesidade uma
doena em que o excesso de gordura corporal acumulada pode atingir graus capazes de afectar a
sade. uma doena crnica, com enorme prevalncia nos pases desenvolvidos, atinge homens
e mulheres de todas as etnias e de todas as idades, reduz a qualidade de vida e tem elevadas taxas
de morbilidade e mortalidade, acarretando mltiplas consequncias graves para a sade [30].

Figura 2.3: Medidor de IMC

2.5.2.1

Tipos de obesidade

Obesidade andride, abdominal ou visceral - quando o tecido adiposo se acumula na


metade superior do corpo, sobretudo no abdmen. tpica do homem obeso. A obesidade
visceral est associada a complicaes metablicas, como a diabetes tipo 2 e a dislipidmia
e, a doenas cardiovasculares, como a hipertenso arterial, a doena coronria e a doena
vascular cerebral, bem como sndroma do ovrio poliqustico e disfuno endotelial (ou
seja deteriorao do revestimento interior dos vasos sanguneos). A associao da obesidade
a estas doenas est dependente da gordura intra-abdominal e no da gordura total do corpo.
Obesidade do tipo ginide - quando a gordura se distribui, principalmente, na metade
inferior do corpo, particularmente na regio gltea e coxas. tpica da mulher obesa.

2.5 Doenas Crnicas: Diabetes e Obesidades

2.5.2.2

19

Classificao da Obesidade

Um grfico sobre o IMC mostrado na Figura 2.4. As linhas tracejadas representam subdivises dentro das classes principais, por exemplo, a magreza dividida em "severa", "moderada"e
"leve". Na Tabela 2.1 pode-se ver a classificao do imc de uma forma mais detalhada. [31]

Figura 2.4: Grfico sobre o IMC [31]

IMC < 18 Kg
Magresal
m2
Kg
IMC > 18 < 25 m2
Normal
IMC > 25 < 30 Kg
Excesso
de Peso
m2
Kg
IMC > 30 < 55 m2 Obesidade moderada (grau I)
IMC > 35 < 40 Kg
Obesidade grave (grau II)
m2
Kg
IMC > 40 m2
Obesidade mrbida (grau II)
Tabela 2.1: Classificao de IMC [31]

2.5.3

Hipercolesterolemia

Manifesta-se quando os valores do colesterol no sangue so superiores aos nveis mximos


recomendados em funo do risco cardiovascular individual. O colesterol indispensvel ao organismo, quaisquer que sejam as clulas orgnicas que necessitem de regenerar-se, substituir-se ou
desenvolver-se. No entanto, valores elevados so prejudiciais sade. H dois tipos de colesterol:
O colesterol HDL (High Density Lipoproteins), designado por bom colesterol, constitudo
por colesterol retirado da parede dos vasos sanguneos e que transportado at ao fgado para ser
eliminado.
O colesterol LDL (Low Density Lipoproteins) denominado mau colesterol, porque, quando
em quantidade excessiva, ao circular livremente no sangue, torna-se nocivo, acumulando-se perigosamente na parede dos vasos arteriais. Quer o excesso de colesterol LDL, quer a falta de

20

Reviso Bibliogrfica

colesterol HDL, aumentam o risco de doenas cardiovasculares, principalmente o enfarte do miocrdio.

Figura 2.5: Medidor de Colesterol e Glicosel

2.5.4

Glicose

O nome Glucose veio do grego glykys , que significa "doce", mais o sufixo -ose, indicativo
de acar. Tem funo de fornecedor de energia, participa das vias metablicas, alm de ser
precursora de outras importantes molculas.
A glicose, glucose ou dextrose, um monossacardeo, o carboidrato mais importante na biologia. As clulas a usam como fonte de energia e intermedirio metablico. A glucose um dos
principais produtos da fotossntese e inicia a respirao celular em procariontes e eucariontes.
um cristal slido de sabor adocicado encontrado na natureza na forma livre ou combinada. Juntamente com a frutose e a galactose, o carboidrato fundamental de carboidratos maiores, como
sacarose e maltose. Amido e celulose so polmeros de glucose. encontrada nas uvas e em
vrios frutos. Industrialmente obtida a partir do amido.
No metabolismo, a glucose uma das principais fontes de energia e fornece 4 calorias de
energia por grama. A glucose hidratada (como no soro glicosado) fornece 3,4 calorias por grama.
Sua degradao qumica durante o processo de respirao celular d origem energia qumica
(armazenada em molculas de ATP - aproximadamente 30 molculas de ATP por molculas de
glucose), gs e gua [32].

2.5.5

Hipertenso Arterial

Representa situaes em que se verificam valores de tenso arterial aumentados. Para esta
caracterizao, consideram-se valores de tenso arterial sistlica (mxima) superiores ou iguais
a 140 mm Hg (milmetros de mercrio) e/ou valores de tenso arterial diastlica (mnima) superiores ou iguais a 90 mm Hg. Contudo, nos doentes diabticos, porque a aterosclerose progride
mais rapidamente, considera-se haver hipertenso arterial quando os valores de tenso arterial
sistlica so superiores ou iguais a 130 mm Hg e/ou os valores de tenso arterial diastlica so
superiores ou iguais a 80 mm Hg. Com frequncia, apenas um dos valores surge alterado. Quando

2.5 Doenas Crnicas: Diabetes e Obesidades

21

Figura 2.6: Medidor de Presso Arterial

apenas os valores da mxima esto alterados, diz-se que o doente sofre de hipertenso arterial
sistlica isolada; quando apenas os valores da mnima se encontram elevados, o doente sofre de
hipertenso arterial diastlica. A primeira mais frequente em idades avanadas e a segunda em
idades jovens. A hipertenso arterial est associada a um maior risco de doenas cardiovasculares,
particularmente o acidente vascular cerebral [33].
2.5.5.1

Classificao da hipertenso arterial

A finalidade de classificaes da tenso arterial determinar grupos de pacientes que tenham


caractersticas comuns, quer em termos de diagnstico, de prognstico ou de tratamento. Estas
classificaes so baseadas em dados cientficos, mas so em certo grau arbitrrias. Diversas
sociedades cientficas tm suas classificaes prprias. A Tabela 2.2 mostra a classificao das
sociedade europeia de hipertenso e de cardiologia.
Categoria
PA diastlica (mmHg) PA sistlica (mmHg)
Tenso ptima
<80
<120
Tenso Normal
80-84
120-129
Tenso Normal Alta
85-89
130-139
Hipertenso grau 1
90-99
140-159
Hipertenso grau 2
100-109
160-179
Hipertenso grau 3
>=110
>=180
Hipertenso sistlica isolada
<90
>=140
Tabela 2.2: Classificao das Sociedade Europeia de Hipertenso e de Cardiologia [34]

2.5.6

Temperatura Corporal

Os seres humanos podem passar sem gua durante dias, em alguma ocasio, e sem comida
durante vrias semanas, em caso de necessidade, mas no podem passar sem aquecimento por
mais de horas. (ATKINSON, MURRAY, 1989). Segundo Perry Potter, temperatura corporal
o grau de calor que o corpo apresenta. o equilbrio entre o calor produzido e eliminado pelo
corpo. H uma variao precisa de temperatura dentro da qual as clulas funcionam com eficincia

22

Reviso Bibliogrfica

Figura 2.7: Medidor de Temperatura: Termmetro

e a actividade enzimtica adequada. A mdia normal de temperatura para adultos considerados


normais de 36 o C a 37 o C graus, e varivel de acordo com o local em que for tomada como
mostra a Tabela 2.3. Actividade enzimtica a capacidade das clulas em produzir enzimas beAxilar
36,0 o C a 37,0 o C
Inguinal 36,0 o C a 36,8 o C
Buca
36,8 o C a 37,0 o C
Retal
37,0 o C a 37,2 o C
Tabela 2.3: Tabela de Temperatura [33]

nficas ao organismo. Para manter-se em perfeito funcionamento, o ser humano necessita manter
sua temperatura central dentro de uma faixa trmica estreita, por isso dito que o homem um
animal homeotrmico. Se a temperatura corporal tornar-se excessivamente alta ou baixa, todos os
sistemas do organismo so afectados, resultando na morte das clulas e consequentemente de todo
sistema, a menos que a temperatura possa retornar a uma faixa mais normal [33].

2.6

Sumrio

Atravs da apresentao de diversas informaes de carcter mais geral pretendeu-se proporcionar ao leitor uma viso mais detalhada sobre cada um dos temas acima expostos no sentido
de compreender o background terico que suporta o desenvolvimento deste trabalho. Iniciou-se
o captulo com a abordagem a computao ubqua dando nfase a sua caracterstica, a sua relao com a computao mvel e a pervasiva, os desafios que algumas subrea proporcionam e
ainda as tecnologias de localizao. Seguidamente foi descrito a computao orientada a servios, analisando-se os elementos que a compe, arquitectura orientado a servios e arquitectura
orientado a agentes. De seguida foi apresentado um conjunto de trabalhos que abordam cada um
dos conceitos mencionados. Por ltimo fez-se uma anlise s doenas crnicas, dando nfase
diabetes.

Captulo 3

Anlise e Especificao de Requisitos

Neste captulo ser descrito todo o trabalho desenvolvido para a criao e implementao do
sistema de monitorizao de pacientes cujo objectivo permitir um fcil acompanhamento, por
parte dos mdicos, de parmetros e sinais vitais dos pacientes.

3.1

Perspectiva geral do sistema

Este ponto tem por objectivo dar uma viso global do sistema, das suas interfaces externas e
dos seus subsistemas principais. A arquitectura de um sistema caracteriza o relacionamento e a
comunicao entre os diferentes mdulos do sistema e possibilita visualizar o seu comportamento
global de um modo simplista e de alto nvel, alm de identificar todos os processos e procedimentos chave essenciais ao seu funcionamento. Atravs deste tipo de arquitectura vislumbra-se
o primeiro contacto do leitor com o sistema na sua globalidade, permitindo assim a partir da
sua observao identificar e estruturar as principais actividades e intervenientes directamente relacionadas com o projecto. Este sistema foi projectado como uma arquitectura cliente -servidor
composta por quatro componentes Aplicao Web, Aplicao Mvel, Servidores e Base de Dados.
Esto ligados entre si atravs da internet, como mostra a Figura 3.1.
Est prevista a utilizao desta plataforma no meio hospitalar (para os profissionais de sade)
e no caso do paciente pode ser usada em qualquer stio desde que tenha a cobertura de Internet
e disponha dos meios para a medio de dados biomtricos em causa. Os profissionais de sade
tambm podem utilizar a respectiva plataforma fora do meio hospitalar. Hoje em dia existe uma
grande percentagem de pessoas com doenas crnicas que mesmo tendo acompanhamento mdico
no fazem um controlo rigoroso sobre seus parmetros vitais. Muitos realizam as vrias medies
que esto sujeitos anotando em bloco de notas "muita das vezes sem datas associadas", alguns
memorizam e outros nem isso fazem.
Como visto na arquitectura geral do sistema, apresentada na Figura 3.1, tanto mdico como
paciente tero acesso a funcionalidades do sistema a patir dos seus terminais ligados Internet.
23

24

Anlise e Especificao de Requisitos

Figura 3.1: Arquitectura Geral do Sistema

Para isso, ser implementada uma aplicao Web com os principais recursos identificados nos
requisitos a seguir. De momento, importante definir o conceito de aplicao Web, que neste
projecto refere-se ao termo utilizado para designar, de forma geral, sistemas de informao projectados para utilizao atravs de um navegador, na Internet ou em redes privadas ( intranet ).
Trata-se de um conjunto de programas que executado num servidor de HTTP (Web Host). O
desenvolvimento da tecnologia Web est relacionado, entre outros factores, necessidade de simplificar a actualizao e manuteno mantendo o cdigo-fonte em um mesmo local, de onde, ele
ligado pelos diferentes utilizadores.
Pode-se definir uma aplicao Web como uma aplicao de software que utiliza a Web, atravs
de um browser como ambiente de execuo. Uma Aplicao Web tambm definida em tudo
que se processado em algum servidor, por exemplo: quando se entra em um e-commerce a
pgina que se liga antes de vir at o navegador processada num computador ligado Internet que
retorna o processamento das regras de negcio nele contido. Por isso se chama aplicao e no
simplesmente stio Web.

3.2

Caractersticas dos Utilizadores

Este Sistema permitir quatro tipos de utilizadores: Pacientes, Profissionais de Sade, Pblicos
e Administradores. Os Profissionais de sade so tambm administradores, mas para realizarem o
registo estes precisam de um cdigo de aceitao que fornecido pela administrao. No entanto
o profissional de sade que valida o registo dos pacientes activando as fichas clnicas ento
criadas. Quanto ao pblico estes esto sujeitos validao por parte dos administradores. O uso
da plataforma depender da forma como esta utilizada pelos aplicativos, antevendo-se muito
poucos ou mesmo nenhuns conhecimentos informticos por parte dos seus utilizadores.

3.3

Especificao detalhada dos Requisitos

Foi possivel definir os seguintes requisitos:

3.3 Especificao detalhada dos Requisitos

25

Figura 3.2: Exemplo de registo em bloco de notas

R.1 O sistema deve permitir o registo de utilizadores e a respectiva entrada no sistema


utilizando os dados solicitados;
R.2 Todos os utilizadores devem ter uma username e password;
R.3 O sistema deve permitir ao utilizador seleccionar o tipo de dados biomtricos a enviar e
envi-los;
R.4 Todos os dados biomtricos enviados devem ter uma data e hora associada;
R.5 Os pacientes devem poder visualizar os histricos das medies;
R.6 Todos os pacientes devem ter uma ficha clnica e um mdico associado;
R.7 O sistema deve ter sistemas de alertas em caso dos dados estarem fora do padro;
R.8 O Sistema deve permitir acesso de utilizadores sem acompanhamento mdico;
R.9 O Sistema deve permitir aos utilizadores consultarem as mdias das medies;
R.9 O Sistema deve permitir aos utilizadores visualizarem e editarem os seus dados pessoais;
R.10 Devido ao contedo sensvel dos dados devero ser implementados modelos de segurana para proteger a confidencialidade e integridade dos dados;
R.11 O Sistema deve ter um sistema de alerta no caso do utilizador no enviar dados durante
um perodo dentro do estipulado;
R.12 O Sistema dever dispor de pelo menos dois tipos de interfaces distintas, uma para
dispositivos mveis(telemveis , PDAs, etc) e outras para PCs;

26

Anlise e Especificao de Requisitos

3.4

Restries

Foi imposta as seguintes restries:


Rt.1 O sistema deve ser desenvolvido em tecnologias open source e utilizando a linguagem
Java; e/ou outra que permita desenvolvimento para a Web;
Rt.2 Apesar do sistema merecer um nvel de segurana elevado, no ter esse grau uma vez
que o tempo muito curto para o efeito.
A fiabilidade de um sistema mdico de monitorizao de pacientes depende da sua capacidade de
evitar falhas, para que possa fornecer um servio contnuo e correcto. A segurana e igualmente
importante, a privacidade e integridade deve ser assegurada.

3.5

Casos de Utilizao

Os casos de utilizaco so as aces que devem suceder quando um actor interage com o
sistema e que permite ao mesmo atingir o seu objectivo. Assim, cada caso de utilizao uma
sequncia de possveis aces realizadas por um actor e o sistema numa determinada altura.Por
um lado, os casos de utilizao devem ser definidos para representar os objectivos do actor, e por
outro lado, o caso de utilizao deve representar as funes ou comportamentos do sistema que
representa a interaco com o actor.
As Figuras 3.3, 3.4 e 3.5 mostram os diagramas de casos de utilizao do sistema. A
implementao foi baseada nesses diagramas e foi enfatizada na parte de perfis, envio de medies,
alertas e histricos de pacientes, pois so as classes que importam para fazer com que as duas
aplicaes fiquem funcionais.

3.5 Casos de Utilizao

27

Figura 3.3: Casos de utilizao 1

Figura 3.4: Casos de utilizao 2

Figura 3.5: Casos de utilizao 3

28

Anlise e Especificao de Requisitos

3.6

Ferramentas de Desenvolvimento

A seguir apresenta-se uma breve discusso sobre as ferramentas utilizadas no desenvolvimento


deste projecto, nomeadamente o Sistema Operativo Android, os sistemas de bases de dados relacionais, e a plataforma de desenvolvimento Elipse.

3.6.1

Sistema Operativo Android

O Android um sistema operativo mvel baseado numa verso modificada do Linux. Foi originalmente desenvolvida por uma startup de mesmo nome, Android Inc. Em 2005, como parte de
sua estratgia para entrar no espao mvel, o Google comprou o Android e assumiu o seu trabalho
de desenvolvimento (bem como seu desenvolvimento em equipa). O Google Android pretende ser
livre e aberto, da, a maioria do cdigo do Android ser lanado sob a licena open-source Apache
License, o que significa que quem quiser usar o Android pode faz-lo descarregando o cdigo
fonte do Android. Alm disso, os vendedores (normalmente os fabricantes de hardware) podem
adicionar suas prprias extenses proprietrias para o Android e personalizar o mesmo para diferenciar seus produtos de outros. Esse modelo de desenvolvimento simples faz com que o Android
seja muito atraente e tenha, portanto, despertado interesse de muitos vendedores. Este tem sido especialmente o caso para as empresas afectadas pelo fenmeno do iPhone, da Apple, um produto de
enorme sucesso que revolucionou a indstria de smartphones. Essas empresas incluem tambm
a Motorola e Sony Ericsson, que por muitos anos tm vindo a desenvolver seus prprios sistemas operativos mveis. Quando o iPhone foi lanado, muitos desses fabricantes tiveram que lutar
para encontrar novas formas de revitalizarem seus produtos. A principal vantagem da adopo
do Android que ele oferece uma abordagem unificada para desenvolvimento de aplicaes. Os
desenvolvedores precisam apenas desenvolver para o Android, e sua aplicao deve ser capaz de
funcionar como sistema operativo em vrios dispositivos diferentes, contanto que os dispositivos
utilizem o Android. No mundo dos smartphones, os pedidos so a parte mais importante da cadeia
de sucesso. Os fabricantes de dispositivos, portanto, vm o Android como a sua melhor esperana
para desafiar a investida do iPhone, que j comanda uma grande parte das aplicaes. [35]
3.6.1.1

Verses de Android

O Android passou por um grande nmero de actualizaes desde sua primeira verso. A
Tabela 3.1 mostra as vrios verses do Android e os seus nomes de cdigo respectivos.
3.6.1.2

Caractersticas do Android

Como o Android de cdigo aberto e disponvel gratuitamente para os fabricantes, no h


configuraes fixas de hardware e software. No entanto, o Android em si suporta as seguintes
funcionalidades:
Armazenamento - Usa SQLite, um banco de dados relacional e leve, para armazenamento
de dados;

3.6 Ferramentas de Desenvolvimento

29

Android Version
Releas e Date
Codename
1.1
9 February 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 October 2009
Eclair
2.2
20 May 2010
Froyo
2.3
6 December 2010 Gingerbread
3.0
22 February 2011 Honeycomb
3.1
10 May 2011
Honeycomb
Tabela 3.1: tabela de verses de Android [35]

Conectividade - Suporta GSM / EDGE, IDEN, CDMA EV-DO, UMTS, Bluetooth (inclui
A2DP e AVRCP), WiFi, LTE e WiMAX;
Mensagens - Suporta SMS e MMS;
Navegador da Web - Com base no WebKit que open-source, em conjunto com o motor
V8 JavaScript do Chrome;
Suporte a Media - Inclui suporte para as seguintes medias: H.263, H.264 (no formato 3GP
ou MP4 container), MPEG-4 SP, AMR, AMR-WB (no formato 3GP container), AAC, HEAAC (no formato MP4 ou 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG,
GIF e BMP;
Apoio Hardware - Sensor Acelermetro, camera, bssola digital, sensor de proximidade e
GPS;
Multi-touch - Suporta ecrs multi-toque;
Multi-tasking - Suporta aplicaes multi-tasking; multi-tarefa;
Suporte a Flash - Android 2.3 suporta Flash 10.1 por exemplo;
Tethering - Suporta partilha de ligaes Internet como um ponto de acesso com fio ou
sem fio
3.6.1.3

Arquitectura do Android

A fim de entender como funciona, a Figura 3.6 mostra as vrias camadas que compem o
sistema operativo Android .
O Android dividido em cinco seces e em quatro camadas principais, como descrevemos a
seguir:
kernel Linux - Este o ncleo sobre o qual o Android baseado. Essa camada contm todos
os drivers de dispositivo para vrios componentes de hardware de um dispositivo Android;

30

Anlise e Especificao de Requisitos

Figura 3.6: Arquitectura do Android [36]

Libraries- Contm todo o cdigo que fornece as caractersticas principais de um sistema


operativo Android. Por exemplo, a biblioteca fornece suporte de base de dados SQLite
para que um aplicativo possa utiliz-lo para armazenamento de dados. A biblioteca WebKit
fornece funcionalidades para navegao na Web;
Android Runtime - Na mesma camada que as bibliotecas, o tempo de execuo Android
fornece um conjunto nuclear de bibliotecas que permitem aos desenvolvedores escrever aplicaes Android utilizando a linguagem de programao Java. A Runtime Android tambm
inclui a mquina virtual Dalvik, que permite a cada aplicativo do Android executar em seu
prprio processo, com a sua prpria instncia da mquina virtual Dalvik ( aplicaes Android so compiladas em executveis Dalvik). Dalvik uma mquina virtual especializada
projectada especificamente para o Android e optimizada para vrios dispositivos mveis
com memria e CPU limitada;
Application Framework - Expe os vrios recursos do sistema operativo Android para
que os desenvolvedores de aplicaes possam utiliz-los em suas aplicaes;
Application - Nesta camada superior, ir encontrar as aplicaes que acompanham o dispositivo Android (tais como telefone, contactos, navegador, etc.), bem como as aplicaes que
descarregar e instalar a partir do Android Market. Qualquer aplicao desenvolvida para
este sistema est localizada nessa camada.
Para o desenvolvimento em Android, pode-se usar um Mac, um PC com Windows ou uma
mquina Linux. Todas as ferramentas necessrias so gratuitas e podem ser encontradas na Web.
Ferramentas para o desenvolvimento de aplicativos Android so o IDE Eclipse, SDK do Android,
e os ADT.
O Android SDK contm um depurador, bibliotecas, um emulador, documentao, exemplos
de cdigo e tutoriais. O SDK do Android faz uso do Java SE Development Kit (JDK). Assim, o
computador deve ter o JDK instalado.

3.6 Ferramentas de Desenvolvimento

31

O primeiro passo para o desenvolvimento de todas as aplicaes a obteno do ambiente


de desenvolvimento integrado (IDE). No caso do Android, o IDE Eclipse recomendado como
uma aplicao de desenvolvimento de software multi-linguagem, num ambiente caracterizado por
um extensvel sistema de plug-ins. Pode ser usado para desenvolver diversos tipos de aplicaes,
utilizando linguagens como Java, Ada, C, C + +, COBOL, Python, etc.

3.6.2

A Plataforma Eclipse

A plataforma Eclipse uma plataforma para a integrao de ferramentas de desenvolvimento


open-source e possui uma arquitectura extensvel baseada na utilizao e desenvolvimento de plugins. Apresenta um conjunto de servios e estruturas que representam os recursos mais comuns
utilizados pela maioria dos desenvolvedores de ferramentas. Com a caracterstica de trabalhar
em uma plataforma aberta, onde novos recursos podem ser agregados a qualquer momento, a
plataforma permite a interaco dos desenvolvedores com a plataforma de desenvolvimento de
forma directa e intuitiva [37].
3.6.2.1

Arquitectura

A Figura 3.7 mostra a estrutura bsica da plataforma Eclipse. Fundamentalmente, o eclipse


uma estrutura voltada para plug-ins. Outros aplicativos podem actuar dentro desta estrutura bsica
para criar uma aplicao melhor e que cumpra com as necessidades do utilizador. Excepto ao
pequeno ncleo do runtime, tudo em Eclipse implementado como plug-ins. A Figura 3.8 mostra
a representao da plataforma em camadas. De seguida apresenta-se a descrio de cada um dos
seus componentes.

Figura 3.7: Arquitectura do Eclipse [37]

3.6.2.2

Workspace do Eclipse

Responsvel por administrar recursos do utilizador, que so organizados dentro de um ou mais


projectos. As vrias ferramentas ligadas ao IDE atravs dos plugins operam no ficheiros do

32

Anlise e Especificao de Requisitos

Figura 3.8: Representao da Plataforma em Camadas [38]

workspace do utilizar. O workspace consiste em um ou mais projectos onde cada projecto corresponde a uma pasta especificada pelo utilizador. Com o objectivo de minimizar a perda acidental
de ficheiros o workspace contm um mecanismo que permite fazer "undo"ao workspace de modo
a recuperar os ficheiros pretendidos. O workspace mantm tambm mecanismos que permitem
guardar desde mensagens do compilador informao sobre os breakpoints do debugger.
3.6.2.3

O Workbench

O workbench fornece a estrutura com a qual as ferramentas interagem com o utilizador, a


janela que o utilizador v quando a plataforma iniciada o workbench; A sua API depende da
API do JFace e da API do SWT. O workbench constitudo por editores, vistas e perspectivas. Os
editores permitem ao utilizador abrir , editar e gravar objectos enquanto que as vistas providenciam
informao sobre o documento a ser editado. So as perspectivas que definem o modo como os
editores e as vistas so dispostas no ecr.
As ferramentas de construo de componentes da interface grfica do utilizador (GUI) podem
ser divididas em: O SWT (Standard Widget Toolkit) e Jface . O SWT um conjunto de
ferramentas que possibilita a construo de uma aplicao independente da GUI do sistema de
janelas do sistema operativo. Logo permite obter o mesmo aspecto visual tanto em mquinas que
utilizem o Microsoft Windows como em sistemas que utilizem o Linux. O Jface tambm uma
ferramenta para controlar funes comuns da GUI. Tal como o SWT, independente do sistemas
de janelas tanto a sua API como a sua implementao. O Jface foi desenvolvido para funcionar
com ou sem o SWT.
3.6.2.4

Java Development Tooling (JDT)

O JTD uma ferramenta que adiciona plataforma Eclipse a capacidade de desenvolver aplicaes em Java e basicamente constitui um IDE para desenvolver programas Java. O JTD implementado atravs de um conjunto de plug-ins que permitem ao utilizador, entre outras possibilidades, ter os ficheiros .Java e .class organizados por pastas, ter os projectos organizados por pacotes ,

3.6 Ferramentas de Desenvolvimento

33

adiciona capacidades de um editor de Java comum, como por exemplo colorir as palavras-chave e
a sintaxe, ver os estados dos threads e das stack frames, etc. Os plug-ins que constituem o JTD so
divididos em dois grupos: os que interferem e os que no interferem com a GUI, o que permite a
utilizao da plataforma Eclipse em sistema que no sejam baseados em interfaces grficas com o
utilizador.
3.6.2.5

Ambiente de Desenvolvimento de Plug-ins (PDE)

O Plug-in Development Environment (PDE) oferece ferramentas para criar, desenvolver, testar, depurar, construir e implantar plug-ins Eclipse, fragmentos, caractersticas, sites de actualizao e produtos Rich Client Platform (RCP). O PDE tambm fornece ferramentas OSGi, que
o torna um ambiente ideal para a programao de componentes, e no apenas para o desenvolvimento plug-ins Eclipse [37]. Algumas contribuies do PDE ao desenvolvimento de plug-ins
podem ser vistas a seguir:

Figura 3.9: Cenrio de Utilizao de Plug-ins

3.6.2.6

Plataforma Runtime

responsvel por descobrir que plug-ins esto disponveis na pasta de plug-ins do Eclipse
para serem executados juntamente com o ambiente IDE.

3.6.3

Base de Dados

Como sugerido em [39], base de dados (BD ou DB, database) uma entidade na qual
possvel armazenar dados de maneira estruturada e com a menor redundncia possvel. Estes dados devem poder ser utilizados por programas, por vrios utilizadores. Assim, a noo bsica
de dados acoplada geralmente a uma rede, a fim de poder disponibilizar, conjuntamente, estas
informaes. Fala-se, geralmente, de sistema de informao para designar toda a estrutura que
rene os meios organizados para poder compartilhar dados. Neste contexto a BD uma coleco
de informaes organizadas de tal forma que um programa de computador pode seleccionar rapidamente os dados desejados. Assim, podemos pensar numa base de dados como um sistema de
arquivamento electrnico.

34

Anlise e Especificao de Requisitos

As base de dados tradicionais so organizadas por campos, registos e arquivos. Um campo


uma nica parte de informao, um registo um conjunto completo de campos, e um arquivo
uma coleco de registos. Um conceito alternativo em desenho de base de dados conhecido
como hipertexto. Numa base de dados Hypertext, qualquer objecto, seja ele um pedao de texto,
uma imagem ou um filme, pode ser ligado a qualquer outro objecto. Bases de dados de hipertexto
so particularmente teis para organizar grandes quantidades de informaes dspares, porm, tais
BD no so apropriados para anlise numrica.
3.6.3.1

Gesto da Base de dados

Para obter informaes duma base de dados, precisamos de um sistema de gesto da base de
dados (SGBD). Como referido em [39], SGBD uma coleco de programas que permite inserir,
organizar e seleccionar dados numa base de dados. Tem-se notado porm que cada vez mais, o
termo base de dados tem sido utilizado como sinnimo para sistema de gesto de base de dados.
Algumas responsabilidades especficas do SGBD:
permitir o acesso aos dados de maneira simples.
autorizar um acesso s informaes a mltiplos utilizadores
manipular os dados presentes no bases de dados (insero, supresso, modificao)
Os sistemas de gesto de bases de dados mais populares so os seguintes :
Microsoft SQL server
Oracle
MySQL
PostgreSQL
3.6.3.2

PostgreSQL

O PostgreSQL uma SGBD relacional e orientado a objectos. um software de livre distribuio e tem seu cdigo fonte aberto. Oferece suporte a SQL de acordo com os padres SQL92 /
SQL99. Em termos de recurso pode ser comparado s melhores bases de dados comerciais existentes, sendo inclusive superior em alguns aspectos, como ao introduzir conceitos do modelo objecto
- relacional que hoje esto disponveis em algumas bases de dados comerciais. Arquitectura Bsica do PostgreSQL importante que haja a compreenso de sua arquitectura bsica. Quando se
abre uma sesso do Postgres, 3 processos so abertos:
um processo daemon (postmaster);
a aplicao do cliente (por exemplo, sua aplicao em PHP);
um ou mais servidores da base de dados (processo postgres).

3.6 Ferramentas de Desenvolvimento

35

Um nico processo postmaster gere as bases de dados existentes numa mquina. As aplicaes do cliente(frontend) que desejam ligar determinada base de dados fazem chamadas a uma
requisio do utilizador pela rede para o processo postmaster, que cria um novo processo-servidor
(backend)) e liga o processo-cliente ao servidor (frontend) e (backend) se comunicam sem a interveno dopostmaster. Sendo assim o postmaster o gestor das ligaes do PostgreSQL. Agora
faremos uma comparao entre o PostgreSQL e o MySQL ilustrada na Tabela 3.2 por serem solues de cdigo fonte aberta e ambas muito utilizadas em solues de plataforma WEB como PHP
e em sistemas como o Linux.
Tabela 3.2: comparao entre PostgreSQL e MySQL

Transaes
Lock linha
Constraints
Programvel
password
Failsafe
Hotback

MySQL
No
No
No
Parcial
Sim
No
No

PostgreSQL
Sim
Sim
Parcial
Sim
Sim
Sim
No

Transaes: confirmao ou cancelamento de operaes realizadas;


Lock de linha: actualizao bloqueia apenas as linhas a serem actualizadas;
Constraints: chave primria e chave estrangeira para tabelas da base de dados;
Programvel: permite criar triggers(por exemplo);
Password: validaes de utilizador e password;
Fail safe: segurana contra falhas(exemplo desligamento repentino do sistema);
Hot backup: verifica se possvel realizar uma cpia consistente da base de dados enquanto
transaces so efectuadas;
Apesar de tudo o MySQL tem a vantagem de possuir uma velocidade de acesso maior para
grandes bases de dados. No entanto, as caractersticas de travamento de linhas, transaces e
segurana contra falhas fazem do PostgreSQL uma opo mais segura e confivel.
3.6.3.3

Open Data Base Connectivity (ODBC)

Trata-se de um formato definido pela Microsoft que permite a comunicao entre clientes de
base de dados e as Base de dados do mercado. O gestor de ODBC est presente nos sistemas
Windows. No entanto, existem implementaes em outras plataformas, incluindo as plataformas
Unix e Linux. ODBC permite interrogar qualquer base de dados SQL. As bases de dados ou
sistema de gesto de base de dados devem compreender as interrogaes, e o aplicativo deve

36

Anlise e Especificao de Requisitos

enviar consultas em formato padro ODBC. Embora o ODBC constitua uma interface com bases
de dados, independente do SGBD, esta tecnologia ainda uma soluo proprietria da Microsoft.
Isso se traduz por uma dependncia de plataforma [40].
3.6.3.4

Java DataBase Connectivity (JDBC )

Segundo autores em [41] JDBC um conjunto de especificao de interfaces e classes em


Java que padronizam a ligao com uma base de dados. inspirado no bem sucedido padro
Microsoft de acesso a base de dados, ODBC, porm tem a vantagem de ser multi-plataforma.
Alm da independncia da plataforma, Java tambm visa obter independncia de base de dados.
Isto significa que trocando a base de dados, espera-se pouca alterao na aplicao.
JDBC permite a utilizao de caminhos alternativos para ligao a base de dados, ou seja
podemos escolher diferentes drivers de diferentes tipos:
Tipo 1: ligao atravs de uma ponte jdbc - odbc. Levando em considerao que a ponte
jdbc-odbc j vem incorporada ao JDK, e juntamente com o driver ODBC , esta opo se
torna a mais fcil de se encontrar;
Tipo 2: o driver obtido a partir de uma API nativa. Isto significa que o driver Java faz
chamadas nativas a C ou C++ para subrotinas definidas pelo fornecedor da base de dados.
Esta alternativa exige a instalao de software cliente;
Tipo 3: atravs de um driver especfico jdbc. Esta a melhor opo, uma vez que ganha em
desempenho e tambm a opo multi-plataforma.
A JDBC utiliza a classe java.sql.DriverManager e duas interfaces java.sql.Drivere java.sql.Connection,
para se conectar a uma base de dados:
java.sql.Driver: proporciona JDBC um ponto de partida para ligao base de dados
respondendo s requisies de ligao de DriverManager e fornecendo informaes sobre
a implementao em questo;
java.sql.DriverManager: sua principal responsabilidade manter uma lista de implementaes de driver e apresentar a uma aplicao uma implementao que corresponde a uma
URL requisitada;
java.sql.Connection: usa-se a classe Connection para enviar uma srie de dados de instrues SQL base de dados e controlar o registo ou a interrupo dessas instrues.
3.6.3.5

Os nveis ANSI/SPARC

Segundo autores em [39], a arquitectura ANSI/SPARC define nveis de abstraco para um


sistema de gesto de bases de dados que so brevemente descritos a seguir:
Nvel interno (ou fsico) : Os ficheiros so guardados em suporte de armazenamento informtico e, a partir da so manipulados pelo SGBD em execuo no computador;

3.6 Ferramentas de Desenvolvimento

37

Nvel conceptual : chamado tambm MCD (modelo conceptual dos dados) ou MLD (modelo lgico dos dados). Define a organizao das informaes em tabelas de relacionamentos;
Nvel externo : define as vistas dos utilizadores, ou seja, como os dados so efectivamente
visualizados para posterior utilizao.

3.6.3.6

As caractersticas de um SGBD

De acordo com autores em [39] a arquitectura a trs nveis definida pelo padro ANSI/SPARC
permite ter uma independncia entre os dados e os tratamentos. Geralmente, um SGBD deve ter
as caractersticas seguintes:
Independncia fsica : o nvel fsico pode ser alterado independentemente do nvel conceptual. Isso significa que todos os aspectos materiais da base de dados no aparecem ao
utilizador; trata-se simplesmente de uma estrutura transparente de representao das informaes;
Independncia lgica : o nvel conceptual deve poder ser alterado sem pr em causa o
nvel fsico, quer dizer que o administrador da base deve poder faz-la evoluir sem necessariamente envolver os utilizadores;
Maneabilidade : pessoas que no conhecem a base de dados devem ser capazes de fazer o
seu pedido sem fazer referncia a elementos tcnicos da base de dados;
Rapidez dos acessos : o sistema deve poder fornecer as respostas aos pedidos o mais depressa possvel, o que implica algoritmos de pesquisa e consulta rpidos;
Administrao centralizada : o SGBD deve permitir ao administrador poder manipular os
dados, inserir elementos, verificar a sua integridade de maneira centralizada;
Limitao da redundncia : o SGBD deve poder evitar, na medida do possvel, informaes redundantes, a fim de evitar por um lado um desperdcio do espao de memria, mas
tambm erros;
Verificao da integridade : os dados devem ser coerentes entre eles, ainda mais quando
os elementos fazem referncia a outros, em que estes ltimos devem estar presentes;
Partilha dos dados : o SGBD deve permitir o acesso simultneo base de dados por vrios
utilizadores;
Segurana dos dados : o SGBD deve apresentar mecanismos que permitam gerir os direitos
de acesso aos dados de acordo com os utilizadores.

38

Anlise e Especificao de Requisitos

3.6.3.7

Os diferentes modelos de bases de dados

As bases de dados apareceram no fim dos anos 60, numa poca em que a necessidade de
um sistema de gesto da informao flexvel se fazia sentir. Existem cinco modelos de SGBD,
diferenciados de acordo com a representao dos dados, que incluem :
o modelo hierrquico : os dados so classificados hierarquicamente, de acordo com uma
estrutura descendente. Este modelo utiliza apontadores entre os diferentes registos. Trata-se
do primeiro modelo de SGBD ;
o modelo rede : como o modelo hierrquico, este modelo utiliza apontadores para os registos. Contudo, a estrutura j no necessariamente descendente;
o modelo relacional (SGBDR, Sistema de gesto de bases de dados relacionais) : os
dados so registados em quadros a duas dimenses (linhas e colunas). A manipulao destes
dados faz-se de acordo com a teoria matemtica das relaes, conhecida como lgebra
Relacional;
o modelo dedutivo : os dados so representados sob a forma de tabela, mas a sua manipulao faz-se por clculo de predicados;
o modelo de objectos (SGBDO, Sistema de gesto de bases de dados objecto): os dados
so armazenados sob a forma de objectos, quer dizer, de estruturas chamadas classes que
apresentam dados membros. Os campos so instncias destas classes, ou seja, objectos.

3.6.3.8

Diagrama do Modelo de Entidade e Associao

O Diagrama do Modelo EA um modelo diagramtico que descreve o modelo de dados de


um sistema com alto nvel de abstraco. Ele a principal representao do Modelo de Entidades
e Relao. usado para representar o modelo conceitual do negcio. No confundir com modelo
relacional, que representam as tabelas, atributos e relaes materializadas no base de dados.

3.6.3.9

Modelo Relacional para SGBD

O modelo relacional para gesto de bases de dados um modelo de dados baseado em lgica e
na teoria de conjuntos. Em definio simplificada, o modelo baseia-se em dois conceitos: conceito
de entidade e relao. Uma entidade um elemento caracterizado pelos dados que so recolhidos
na sua identificao vulgarmente designado por tabela. Na construo da tabela identificam-se os
dados da entidade a atribuio de valores a uma entidade constri um registo da tabela. No fim
dos anos 90, as bases relacionais tornaram-se as bases de dados mais comuns, com cerca de trs
quartos das bases de dados utilizadas na maioria das aplicaes [39].

3.7 Sumrio

3.7

39

Sumrio

Ao longo deste captulo foram apresentados as interfaces de comunicao e a viso de funcionamento de todo o sistema desenvolvido neste trabalho. Foram feitas a descrio dos requisitos
do sistema e difinio das suas restries, sendo que algumas das restries tecnolgicas como o
sistema operativo Android, plataforma Eclipse e sistema de gesto de base de dados foram analisadas de uma forma mais detalhada. Por fim foi abordada representao do sistema, apresentado
com recurso a diagramas de casos de utilizao UML das principais funcionalidades associadas
ferramenta desenvolvida.

40

Anlise e Especificao de Requisitos

Captulo 4

Implementao e Avaliao de
Resultados

Neste captulo so descritos os detalhes da implementao do prottipo cujos requisitos e


casos de utilizao foram especificados no capitulo anterior. A primeira parte da implementao
dedicada aplicao Web. Na seco 4.1.1 apresentado as ferramentas que foram utilizados para
a respectiva implementao, na seco 4.1.2 feita uma descrio das permisses dos utilizadores
do sistema. Nas seces seguintes so apresentados um diagrama do modelo entidade e associao
as respectivas entidades e associaes, o modelo relacional e por ltimo as respectivas descries
dos mdulos. A segunda parte dedicada a aplicao Mvel.

4.1
4.1.1

Implementao da Base de Dados e Aplicao Web


Ferramentas Utilizada

Para o desenvolvimento do sistema foram utilizadas as seguintes ferramentas:


PostgreSQL um sistema gestor de base de dados objecto relacional (SGBDOR), desenvolvido como um projecto de open source;
PHP (Hypertext Preprocessor) uma linguagem de script open source de uso geral, muito
utilizada e especialmente adequada para o desenvolvimento de aplicaes Web embutidas
dentro do HTML;
HTML (HyperText Markup Language) uma linguagem de marcao utilizada para
produzir pginas Web. Documentos HTML podem ser interpretados por navegadores. A
tecnologia fruto do "casamento"dos padres HyTime e SGML. HTML a construo de
blocos bsicos de pginas Web. HyTime um padro para a representao estruturada de
hipermdia e contedo baseado em tempo. Um documento visto como um conjunto de
41

42

Implementao e Avaliao de Resultados

eventos concorrentes dependentes de tempo (como udio, vdeo, etc.), ligados por hiperligaes. O padro independente de outros padres de processamento de texto em geral.SGML um padro de formatao de textos. No foi desenvolvido para hipertexto, mas
tornou-se conveniente para transformar documentos em hiper-objectos e para descrever as
ligaes;
Apache O servidor Apache (ou Servidor HTTP Apache, Apache HTTP Server, ou simplesmente Apache) o mais bem sucedido servidor Web livre.

4.1.2

Descrio de Permisses

No que respeita aos tipos dos utilizadores foram definidas as seguintes permisses:
Utilizador (UTI): Permisso associada a um pessoa que no est sendo acompanhado por
um mdico;
Utilizador (PUTI): Permisso associada a um utilizador. No entanto, a informao; marcada com este nvel est apenas disponvel para o utilizador a quem a informao diz respeito. Por exemplo, no acto de ver histrico Medies, um utilizador ter acesso apenas s
medies associadas ao seu id;
Paciente (PAC): Permisso associada a um paciente registado no sistema de informao;
Prprio Paciente (PPAC): A mesma situao que em PUTI, agora aplicada a um paciente;
Mdico (MED): Permisso associada a um mdico registado no sistema de informao;
Prprio mdico (PMED): A mesma situao que em PUTI, agora aplicada a um mdico;
Administrador (ADM): Permisso associada a um gestor do sistema de informao. Tem
licenas para interagir ao mximo nvel com a base de dados;

4.1 Implementao da Base de Dados e Aplicao Web

4.1.3

43

Modelos de Entidade e Associao

A figura 4.1 ilustra a constituio do diagrama do modelo EA.

id

password

username

morada

id_civil
Pessoa
tipo

data_nasc

id

utilizador
id

tem

medico

paciente
1
id

1
1

1
1
anota
dispoe
num_ficha

possui

Id_medico

enviaUtil
Id_paciente
notas

enviaPac
N

1
Num_ficha

frequencia

Id_medico
N

Id_paciente

num_nota

Id_medico

fichaclinica

num_nota
N

data

Info_adicional

testo

Num_med
1

imc
glicose2

doenca
Data_ficha

apresenta

colesterol
1

medicoes
glicose

Id_uti

Pressao_arterial2
temperatura
data

contem

hora
Pressao_arterial

Figura 4.1: Diagrama do Modelo Entidade e Associao

4.1.3.1

ENTIDADES

As entidades do mdulo, com os seus respectivos atributos, so identificados abaixo:


pessoa(id,nome,data_nasc,id_civil,morada,telefone,username,password,tipo)
medico (id)
publico (id)

44

Implementao e Avaliao de Resultados

paciente (id , id_medico, num_ficha)


fichaclinica(num_ficha, data_ficha , id_medico, id_paciente, frequncia, doena, info_adicional,
estado)
medicoes( num_med, data, hora, num_ficha, imc, temperatura, glicose, colesterol,pressao_arterial,
id_paciente,id, pressao_arterial2,glicose2 )
notas(num_nota,testo,data_nota)

4.1.3.2

ASSOCIAES

A Tabela 4.1, a seguir, apresenta as associaes do mdulo, indicando a respectiva cardinalidade e participao.
Associaes
Cardinalidade
apresenta(fichaclinica, medicoes)
1:N
dispoe(medico, fichaclinica)
1:N
possui(paciente, fichaclinica)
1:1
enviaPac(paciente, medicoes)
1:N
enviaPub(paciente, medicoes)
1:N
tem(medico, paciente)
1:N
anota(medico, notas)
1:N
Tabela 4.1: Tabela de Associaes

4.1.4

Participaes
total/parcia
total/parcia
total/total
total/parcia
total/parcia
total/parcia
total/parcia

Modelos Relacional

A Tabela 4.2 determina o modo como cada registo de cada tabela se associa a registos de outras
tabelas.
fichaclinica

num_ficha

infoAdional

frequencia

data_ficha

estado

doenca

# id_medico

pessoa

id

password

data_nasc

id_civil

morada

nome

username

medicoes

num_med

data

hora

... d_uti ...

glicose

id_pac

# num_icha

notas

# num_nota

# id_medico

#num_ficha

paciente

# id

# id_medico #num_ficha
Tabela 4.2: Modelo Relacional

4.1 Implementao da Base de Dados e Aplicao Web

4.1.5

45

Descrio dos Mdulos do Sistema

Nesta seco descrevem-se vrios mdulos definidos para a arquitectura da aplicao Web.
Esses mdulos so: Login, Medicoes, Ficha Clnica e Perfil. Cada um desses mdulos mencionados iro ser descritas em conformidade com a seguinte estrutura:
Sero identificadas trs tipos de pginas por cores:
Azul: Listagens e Visualizaes
Verde: Formulrios
Laranja: Aces

Em cada pgina sero apresentadas trs nveis de informao:


1o Nivel Nome da pagina
2o NiveIndicao das tabelas e/ou vistas
3o Nive Restries de acesso a pagina

4.1.5.1

Mdulo Login

Trata da funcionalidade de autenticao e desautenticao no sistema. O ponto de partida do


diagrama a pgina paginaComPermissao, uma pgina qualquer acedida por um utilizador do
sistema com acesso mesma. Da, o utilizador tentar aceder a uma outra, paginaSeguinte,
qual ter, ou no, acesso. A interpretao deste diagrama deve ser independente do nvel de
permisso atribudo a esse mesmo utilizador.

Figura 4.2: Diagrama de Arquitectura do Mdulo Login

46

Implementao e Avaliao de Resultados

Pgina
Dados apresentados Parmetros recebidos
Login
usename, password
username, password
Aco login
username, password
Tabela 4.3: Tabela Descritiva do Mdulo LOGIN

4.1.5.2

Registo

Este o mdulo que d acesso aos utilizadores entrarem no sistema. Na primeira fase o
utilizador escolhe o tipo de utilizador, ou seja, pode ser um Paciente, Mdico ou uma pessoa que
no tem um mdico associado. Os pacientes s podem realizar o registo se tiverem um mdico
no sistema que j tenha criado uma ficha clnica para o efeito. Na segunda fase ento preenche
os dados solicitados e envia para ser validado. Depois de validados ento estes podem efectuar os
respectivos login.

Figura 4.3: Diagrama de Arquitectura do Mdulo Registo

4.1 Implementao da Base de Dados e Aplicao Web

Pgina
escolhertipo
registo

47

Parmetros recebidos
cod_adm
nome, password, username
morada, id_medico, num_ficha
telefone, id_civil
Tabela 4.4: Tabela Descritiva do Mdulo Registo

4.1.5.3

Dados apresentados
tipo

Mdulo Perfil

Trata das funcionalidades do perfil. Neste mdulo o utilizador pode ver os seu dados pessoais
e podem alterar alguns desses dados, isto porque existem dados que devido sua unicidade no
podem ser alterados.

Figura 4.4: Diagrama de Arquitectura do Mdulo Perfil

Pgina
verperfil

Dados apresentados Parmetros recebidos


nome, morada
id_pessoa
telefone,id_civil
editarperfil
nome, morada
id_pessoa
telefone,id_civil
Tabela 4.5: Tabela Descritiva do Mdulo perfil

48

Implementao e Avaliao de Resultados

4.1.5.4

Mdulo Ficha Clnica

Trata das funcionalidades associadas a Ficha Clnica. Neste mdulo os pacientes podem ver
todo o contedo descrito na ficha e podem ver alertas. Tambm os mdicos tem acesso a esses
parmetros e podem ver todas as fichas dos seus pacientes e tambm podem criar mais fichas
clnicas.

Figura 4.5: Diagrama de Arquitectura do Mdulo Ficha Clnica

Pgina
ListaFichaclinica

verAlertas

Dados apresentados
num_Ficha, data
info_adicional,doena
nome pessoa
medicoes
diagnostico

Parmetros recebidos
Um dos seguintes:
id_medico, idp_aciente

id_medico
idPaciente
id_utilizador
Tabela 4.6: Tabela Descritiva do Mdulo Ficha Clnica

4.1 Implementao da Base de Dados e Aplicao Web

4.1.5.5

49

Mdulo Medies

Trata das funcionalidades associadas ao tratamento de dados de Medies. Neste mdulo


pode-se enviar as medies, ver os histricos das mesmas e ainda ver as mdias das medies. Este
mdulo pode ser acedido pelos mdicos, pelos pacientes e utilizadores que no tenham mdicos
associados. Porm os mdicos no tem acesso funcionalidade enviar medies.

Figura 4.6: Diagrama de Arquitectura do Mdulo Medies

Pgina
historicomedicoes

Dados apresentados
Parmetros recebidos
num_med, tipo_medicoes
Um dos seguintes:
datal,hora
id_pessoa
enviarmedicoes
tipo_medicoes, num_ficha id_paciente, id_publico
verestatistica
tipo_medicoes, medias
id_pessoa
Tabela 4.7: Tabela Descritiva do Mdulo Medies

4.1.6

Definio de Vistas

Nesta seco estaro descritas algumas das vistas definidas para a base de dados desenvolvida.
Ser includo o seu cdigo SQL para melhor ilustrao.
listapacientes Pretende-se gerar uma vista que contm todos os pacientes com o respectivo
mdico associado.
CREATE VIEW listapaciente AS

50

Implementao e Avaliao de Resultados

SELECT pessoa.id, pessoa.nome, pessoa.data_nasc, pessoa.morada, pessoa.id_civil, pessoa.telefone, pessoa.password, pessoa.login, ficha_clinica.id_medico
FROM pessoa
JOIN paciente USING (id)
JOIN ficha_clinica ON ficha_clinica.id_paciente = paciente.id
ORDER BY paciente.id;
listamedicoes Pretende-se gerar uma vista que contm todas as medies enviadas pelos
pacientes.
CREATE VIEW listamedicoes AS
SELECT pessoa.id, pessoa.nome, medicoes.num_med, medicoes.imc AS peso, medicoes.temperatura,
medicoes.glicose, medicoes.colesterol, medicoes.pressao_arterial, medicoes.data, medicoes.hora,
medicoes.pressao_arterial2, medicoes.glicose2
FROM pessoa
JOIN paciente ON pessoa.id = paciente.id
JOIN medicoes ON medicoes.id_paciente = paciente.id
ORDER BY medicoes.num_med;

fichaclinica Pretende-se gerar uma vista que contm todas as fichas clinicas dos pacientes.
CREATE VIEW fichaclinica AS
SELECT ficha_clinica.num_ficha, ficha_clinica.data_ficha, ficha_clinica.id_paciente, ficha_clinica.doenca,
ficha_clinica.frequencia, ficha_clinica.info_adicional, pessoa.nome, ficha_clinica.id_medico,
ficha_clinica.estado
FROM pessoa
JOIN ficha_clinica ON ficha_clinica.id_medico = pessoa.id;

4.1.7

Decrio de pginas

Nesta seco descreve-se textualmente algumas das pginas apresentadas nos diagramas de
arquitectura. Em todas as pginas estaro disponveis caixas para autenticao no sistema e o
retorno pgina inicial assim como ligaes a outras pginas.
fichaClinica a pgina principal dos pacientes e o mdico tambm tem acesso a ela. Permite
ver informaes do paciente como o tipo de doena que este padece, o tipo de medies
que o mdico solicitou, as respectivas frequncias de medies e o nome do mdico e/ou
paciente consoante o utilizador, se for mdico ento este v o nome do paciente e viceversa. Esta pgina ainda permite ver o estado da ficha o seu nmero e data em que foi
gerada. Pode-se ver as alertas e notas no caso do mdico;
historicoMedicoes nesta pgina pode-se ver todas as medies realizadas pelo paciente e
as respectivas datas e horas associadas. Tanto o paciente como o medico deste podem a
visualizar;

4.2 Implementao da Aplicao Mvel

51

enviarMedicoes esta pgina contm sete tipos de medies e permite aos utilizadores com
permisses de acesso escolher o(s) tipo(s) de medio(es) a enviar. Os valores das medies so nmeros reais e para separar as casas decimais deve-se utilizar ponto . .
estatsticas esta pgina mostra as mdias das medies realizadas;
meuPerfil a pgina onde contm os dados pessoais dos utilizadores na qual estes podem
fazer as respectivas actualizaes dos dados;
listaPacientes esta a pgina principal dos mdicos e apresentar a lista de todos os seus
pacientes com os respectivos ID . Nesta pgina os mdicos podem visualizar as fichas dos
pacientes e visualizar os histricos de medies respectivos. Est pgina visualizada apenas pelo mdico em causa;
listaFichaclinica esta pgina contm a lista de todas as fichas clnicas criadas pelos mdicos, ou seja, tem tanto as fichas que esto activas como as que no esto. Tanto umas como
outras podem ser activadas ou desactivadas;
registarUtilizador esta pagina permite a entrada de todos os utilizadores do sistema. Apresenta um conjunto de dados e todas elas so de preenchimento obrigatrio.

4.2

Implementao da Aplicao Mvel

Nesta seco falaremos sobre o protocolo de comunicao TCP/IP e vamos mostrar os formatos das tramas enviadas do cliente para o servidor e vice-versa detalhando a forma como estas so
tratadas ao longo dos seus percursos. Sero ilustrados alguns exemplos deste procedimento. Sero
descritos aspectos da fase de implementao e instalao, designadamente a estrutura e dependncias de cdigo fonte e de mdulos executveis, diagramas de classes e componentes, assim como
a sua respectiva instalao nas diferentes plataformas computacionais subjacentes. Para tal iremos
necessitar das seguintes ferramentas :
Eclipse;
Java Runtime Environment ( JRE);
Ferramentas de Desenvolvimento Android (ADT);
Postgres JDBC Driver;
Android SKD.
Eclipse um IDE para programao Java; ADT (Ferramentas de Desenvolvimento Android)
ao contrrio, um plugin para Eclipse que ir alargar a sua funcionalidade e permitir uma integrao perfeita com as ferramentas necessrias para programar com Android. Finalmente temos

52

Implementao e Avaliao de Resultados

o emulador do Android, ou melhor, o SDK, que vai nos ajudar a testar nossas aplicaes directamente no nosso computador. Porm, para comear a desenvolver aplicaes com Android no
Eclipse, precisamos instalar um plug-in chamado Android Development Tools (ADT), que adiciona suporte integrado para projectos e ferramentas Android. Os procedimentos da instalao do
SDK esto ilustradas em anexo.

4.2.1

Viso geral

O sistema foi projectado como uma arquitectura Cliente - servidor, conforme esquematizado
na Figura 4.7 Os sinais vitais do paciente so medidos pelos Pacientes e enviados do dispositivo
mvel com a aplicao Android para ser guardados na base de dados e visualizados pelos responsveis de sade. A comunicao que ocorre entre o cliente e o servidor deve ser confivel. Ou
seja, nenhum dado pode ser descartado e deve chegar no lado do cliente na mesma ordem em que
o servidor enviou e vice-versa. Esta comunicao feita atravs do protocolo TCP/IP. O servidor
responsvel pela ligao base de dados e f-lo usando o Postgres JDBC Driver.

Figura 4.7: Arquitectura da Aplicao Mvel

4.2 Implementao da Aplicao Mvel

4.2.2

53

Protocolo Comunicao TCP/IP

TCP oferece um confivel canal de comunicao ponto - a - ponto em que aplicaes cliente
- servidor comunicam-se uns com os outros na Internet. Para se comunicarem atravs de TCP, o
programa cliente e o programa servidor estabelecem uma ligao um com o outro. Cada programa
liga um socket sua extremidade da ligao. O cliente e o servidor cada um l e grava para o
socket vinculado ligao.
Um socket um ponto final de um link de comunicao de duas vias entre dois programas em
execuo na rede. Classes Socket so usadas para representar a ligao entre um programa cliente
e um programa servidor. O pacote java.net fornece duas classes - Socket e ServerSocket - que
implementam o lado cliente da ligao e o lado servidor da ligao, respectivamente.
Normalmente, um servidor executado em um computador especfico e tem um soquete que
est vinculado a um nmero de porta especfico. O servidor apenas espera, ouvindo o socket para
um cliente para fazer uma solicitao de ligao.
No lado do cliente, o cliente sabe o nome da mquina na qual o servidor est em execuo
e o nmero da porta onde o servidor est escutando. Para fazer uma solicitao de ligao, o
cliente tenta encontrar o servidor na mquina do servidor e a porta. O cliente tambm precisa se
identificar para o servidor para que ele se ligue a um nmero de porta local que ir utilizar durante
esta ligao. Isso geralmente atribudo pelo sistema.
Aps a aceitao, o servidor recebe um novo socket ligado mesma porta local e tambm tem
o seu ponto de extremidade remoto definido como o endereo e a porta do cliente. Ele precisa
de um novo socket para que ele possa continuar a escutar o socket original para solicitaes de
ligao atendendo s necessidades do cliente ligado.

4.2.3

Formato das Tramas e seus tratamentos

A trama enviada pelo cliente um array de comprimento quatro em que a primeira posio
contm o ID da trama, as duas posies seguintes contm as Tag1 e Tag2 e a ltima posio
contm o Info. Info, uma String que uma Query para ser executada na base de dados. Enquanto
que a enviada pelo servidor tem comprimento trs, o ID, a Tag1 e o Info, uma String que o
resultado da Query ento executada na base de dados. Estas tramas esto ilustradas nas Tabelas
4.8 e 4.9, abaixo:
Tabela 4.8: Trama enviada pelo cliente
ID

Tag1

Tag2

Info

Tabela 4.9: Trama enviada pelo servidor


ID

Tag1

Info

Relativamente ao tratamento das tramas vamos mostrar dois exemplos, uma referente ao pedido de login e a outra sobre o envio de medies da parte de um paciente.

54

Implementao e Avaliao de Resultados

A trama enviada pelo cliente para o pedido de login tem esta informao no Info "select * from
pessoa where username="+textOut.getText().toString()+"and password ="+md5+"" e o formato que se segue:
Tabela 4.10: Trama enviada pelo cliente
0001

c.1

login

Info

Ao receber esta trama o Servidor verifica as duas tags e constata que se trata de um pedido
login. Este faz o respectivo pedido base de dados que lhe responde com uma das duas hipteses:
o resultado da query ou o erro da inexistncia dos dados na tabela pessoa. O servidor envia uma de
duas tramas ao cliente. A trama da Tabela 4.11 enviada se o username e a password estiverem
correctos.

Tabela 4.11: Trama enviada pelo servidor


0001

loginOK

Info

O cliente por sua vez verifica a tag1 e envia uma mensagem de erro de entrada ou permite a
entrada no sistema ao utilizador. Para o pedido de envio de medies efectuado pelo paciente a
primeira trama enviada ser para pedir o nmero de ficha clnica, uma vez que esta necessria
para insero de dados na tabela medies da base de dados. Nesta trama o servidor usa tanto a
Tabela 4.12: Trama enviada pelo cliente
0101

num_ficha

envioMed1

Info

tag1 como a tag2 para saber como questionar a base de dados. Nas sequncias seguintes as tramas
so tratadas de forma idntica forma como foi tratada no caso de pedido de login.

4.2 Implementao da Aplicao Mvel

4.2.4

55

Arquitectura Fisica

O diagrama de distribuio de componentes apresentado na figura 4.8 reflecte a configurao dos ns de processamento e os seus componentes. A ideia mostrar como foi delineada a
arquitectura do sistema de software na perspectiva dos seus componentes digitais, demonstrando
as suas dependncias, e ainda identificar quais os componentes que so instalados em cada n
computacional.
Pode-se observar que o Servidor necessita do Java Run Enviroment (JRE) de modo a ser
executado assim como o PostgreSQL JDBC Driver para ligao base de dados.

Figura 4.8: Diagrama de distribuio de componentes

56

Implementao e Avaliao de Resultados

4.2.5

Arquitectura Lgica

Para desenvolver o sistema recorremos linguagem de programao orientada a objectos


JAVA. Foram utilizadas algumas bibliotecas da distribuio da API do java e tambm bibliotecas Android. A Figura 4.9 ilustra as bibliotecas utilizadas, garantindo uma melhor compreenso.

Figura 4.9: Diagrama de dependncias dos pacotes de bibliotecas usados

4.3 Anlise dos Resultados Obtidos

4.3

57

Anlise dos Resultados Obtidos

Ao longo de todo o trabalho desenvolvido e apresentado neste documento, os resultados obtidos a partir da aplicao web, aplicao mvel e da base de dados permitiram atingir os objectivos
inicialmente propostos. Esta seco vai mostrar os resultados dos testes efectuados ao sistema no
seu todo.

4.3.1

Resultados da Base de Dados

Nesta seco vamos mostrar algumas das tabelas e vistas criadas na base de dados. A figura
4.10 mostra-nos o contedo da tabela pessoa.

Figura 4.10: Tabela pessoa da base de dados

A figura 4.11 mostra-nos o contedo da tabela ficha clnica.

Figura 4.11: Tabela ficha clnica da base de dados

58

Implementao e Avaliao de Resultados

A figura 4.12 mostra-nos o contedo da tabela medies.

Figura 4.12: Tabela medies da base de dados

A figura 4.13 mostra-nos o contedo da vista lista de pacientes.

Figura 4.13: Tabela da vista lista de pacientes da base de dados

4.3 Anlise dos Resultados Obtidos

4.3.2

59

Resultados da aplicao Web

Para iniciar qualquer actividade neste sistema necessrio estar inscrito no mesmo. As interfaces que se seguem vo retratar esta etapa de registo que tem como ponto de partida a interface
inicial da aplicao, ilustrada na Figura 4.14 . Nesta pgina encontram-se opes de registo de
novos utilizadores e de entrada na aplicao.

Figura 4.14: Interface Inicial

Carregando sobre registar, o utilizador escolher o tipo (paciente, mdico ou pblico) como
mostra a Figura 4.15

Figura 4.15: Interface para Escolher Tipo de utilizador

60

Implementao e Avaliao de Resultados

De seguida mostra-se as interfaces de registo dos trs utilizadores, comeando pela do mdico que para fazer o registo precisa de um cdigo fornecido pela administrao. Este cdigo
utilizado na interface anterior ao do registo que poder ser vista na figura em anexo. Aps essa
validao, ento este poder realizar o respectivo registo preenchendo o formulrio apresentado
na Figura 4.16. Esta interface tambm usada pelo pblico para realizar o respectivo registo que
depois de realizado ter de ser validado pelo administrador.

Figura 4.16: Interface de Registo para Mdico e Pblico

Quanto ao Paciente necessrio que o mdico lhe fornea o seu nmero de ficha clnica e o
nmero do prprio mdico, para que possa realizar o registo como mostra a Figura 4.17

Figura 4.17: Interface de Registo para Paciente

4.3 Anlise dos Resultados Obtidos

61

Concludo o processo de registo e a respectiva validao, mostraremos agora as interfaces


principais para cada um dos utilizadores comeando pela do Mdico que a lista dos pacientes representada na Figura 4.18. Nesta pgina o mdico ter a lista de todos os seus pacientes, podendo
consultar as fichas clnicas dos pacientes e ainda monitorar os dados biomtricos ento enviados.
Ainda nesta pgina h links para outras interfaces como perfil e listas de fichas clnicas activas e
inactivas.

Figura 4.18: Interface Principal do Mdico

A interface principal dos pacientes o da ficha clnica como podemos ver na Figura 4.19.
Nesta pgina o paciente pode ver o seu processo clnico delineado pelo mdico, consultar alertas
e os valores das medies. Ainda h links para outras interfaces.

Figura 4.19: Interface Principal do Paciente

A interface principal do pblico o histrico das medies, que uma interface similar

62

Implementao e Avaliao de Resultados

interface vista pelo paciente e pelo mdico relativo ao histrico medies ilustrada na Figura 4.20.
As demais interfaces referentes ao utilizador pblico encontram-se em anexo.

Figura 4.20: Interface histrico medies

Para a aplicao Web mostraremos a ltima interface que o de alertas como se pode ver na
Figura 4.21. As restantes interfaces podem ser vistas em anexo. Esta pgina d aos utilizadores
um diagnstico relativo s ltimas medies, para que estes possam tomar as respectivas medidas
de acordo com o seu estado actual.

Figura 4.21: Interface de Alertas

4.3 Anlise dos Resultados Obtidos

4.3.3

63

Resultados e Anlise da aplicao Mvel

Foram realizados testes em telemveis com SO Android verso 2.2 e funcionou perfeitamente.
No entanto as imagens apresentados so dos testes realizados no emulador do SDK. de se salientar que apesar de no termos realizado mais testes em telemveis com verses do SO Android
superior ao 2.2 esta aplicao deve funcionar nestes dispositivos. Em verses inferiores no
garantido que estas funcionem, entretanto.
A aplicao mvel apresenta a interface inicial, ilustrada na Figura 4.22. A imagem da Figura 4.23 mostra-nos o resultado dos testes quando o utilizador introduz valores invlidos do
username e/ou da password.

Figura 4.22: Interface Inicial

Figura 4.23: Interface erro login

As interfaces principais do paciente e mdico so apresentados nas Figuras 4.24 e 4.25,


respectivamente. Quanto do pblico igual do paciente com a excepo do boto que d
acesso ficha clnica. De resto as interfaces so iguais.

64

Implementao e Avaliao de Resultados

O paciente e o pblico, a partir da interface principal, tm acesso s seguintes funcionalidades:


enviar medies, histrico medies, estatsticas, alertas e perfil. O paciente ainda ter acesso
sua ficha clnica. O mdico poder ver o seu perfil e lista dos pacientes. Apresentaremos as
interfaces de enviar medies e as suas nuances, o histrico de medies e as alertas, enquanto as
outras podero ser vistas em anexo.

Figura 4.24: GUI Principal Paciente

Figura 4.25: GUI Principal Mdico

O envio das medies uma das principais funcionalidades da aplicao. A interface foi feita
da forma mais intuitiva possvel, fornecendo as informaes necessrias para realizao da mesma.
A Figura 4.26 mostra o caso em que o utilizador introduz dados incorrectos para o envio. Sempre
que tal acontece o campo com valores incorrectos ficam com a cor vermelha e mostrada uma
mensagem sinalizando o respectivo erro. No havendo erros, ento solicitada ao utilizador uma
confirmao dos valores introduzidos numa outra interface como mostra a Figura 4.27. Em anexo
encontram-se mais imagens relativas ao teste de envio de medies.
O utilizador pode ver o histrico de medies dos diferentes tipos de medies separadamente,
ou seja poder ver s as medies relativas a Tenso Arterial ou IMC, etc. A interface apresenta
os valores e as respectivas datas e horas, conforme mostra a Figura 4.28

4.3 Anlise dos Resultados Obtidos

Figura 4.26: Visualizao do


erro no envio de medies

65

Figura 4.27: GUI de Confirmao dos valores a enviar

Figura 4.28: GUI histrico


medies Presso Arterial

Assim como o histrico de medies, as visualizaes dos alertas esto individualizadas para
os diferentes tipos de medies. Foram definidos sistemas de cores para melhor sinalizar os diferentes estados em que as medies podem estar. A cor verde para os valores de medies que
se encontram num nvel Bom, a cor laranja para valores que estejam num nvel entre os limites
inferior do Bom e os limites superior do Mau e a cor e vermelha para valores que estejam num
nvel Mau. Essas sinalizaes podem ser vistas nas Figuras 4.29, 4.30 e 4.31.

Figura 4.29: GUI Alertas Colesterol

Figura 4.30:
IMC

GUI Alertas

Figura 4.31:
Temperatural

GUI Alertas

66

Implementao e Avaliao de Resultados

O Mdico poder visualizar a lista de todos os seus pacientes como mostram as Figuras 4.32 e
4.33 e ter acesso ao histrico de medies, cuja interface similar apresentado na Figura 4.28.

Figura 4.32: GUI Lista Paciente

4.4

Figura 4.33: GUI Lista Paciente

Sumrio

Neste captulo foi descrito todo o processo da implementao das duas aplicaes e da base
de dados . Tambm foi apresentado um conjunto de interfaces resultante da implementao, realando o bom funcionamento do sistema.

Captulo 5

Concluses

Neste captulo vai se fazer a sntese do trabalho elaborado neste documento, assim como das
concluses. So tambm apresentadas perspectivas de desenvolvimento futuro para este projecto.

5.1

Sntese do Trabalho Desenvolvido

O uso da inovao tecnolgica na medicina vem se tornando cada vez mais de extrema importncia nos avanos cientficos da mesma. Essa inovao traz a capacidade de mdicos exercerem
cirurgias, exames, consultas, diagnsticos, monitorizao de uma forma diferente e todos ns beneficiamos com isso.
O futuro da tecnologia mdica, a julgar por seu progresso acelerado nos ltimos anos, nos
faz prever que a cada dia iro surgir novos equipamentos, novos aparelhos e novos recursos de
diagnsticos e teraputicos. O importante saber quando utiliz-los e ter uma noo clara das suas
indicaes, suas limitaes, seus riscos e da relao custo - benefcio em cada caso em particular.
Nem todos tm o poder financeiro para adquirir certos equipamentos, fazendo com que muitos
pases ou cidades ainda estejam muito atrs nessa corrida tecnolgica, no podendo beneficiar das
inovaes. Isso faz com que ns, estudantes de tecnologia em geral, possamos desenvolver vrias
ferramentas ainda no existentes em nosso mundo, podendo beneficiar milhares de pessoas a
baixo custo. Este projecto foi realizado com este propsito, trazer uma melhoria para rea mdica
na perspectiva do utente.
Este trabalho foi desenvolvido por etapas, em que a primeira foi realizar estudos sobre os paradigmas que o sistema solicitava para melhor percepo das suas caractersticas. Na segunda etapa
foram definidos e analisados os requisitos exigveis a uma plataforma deste tipo, impondo algumas restries e limitaes para o sistema. Em seguida efectuamos a implementao do prottipo,
comprovando-se que seu uso uma mais valia para as pessoas com necessidade de controlar os
seus dados vitais com ou sem acompanhamento mdico, como os doentes crnicos.
67

68

Concluses

Para desenvolver um sistema de monitorizao dos dados vitais de pacientes necessrio


ter em considerao diversos aspectos: fiabilidade, custo, segurana e usabilidade. Durante a
elaborao deste projecto todos esses aspectos foram tidos em considerao. No entanto, o aspecto
mais importante foi manter o baixo custo do prottipo. A segurana foi tida em conta aquando da
anlise de requisitos, mas no foi explorada na prtica durante a implementao da aplicao Web.
De um modo geral, os objectivos para a elaborao deste trabalho foram cumpridos. O sistema
mantm a sua abordagem baixo custo e possvel monitorizar dados vitais do paciente atravs das
aplicaes mvel e Web. O sistema apresenta uma interface grfica para envio e visualizao
de dados de forma simples e intuitiva. No entanto houve algumas funcionalidades em relao
a alertas que no foram implementadas e que sero sugeridas como melhorias do sistema em
trabalhos futuros.

5.2

Trabalhos Futuros

O objectivo do trabalho apresentado foi essencialmente atingido. Constata-se, todavia, que


existe ainda trabalho a desenvolver. Sendo um sistema de monitorizao algo complexo, existe
ainda muito a fazer para transforar este sistema, num sistema com maior fiabilidade e melhor
usabilidade. Considera-se que o sistema poder ficar mais completo com a introduo de outras
funcionalidades como marcao de consultas e o seu respectivo atendimento da parte do mdico,
tudo apartir da aplicao Web.
As questes de segurana so uma preocupao constante quando se trata de dados sensiveis
como o caso neste sistema. Tornar o sistema mais seguro com encriptao dos dados enviados
deve ser uma evoluo a ter em conta.
Uma melhoria a ter em conta tambm o modo de funcionamento do sistema de alerta. Um
modo de avisar tanto o mdico como o paciente, atravs de SMS quando o paciente demorar tempo
excessivo sem enviar medies para base de dados algo a se implementar.
Tambm melhorar o sistema de apoio s pessoas sem acompanhamento mdico, em casos em
que os valores de medies estejam com variaes segnificativas, avisandoa-as de riscos eminentes.
Uma outra melhoria importante desenvolver uma funcionalidade em que haver uma interligao de dados entre as instituies de sade e as farmcias, de forma a que os pacientes possam
adquirir os seus medicamentos com base na receita passada pelo mdico. Os farmacuticos tero
acesso a essas receitas de modo a poderem confirmar a sua veracidade. Trata-se, portanto, de um
sistema com elevado potencial e um grande nmero de extenes possveis, no obstante deixando
de mencionar a sua importncia social na rea da sade.

Anexo A

Interfaces e Procedimentos de
Instalao
A.1

Procedimentos da instalao do SDK

Sistemas Operativo : Windows 7


Ambientes de Desenvolvimento: Eclipse IDE
Aps o download do SDK, descompactou-se o arquivo .zip em uma pasta apropriada . Por padro, os arquivos do SDK so descompactados numa pasta nomeada android_sdk_<platform><release><build>.
O directrio contm os subdirectrios tools.
Na Propriedades do Meu Computador, no friso Avanado, adicionou-se o caminho completo
para o directrio tools/. em Variveis de Ambiente, e no Path em Variveis do Sistema.
Agora para comear a desenvolver aplicaes com Android no Eclipse, precisamos instalar o
ADT, que adiciona suporte integrado para projectos e ferramentas Android.
1. Iniciou o Eclipse, Help > Software Updates > Find and Install..
2. Search for new features to install > Next.
3. New Remote Site.
4. nome para o site remoto (Ex.: Android Plugin) e informe a seguinte URL:
5. OK.
6. ver o novo site adicionado e seleccionado na lista de busca. > Finish.
7. O plugin ADT no assinado, mas aceita-se a instalao > Install All.
8. Reiniciou o Eclipse.
9. Depois de reiniciar, actualizou-se as preferncias do Eclipse para apontar para o directrio
do SDK:
69

70

Interfaces e Procedimentos de Instalao

Window > Preferences > Android


Localize o directrio do SDK >SDK Location.
Apply > OK.

A.2

Interfaces Adicionais

Aqui vo estar as restantes interfaces da aplicao Web e da aplicao mvel


.

Figura A.1: Interface perfil do Mdico

Figura A.2: Interface da ficha clinica de um paciente vista pelo medico Mdico

A.2 Interfaces Adicionais

Figura A.3: Interface de alerta vista pelo mdico

Figura A.4: Interface das listas de ficha clinica de um mdico

71

72

Interfaces e Procedimentos de Instalao

Figura A.5: Interface da mdia das medies

Figura A.6: Interface do historico medies


do imc

Figura A.7: Interface de confirmao


de envio

Figura A.8: Interface de envio de medies

A.2 Interfaces Adicionais

73

Figura A.9: Interface da ficha clinica


de um paciente

Figura A.10: Interface perfil do paciente

Figura A.11: Interface principal do publico

Figura A.12: Interface de alerta presso arterial

74

Interfaces e Procedimentos de Instalao

Referncias
[1] Mark Weiser. The computer for the 21st century. 1991.
[2] Daniele Dutra; Mrcia Abech. Infra-estrutura de sistemas ubquos. 2008.
[3] Guruduth Banavar; Abraham Bernstein. Software infrastructure and design challenges for
ubiquitous computing applications. 2002.
[4] M. Weiser Russell, D. M. The future of integrated design of ubiquitous computing in combined real e virtual worlds. 1998.
[5] Jochen Schiller. Mobile communications. Pearson Education Limited, Second edio, 2003.
[6] http://pt.wikipedia.org/wiki/Wifi, acedido a ltima vez em 28 de Junho de
2011.
[7] http://pt.wikipedia.org/wiki/Bluetooth, acedido a ltima vez em 28 de Junho
de 2011.
[8] Thomas Erl. SOA Principles of Service Design. Pearson Education, 2008.
[9] Rodolpho Ugolini Neto. Arquitectura orientada a servios soa infra-estrutura para a inovao. 2006.
[10] M. MARKS, E. A. ; BELL. Service-oriented architecture: a planning and implementation
guide for business and techonology. 2007.
[11] N. M. JOSUTTIS. Soa in practice: The art of distributed system design. 2007.
[12] S. CARTER. The new language of business: Soa e web. 2007.
[13] P Elfatatry, A. ; Layzell. Negotiating in service-oriented environments. 2004.
[14] Paulo Roberto Ferreira Jnior. Coordenao de sistemas multiagentes actuando em cenrios
complexos. 2008.
[15] Andr Torre Neto. Redes de sensores sem fio e computao ubqua na agropecuria. 2000.
[16] Paramvir Bahl ; Venkata N. Padmanabhan. Enhancements to the radar user location and
tracking system. 2000.
[17] Tatsuo Nakajima; Kaori Fujinami; Eiji Tokunaga; Hiroo Ishikawa. Middleware design issues
for ubiquitous computing. 2004.
[18] P. ; Guizzardi G. ; Ferreira Pires L. ; Goncalves Filho J. Rios, D. ; Dockhorn Costa. Using
ontologies for modeling context-aware services platforms. 2003.
75

76

REFERNCIAS

[19] M.; Lafuente Salvador, Z.; Larrea. Smart environment application architecture, a. pervasive
computing technologies for healthcare. 2008.
[20] Jezer Machado de Oliveira; Solon Rabello; Jorge Luis Victria Barbosa. um modelo multiagente descentralizado para ambientes de educao ubqua. 2006.
[21] Dong Wang; Xiu5Feng Wang. Multi-agent based architecture of context-aware systems.
2007.
[22] W.H.; Salcic Z.; DeSouza N.; Ramkumar S. Wang, K.I.5K.; Abdulla. Multiagent control
system with mobile ubiquitous platform for ambient intelligence intelligent environments.
2008.
[23] Alexandra Marinelli. Espaos arquitetnicos e virtuais dos servios de sade suportados pela
telemtica. pginas 6263, Fevereiro 2006.
[24] N. Dulay; E. Lupu; A. Schaeffer Filho; S. Keoh; M. Sloman; K. Twidle; J.Sventek; S.
Heeps; S. Strowes. Amuse: Autonomic management of ubiquitous e-health systems, journal
article concurrency and computation: Practice and experience wiley doi. 2007.
[25] Douglas Faria Moreira Mareli. Sistema de computao pervasiva para tele-sade.
[26] Alessandro Copetti; O. Loques ; J.C.B. Leite. Intelligent context-aware monitoring in home
care. 2008.
[27] Intersystems do brasil: healthshare.
[28] Einstein Lubrin; Elaine Lawrence; Karla Felix Navarro. Wireless remote healthcare monitoring with motes. 2005.
[29] http://pt.wikipedia.org/wiki/Doena_crnica, acedido a ltima vez em 28 de
Junho de 2011.
[30] http://pt.wikipedia.org/wiki/Diabetes, acedido a ltima vez em 28 de Junho
de 2011.
[31] http://pt.wikipedia.org/wiki/ndice_de_massa_corporal, acedido a ltima vez em 28 de Junho de 2011.
[32] http://pt.wikipedia.org/wiki/Glicose, acedido a ltima vez em 28 de Junho de
2011.
[33] http://pt.wikipedia.org/wiki/Febre, acedido a ltima vez em 28 de Junho de
2011.
[34] http://pt.wikipedia.org/wiki/Hipertensao_arterial, acedido a ltima vez
em 28 de Junho de 2011.
[35] http://http://pt.wikipedia.org/wiki/Android, acedido a ltima vez em 28 de
Junho de 2011.
[36] Elder Elisandro Schemberger; Ivonei Freitas; Ramiro Vani. Plataforma android. 2009.
[37] Zhihui Yang; Wayne Zage; Dolores Zage. Plataforma eclipse de desenvolvimento e integrao.

REFERNCIAS

77

[38] Leandro Daflon. Introduo plataforma eclipse.


[39] http://pt.kioskea.net/contents/bdd/bddtypes.php3, acedido a ltima vez
em 28 de Junho de 2011.
[40] Open database connectivity - odbc. http://www.anaesthetist.com/mnm/sql/
odbc.htm, acedido a ltima vez em 28 de Junho de 2011.
[41] Professor Esmael H. F. Santos. Interface com banco de dados java data base connectivity jdbc. Abril 2005.

Das könnte Ihnen auch gefallen