ETEC IRMÃ AGOSTINA Alexandre Del Picolo – R.A: 112141...

63
ETEC IRMÃ AGOSTINA Alexandre Del Picolo – R.A: 112141 Gabriela Khazrik Ferreira – R.A: 112124 Raphael Lins – R.A: 112133 Vitor Celestino – R.A: 112142 DROIDMED São Paulo 2012

Transcript of ETEC IRMÃ AGOSTINA Alexandre Del Picolo – R.A: 112141...

   

ETEC IRMÃ AGOSTINA Alexandre Del Picolo – R.A: 112141

Gabriela Khazrik Ferreira – R.A: 112124 Raphael Lins – R.A: 112133

Vitor Celestino – R.A: 112142

DROIDMED

São Paulo 2012

   

ETEC IRMÃ AGOSTINA Alexandre Del Picolo – R.A: 112141

Gabriela Khazrik Ferreira – R.A: 112124 Raphael Lins – R.A: 112133

Vitor Celestino – R.A: 112142

DROIDMED

Trabalho de conclusão de curso sobre desenvolvimento

de software médico para o sistema Android do curso de Informática da ETEC Irmã Agostina, com a orientação

do professor Luiz Fernando Rocha.

São Paulo 2012

   

Etec Irmã Agostina

Alexandre Del Picolo – R.A: 112141

Gabriela Khazrik Ferreira – R.A: 112124

Raphael Lins – R.A: 112133

Vitor Celestino – R.A: 112142

DROIDMED

Objetivo: Marcação de consultas médicas pelo próprio paciente a partir de um sistema

móvel e automatizado.

ETEC IRMÃ AGOSTINA

Curso de Informática 3ºG

Data de aprovação: ___ de _________ de 20___

Professor: _______________________

Professor: _______________________

Professor: _______________________

   

Dedicatória

Dedicamos nosso TCC a turmas futuras

de informática, para que seja levado como

exemplo de forma positiva e esperançosa!

   

Agradecimentos

Agradecemos aos nossos familiares e as pessoas mais próximas, que nos ajudaram e

apoiaram de uma forma ou de outra para que nosso trabalho pudesse ser feito. E a todos

aqueles que estiveram envolvidos direta ou indiretamente no desenvolvimento do nosso TCC,

especialmente aos nossos professores, que passaram seus conhecimentos tanto acadêmicos

quanto de vida de modo que conseguíssemos levar adiante em qualquer situação.

 

Sumário Lista de Figuras  .......................................................................................................................................  1  

Resumo  ...................................................................................................................................................  3  

Abstract  ...................................................................................................................................................  4  

Introdução  ...............................................................................................................................................  5  

Capitulo I - Sociedade  .............................................................................................................................  6  

Capitulo II - Estrutura Atual do Negocio  ................................................................................................  7  

Capitulo III – Escopo  ..............................................................................................................................  9  

UML  .....................................................................................................................................................  11  

Diagrama de Caso de Uso  .....................................................................................................................  12  

Documentação Caso de Uso  .................................................................................................................  13  

Diagrama de Classes  .............................................................................................................................  19  

Capitulo IV - Desenvolvimento  ............................................................................................................  20  

Modelo Entidade Relacionamento – MER  ............................................................................................  22  

Dicionário de dados  ................................................................................................................................  0  

Plataforma  .............................................................................................................................................  23  

Linguagens:  ...........................................................................................................................................  25  

Mapa do Sistema  ...................................................................................................................................  30  

Capitulo V – Testes  ...............................................................................................................................  31  

Capitulo VI – Cronograma e Custos  .....................................................................................................  34  

Referências  ............................................................................................................................................  35  

Tela de Login  ........................................................................................................................................  13  

Acessar a conta  .................................................................................................................................  14  

Esqueceu sua senha  ...............................................................................................................................  15  

Cadastrar  ...........................................................................................................................................  17  

Tela de Cadastro  ...................................................................................................................................  18  

Marcar a Consulta  .................................................................................................................................  19  

Alterar Cadastro  ................................................................................................................................  20  

1    

Lista de Figuras

   

Figura 1 - Pesquisa realizada com 50 pacientes

 

Figura 2 – Pesquisa realizada com 50 pacientes

39

11

Você tem acesso à internet?

Sim  

Não  

9

27

14

Conhecimento  avançado   Conhecimento  moderado   Não  possui  conhecimento  

2    

Figura 3 - Pesquisa realizada com 50 pacientes  

 

 

29

12 9

0

5

10

15

20

25

30

35

Sim, seria mais útil

Não, prefiro o método antigo

(ligação)

Indiferente

Indiferente

Não

Sim

3    

Resumo

Nosso trabalho de conclusão de curso, tem como principal objetivo aperfeiçoar o

método de marcação de consultas médicas online. Atualmente, o Brasil vive problemas na

área da saúde que são pouco visados. Com isso, pudemos perceber a partir de pesquisas de

campo realizadas pelo grupo, que pouco a pouco a área particular vem ganhando espaço no

mercado, se comparada com área privada.

Isso se deve ao fato de que os convênios médicos vêm interferindo no modo de lidar

com o público. Eles perceberam que com essa atitude, podiam garantir melhores clientes,

melhores consultas, gerando assim um país com pouca taxa de problemas relacionados à

marcação de consultas online.

4    

Abstract

5    

Introdução

Atualmente enfrentamos alguns problemas na hora de marcarmos uma consulta

médica: demora no atendimento telefônico, atraso das consultas, e principalmente

incompatibilidade de horário entre a agenda do médico e do paciente.

A partir da pesquisa de campo realizada pelos integrantes do grupo, pudemos perceber

o quão útil seria desenvolver um software que atendesse algum destes problemas.

6    

Capitulo I - Sociedade

Avaliando os atuais problemas apontados na pesquisa de campo efetuada com

público alvo do sistema de agendamento de consultas médicas por celular e internet,

