CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

Documentos relacionados
INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Software automatizado para controle de consultas da clínica de fisioterapia

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Plano de Carreira Sistema de Apoio à Gestão de Planos de Carreira

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Sistema de Controle de Solicitação de Desenvolvimento

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis

Codificar Sistemas Tecnológicos

Histórico de Revisão Data Versão Descrição Autor

Consultório On-line. Tudo o que você precisa em um só lugar.

MÓDULO 5 Movimentações

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Noções de. Microsoft SQL Server. Microsoft SQL Server

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Documento de Análise e Projeto VideoSystem

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Plano de Gerenciamento do Projeto

Wilson Moraes Góes. Novatec

02 - Usando o SiteMaster - Informações importantes

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

Cadastramento de Computadores. Manual do Usuário

Gestão de Relacionamento com o Cliente CRM

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Engenharia de Requisitos Estudo de Caso

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

Manual de Utilização do Zimbra

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Documento de Visão. Sistema de Ponto Eletrônico A2MEPonto. Versão 1.0

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Versão Liberada. Gerpos Sistemas Ltda. Av. Jones dos Santos Neves, nº 160/174

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

Manual SAGe Versão 1.2 (a partir da versão )

Prof. Marcelo Machado Cunha

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

SISTEMA PATRIMÔNIO WEB

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

1. Escritório Virtual Atualização do sistema Instalação e ativação do sistema de Conexão...5

Especial Online RESUMO DOS TRABALHOS DE CONCLUSÃO DE CURSO. Sistemas de Informação ISSN

CONSTRUÇÃO DE BLOG COM O BLOGGER

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

2 Diagrama de Caso de Uso

ISO/IEC 12207: Gerência de Configuração

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

Histórico da Revisão. Data Versão Descrição Autor

Análise e Tramitação de Projetos nos Comitês de Ética em Pesquisa

Acadêmico: Maicon Machado Orientador: José Carlos Toniazzo

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Manual do usuário - Service Desk SDM - COPASA. Service Desk

Desenvolvendo para WEB

Escritório Virtual Administrativo

Manual do AP_Conta. Manual do AP_Conta. Aplicativo para digitação e envio de contas médicas no padrão TISS

UNIVERSIDADE CÂNDIDO MENDES

Passo a Passo do Orçamentos de Entrada no SIGLA Digital

Ministério da Cultura

Operador de Computador. Informática Básica

"Manual de Acesso ao Moodle - Discente" 2014

Manual Geral do OASIS

Elaborado por SIGA-EPT. Projeto SIGA-EPT: Manual do Usuário Almoxarifado

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Aplicação Prática de Lua para Web

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

Desenvolvendo Websites com PHP

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Faturamento Eletrônico - CASSEMS

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

Central Cliente Questor (CCQ) UTILIZANDO A CCQ - CENTRAL CLIENTE QUESTOR

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed

MANUAL DE UTILIZAÇÃO

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Como funciona? SUMÁRIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Configurando o DDNS Management System

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Sistema de Registro de Contratos e Financiamentos

Web Design Aula 01: Conceitos Básicos

Procedimentos para Reinstalação do Sisloc

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Manual da Nota Fiscal Eletrônica

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Manual do usuário. v1.0

Transcrição:

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS LUCAS YOSHIOKA SISTEMA WEB DE GERENCIAMENTO DE CONSULTAS MÉDICAS INTEGRADO A UM APLICATIVO ANDROID LINS/SP 2º SEMESTRE/2013

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS LUCAS YOSHIOKA SISTEMA WEB DE GERENCIAMENTO DE CONSULTAS MÉDICAS INTEGRADO A UM APLICATIVO ANDROID Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins Prof. Antonio Seabra para obtenção do Título de Tecnólogo em Banco de Dados Orientador Prof. Me Adriano Bezerra LINS/SP 2º SEMESTRE/2013

LUCAS YOSHIOKA SISTEMA WEB DE GERENCIAMENTO DE CONSULTAS INTEGRADO A UM APLICATIVO ANDROID Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos para obtenção do título de Tecnólogo em Banco de Dados sob orientação do Prof. Me. Adriano Bezerra Data de Aprovação: 05 de Dezembro de 2013 Orientador: Prof. Me. Adriano Bezerra Prof. Me. Rodrigo Moura J. Ayres Profa. Me. Gisele Molina Becari

Ao meu pai Mário, minha mãe Lourdes, in memorian, meus avós Kazuto, in memorian e Myioko e minha irmã Thaisa, que me apoiaram a cada dia de trabalho para que pudesse alcançar meus objetivos. Lucas Yoshioka.

