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.