observamos a insatisfação dos usuários quanto à demora no atendimento e agendamento.

Além disso, os pacientes reclamam do agendamento em datas muito distantes ou com

médicos que não são de sua preferência.

O objetivo deste projeto consiste em facilitar a marcação de consultas médicas pelo

próprio paciente a partir de um sistema móvel e automatizado, ou seja, não é necessário ter

contato direto com recepcionistas para a efetuação do processo.

O ideal seria a automatização do sistema manual, integrando e ajudando o médico

por agenda online, no gerenciamento do seu tempo em questão do número de pessoas

agendadas. Com esse sistema a marcação da consulta não depende de uma pessoa, ou seja,

o próprio usuário tem acesso ao software e o mesmo pode realizar o processo.

Portanto, notamos que o agendamento por celular seria uma maneira mais eficiente

e abrangente para aperfeiçoar o atendimento do paciente e melhorar o gerenciamento deste

sistema antigo que necessita de ligação.

Contudo, devemos ser cuidadosos quanto ao conhecimento da sociedade atual para

com a informatização de alguns sistemas. Ou seja, a população que utiliza o agendamento

de consultas por telefone em sua maioria é idosa, sendo assim, o sistema deve ser

construído a partir de uma linguagem de fácil entendimento.

Todavia, não é objeto de estudo solucionar todos os problemas relacionados ao

atendimento clínico e sim melhorar a situação de quem tem acesso à internet e a este tipo

de tecnologia, aumentando a satisfação e a qualidade do atendimento.

7    

Capitulo II - Estrutura Atual do Negocio

Conforme as pesquisas de campo realizadas pelo grupo, constatamos que o maior

problema na marcação de consultas médicas atualmente no Brasil, é justamente a falta de

compreensão dos convênios médicos com quem os utiliza. Segundo Dr. João Carlos

Regado, presidente da Golden Cross (Empresa pioneira na área de saúde) “Das 1,3 mil

operadoras de saúde no Brasil, menos de 100 continuarão a existir”.

A situação atual do setor de saúde no Brasil foi assunto do debate político ocorrido

no dia 17/10/2012. Os candidatos propuseram suas ideias, deixando clara a preocupação da

população em relação aos problemas enfrentados por todos nós, consumidores diretos do

serviço público e privado.

0  

10  

20  

30  

40  

50  

60  

Remarcação de Consulta;

Super lotação da Agenda médica;

Não fazer contato com à Clínica de

preferência;

Outros problemas.

P e

s

s o

a

s

P r o b l e m a s

Problemas relatados por Usuários

8    

A faixa etária das pessoas que utilizam o atual serviço de saúde tem em sua maioria

pessoas de 36 a 50 anos, logo em seguida, pessoas de 25 a 35 anos. Percebe-se que o

software seria útil, pois pessoas com essas faixas de idade, geralmente são adaptadas as

novas tecnologias.

0  

2  

4  

6  

8  

10  

12  

14  

16  

18    -­‐  24   25  -­‐  35   36  -­‐  50   50  -­‐  80  

P    e      s      s      o      a      s  

M    é    d    i    a                I    d    a    d    e      

Faixa  etária  das  pessoas  que  u4lizam  o  atual  serviço  de  saúde  

9    

Capitulo III – Escopo

Requisitos:

1. Requisitos de interface:

• Interface gráfica de fácil utilização para entrada de dados;

• Deverá mostrar mensagem de erros em casos de inconsistência dos dados de entrada

(tal como digitar alfabetos no campo onde deveria ser número, por exemplo).

• Procedimento de backup automático.

• Senha de acesso ao sistema. Deverão ter senhas diferentes para cada usuário tenha

acesso restrito a certas informações.

2. Requisitos funcionais:

• Interface gráfica para entrada de dados.

• Entrada para cadastro de cliente (nome, endereço, e-mail, data de nascimento,

Telefone/Celular, Clinica e Convênio ao qual está vinculado).

• Consultas e cancelamento de consultas através do aplicativo ou web.

• Controle de Data e Hora das consultas por parte da clinica.

• Preço da consulta disponível para o usuário caso necessário.

• Emissão de relatórios sobre número de consultas feitas no dia, semana ou mês.

• Pesquisa dos pacientes no banco de dados segundo alguns tipos de critérios

(frequência, especialidade, data, hora, preferência por médicos, preferência de clinicas,

faixa etária, procedência, etc).

• Gerar relatórios estatísticos (sobre o clinica ou convênio).

• Serviços de mala direta (podendo selecionar os pacientes ou médicos e enviar

mensagens via e-mail ou sms).

10    

• E-mail disponível para sugestões sobre o aplicativo.

3. Requisitos não funcionais:

• A base de dados deve ser protegida para acesso apenas de usuários autorizados.

• O tempo de resposta do sistema não deve ultrapassar 30 segundos.

• Utilização da linguagem JAVA.

• Portabilidade para novos hardwares e sistemas operacionais.

4. Requisitos de desenvolvimento e manutenção:

• O prazo de desenvolvimento não deve ultrapassar 6 meses.

• Após o desenvolvimento, o sistema deverá ser colocado em operação por 3 meses

antes de se iniciar o desenvolvimento de outras funcionalidades.

• Após os 3 meses de funcionamento, o produto deverá ser reavaliado para inserir

melhorias, corrigir falhas do sistema e implementar as novas funcionalidades(caso

necessário).

• O prazo estimado para implementação desta segunda fase é de 6 meses.

• Após o desenvolvimento da segunda fase, o sistema deverá ser colocado em operação

e terá 3 meses para corrigir eventuais falhas.

• Garantia: o desenvolvedor do produto deverá dar suporte gratuito durante 6 meses

após a entrega do produto para casos de mau funcionamento do sistema.

• Deverá fornecer treinamento para funcionários o utilizarem.

• Deverá fornecer o manual de usuário do produto e de manutenção.

6. Método Utilizado para Extração de Requisitos:

O método empregado para extração de requisitos foi à entrevista. Foram

entrevistadas algumas pessoas que apresentavam queixas sobre o método atual de

agendamento de consulta conforme apresentado no Capitulo II.

11    

UML  

UML não é um método. Ela não possui um fluxo de trabalho para orientar o

engenheiro de software, ela possui somente a definição dos diagramas recomendados. O

método associado é denominado Rational Unified Process.

Rational Unified Process fornecendo técnicas a serem seguidas pelos membros da

equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade no

processo de desenvolvimento.

Principais diagramas utilizados pela UML são: Diagrama de Casos de Uso, Diagrama

de Classes, Diagrama de Seqüência, Diagrama Transição de Estados, Diagrama de

Atividades, Diagrama de Componentes. (UERJ –CTC/IME –Engenharia de Software 09-1,

Prof. A Padua Oliveira)

A Linguagem Unificada de Modelagem possui diagramas (representações gráficas do

modelo parcial de um sistema) que são usados em combinação, com a finalidade de obter

todas as visões e aspectos do sistema. (Wikipédia, dezembro de 2009)

Os diagramas que serão usados para desenvolver nosso software serão:

Diagrama de Caso de Uso e Diagrama de Classes.

12    

Diagrama de Caso de Uso

O diagrama de casos de uso fornece um modo de descrever a visão externa do sistema

e suas interações com o mundo exterior, representando uma visão de alto nível da

funcionalidade do sistema mediante uma requisição do usuário.

13    

Documentação Caso de Uso

Identificação Requisito: 1 Nome do Caso de Uso: Manter Paciente Aluno Responsável: Alexandre Del Picolo Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Clinica e Paciente. Ator Secundário: Médico Resumo: Este caso de uso descreve os passos necessários

para o cadastro dos pacientes. Pré-condições: - Pós-condições: Manter Pacientes e Consulta. Ações do Ator: 1º Cadastro do Paciente: O usuário irá clicar no botão “Cadastre-se”. 2º Preencher Campos da Tela Cadastro: O usuário Preencherá todos os campos disponíveis com informações corretas e irá clicar no botão “Cadastrar”.

Ações do Sistema: 1º O sistema irá preparar os formulários de cadastro com todas as informações básicas e necessárias. 2º O sistema irá ler todos os dados inseridos nos campos correspondentes e gravar no banco de dados para ser carregado no site do aplicativo. 3º O sistema apresentara uma mensagem de “Cadastro Efetuado com sucesso” e o usuário será redirecionado automaticamente para a tela de login, caso não preencha algum campo corretamente ou deixe de preencher será apresentado uma mensagem “Erro ao efetuar o cadastro. Verifique se os campos foram digitados corretamente.”.

14    

Identificação Requisito: 2 Nome do Caso de Uso: Marcar Consulta Aluno Responsável: Raphael Lins Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Paciente Ator Secundário: Clinica e Médico Resumo: Este caso de uso descreve os passos necessários

para o paciente agendar a consulta. Pré-condições: Manter Paciente Pós-condições: Confirmação Ações do Ator: 1º Acesso ao usuário: Preencher os campos “Login”, “Senha” e clicar no botão “Login”. 2º Marcar Consulta: Especificar dados relacionados à consulta no layout do software: Clinica, especialidade, Médico, Data, Hora e por fim clicar no botão “Marcar Consulta”.

Ações do Sistema: 1º Após a splashscreen e a mensagem de boas vindas à tela de Login será carregada para a inserção de dados do usuário. O software irá verificar se o usuário e senha digitados correspondem ao que existe no banco de dados, caso correto, a tela de login será carregada, caso não, será apresentada uma mensagem de erro e os campos serão limpos para nova inserção. 2º Os dados inseridos pelo usuário serão enviados para o banco de dados da clinica ficando disponível para consulta e alteração em seu site DroidMed.

15    

Identificação Requisito: 3 Nome do Caso de Uso: Gerar Agenda Médico Aluno Responsável: Raphael Lins Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Clinica Ator Secundário: Médico Resumo: Este caso de uso descreve os passos necessários

para a geração da agenda do médico. Pré-condições: Agendar Consulta. Pós-condições: Confirmar Consulta. Ações do Ator: 1º Acesso Desktop: O administrador do desktop DroidMed terá acesso a todos os dados da clinica através do site após ter logado. 2º Gerenciar dados: O administrador do site terá acesso irrestrito a todos os dados respectivos da clinica, como por exemplo: Dados dos usuários, médicos, agenda médica e consultas agendadas através de abas no site. 3º Manter Cadastros e Consultas: O administrador pode cadastrar alterar ou excluir algum paciente ou médico do banco de dados da clinica e fazer o mesmo com consultas através dos botões: Cadastrar paciente, cadastrar médico, criar nova consulta, excluir paciente, excluir médico, excluir consulta.

Ações do sistema: 1º Os dados inseridos nos campos de login serão lidos pelo programa, consultados no banco de dados, caso estejam certos o login será efetuado com sucesso. 2º Após ter logado no sistema será disponibilizado ao administrador quatro abas abertas no site: Home, Consultas, Cadastro cliente e Cadastro Médico. 3º O sistema terá funcionalidades necessárias para manter todos os dados lá contidos dentro do banco de dados como: Novo cadastro de paciente ou médico, nova consulta e também exclusão de médicos, pacientes e até consultas.

16    

Identificação Requisito: 4 Nome do Caso de Uso: Gerar Especialidade Aluno Responsável: Alexandre Del Picolo Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Clinica Ator Secundário: Médico Resumo: Este caso de uso descreve a geração de

especialidades desempenhadas pelos médicos Pré-condições: Marcar Consulta Pós-condições: Gerar agenda Médica Ações do Ator: 1º Logar no aplicativo: Fazer o login com usuário e senha. 2º Mostrar especialidades: Clique no campo “Especialidades” e selecione a desejada. 3º Salvar Formulário: Clicar em “Confirmar Consulta” após ter preenchido, além da especialidade, todos os campos necessários.