AGRADECIMENTOS Ao final de mais uma etapa concluída, gostaria de agradecer primeiramente ao meu pai, Mario Yoshioka, que nunca mediu esforços para me ajudar em todos os desafios de minha vida. À minha irmã, Thaisa, minha vó Alice, meus tios Armando e Zuleika, minhas primas Simone e Patrícia, e demais familiares que sempre encorajaram a estudar. Meu sincero agradecimento ao orientador Me Adriano Bezerra, pelos ensinamentos, paciência e atenção, que foram cruciais para o termino do trabalho. A todos os meus amigos, sem exceções, especialmente Lucas Ferreira e Larissa Rattigueri, que estiveram a maior parte do tempo comigo e sempre me ajudaram muito. Agradeço também a todos os professores e funcionários da Fatec que, diretamente ou indiretamente participaram dessa conquista. Lucas Yoshioka

RESUMO A internet já tem uma grande parcela de contribuição nas empresas. Diariamente, milhões de transações já dependem de seu uso. Em paralelo, os smartphones tem cada vez mais espaço no mercado. Segundo dados da Agência Nacional de Telecomunicações (Anatel, 2013), o Brasil terminou o mês de outubro de 2013 com 269,9 milhões de celulares. O presente trabalho visa um campo ainda pouco explorado com o objetivo de automatizar o gerenciamento das consultas de uma clínica. Para isso, foi desenvolvido um sistema web integrado a um aplicativo móvel para o sistema operacional Android. Todos os cadastros necessários para a realização de uma consulta estarão contidos no sistema. Paciente e Profissional poderão agendar consultas, bem como re-agendar e cancelar uma já cadastrada. Além disso, o aplicativo móvel trará comodidade ao paciente, pois permitirá o agendamento de uma consulta pelo smartphone, tendo como requisitos apenas acesso à internet e sistema operacional Android. Para a implementação do projeto, foi utilizada a linguagem de programação Java, juntamente ao framework JavaServer Faces e a biblioteca de componentes PrimeFaces, o banco de dados PostgreSQL e a SDK do Android. Palavras-chave: sistema web, dispositivos móveis, jsf, primefaces, consultas médicas, clínica.

ABSTRACT The Internet already have a great contribution for companies. Daily, millions of transactions depend on it. In parallel, smartphones has increasingly more space in market. According to Agência Nacional de Telecomunicações, (ANATEL, 2013), Brazil has finished the month of october 2013 with 269,9 millions of smartphones. This project aims a field that is not so explored with the goal of transform the process of scheduling an appointment in a clinic automated. All the necessary data to perform an appointment are contained in the web system. Professional and pacient will be able to schedule, reschedule and appointment, or cancel an appointment that is already schedule. Furthermore, the mobile app will bring convenience, because it will allow the scheduling of and appointment by the smartphone, having as requiriments internet access and the operational system Android. To implement the project, the Java programming language was used along the framework JavaServer Faces and PrimeFaces component library, the PostgreSQL database and the Android SDK. Keywords: web system, mobile devices, jsf, primefaces, medical scheduling, clinical.

LISTA DE ILUSTRAÇÕES Figura 1.1 - Eclipse IDE... 17 Figura 1.2 - IDE PostgreSQL.... 20 Figura 1.3 - Código fonte HTML.... 22 Figura 1.4 - Resultado.... 23 Figura 2.1 - Principais benefícios da automatização de processos.... 25 Figura 3.1 - Modelagem lógica do banco de dados.... 30... 30 Figura 3.2 - Modelagem Relacional do Banco de dados do Sistema.... 31 Figura 3.3 - Diagrama de Classe.... 32 Fonte 3.4 - Diagrama de Caso de Uso.... 33 Figura 3.5 - Diagrama de Atividade (Efetuar Login).... 34 Figura 3.6 - Diagrama de Sequência (Efetuar Login).... 34 Figura 3.7 - MVC (Efetuar Login).... 35 Figura 3.8 - Diagrama de Atividade (Manter Paciente).... 35 Figura 3.9 - Diagrama de Atividade (Deletar Paciente).... 36 Figura 3.10 - Diagrama de Sequência (Manter e Deletar Paciente).... 36 Figura 3.11 - MVC (Manter Paciente).... 37 Figura 3.12 - Diagrama de Caso de Uso (Manter Profissional).... 37 Figura 3.13 - Diagrama de Atividade (Deletar Paciente).... 38 Figura 3.14 - Diagrama de Sequência (Manter e Deletar Profissional).... 38 Figura 3.15 - MVC (Manter Paciente).... 39 Figura 3.16 - Diagrama de Atividade (Manter Serviços).... 39 Figura 3.17 - Diagrama de Atividade (Deletar Serviços).... 40 Figura 3.18 - Diagrama de Sequência (Manter e Deletar Serviços).... 40 Figura 3.19 - MVC (Manter Serviços).... 41 Figura 3.20 - Diagrama de Atividade (Manter Convênio).... 41 Figura 3.21 - Diagrama de Atividade (Deletar Convênio).... 42 Figura 3.22 - Diagrama de Sequência (Manter e Deletar Convênio).... 42 Figura 3.23 - MVC (Manter Convênio).... 43 Figura 3.24 - Diagrama de Atividade (Agendar Consulta).... 43

