Droidmed - ETEC Irmã Agostina

Transcrição

Droidmed - ETEC Irmã Agostina
 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
Você tem acesso à internet?
11
Sim Não 39
Figura 1 - Pesquisa realizada com 50 pacientes
27
14
9
Conhecimento avançado Conhecimento moderado Figura 2 – Pesquisa realizada com 50 pacientes
Não possui conhecimento 2 35
30
25
20
15
Indiferente
29
Não
10
12
5
Sim
9
0
Sim, seria
mais útil
Não, prefiro o Indiferente
método antigo
(ligação)
Figura 3 - Pesquisa realizada com 50 pacientes 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.
Problemas relatados por Usuários
60 P e s s o a s
50 40 30 20 10 0 Remarcação de
Consulta;
Super lotação da Não fazer contato Outros problemas.
Agenda médica; com à Clínica de
preferência;
P r o b l e m a s
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.
Faixa etária das pessoas que u4lizam o atual serviço de saúde 16 14 P e s s o a s 12 10 8 6 4 2 0 18 -­‐ 24 25 -­‐ 35 36 -­‐ 50 M é d i a I d a d e 50 -­‐ 80 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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
Ações do Ator:
1º Cadastro do Paciente:
O usuário irá clicar no botão “Cadastrese”.
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”.
1
Manter Paciente
Alexandre Del Picolo
Marcação de consulta Médica
Clinica e Paciente.
Médico
Este caso de uso descreve os passos necessários
para o cadastro dos pacientes.
Manter Pacientes e Consulta.
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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
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”.
2
Marcar Consulta
Raphael Lins
Marcação de consulta Médica
Paciente
Clinica e Médico
Este caso de uso descreve os passos necessários
para o paciente agendar a consulta.
Manter Paciente
Confirmação
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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
Ações do Ator:
3
Gerar Agenda Médico
Raphael Lins
Marcação de consulta Médica
Clinica
Médico
Este caso de uso descreve os passos necessários
para a geração da agenda do médico.
Agendar Consulta.
Confirmar Consulta.
Ações do sistema:
1º Acesso Desktop:
O administrador do desktop DroidMed
terá acesso a todos os dados da clinica
através do site após ter logado.
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º 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.
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º 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.
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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
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.
4
Gerar Especialidade
Alexandre Del Picolo
Marcação de consulta Médica
Clinica
Médico
Este caso de uso descreve a geração
especialidades desempenhadas pelos médicos
Marcar Consulta
Gerar agenda Médica
Ações do Sistema:
de
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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
Ações do Ator:
5
Gerar Data Consulta
Raphael Lins
Marcação de consulta Médica
Clinica
Paciente
Este caso de uso descreve a geração datas
disponível para a marcação da consulta
Marcar Consulta
Gerar Agenda Médica
Ações do Sistema:
1º Logar no aplicativo:
Fazer o login com usuário e senha.
1º O aplicativo efetuara a verificação do login
no banco de dados, caso efetuado com sucesso,
será aberto à tela de consultas.
2º Mostrar Datas Disponíveis:
Selecione “Mês” e “Dia” desejados ou
disponíveis.
2º Serão carregados na Spinner os dados do
banco de dados contido referentes à data.
3º Salvar Formulário:
Clicar em “Confirmar Consulta” após
ter preenchido, alem dos campos
relacionados à data todos os campos
necessários.
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:
Nome do Caso de Uso:
Aluno Responsável:
Caso de Uso Geral:
Ator Principal:
Ator Secundário:
Resumo:
Pré-condições:
Pós-condições:
Ações do Ator:
6
Gerar horário Consulta
Alexandre Del Picolo
Marcação de consulta Médica
Clinica
Paciente
Este caso de uso descreve a geração dos horários
disponíveis para a marcação da consulta.
Marcar Consulta
Gerar agenda Médica
Ações do Sistema:
1º Logar no aplicativo:
Fazer o login com usuário e senha.
1º O aplicativo efetuara a verificação do login
no banco de dados, caso efetuado com sucesso,
será aberto à tela de consultas.
2º Mostrar Horários Disponíveis:
Selecione “hora” e “Minutos” conforme
desejado ou disponível.
2º Serão carregados na Spinner os dados do
banco de dados contido referentes à hora e
minutos.
3º Salvar Formulário:
Clicar em “Confirmar Consulta” após
ter preenchido, alem da data todos os
campos necessários.
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, multiutilizador, 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 plugins 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
Position
Nov 2012
Nov 2011
Ratings
Delta
Nov 2012
Nov 2011
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
Delta in Position
Programming Language
Status
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
O programa continha tela de cadastro e
1.0
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
1/out
9/out
Conex. Banco de 1.6
Conexão malsucedida, por falta do
dados
driver do mySQL no projeto Android
Conexão Banco 1.7
Conexão
de dados
gravarBanco( ) em local errado
Conexão Banco 1.8
Conexão
de dados
inseridos com sucesso; Mas, sem a
malsucedida;
feita;
método
Primeiros
dados
visualização dos dados.
15/out
Conexão Banco 1.9
Campos
devidamente
de dados
conforme a informação referida (com
tratamento de erros).
Teste Banco:
configurados
34 DATA
02/Jul
O QUE TESTEI
Banco de dados
VERSÃO
1.0
06/Jul
Banco de dados
2.0
15/Jul
Banco de dados
3.0
DIAGNÓSTICO
Todas as tabelas criadas com sucesso.
Sem erros
Inserção de alguns caracteres especiais
em algumas tabelas: erro ao inserir
dados
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/normasabnt.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.
Código Endereço do Médico, Nome da Rua do Médico,
Composição:
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.