Ações do Sistema: 1º O aplicativo efetuara a verificação do login no banco de dados, caso efetuado com sucesso, será aberto à tela de consultas. 2º Serão carregados na Spinner os dados do banco de dados contido referentes a especialidade. 3º Depois de concluído a escolha da especialidade e dos demais campos necessários o aplicativo criará uma nova consulta com os dados obtidos. Essa consulta será enviada ao Desktop DroidMed podendo ser visualizada.

17    

Identificação Requisito: 5 Nome do Caso de Uso: Gerar Data Consulta Aluno Responsável: Raphael Lins Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Clinica Ator Secundário: Paciente Resumo: Este caso de uso descreve a geração datas

disponível para a marcação da consulta Pré-condições: Marcar Consulta Pós-condições: Gerar Agenda Médica Ações do Ator: 1º Logar no aplicativo: Fazer o login com usuário e senha. 2º Mostrar Datas Disponíveis: Selecione “Mês” e “Dia” desejados ou disponíveis. 3º Salvar Formulário: Clicar em “Confirmar Consulta” após ter preenchido, alem dos campos relacionados à data todos os campos necessários.

Ações do Sistema: 1º O aplicativo efetuara a verificação do login no banco de dados, caso efetuado com sucesso, será aberto à tela de consultas. 2º Serão carregados na Spinner os dados do banco de dados contido referentes à data. 3º Depois de concluído a escolha da data e dos demais campos necessários o aplicativo criará uma nova consulta com os dados obtidos. Essa consulta será enviada ao Desktop DroidMed podendo ser visualizada.

18    

Identificação Requisito: 6 Nome do Caso de Uso: Gerar horário Consulta Aluno Responsável: Alexandre Del Picolo Caso de Uso Geral: Marcação de consulta Médica Ator Principal: Clinica Ator Secundário: Paciente Resumo: Este caso de uso descreve a geração dos horários

disponíveis para a marcação da consulta. Pré-condições: Marcar Consulta Pós-condições: Gerar agenda Médica Ações do Ator: 1º Logar no aplicativo: Fazer o login com usuário e senha. 2º Mostrar Horários Disponíveis: Selecione “hora” e “Minutos” conforme desejado ou disponível. 3º Salvar Formulário: Clicar em “Confirmar Consulta” após ter preenchido, alem da data todos os campos necessários.

Ações do Sistema: 1º O aplicativo efetuara a verificação do login no banco de dados, caso efetuado com sucesso, será aberto à tela de consultas. 2º Serão carregados na Spinner os dados do banco de dados contido referentes à hora e minutos. 3º Depois de concluído a escolha da data, minutos e dos demais campos necessários o aplicativo criará uma nova consulta com os dados obtidos. Essa consulta será enviada ao Desktop DroidMed podendo ser visualizada.

19    

Diagrama de Classes

O diagrama de classes é uma representação da estrutura e relações das classes que

servem de modelo para objetos.

Define todas as classes que o sistema necessita possuir.

20    

Capitulo IV - Desenvolvimento

Banco de Dados Utilizado

Para utilizar o banco de dados primeiramente necessitamos do Vertrigoserv que foi

desenvolvido para criar um fácil e altamente profissional instalador de Apache (servidor

web - HTTP), PHP (linguagem de programação dinâmica), Mysql (multithread, multi-

utilizador, SQL Database Management System), Sqlite (sistema de gestão de bases de

dados, de acordo com ACID), Sqlitemanager (ferramenta web based para gerir as bases de

dados Sqlite), Phpmyadmin (ferramenta escrita em PHP para administrar as bases de dados

Mysql) e Zend Optimizer (que aumenta o desempenho em 40%) para a plataforma

Windows. Com um único instalador, todos os componentes são instalados num único

diretório e podem ser usados imediatamente após a instalação.

Foi desenhado para ser o menor e mais flexível possível, no entanto é altamente

recomendado para distribuição na Internet. Vertrigoserv é excelente tanto para novatos

como para utilizadores experientes. (Baixaki, 2012)

21    

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a

linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language)

como interface. É atualmente um dos bancos de dados mais populares, com mais de 10

milhões de instalações pelo mundo por possuir consistência, alto desempenho, confiabilidade

e é fácil de usar.

Uma característica fundamental do MySQL, talvez na origem do seu sucesso, é ser

desenvolvido em código aberto e funcionar num grande número de sistemas operacionais:

Windows, Linux, FreeBSD, BSDI, Solaris, Mac OS X, SunOS, SGI, etc.

É reconhecido pelo seu desempenho e robustez e também por ser multitarefa e

multiusuário. A própria Wikipédia, usando o programa MediaWiki, utiliza o MySQL para

gerenciar seu banco de dados, demonstrando que é possível utilizá-lo em sistemas de

produção de alta exigência e em aplicações sofisticadas. (OFICINA DA NET /

WIKIPÉDIA, 2007/2009).

22    

Modelo Entidade Relacionamento – MER  

23    

Plataforma

Eclipse Juno

A ferramenta utilizada para o desenvolvimento da aplicação para celular foi o

Eclipse IDE, considerada uma das mais utilizadas do mundo.

Eclipse é um IDE desenvolvido em Java, seguindo o modelo open source de

desenvolvimento de software. O projeto Eclipse foi iniciado na IBM que desenvolveu a

primeira versão do produto e doou-o como software livre para a comunidade. O gasto

inicial da IBM no produto foi de mais de 40 milhões de dólares. Hoje, o Eclipse é o IDE

Java mais utilizado no mundo. Possui como características marcantes o uso da SWT e não

do Swing como biblioteca gráfica, a forte orientação ao desenvolvimento baseado em plug-

ins e o amplo suporte ao desenvolvedor com centenas de plug-ins que procuram atender as

diferentes necessidades de diferentes programadores.

Com o uso de plugins, pode ser usado não só para desenvolver em Java, mas