Figura 3.25 - Diagrama de Atividade (Re-agendar Consulta).... 44 Figura 3.26 - Diagrama de Atividade (Cancelar Consulta).... 44 Figura 3.27 - Diagrama de Sequência (Manter e Deletar Consulta).... 45 Figura 3.28 - MVC (Manter Consulta).... 46 Figura 3.29 - Diagrama de Atividades (Autorizar Solicitação).... 47 Figura 3.30 - Diagrama de Sequência (Autorizar Solicitação).... 47 Figura 3.31 - MVC (Autorizar Solicitação).... 48 Figura 4.1 - Tela de Login... 49 Figura 4.2 - Tela de Serviços... 50 Figura 4.3 - Adicionar e Alterar Serviço.... 50 Figura 4.4 - Tela de Convênios.... 51 Figura 4.5 - Adicionar e Alterar Convênio.... 51 Figura 4.6 - Tela de Paciente.... 52 Figura 4.7 - Cadastro Paciente.... 52 Figura 4.8 - Alteração de Paciente.... 52 Figura 4.9 - Tela de Profissional.... 53 Figura 4.10 - Cadastro de Profissional.... 53 Figura 4.11 - Alteração de Profissional.... 54 Figura 4.12 - Seleção de Serviços e Convênios.... 54 Figura 4.13 - Dias e horários de um profissional... 54 Figura 4.14 - Tela de Consultas.... 55 Figura 4.15 - Tela de Agendamento.... 55 Figura 4.16 - Agendamento de Consultas... 56 Figura 4.17 - Tela de Consultas Não Autorizadas... 56 Figura 4.18 - Notificação... 57 Figura 4.19 - Tela de Login (aplicativo)... 57 Figura 4.20 - Tela de cadastro (aplicativo)... 58 Figura 4.21 - Dashboard (aplicativo)... 58 Figura 4.22 - Atualizar cadastro (aplicativo)... 59 Figura 4.23 - Tela de Agendamento de Consulta... 59

LISTA DE QUADROS Quadro 2.1 - Usuários do Sistema... 26 Quadro 2.2 - Necessidades e Recursos... 28

LISTA DE ABREVIATURAS E SIGLAS ACID - Atomicidade, Consistência, Isolamento e Durabilidade. ANATEL - Agência Nacional de Telecomunicações. ANSI - American National Standards Institute API - Application Programming Interface ARO - Army Research Office CERN - Organização Européia de Pesquisa Nuclear CSS - Cascading Style Sheets DARPA - Defence Advanced Research Projects Agency GUI - Componentes de Interface de Usuário HTML - HyperText Markup Language HTTP - HyperText Transfer Protocol IDE - Ambiente de Desenvolvimento Integrado IETF - Internet Engineering Task Force JCP - Java Community Process JSF - JavaServer Faces MVC - Modelo, Visão e Controle OHA - Open Handset Alliance OMG - Object Management Group PDE - Plug-in Developmente Environment SDK - Software Development Kit SGBD - Sistema Gerenciador de Banco de Dados SGML - Standard Generalized Markup Language SQL - Linguagem de Pesquisa Estruturada UML - Linguagem de Modelagem Unificada W3C - World Wide Web Consortium

SUMÁRIO INTRODUÇÃO... 14 1 TECNOLOGIAS UTILIZADAS... 16 1.1 JAVA... 16 1.2 ECLIPSE... 16 1.3 JAVASERVER FACES... 17 1.4 PRIMEFACES... 18 1.5 ANDROID... 18 1.6 SQL... 19 1.7 POSTGRESQL... 19 1.8 PL/PGSQL... 20 1.9 UML... 21 1.10 HTML... 22 1.11 CSS... 23 2 ANÁLISE E PROJETO DE SISTEMA... 24 2.1 ANÁLISE DE NEGÓCIO... 24 2.1.1 Instruções do problema... 24 2.1.2 Análise de mercado... 25 2.1.3 Atores envolvidos no processo... 26 2.1.4 Ambiente atual... 26 2.2 VISÃO GERAL DO PRODUTO... 27 2.2.1 Perspectiva do mercado... 27 2.2.2 Características... 27 2.3 CONSIDERAÇÕES FINAIS... 28 3 ANÁLISE... 29 3.1 MÓDULO ADMINISTRADOR (WEB)... 29 3.2 MÓDULO USUÁRIO (MOBILE)... 29 3.3 BANCO DE DADOS... 29 3.3.1 Modelagem Lógica... 30 3.3.2 Modelagem Relacional... 31 3.4 DIAGRAMA DE CLASSE... 32

3.5 DIAGRAMA DE CASO DE USO... 33 3.6 ESPECIFICAÇÕES DE HISTÓRIAS E DIAGRAMAS... 33 3.6.1 Efetuar Login... 34 3.6.2 Manter Paciente... 35 3.6.3 Manter Profissional... 37 3.6.4 Manter Serviços... 39 3.6.5 Manter Convênio... 41 3.6.6 Manter Consulta... 43 3.6.7 Autorizar Solicitação... 47 4 PROTÓTIPO... 49 4.1 INTERFACE DO SISTEMA WEB... 49 4.1.1 Tela de Login... 49 4.1.2 - Tela de Serviços... 49 4.1.3 Tela de Convênios... 50 4.1.4 Tela de Paciente... 51 4.1.5 - Tela de Profissional... 53 4.1.6 Tela de Consulta... 55 4.1.7 - Autorizar Agendamento... 56 4.2 INTERFACE DO APLICATIVO MÓVEL... 57 4.2.1 Tela de Login... 57 CONCLUSÃO... 60 REFERÊNCIAS BIBLIOGRÁFICAS... 61

14 INTRODUÇÃO Os processos internos de uma corporação antes da tecnologia da informação (TI) apresentavam várias dificuldades, como a lentidão na troca de informação entre departamentos, demora na execução de serviços de estoque, administração, contabilidade, além da duplicidade de dados e operações. (BRITO, ANTONIALLI E SANTOS, 1997) Desde a ascensão da internet, o mundo corporativo tem se revolucionado rapidamente a ponto de afirmar que o capitalismo sofreu mudanças desde então, como o surgimento de empresas online inflando o mercado de ações. Essa rede acelerou as relações entre fornecedores, clientes, produtores, administradores e todos os que fazem parte dessa cadeia produtiva. (KENSKI, 2002) Segundo Lecheta (2010) o mercado de celulares está em ascensão. Mais de 3 bilhões de pessoas possuem um aparelho celular, o que representa mais ou menos metade da população mundial. O mercado corporativo também está crescendo, e diversas empresas estão incorporando aplicações móveis a seu cotidiano para agilizar seus negócios. (LECHETA, 2010) De acordo com Brito, Antonialli e Santos (1997), a competitividade entre as empresas vem sofrendo mudanças, e cada vez mais exigindo adaptações rápidas e contínuas do modo de se gerenciar a firma. A informação passa a ser um recurso de estratégia para as empresas. Ela pode gerar as condições necessárias para o alcance dos objetivos, de promover a corporação frente a seus concorrentes que não possuam um nível de informatização equiparado ou superior. Esse trabalho tem como objetivo o desenvolvimento de um sistema web de gestão consultas para consultórios médicos, odontológicos, de terapia, entre outros. O sistema visa otimizar rotinas manuais, evitar extravios de dados, controlar os processos de agendamento de consulta de forma detalhada, manter o controle de cadastros de pacientes e médicos, entre outras funcionalidades. Em paralelo, também será desenvolvido um aplicativo móvel para o sistema operacional Android integrado ao sistema web. Isso fará com que o paciente tenha controle de seu cadastro e consultas pelo smartphone.