também em C/C++, PHP, ColdFusion e Python.

Fonte: (Wikipédia,2012)

24    

NetBeans 7.1

NetBeans IDE oferece todo o suporte para criação de interfaces gráficas de maneira

visual, bem como o desenvolvimento de aplicações para a internet, celulares e

colaborações entre usuários, apresentando funcionalidades para soluções mais completas

em programações com Java.

O NetBeans IDE é uma aplicação de código aberto feita para auxiliar os

desenvolvedores na criação de aplicativos em diferentes plataformas, utilizando tecnologia

Java para isto. Nela você encontra todas as ferramentas necessárias para projetos

profissionais em Java, C/C++ e Ruby, entre outras linguagens.

A ferramenta NetBeans foi utilizada para o desenvolvimento do site pela

facilidades dos desenvolvedores com essa ferramenta em Linguagens html4 e PHP.

Fonte: (Baixaki, 2012)

25    

Linguagens:  

As linguagens utilizadas no software serão Java (específico para Android) e xml

para o aplicativo do celular, HTML e PHP para o desenvolvimento do site e por fim sql

para o banco de dados.

Java:

Linguagem utilizada para o desenvolvimento do aplicativo para Android.

Position Nov 2012

Position Nov 2011

Delta in Position Programming Language Ratings Nov 2012

Delta Nov 2011

Status

1 2

C 19.224% +1.90% A

2 1

Java 17.455% -0.42% A

3 6

Objective-C 10.383% +4.40% A

4 3

C++ 9.698% +1.61% A

5 5

PHP 5.732% -0.36% A

6 4

C# 5.591% -1.73% A

7 7

(Visual) Basic 5.032% -0.01% A

8 8

Python 4.062% +0.45% A

9 10

Perl 2.182% +0.10% A

10 11

Ruby 1.739% +0.24% A

11 9

JavaScript 1.278% -1.29% A

12 16

Delphi/Object Pascal 0.995% +0.12% A

13 13

Lisp 0.951% -0.23% A

14 14

Pascal 0.881% -0.11% A

15 23

Visual Basic .NET 0.769% +0.24% A-

16 19

Ada 0.662% +0.04% B

17 12

PL/SQL 0.632% -0.81% B

18 18

Lua 0.631% 0.00% A-

19 15

MATLAB 0.620% -0.34% B

20 24

Assembly 0.585% +0.06% B

Fonte: Tiobe software, 2012

26    

Como visto na pagina anterior a linguagem Java é a segunda mais usada atualmente

no mundo todo, apenas perdendo para a C.

Java é uma linguagem poderosa em ambientes distribuídos complexos como a rede

Internet. Mas sua versatilidade permite ao programador ir além, oferecendo uma poderosa

linguagem de programação de uso geral, com recursos suficientes para a construção de

uma variedade de aplicativos que podem ou não depender do uso de recursos de

conectividade em diversas plataformas.

Algumas de suas vantagens são:

Simplicidade e eficiência de código orientado a objetos;

Código Interpretado e Portátil;

Segurança;

Aplicações distribuídas e processamento paralelo.

Fonte: (Grupo JavaRS JUG Rio Grande do Sul, 1996)

XML

Linguagem utilizada para desenvolvimento do layout do aplicativo para Android.

XML é a sigla para Extensible Markup Language, que significa na Língua

Portuguesa Extensível de Marcação Genérica, e é uma recomendação para gerar

27    

linguagens de marcação para necessidades especiais. XML é capaz de descrever diversos

tipos de dados, e seu objetivo principal é a facilidade de compartilhamento de informações

através da Internet.

XML é uma tecnologia simples que tem ao seu redor outras tecnologias que a

complementam e a fazem muito maior e com possibilidades muito mais amplas. XML

representa uma maneira distinta de fazer as coisas, cuja principal novidade consiste em

permitir compartilhar. XML também permite ao programador e aos suportes dedicar seus

esforços às tarefas importantes quando trabalha com os dados, já que algumas tarefas

trabalhosas como a validação destes ou o percorrido das estruturas corre a cargo da

linguagem e está especificado pelo padrão.

Fonte: (significados, 2012)

HTML:

Linguagem utilizada para o desenvolvimento do site.

HTML (abreviação para a expressão inglesa HyperText Markup Language, que

significa Linguagem de Marcação de Hipertexto) é uma linguagem de marcação utilizada

28    

para produzir páginas na Web. Documentos HTML podem ser interpretados por

navegadores. A tecnologia é fruto do "casamento" dos padrões HyTime e SGML.

HyTime é um padrão para a representação estruturada de hipermídia e conteúdo

baseado em tempo. Um documento é visto como um conjunto de eventos concorrentes

dependentes de tempo (como áudio, vídeo, etc.), conectados por hiperligações. O padrão é

independente de outros padrões de processamento de texto em geral.

Os elementos são definidos através de tags (etiquetas ou marcações), que

funcionam como comandos de formatação de textos, formulários, links (ligações),

imagens, tabelas, entre outros.

Os browsers (navegadores) identificam as tags e apresentam a página conforme está

especificada. Um documento em HTML é um texto simples, que pode ser editado no Bloco

de Notas (Windows) ou Editor de Texto (Mac) e transformado em hipertexto.

A linguagem HTML foi criada por Tim Barners Lee na década de 1990. As

especificações da linguagem são controladas pela W3C (World Wide Web Consortium).

As versões de evolução da HTML incluem XHTML (uma linguagem com sintaxe

mais rigorosa, baseada em XML) e HTML5 (quinta versão da HTML que traz novos

recursos, principalmente a manipulação de conteúdo gráfico e multimídia).

Fonte: (Wikipédia, 2012)

PHP:

Linguagem utilizada paralela ao HTML para desenvolver o site do software.