15 Com o desenvolvimento do sistema, acredita-se que no crescimento da empresa, visando a melhor prestação de serviço ao cliente a partir das informações contidas no software e de relatórios bem estruturados, que possam servir de base para decisões rápidas e precisas. Para que o sistema web e aplicativo funcionem de acordo com as necessidades da clínica, foram definidas algumas etapas. Primeiramente será feita a análise de requisitos, ou seja, coleta de todos os dados que servirão de alicerce no desenvolvimento do projeto. Em seguida será realizada a análise de processos, é uma fase muito importante, pois toda a arquitetura do sistema será baseado nos diagramas gerados. A próxima etapa consiste no estudo das ferramentas que serão utilizadas no desenvolvimento do sistema. Por fim, são apresentadas as conclusões do trabalho, juntamente com seus resultados.

16 1 TECNOLOGIAS UTILIZADAS Neste capítulo serão abordadas as tecnologias utilizadas para desenvolver o sistema web e o aplicativo Android para gerenciar os consultórios. 1.1 JAVA Em 1991, na Sun Microsystem, foi iniciado o Green Project, o berço da linguagem de programação Java, orientada a objetos. O projeto foi criado por Patrick Naughton, Mike Sheridan, e James Gosling, mas não com o objetivo de desenvolver uma nova linguagem, mas sim de antecipar e planejar o próximo passo do mundo digital. (SOUZA, NARDEN, REHEM, 2010) Em 1995, foi lançada uma nova versão do Oak, uma nova linguagem de programação, que foi rebatizada para Java. A principio foi projetada para se mover por meio das redes de dispositivos como rede e internet. Com isso, aplicações poderiam ser executadas dentro dos browsers, o que promoveu a rápida disseminação da dinâmica da tecnologia Java. (SOUZA, NARDEN, REHEM, 2010) De acordo com Moraes (2009), desde seu lançamento em 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação da história da computação. Em 2003 atingiu a marca de 4 milhões de desenvolvedores de todo o mundo. Hoje é executado em mais de 850 milhões de computadores pessoais e em bilhões de dispositivos, tendo seu ambiente de execução em web browsers, mainframes, sistemas operacionais, celulares, palmtops, cartões inteligentes, entre outros. 1.2 ECLIPSE Segundo Faria et al (2010), o projeto foi inicialmente criado pela IBM em 2001 e suportado por um consórcio de fornecedores de software. O Eclipse é uma plataforma de desenvolvimento de software livre extensível baseada em Java. O Eclipse possui o Plug-in Development Environment (PDE), que permite desenvolver ferramentas que se integram perfeitamente ao seu ambiente, embora muitos

17 usuários utilizam a plataforma como um Ambiente Integrado de Desenvolvimento (IDE). A figura 1.1 ilustra sua interface. Figura 1.1 - Eclipse IDE O Eclipse não se limita apenas a linguagem Java. Estão disponíveis plug-ins que dão suporte para linguagens de programação, como C/C++ e COBOL. Sua estrutura também pode ser utilizada como base para outros aplicativos não relacionados ao desenvolvimento de software. (FARIA et al, 2010) 1.3 JAVASERVER FACES O JavaServer Faces (JSF) surgiu da necessidade de um framework orientado a interface de usuário robusto para aplicações web, como o Swing é para aplicações desktop. Foi criado através do Java Community Process (JCP) por um grupo de líderes em tecnologia, incluindo a Sun Microsystems, Oracle, Borland, entre outros. (PAGANINI, 2010) Na prática, a utilização do JSF torna fácil o desenvolvimento através de componentes de interface de usuário (GUI), pois possibilita a conexão dos componentes a objetos de negócios de forma simplificada. (PAGANINI, 2010)

18 Paganini (2010) explica que o JSF é um framework modelo-visão-controle (MVC) para web e de um modelo de interfaces gráficas baseado em eventos. Como é baseado no padrão MVC, uma das vantagens é a separação entre visualização e regras de negócio. A idéia desse padrão é dividir uma aplicação em três camadas, modelo, visão e controle. O modelo representa os objetos de negócio, além de fornecer ao controlador de acesso aos dados. A visualização é responsável em como os dados serão apresentados para o usuário e encaminhar ações dos usuários para o controlador. Já o controle é responsável por fazer a ligação entre o modelo e a visualização, além de interpretar as ações do usuário e as traduzir para uma operação sobre o modelo, onde são realizadas mudanças para gerar uma visualização apropriada. (PAGANINI, 2010) 1.4 PRIMEFACES O PrimeFaces é uma das várias bibliotecas de componentes disponíveis para construção de aplicações web. Ele oferece um conjunto de componentes, com versões estáveis e referências de uso. (PRIMEFACES, 2010) Segundo Paganini (2011) o PrimeFaces foi um dos primeiros a dar suporte ao JSF 2.0. Além de ser um framework leve, trabalha muito bem com JavaScript. É de fácil uso e não é necessário configurações adicionais. Em seu showcase encontra-se mais de cem componentes que tornaram a aplicação web muito mais agradáveis, além da facilidade de uso. (PAGANINI, 2011) 1.5 ANDROID De acordo com Lecheta (2010), Android é um sistema operacional open source baseado no kernel do Linux para dispositivos portáteis. Pertence ao Google e a Open Handset Alliance (OHA), um grupo formado por empresas do mercado de telefonia de celulares liderados pelo Google. Entre alguns integrantes do grupo, estão a HTC, LG, Motorola, Samsung, Sony Ericsson, Toshiba, Sprint Nextel, China Mobile, T-Mobile, ASUS, Intel, Garmin e muito mais. O Android é a primeira plataforma completamente livre e de código aberto, o que representa grande vantagem para sua evolução, visto que programadores do mundo inteiro poderão contribuir para sua evolução. (LECHETA, 2010.)

19 Lecheta (2010) diz que o Android Software Development Kit (SDK) proporciona ferramentas e chamadas Application Programming Interface (API) na linguagem Java para desenvolvimento de aplicativos. 1.6 SQL Segundo Lima (2012), a Linguagem de Pesquisa Estruturada (SQL) é uma linguagem de consulta a banco de dados, criado na década de 70 pela IBM, com base nos conceitos de álgebra relacional. Foi desenvolvida para padronização dos Sistemas Gerenciadores de Banco de Dados (SGBDs) relacionais existentes. Lima (2012) afirma que em 1986, a American National Standards Institute (ANSI) adaptou e criou um padrão para a linguagem SQL. A importância dessa padronização para os SGBDs, e mais especificamente para quem trabalha com eles é enorme, tendo em vista que é possível criar uma consulta a um banco de dados Oracle, e essa mesma funcione no SQL Server ou no PostgreSQL, entre outros, permitindo que desenvolvedores possam fazer consultas para a maioria dos casos sem precisar conhecer um determinado banco de dados, apenas a linguagem SQL, apesar de que cada SGBD implementa acréscimos na linguagem com o intuito de dar ainda mais poder e consequentemente ganhar vantagens em relação a seus concorrentes. 1.7 POSTGRESQL Em 1986, o professor Michael Stonebraker liderou o projeto Postgres contando com o patrocínio da Defence Advanced Research Projects Agency (DARPA), Army Research Office (ARO) e da National Science Foundation (NSF). Até 1993 o Postgres estava sendo desenvolvido na Universidade de Berkeley. Em 1994, Andrew Yu e Jolly Chen adicionaram um interpretador SQL, renomeando o projeto para Postgres95. (CRUZ, OLIVEIRA, 2007) Cruz e Oliveira (2007) explicam que em agosto de 1896, Marc Fournier, Bruce Momjuan e Vadim B. Mikheev lançaram a primeira versão fora da Universidade de Berkeley, e deram inicio à tarefa de estabilizar o seu código. Em 1996, o projeto foi renomeado para PostgreSQL. A versão 6.0 foi lançada em janeiro de 1997, e desde

20 então, desenvolvedores voluntários de todo o mundo, coordenados pela internet, tem mantido o software e desenvolvido novas funcionalidades. O PostgreSQL é um poderoso Sistema Gerenciador de Banco de Dados (SGBD). Apesar de ter se tornado popular a pouco tempo no Brasil, o projeto está ativo há muito tempo, possuindo uma forte reputação. Esse SGBD funciona na maioria dos sistemas operacionais, além de incorporar totalmente os conceitos de Acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade (ACID), um conceito muito utilizado na ciência da computação para caracterizar uma transação. Sua interface é muito intuitiva, como mostra a figura 1.2. (SMANIOTO, 2007) 1.8 PL/PGSQL Figura 1.2 - IDE PostgreSQL. Fonte: Elaborada pelo autor, 2013. PL/pgSQL é uma linguagem procedural desenvolvida para o SGBD PostgreSQL estendida da linguagem de consulta estruturada (SQL). Os objetivos do projeto eram criar uma linguagem procedural que pudesse ser utilizada para criar procedimentos de funções e gatilhos, adicionar estruturas de controle à SQL, realizar processamentos processos, herdar todos os tipos de dado, funções e