PHP (um acrônimo recursivo para PHP: “Hypertext Reprocessador", originalmente

Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para

29    

o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar

conteúdo dinâmico na World Wide Web. Figura entre as primeiras linguagens passíveis de

inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos

para eventuais processamentos de dados. O código é interpretado no lado do servidor pelo

módulo PHP, que também gera a página web a ser visualizada no lado do cliente. A

linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e além disso,

ganhou características adicionais, que possibilitaram usos adicionais do PHP, não

relacionados a web sites. É possível instalar o PHP na maioria dos sistemas operacionais,

gratuitamente. Concorrente direto da tecnologia ASP pertencente à Microsoft, o PHP é

utilizado em aplicações como o MediaWiki, Facebook, Drupal, Joomla, WordPress e o

Magento.

Criado por Rasmus Lerdorf em 1995, o PHP utiliza em sua linguagem uma

característica principal — referência formal da linguagem, mantida por uma organização

chamada “The PHP Group”. O PHP é software livre, licenciado sob a PHP License, uma

licença incompatível com a GNU General Public License (GPL) devido a restrições no uso

do termo PHP.

Fonte: (Wikipédia, 2012)

SQL:

SQL é uma linguagem padronizada para a definição e manipulação de bancos de

dados relacionais. Tipicamente, um SGBD oferece um interpretador SQL que permite

30    

isolar a aplicação dos detalhes de armazenamento dos dados. Se o projetista da aplicação

tiver o cuidado de usar apenas as construções padronizadas de SQL, ele poderá

desenvolver a aplicação sem se preocupar com o produto SGBD que estará sendo utilizado

depois.

As três componentes de SQL são:

1. Uma linguagem de definição de dados (DDL) para definir e revisar a estrutura

de bancos de dados relacionais;

2. Uma linguagem de controle de dados (DCL) para especificar mecanismos de

segurança e integridade dos dados;

3. Uma linguagem de manipulação de dados (DML) para ler e escrever os dados.

SQL pode ser utilizado diretamente pelo usuário, quando o SGBD oferece um

interpretador SQL interativo, ou através de comandos embutidos em uma aplicação

desenvolvida em uma linguagem de programação. No caso dessa linguagem ser Java, a

forma de interagir com o banco de dados é especificado por JDBC.

Fonte: (© Ivan Luiz Marques Ricarte, DCA/FEEC/UNICAMP, 2002).

Mapa do Sistema  

Tela  inicial  

31    

Login  

• Recuperar  senha  • Cadastrar  

 

Tela principal

• Cadastrar-se o Nome o R.G o CPF o Endereço o Número o Complemento o CEP o Bairro o Sexo o Telefone o Celular

• Marcar consulta o Doutores disponíveis o Especialidade o Inserir a data e horário de preferência o Agenda do médico

• Alterações cadastrais

o Atualização de dados o Mudança de dia e ou hora da consulta o Remarcação da consulta o Cancelamento da consulta

• Ajuda o Sobre o programa o Contato o Manual do programa

 

Capitulo V – Testes  

32    

Teste unitário:

Servem para verificar os erros de pequenos elementos do sistema, facilitando o

diagnóstico deles.

Teste integrado:

Testa o sistema por completo, analisando todos os elementos de uma vez. É

necessário realizar muitos testes unitários antes do teste integrado, para evitar a perda do

sistema.

Teste Aplicativo:

33    

DATA O QUE TESTEI VERSÃO DIAGNÓSTICO

17/jul Interface 1.0 O programa continha tela de cadastro e

de login apenas, nenhum erro.

03/ago Interface 1.1 Tela de “Esqueceu sua senha?” foi

criado, nenhum erro.

10/ago Interface 1.2 Tela de cadastro foi modificada, todos

os campos que contém no banco de

dados foram inseridos

17/ago Interface 1.3 Tela subsequente do login foi criada

com todos os campos necessários para a

marcação de uma consulta médica

5/set Interface 1.4 Dentro do cadastro do paciente, foi

criada a tela “Editar cadastro”

20/set Conex. Banco de

dados

1.6 Conexão malsucedida, por falta do

driver do mySQL no projeto Android

1/out Conexão Banco

de dados

1.7 Conexão malsucedida; método

gravarBanco( ) em local errado

9/out Conexão Banco

de dados

1.8 Conexão feita; Primeiros dados

inseridos com sucesso; Mas, sem a

visualização dos dados.

15/out Conexão Banco

de dados

1.9 Campos devidamente configurados

conforme a informação referida (com

tratamento de erros).

Teste Banco:

34    

DATA O QUE TESTEI VERSÃO DIAGNÓSTICO 02/Jul Banco de dados 1.0 Todas as tabelas criadas com sucesso.

Sem erros 06/Jul Banco de dados 2.0 Inserção de alguns caracteres especiais

em algumas tabelas: erro ao inserir dados

15/Jul Banco de dados 3.0 Função not_null inserida em campos que não eram necessários.

Teste Site

DATA O QUE TESTOU VERSÃO DIAGNÓSTICO

07/out Pagina PHP 0.1 Criada a tela inicial, com os botões Home, Cadastro, Consulta e Agenda

14/out Pagina PHP 0.3 Criadas as telas cadastro e consulta, com seus respectivos campos.

22/out Pagina PHP 0.5 Conexão com o banco de dados bem sucedida, mas os dados não inserem.

Capitulo VI – Cronograma e Custos

35    

Equipe:

• Alexandre del Picolo – Desenvolvedor software DroidMed versão Android,

documentação.

• Gabriela Khazrik – Criação do logo, desenvolvedora da parte PHP do

DroidMed.

• Raphael Lins - Criação do logo, desenvolvedor do software DroidMed,

documentação.

• Vitor Celestino – Criador do banco de dados, e desenvolvedor PHP.

Custos do Desenvolvimento:

Valor/hora: R$20,00 cada desenvolvedor

Valor venda: R$15.000.00.

Referências  

36    

Livro: Google Android – Editora Novatec – Ricardo R. Lecheta

http://pt.scribd.com/doc/55141006/UML - Resumo - UML

http://pt.wikipedia.org/wiki/UML - UML

http://www.baixaki.com.br/download/vertrigoserv.htm - Banco de Dados - Vertrigoserv

http://www.oficinadanet.com.br/artigo/484/por_que_usar_mysql - MYSQL

http://pt.wikipedia.org/wiki/MySQL - MYSQL

http://pt.wikipedia.org/wiki/Eclipse_(software) - Plataforma Eclipse

http://www.baixaki.com.br/download/netbeans-ide.htm - Netbenas IDE

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html - Tabela Linguagens.

http://www.cin.ufpe.br/~arfs/introjava.pdf - Linguagem JAVA

http://www.significados.com.br/html/ - Linguagem HTML

http://www.significados.com.br/xml/ - Linguagem XML

http://www.slideshare.net/espig/requisitos-de-software - Explicação Requisitos

http://www.dca.fee.unicamp.br/cursos/PooJava/javadb/sql.html - Definição SQL

http://www.portalsaofrancisco.com.br/alfa/estrutura-de-um-trabalho-academico/normas-abnt.php - Normas ABNT

http://www.pedagogiaemfoco.pro.br/met07.htm - Normas ABNT

 

Anexos  

Dicionário de dados

Entidades:

Consultas

Descrição: São as consultas que serão marcadas pelo usuário.

Composição: Código Consultas

Data

Descrição: São as datas que serão marcadas as consultas.

Composição: Código Data, Data.

Endereço

Descrição: São marcados os endereços dos Pacientes.

Composição: Código Endereço, Nome da rua, Número da casa, CEP,

Cidade, Estado, UF.

Endereço Médico

Descrição: São marcados os endereços dos Médicos.

Composição:

Código Endereço do Médico, Nome da Rua do Médico,

Número da casa do Médico, CEP do Médico, Cidade do

Médico, Estado do Médico, UF do Médico.

Horário

Descrição: São os horários que serão marcadas as consultas.

Composição: Código Hora, Hora.

1    

Médico

Descrição: São os médicos que trabalham na Clinica.

Composição: Código Médico, Nome, RG, CPF, E-mail, Especialidades.

Paciente

Descrição: Pessoas que serão atendidas.

Composição: Código Paciente, nome, RG, CPF, Sexo.

Telefone

Descrição: São os telefones dos pacientes que serão atendidos na

clínica.

Composição: Código Telefone, Código Área, Número Celular, Número

Telefone.

Telefone Médico

Descrição: São os Telefones dos médicos que trabalham na clinica.

Composição: Código Telefone médico, Código Área médico, Número

Celular médico, Número Telefone médico.

Usuário

Descrição: São os usuários que administram o sistema.

Composição: Código Usuário, Login, Senha.

2    

Relacionamentos:

Cadastra

Entidades Envolvidas: Usuário, Médico e Paciente.

Descrição: Um usuário pode cadastrar vários médicos e vários

pacientes.

Cardinalidade: 1 : N, 1:N

Confirma

Entidades Envolvidas: Paciente, Consulta.

Descrição: Um paciente pode confirmar várias consultas e as consultas

podem ser confirmadas por um paciente.

Cardinalidade: 1:N

Gera

Entidades Envolvidas: Datas, Consultas e Horários.

Descrição: Uma consulta pode gerar varias datas e horários e datas e

horários por uma consulta.

Cardinalidade: 1:N, 1:N

Registra

Entidades Envolvidas: Paciente, Telefone, Endereço, Médico, Endereço Médico,

Telefone Médico.

Descrição: Um paciente pode ter vários telefones e endereços, e um

Médico pode ter muitos telefones e Endereços.

Cardinalidade: 1:N, 1:N, 1:N, 1:N

3    

Verifica

Entidades Envolvidas: Consultas, Médico.

Descrição: Um médico pode verificar várias consultas.

Cardinalidade: 1:N

Atributos

Código

Entidade: Consultas

Descrição: Um número sequencial para identificação da consulta.

Classe: Determinante

Domínio: Numérico

Código Data

Entidade: Data

Descrição: Um número sequencial para identificação das datas.

Classe: Composto

Domínio: Data

Data

Entidade: Data

Descrição: Data da consulta.

Classe: Simples

Domínio: Data

4    

Código Endereço

Entidade: Endereço

Descrição: Um número sequencial para identificação dos endereços.

Classe: Composto

Domínio: Caractere

Nome da Rua

Entidade: Endereço

Descrição: É o nome da rua.

Classe: Simples

Domínio: Caractere

Número da Casa

Entidade: Endereço

Descrição: Número da casa.

Classe: Simples

Domínio: Numérico

CEP

Entidade: Endereço

Descrição: CEP do endereço.

Classe: Simples

Domínio: Numérico

Cidade

Entidade: Endereço

Descrição: Cidade ao qual pertence o endereço.

Classe: Simples

Domínio: Caractere

5    

UF

Entidade: Endereço

Descrição: Unidade Federal.

Classe: Simples

Domínio: Caractere

Estado

Entidade: Endereço

Descrição: Estado ao qual pertence o endereço.

Classe: Simples

Domínio: Caractere

Código endereço Médico

Entidade: Endereço Médico

Descrição: Um número sequencial para identificação dos endereços dos

médicos.

Classe: Composto

Domínio: Caractere

Nome da Rua Médico

Entidade: Endereço Médico

Descrição: Nome da rua do médico.

Classe: Simples

Domínio: Caractere

Número da Casa Médico

Entidade: Endereço Médico

Descrição: Número da casa do médico.

Classe: Simples

Domínio: Numérico

6    

CEP Médico

Entidade: Endereço Médico

Descrição: CEP do endereço do médico.

Classe: Simples

Domínio: Numérico

Cidade Médico

Entidade: Endereço Médico

Descrição: Cidade ao qual pertence o endereço do médico.

Classe: Simples

Domínio: Caractere

UF Médico

Entidade: Endereço Médico

Descrição: Unidade Federal.

Classe: Simples

Domínio: Caractere

Estado Médico

Entidade: Endereço Médico

Descrição: Estado ao qual pertence o endereço.

Classe: Simples

Domínio: Caractere

7    

Código Hora

Entidade: Numérico

Descrição: Número sequencial para identificação da hora.

Classe: Determinante

Domínio: Numérico

Hora

Entidade: Numérico

Descrição: Hora que será marcada a consulta.

Classe: Simples

Domínio: Numérico

Código Médico

Entidade: Numérico

Descrição: Número sequencial para a identificação do médico.

Classe: Determinante

Domínio: Médico

Nome Médico

Entidade: Caractere

Descrição: Nome do médico.

Classe: Simples

Domínio: Médico

RG Médico

Entidade: Numérico

Descrição: RG do médico

Classe: Simples

Domínio: Médico

8    

CPF Médico

Entidade: Numérico

Descrição: CPF do médico.

Classe: Simples

Domínio: Médico

E-mail Médico

Entidade: Caractere

Descrição: E-mail para contato com o médico.

Classe: Simples

Domínio: Médico

Especialidade Médico

Entidade: Caractere

Descrição: Área em qual o médico é especialista.

Classe: Simples

Domínio: Médico

Código Paciente

Entidade: Numérico

Descrição: Número sequencial para a identificação do paciente.

Classe: Determinante

Domínio: Paciente

Nome Paciente

Entidade: Caractere

Descrição: Nome do Paciente.

Classe: Simples

Domínio: Paciente

9    

RG Paciente

Entidade: Numérico

Descrição: RG do Paciente.

Classe: Simples

Domínio: Paciente

CPF Paciente

Entidade: Numérico

Descrição: CPF do Paciente.

Classe: Simples

Domínio: Paciente

CPF Paciente

Entidade: Numérico

Descrição: CPF do Paciente.

Classe: Simples

Domínio: Paciente

Sexo Paciente

Entidade: Caractere

Descrição: Sexo do Paciente.

Classe: Simples

Domínio: Paciente

E-mail Paciente

Entidade: Caractere

Descrição: E-mail do Paciente.

Classe: Simples

Domínio: Paciente

10    

Código Telefone Paciente

Entidade: Numérico

Descrição: Número sequencial para a identificação do Paciente.

Classe: Determinante

Domínio: Telefone

Código Área Telefone Paciente

Entidade: Numérico

Descrição: Código de área do telefone do paciente.

Classe: Simples

Domínio: Telefone

Número Celular Paciente

Entidade: Numérico

Descrição: Número de celular do paciente.

Classe: Simples

Domínio: Telefone

Número Telefone Paciente

Entidade: Numérico

Descrição: Número de telefone do Paciente.

Classe: Simples

Domínio: Telefone

Número Telefone Médico

Entidade: Numérico

Descrição: Número sequencial para a identificação do Médico.

Classe: Determinante

Domínio: Telefone

11    

Número Área Telefone Médico

Entidade: Numérico

Descrição: Código de área do telefone do Médico.

Classe: Simples

Domínio: Telefone

Número Celular Médico

Entidade: Numérico

Descrição: Número de celular do Médico.

Classe: Simples

Domínio: Telefone

Número Telefone Médico

Entidade: Numérico

Descrição: Número de telefone do Médico.

Classe: Simples

Domínio: Paciente

Código Usuário

Entidade: Numérico

Descrição: Número sequencial para identificação do Usuário.

Classe: Determinante

Domínio: Usuário

Login Usuário

Entidade: Caractere

Descrição: Login para acessar o sistema.

Classe: Simples

Domínio: Usuário

12    

Senha Usuário

Entidade: Numérico

Descrição: Senha para acessar o sistema.

Classe: Simples

Domínio: Usuário

 

13    

Tela de Login  

 

 

Está é a tela principal, aqui você pode efetuar o seu login e caso não seja cadastrado fazer seu cadastro.

 

14    

Acessar a conta

Para acessar sua conta, digite seu login no primeiro campo. Obs. (verifique se está certo), sua senha no segundo campo e clique no botão “Login”.

15    

Esqueceu sua senha

Após ter clicado em “esqueceu sua senha?”, você será direcionado para esta página, para recuperar sua senha, no primeiro campo digite seu Email e clique em “Enviar” e sua senha será enviada ao e-mail. Lembre-se a senha será enviada para o email que foi usado durante o seu cadastro.

16    

Caso você não consiga acessar sua conta, pois esqueceu sua senha, clique em “Esqueceu sua senha?” e aguarde ser redirecionado para a tela de Recuperação de senha.

17    

Cadastrar

Caso você ainda não seja cadastrado, clique no botão “cadastrar-se”, e aguarde ser redirecionado para a tela de Cadastro.

18    

Tela de Cadastro

Após clicar no Botão “cadastrar-se” você seguirá para essa tela, preencha os campos com o que se pede como nome, RG, CPF etc. Depois de preenchidos todos os campos e verificado se os mesmos se encontram certos, clique em “Salvar” seus dados serão salvos e seu cadastro efetuado.

19    

Marcar a Consulta

Após preencher seu Nome, Senha e clicar em “Login” você irá para a tela de Marcação de Consulta. Nesta tela será escolhida a especialidade do médico clicando no primeiro item, o médico de sua preferência logo em seguida (caso exista mais de um com essa especialidade), escolher a data que deseja a sua consulta clicando no campo correspondente a “Data” e o mesmo para o mês. Indique a hora que deseja sua consulta e os minutos. Depois de preenchido todos os campos e os mesmo conferidos clique em “Marcar Consulta”.

20    

Alterar Cadastro

Caso por ventura você necessite trocar os seus dados pessoais na mesma tela de Marcação de consultas, encontra-se o botão “Alterar Cadastro” nele você poderá alterar o que deseja e depois de efetuada a troca, serão salvas as alterações.