21 operadores definidos pelo usuário, ser definida como confiável pelo servidor, além da facilidade de utilização da ferramenta. (POSTGRESQL, 2005) A linguagem SQL é a que o PostgreSQL utiliza como linguagem de comandos. É portável e fácil de ser aprendida, porém, todas as declarações SQL devem ser executadas individualmente pelo servidor de banco de dados. (POSTGRESQL, 2005) 1.9 UML Scheeren (2009), explica que antes do surgimento da Linguagem de Modelagem Unificada (UML), dezenas de metodologias a desenvolvimento de especificações de análise de projeto orientadas a objeto foram propostas. Isso criou um ambiente caótico sobre vários aspectos. Um deles é que a diversidade de notações propostas nas metodologias de análise e projeto orientado a objeto dificultava quem estava acostumado a uma notação compreender um projeto especificado em outra. O primeiro rascunho de UML divulgado recebeu o nome de Método Unificado e sua versão era numerada como 8. Foi lançado em outubro de 1995 como uma publicação da empresa Rational, tendo Rumbaug e Booch, dois proponentes de metodologias, como autores. Após isso, Jacobson, outro metodologista, juntou-se ao grupo. Em junho de 1996 foi lançada a versão 0.9, que consistia em uma soma à versão 0.8 e que continha a mudança do nome para Linguagem de Modelagem Unificada. (SCHEEREN, 2009) Com o objetivo de tornar a UML um padrão internacional, e não apenas mais uma notação de mais uma empresa, a Rational uniu-se com outras empresas em um consórcio e desenvolveram a versão 1.0. Essa versão foi submetida ao Object Management Group (OMG), uma entidade normalizadora de notação orientada a objetos. (SCHEEREN, 2009) De acordo com Teófilo (2007), a UML é um conjunto de notações, principalmente gráficas, que os métodos de desenvolvimento usam para representar projetos. Seu objetivo é unificar, numa linguagem única, ideias, princípios e notações de vários pesquisadores.

22 1.10 HTML Em 1980 Tim Berners-Lee propôs um projeto baseado no conceito de hipertexto, denominado Enquire, que no início foi desenvolvido na linguagem Pascal. Em 1989, com ajuda de um estudante da Organização Européia de Pesquisa Nuclear (CERN) chamado Robert Cailliau, Tim Berners-Lee conseguiu implementar a primeira comunicação bem sucedida entre um cliente HyperText Transfer Protocol (HTTP) e um servidor através da internet. (WILLIAM, 2012) A primeira versão do HTML foi baseada na linguagem Standard Generalized Markup Language (SGML). O SGML estruturava documentos a partir de tags, e a partir desse conceito, o HTML se estruturou. A maior diferença entre essas duas linguagens de marcação, é que o HTML permite a ligação de uma página à outra. Esse conceito de interligação entre páginas é a base do funcionamento de toda a web. (WILLIAM, 2012) O HTML surgiu em 1990, e durante seus cinco primeiros anos sofreu várias revisões e alterações na sua especificação. Nessa época, seu padrão era controlado pela CERN e Internet Engineering Task Force (IETF). Após 1995, seu padrão passou a ser regularizado pela World Wide Web Consortium (W3C), entidade que regula os padrões web. (WILLIAM, 2012) Segundo Alvarez (2004), HTML é uma linguagem com a qual se definem as páginas web. Trata-se de um conjunto de etiquetas usados para definir a forma de apresentação de um texto ou outros elementos da página, como mostram as figuras 1.3 e 1.4. Figura 1.3 - Código fonte HTML. Fonte: W3Schools, 2013.

23 Figura 1.4 - Resultado. Fonte: W3Schools, 2013. 1.11 CSS Quando o HTML foi criado, não tinha o objetivo de formatar a informação. A medida que a ferramenta foi se popularizando e evoluindo, foram incluídas algumas funcionalidades, como o domínio de controlar algumas aparências para o documento. Isso fez com que o HTML ficasse muito complexo, difícil de entender e manter. Outro problema, era que os browsers tinham diferentes implementações, que dificultava a visualização das páginas, trazendo menos controle na navegação pela web. (EIS, 2006) Em 1994, Hakon Wium Lie propôs a criação do Cascading Style Sheets (CSS). Aceitando a proposta feita por Hakon, Bert Bos começou a trabalhar no projeto. Em 1995 eles apresentaram a proposta e finalmente, o W3C se interessou pelo projeto e resolveu criar uma equipe, liderada por Hakon e Bert Bos. (EIS, 2006) A princípio o CSS foi desenvolvido para habilitar a separação do conteúdo e formato de um documento de apresentação, incluindo elementos como cores, formatos de fontes e layout. Esta separação proporcionou maior flexibilidade e controle de como as características são exibidas. (PEREIRA, 2009) Segundo Pereira (2009), o CSS é uma folha de estilo, composta por camadas e utilizada para definir a apresentação em páginas de internet. Ele define como serão exibidos os elementos contidos no código de uma página.

24 2 ANÁLISE E PROJETO DE SISTEMA Neste capítulo serão apresentados os principais problemas enfrentados por consultórios não informatizados. Tais empecilhos servirão de base para o desenvolvimento do sistema web, a fim de melhorar a administração da clínica. Além disso, será apresentada também uma visão ampla do produto de software e do seu potencial no mercado onde atuará. 2.1 ANÁLISE DE NEGÓCIO Neste tópico serão abordados os principais problemas levantados em entrevista, além de uma breve introdução sobre o mercado alvo em que o software deverá atuar. 2.1.1 Instruções do problema Em entrevista realizada a um consultório oftalmológico localizado no município de Lins, São Paulo, foram levantados os principais problemas que dificultam a realização dos processos básicos da empresa. Os problemas encontrados foram: Cadastro demorado - Esse procedimento é fundamental para o controle da empresa. É realizado na primeira consulta do paciente. O fato da ficha ser preenchida manualmente, torna o processo lento e passível de erros. Localização das fichas - Por mais que as fichas sejam armazenadas de forma organizada, o processo de localização se torna demorado, pois é feita de forma manual. O extravio de fichas ou mesmo o desgaste com o tempo, além de prejudicar o controle de dados da empresa, também faz com que outro longo cadastro seja preenchido em uma próxima visita do cliente. Geração de relatórios - O cenário atual faz da geração de relatórios uma tarefa difícil, tendo em vista que a base de dados pode não ser consistente além de possíveis erros na coleta de informações. Esses problemas implicam na falta de informações sobre os pacientes, na geração de relatórios imprecisos, que possam prejudicar as decisões tomadas pela empresa, na lentidão para realizar

25 processos simples e importantes e também na demora para o atendimento do paciente. A solução proposta desse projeto é a criação de um sistema web que gerencie e otimize os processos de consulta das clínicas, em paralelo a praticidade e comodidade proporcionada pelo aplicativo Android. A figura 2.1 ilustra alguns dos benefícios que pretende-se alcançar com o desenvolvimento do projeto. Figura 2.1 - Principais benefícios da automatização de processos. Fonte: The Delphi Group. 2.1.2 Análise de mercado O projeto visa abranger a área da saúde, como consultórios médicos, odontológicos, terapêuticos, entre outros. O projeto será separado em dois módulos, web e mobile. O sistema web juntamente ao aplicativo móvel visa o desenvolver uma dinâmica interessante ao consultório. Além de manter algumas das rotinas diárias automatizadas, tanto o agendamento, re-agendamento e cancelamento de consultas como os cadastros poderão ser feitos pelo paciente em qualquer lugar ou horário, necessitando apenas de conexão à internet e sistema operacional Android. Com a união dessas duas tecnologias, torna-se mais fácil o gerenciamento de consultas, além de possibilitar o crescimento do número de pacientes, visto que a inovação, praticidade e rapidez podem atrair muitos novos clientes.

26 2.1.3 Atores envolvidos no processo Os principais atores do sistema e aplicativo serão a(o) secretária(o) e o(a) paciente. A secretária(o) operará o sistema, diferente do paciente, que operará somente o aplicativo. O Quadro 1 descreve as responsabilidades que cada ator terá no sistema. Função Descrição Responsabilidades 0Secretária(o) Fornece o primeiro Responsável por: contato com o paciente, desde seu cadastro, até o agendamento da próxima consulta. Manter o cadastro de pacientes Manter o cadastro de serviços Manter o cadastro de convênios Manter o cadastro de agendas Agendar, Reagendar e Cancelar consultas Aceitar as requisições de agendamento, reagendamento Geração de Paciente Recebe o serviço prestado pela empresa. Quadro 2.1 - Usuários do Sistema Fonte: Elaborado pelo autor relatórios Responsáveis pelo: Requisição de agendamento, reagendamento e cancelamento de consultas online Manter cadastro 2.1.4 Ambiente atual A clínica onde foi realizado o levantamento de requisitos está estruturada atualmente com cinco profissionais (dois médicos e três dentistas) e três secretárias. Cada profissional tem a sua sala e é responsável pelo seu estoque de produtos. Dentre os envolvidos, as(os) secretárias(os) atuam diretamente com os clientes gerenciando consultas e zelando pelo bom funcionamento dos processos internos.