UNIVERSIDADE DO SUL DE SANTA CATARINA EDUARDO ORIGE DE BEM MORIANTUM ESTEVAM DE SOUSA DOCTOUCHE: SISTEMA INTEGRADO DE HISTÓRICO MÉDICO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO SUL DE SANTA CATARINA EDUARDO ORIGE DE BEM MORIANTUM ESTEVAM DE SOUSA DOCTOUCHE: SISTEMA INTEGRADO DE HISTÓRICO MÉDICO"

Transcrição

1 UNIVERSIDADE DO SUL DE SANTA CATARINA EDUARDO ORIGE DE BEM MORIANTUM ESTEVAM DE SOUSA DOCTOUCHE: SISTEMA INTEGRADO DE HISTÓRICO MÉDICO Araranguá 2013

2 EDUARDO ORIGE DE BEM MORIANTUM ESTEVAM DE SOUSA DOCTOUCHE: SISTEMA INTEGRADO DE HISTÓRICO MÉDICO Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Ciência da Computação, da Universidade do Sul de Santa Catarina, como requisito parcial para obtenção do título de Bacharel. Orientador: Prof. Samuel de Souza Araranguá 2013

3

4 Dedicatória Eu, Eduardo Orige, dedico este trabalho a meus pais por terem me escolhido. Não me imagino em nenhum outro lugar. Obrigado.

5 Dedicatória Eu, Moriantum Estevam de Sousa, dedico este trabalho a pessoa mais importante da minha vida, aquela sem a qual jamais teria chegado onde estou, a base do que sou e a grande incentivadora dos meus sonhos, minha mãe Selma Estevam.

6 AGRADECIMENTOS Agradecemos ao orientador Samuel Souza pelo apoio e orientações dadas ao rumo de nosso trabalho. Suas colaborações, tanto na parte teórica quanto na parte de implementação, foram de grande valia a todo o trabalho. Um agradecimento também aos demais professores que colaboraram com conselhos e sugestões para a conclusão deste trabalho. Não podemos deixar de agradecer também a nossos familiares. Sem seu apoio nas horas fáceis e difíceis, não chegaríamos até aqui. Agradecemos nossos amigos e pessoas próximas pelo entusiasmo com que receberam nossas ideias e compreenderam nossa ausência durante o desenvolvimento deste trabalho.

7 RESUMO Com o crescimento de dispositivos móveis, a diminuição de grandes desktops e sistemas restritos apenas a um local específico, Sistemas Web estão adquirindo rapidamente novos usuários a cada dia. Essa mobilidade de acesso a documentos e dados de qualquer lugar, seja por um notebook ou um smartphone, atrai profissionais das mais diversas áreas que buscam flexibilidade para gerenciar seus compromissos e a possibilidade trabalhar, sem medo, de qualquer lugar. Um desses profissionais, além de ter que gerenciar sua agenda e ter a possibilidade de trabalhar de qualquer lugar, tem que salvar vidas. O médico. Para que o médico possa executar seu trabalho com excelência, não basta organização, ele precisa conhecer seu paciente. Oferecendo recursos ainda não encontrados em outros sistemas como a Timeline Médica e interação direta do paciente, este Trabalho de Conclusão de Curso apresenta além de uma solução de gerenciamento médicoorganizacional, uma aplicação consistente e eficiente, construída sob os conceitos de uma Aplicação Web Rica de fácil usabilidade para médicos, consultórios, clínicas e hospitais. Palavras chave: Timeline Médica. Gerenciamento Médico-Organizacional. Aplicação Web Rica.

8 ABSTRACT With the growth of the mobile devices, the decrease of great desktops and restricted systems to just a specific place, Web Systems are quickly acquiring new users each day. This mobility of access to documents and information of anywhere, either with a notebook or with a smartphone, brings professional of different areas that seek flexibility to manager their compromises and the possibility of work, without fear, in any place that they want. One of these professionals, besides to have to manage your schedule and work from everywhere, has to save lives. The doctor. To the doctor execute with excellence his work, is not enough just organization, he needs to know his patient. Offering resources that you cannot find in other systems such as the Medical Timeline and the straight interaction with the patient, this monograph shows beyond one solution to the medical-organizational manager, one efficient application, built based on the concepts of one Rich Web Application of easy access for doctors, clinics, offices and hospitals. Keywords: Medical Timeline. Organizational Management Medical. Rich Web Application.

9 LISTA DE FIGURAS Figura 1 - Casos de Uso Figura 2 - Matriz de Rastreabilidade Figura 3 - Diagrama Entidade Relacionamento do Banco de Dados Figura 4 - Diagrama de Classes Figura 5 - Erro Figura 6 - Erro Figura 7 - Erro Figura 8 - Tela de Login Figura 9 - Tela de erro na validação do Login Figura 10 - Tela inicial do Médico Figura 11 - Tela de pesquisa por Médicos Figura 12 - Tela de erro na pesquisa por Médicos Figura 13 - Tela de pesquisa por Pacientes Figura 14 - Inserir Novo Paciente Figura 15 - Termos de Uso Figura 16 - Tela do perfil Médico Figura 17 - Tela alterar perfil Médico Figura 18 - Tela do modal local de trabalho Figura 19 - Tela do modal formação acadêmica Figura 20 - Tela de pesquisa por Secretárias Figura 21 - Tela adicionar nova Secretária Figura 22 - Tela de alterações da Secretária Figura 23 - Tela de confirmação de exclusão de Secretária Figura 24 - Tela de pesquisa com Doenças/CID encontradas Figura 25 - Tela de erro na pesquisa por Doenças/CID Figura 26 - Tela Agenda Médica sem compromissos Figura 27 Tela Adicionar Nova Consulta Figura 28 - Tela Agenda Médica com compromissos Figura 29 Atendimento Figura 30 - Tela Novo Tratamento Figura 31 - Tela Tratamento adicionado Figura 32 - Tela Mensagem Encerramento de Tratamento

10 Figura 33 - Tela Visualizar Tratamento Figura 34 - Fonte: Tela Atendimentos Encerrados Figura 35 Timeline Figura 36 - Tratamentos Figura 37 - Imprimir Prescrição Médica Figura 38 - Tela inicial da Secretária Figura 39 - Agendas Médicas da Secretária Figura 40 - Agenda Médica Figura 41 - Tela Inicial do Paciente Figura 42 - Tela dos Atendimentos do Paciente Figura 43 - Tela de Descrições e dados do Atendimento Figura 44 - Tela do Perfil do Paciente Figura 45 - Tela de Alteração do Perfil do Paciente

11 LISTA DE TABELAS Tabela 1 - Esquema MVC - MTV Tabela 2 - Requisitos Funcionais Tabela 3 - Requisitos Não Funcionais Tabela 4 - Caso de uso: Realizar Login Tabela 5 - Caso de uso: Manter Paciente Tabela 6 - Caso de uso: Manter Agenda Tabela 7 - Caso de uso: Manter Perfil Tabela 8 - Caso de uso: Pesquisar Médicos Tabela 9 - Caso de uso: Realizar Atendimento Tabela 10 - Caso de uso: Manter Tratamentos Tabela 11 - Caso de uso: Solicitar Exames Tabela 12 - Caso de uso: Atualizar Timeline Tabela 13 - Permissões da Aplicação... 84

12 LISTA DE QUADROS Quadro 1 - Código Javascript para requisição AJAX com jquery para Timeline Quadro 2 - Código Python de Url Quadro 3 - Código Python que recebe requisição AJAX Quadro 4 - Código Python de verificação de requisição Quadro 5 - Código Python de resposta da requisição Quadro 6 - Código Python de retorno de má requisição Quadro 7 - Código Python de configuração de permissões... 84

13 LISTA DE SIGLAS AJAX - Asynchronous Javascript and XML ARPANET - Advanced Research Projects Agency Network CERN - European Organization for Nuclear Research CID Classificação Internacional de Doenças CSS - Cascading Style Sheets DOM - Document Object Model ENIAC - Electronic Numerical Integrator and Computer EUA - Estados Unidos da América HAML - HTML Abstraction Markup Language HTML - HyperText Markup Language IBM - International Business Machines INSCRIPT - Indian Script MVC - Model View Controller MTV - Model Template Controller SGBD - Sistema de Gerenciamento de Bancos de Dados SGML - Standard Generalized Markup Language SQL - Structured Query Language UML - Unified Modeling Language W3C - World Wide Web Consortium WWW - Word Wide Web XAML - Extensible Application Markup Language XHTML - Extensible HyperText Markup Language

14 XML - Extensible Markup Language

15 SUMÁRIO 1 INTRODUÇÃO JUSTIFICATIVA OBJETIVOS Objetivo Geral Objetivos Específicos ABRANGÊNCIA METODOLOGIA MEDICINA HISTÓRIA DA MEDICINA NA ANTIGUIDADE HISTÓRIA DA MEDICINA NO RENASCIMENTO HISTÓRIA DA MEDICINA MODERNA Dias Atuais TECNOLOGIA NA MEDICINA TECNOLOGIA HOJE ERRO MÉDICO CONcEITO DE ERRO MÉDICO ERRO NO DIAGNÓSTICO ERRO NO TRATAMENTO E PRESCRIÇÃO DE MEDICAMENTOS BIOÉTICA A HISTÓRIA DA BIOÉTICA PRINCÍPIOS BÁSICOS DA BIOÉTICA RELAÇÃO MÉDICO PACIENTE COMPARTILHAMENTO DE INFORMAÇÕES E ASPECTOS LEGAIS INTERNET O INÍCIO DA INTERNET WWW (WORLD WIDE WEB) NAVEGADORES (BROWSERS) HTML CSS (CASCADING STYLE SHEETS) JAVASCRIPT HTML5 E CSS AJAX... 35

16 5.8.1 Resolução de Problemas com AJAX Utilizando Ajax - Principais Conceitos e Vantagens XML LINGUAGENS DE PROGRAMAÇÃO ALGORITMOS DEFINIÇÃO DE LINGUAGEM DE PROGRAMAÇÃO HISTÓRIA RANKING DAS LINGUAGENS DE PROGRAMAÇÃO PYTHON História do Python Características Gerais Python com Web OUTRAS TECNOLOGIAS E PADRÕES UTILIZADOS NESTE PROJETO Django jquery Model-View-Controller Model-Template-View ENGENHARIA DE SOFTWARE CONCEITO, HISTÓRIA E ABORDAGEM PRÁTICA MODELOS DE PROCESSOS DE SOFTWARE Modelo Cascata Iterativo Incremental Prototipação Modelo Espiral Desenvolvimento Formal de Sistemas Desenvolvimento Orientado a Reuso MODELAGEM DE SISTEMAS DE SOFTWARE UML - Linguagem de Modelagem Unificada AMBIENTE BANCO DE DADOS BANCO DE DADOS RELACIONAL SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS (SGBD) SQL POSTGRESQL (SGBD)... 56

17 9 O SISTEMA DESENVOLVIDO VISÃO GERAL DO SISTEMA MODELO CONCEITUAL Requisitos Funcionais Requisitos Não Funcionais Casos de Uso Descrição dos atores do caso de uso Caso de uso Realizar Login Caso de uso Manter Paciente Caso de uso Manter Agenda Caso de uso Manter Perfil Caso de uso Pesquisar Médicos Caso de uso Realizar Atendimento Caso de uso Manter Tratamentos Caso de uso Solicitar Exames Caso de uso Atualizar Timeline Matriz de Rastreabilidade implementação Implementação da Base de Dados Estrutura do Projeto Implementado Estrutura da Timeline Estrutura de Permissões da Aplicação Páginas de Erro/Falta de Permissão Controle de Versionamento da Aplicação GIT Uso do controle de versões em nosso trabalho Apresentação da Aplicação CONSIDERAÇÕES FINAIS DIFICULDADES ENCONTRADAS SUGESTÕES PARA TRABALHOS FUTUROS REFERÊNCIAS

18 11 1 INTRODUÇÃO Com o aumento do número de clínicas, hospitais e principalmente pacientes, uma grande quantidade de dados é perdida todos os dias. Erros médicos, problemas na hora de um diagnóstico ou erros ao prescrever um medicamento estão ficando cada vez mais comuns nos dias de hoje. Segundo Ítalo (2008 apud MENDES, 2008) [...] a falta de um controle eletrônico dos pacientes e dos prontuários é um exemplo de problema de gestão hospitalar que pode provocar um evento adverso. Enquanto mais e mais médicos e hospitais deixam a informatização de lado, utilizando ainda o modelo da caneta e papel, o setor tecnológico em todas as áreas continua em contínuo avanço. É visível o crescente número de arquivos e dados que enviamos e compartilhamos na rede mundial de computadores, confiando nossas informações a servidores externos para que possamos acessar este conteúdo de qualquer lugar, seja em um celular, tablet ou notebook. Segundo (SOARES, 2011), uma pesquisa realizada pela empresa Cisco constatou que o tráfego na nuvem aumentará 66% anualmente até 2015, passando de 130 exabytes registrados em 2010 para cerca de 1.6 zetabytes. Analisando esse conjunto de problemas e possibilidades, propomos uma solução que ajudará tanto o médico quanto seu paciente. Uma ferramenta que auxilie o médico a organizar sua agenda, proporcionando-lhe mais tempo para uma pesquisa sobre o histórico de seu paciente e quais decisões tomar. 1.1 JUSTIFICATIVA Com o grande avanço das redes sociais, computação em nuvem e dispositivos móveis, tudo que precisamos deve ser acessado com facilidade, segurança e rapidez. Por outro lado, vemos a situação precária em atendimentos feitos por médicos que não tem um acompanhamento com seu paciente e prescrevem diagnósticos, medicamentos e tratamentos, muitas vezes errados. Um diagnóstico que ignora fatores históricos de um paciente torna-se por vezes fatal. Um histórico médico completo e informatizado melhora todos os aspectos de um tratamento e facilita a integração do tratamento ao longo de todo o

19 12 ciclo de atendimento, afirma Porter e Teisberb (2007, p.233). Ainda segundo Porter e Teisberg (2007, p.233), o uso de um histórico médico completo é indispensável para o gerenciamento de risco, a prevenção e o gerenciamento de doenças. Com um sistema informatizado é possível obter as informações de um paciente em momentos críticos, quando ele mesmo está impossibilitado de dar tais informações, as quais podem ser vitais no momento. Alergias a medicamentos, tipo sanguíneo, histórico de doenças, entre outras informações, podem ser obtidas através do sistema, tirando o risco do paciente em estado traumático passar informações errôneas e do médico aplicar uma medicação à qual pode trazer complicações ao paciente. Juntando essa falta de conhecimento do paciente e a má gestão de seu tempo, um médico pode cometer erros graves que afetam a vida de muitas pessoas. Pensando nisso, propomos juntar duas coisas que hoje ainda estão afastadas: medicina e web. Não uma ferramenta web genérica de gerenciamento, mas uma ferramenta específica para o médico, pensando sempre nele e em seu bem estar, não deixando de lado a privacidade de seus pacientes. Uma ferramenta Web na qual o médico não só poderá ver o histórico completo de um paciente, mas também organizar sua agenda, pedir opiniões para outros médicos, consultar clínicas especializadas, ler sobre medicamentos, doenças, e o mais importante, dar diagnósticos seguros para seus pacientes. O médico poderá acessar sua agenda no celular, no tablet ou em seu notebook, a qualquer hora do dia ou da noite e estar sempre atualizado sobre suas próximas consultas, diagnósticos feitos e medicamentos prescritos. Utilizando tecnologias de programação web avançada como Ajax, Javascript, Html5, CSS3, é possível proporcionar tudo isso a pessoa que tem nossas vidas em suas mãos. 1.2 OBJETIVOS Objetivo Geral Implementar uma ferramenta Web voltada à área médica que possibilitará o atendimento integrado do paciente nas mais diversas especialidades.

20 Objetivos Específicos Os objetivos apresentados são: Estudar tópicos de programação avançada como Ajax; Estudar padrões de projeto utilizados em sistemas deste tipo e de redes sociais; Estudar formas de utilização e manutenção de grandes bases de dados; Implementar o sistema Web; Fornecer uma integração com os dispositivos móveis mais utilizados atualmente; 1.3 ABRANGÊNCIA Este projeto será um conjunto de ferramentas web no qual dados de pacientes serão compartilhados entre médicos e especialistas para que possam dar melhores diagnósticos com base no histórico médico, medicamentos utilizados, doenças, tratamentos e consultas feitas pelo paciente. Também será um aplicativo para gestão de consultas do médico, organizando sua agenda, compromissos, podendo proporcionar uma melhor interação entre médicos. Como a maioria das informações médicas devem ser mantidas em sigilo, o paciente não poderá ter acesso ao sistema e alterá-las, pois somente os médicos poderão fazê-lo. O paciente terá acesso as suas informações básicas de cadastro e também poderá acompanhar seus tratamentos, visualizando os diagnósticos médicos e seus atendimentos, bem como acesso a pesquisa de instituições médicas e educacionais, pesquisas por médicos e planos de saúde e também doenças (CID). 1.4 METODOLOGIA Para o desenvolvimento do trabalho de conclusão de curso, as etapas

21 14 seguintes estão definidas: 1. Revisão bibliográfica de programação web avançada; 2. Estudar sobre padrões de projeto Web; 3. Levantamento de requisitos e necessidades médicas; 4. Criação de um layout para a ferramenta apresentada; 5. Escolha da plataforma de desenvolvimento; 6. Modelagem do banco de dados relacional; 7. Implementação da ferramenta Web; 8. Escolha de método de deployment; 9. Implantação da ferramenta para uso.

22 15 2 MEDICINA 2.1 HISTÓRIA DA MEDICINA NA ANTIGUIDADE A medicina não tem e nunca teve uma data de início. Sabemos que vários povos e sociedades utilizavam a medicina de várias maneiras. Povos egípcios, astecas, gregos, entre tantos outros, tiveram um médico, pajé, ou curandeiro, que utilizavam seus próprios métodos para a cura de seus enfermos. Segundo Gordon (1997, p.12) O egípcio Imhotep (c a.c) combinou a conveniência do médico com a arte de construtor de monumentos para o faraó Zoser [...]. Este é o mais antigo registro de uma atuação médica registrada pela história, além de registros de Fu-Hsi, imperador chinês, o imperador Huang Ti (c a.c.). Claro que a medicina aplicada na época não é a que conhecemos atualmente. Deixando mitos de lado, os gregos começaram a enxergar a medicina como algo realmente sério e passaram a estuda-la a fundo. Considerado como o pai da medicina, Hipócrates viveu entre a.c. Ele foi considerado o pai da medicina não porque a inventou, mas sim pelo reconhecimento dos médicos de todos os tempos, da originalidade, da independência e da elevação das vias abertas por ele à Medicina (SOUSA, 1996, p.51). Seu juramento é feito até hoje por todos os médicos formandos ao sair de suas universidades pra prestar residência médica e começar a exercer sua função. Hipócrates também não ficou famoso apenas por ter feito o juramento médico, Como Watt inventou o motor a vapor, Hipócrates inventou a medicina clínica., afirma Gordon. Hipócrates criou métodos revolucionários de diagnósticos e nos deixou a tradição hipocrática: qualquer leigo que diga a um médico como fazer seu trabalho está cometendo uma impertinência, Gordon (1997, p.14). Essa tradição hipocrática, nos dias de hoje, está muito mais presente e com o avanço da tecnologia, transformou-se em algo colossal. Algumas personalidades na medicina surgiram pouco depois de Hipócrates, como Galeno (c d.c.) e Celsus (c. 50 d.c.). A exemplo de como essas personalidades eram importantes, em 1559, Gordon comenta que, o Colégio Real de Medicina de Henrique VIII quase matou um homem de Oxford por duvidar dos métodos de Galeno.

23 16 Muitas inovações médicas foram feitas durante a época de Hipócrates e Galeno, mas outra época também ficou famosa por suas descobertas e inovações: a Renascença. 2.2 HISTÓRIA DA MEDICINA NO RENASCIMENTO A criação de universidades na Europa e a adesão da medicina nessas universidades fora, sem dúvida, vantajosa, pois deste modo era patenteada e reconhecida, afirma Sousa (1996) e grandes avanços puderam ser alcançados em meio ao caos e o temor dos novos cientistas em relação à igreja católica inquisitória da época. Porém, descobertas que incomodavam a igreja ainda sim foram divulgadas e teorias levantadas por Galeno foram quebradas. Andreas Vesalius ( ) foi um dos perseguidos na época por discordar de Galeno e rebater a igreja afirmando que os filhos de Adão não tinham uma costela a menos e, portanto Eva deveria ter vindo de outro lugar, afirma Gordon. Vesalius também produziu o livro De Humani Corporis Fabrica, um dos maiores na área sobre anatomia e muito utilizado nos séculos posteriores. Não somente Vesalius, mas tantos outros como Albrecht Durer, Michelangelo Buonarroti, Paracelso considerado o pai da farmacologia fizeram grandes descobertas para a medicina e que ainda servem de base para a medicina atual. Ao contrário da Idade Média, a Renascença fez muito bem a medicina e produziu grandes avanços em diversas áreas, principalmente na área anatômica e só não foi mais produtiva pela inquisição, o temor à igreja, e a falta de tecnologia da época, afirma Gordon (1997). Somente dois séculos depois o microscópio foi inventado e o estudo de bactérias, vírus, fungos, entre outros micro-organismos, a invenção da biologia, a penicilina, a vacina, entre tantas mais descobertas. 2.3 HISTÓRIA DA MEDICINA MODERNA Já no século XVII, William Harvey trouxe a teoria dos capilares sanguíneos, uma questão ainda delicada para época. Como ainda não possuía um microscópio, sua teoria carecia de uma explanação prática. Pasteur, Koch, Jenner, foram outros cientistas notáveis que fizeram descobertas notáveis e influenciaram a criação de vários segmentos na ciência médica e biológica.

24 17 Com a invenção do microscópio, formas de vida foram descobertas onde ninguém imaginava, comprovando a teoria de Harvey. Segundo Gordon (1997, p.23) O microscópio de Marcello Malpighi ( ), de Bolonha, revelou o que Harvey procurava, mostrando o corpo todo percorrido por capilares minúsculos que canalizavam as artérias para as veias. Então o princípio da célula foi instaurado, e com isso uma leva de novas descobertas sobre infecção por meio de germes, cuidados na hora do parto, teorias biológicas evolucionistas por meio de Darwin foram propostas Dias Atuais Com o avanço da tecnologia, mais e mais campos e descobertas na ciência médica foram feitas. Ainda assim novas doenças como o câncer, a Aids, o vírus da gripe, assolam a humanidade nos dias de hoje e a tecnologia está presente a todo o momento na detecção de enfermidades e prevenção de doenças. 2.4 TECNOLOGIA NA MEDICINA Não se tem conhecimento exato de quando ou onde a tecnologia começou a ser empregada no campo da medicina. É uma condição natural, à medida que as descobertas tecnológicas foram desvendadas, o seu uso na medicina acaba sendo algo inevitável, uma vez que a busca pela melhor vida, pelo viver mais, é algo que o ser humano desde os primórdios sempre procurou para si. Segundo Zevzikovas (2009) A cura das doenças sempre foi um dos grandes desafios da humanidade. Antes do advento da tecnologia e dos conhecimentos científicos, curandeiros, poções e cerimônias místicas tentavam diminuir o sofrimento do homem. Para boa parte doenças hoje em dia há uma cura, deixou de ser utopia para ser então realidade, e no decorrer do tempo mais e mais tratamentos médicos, métodos de diagnósticos, métodos de cirurgias menos invasivas são descobertos. Segundo Goldenstein (2007, p.28) A tecnologia é fruto da moderna medicina. Com o desenvolvimento desta tida medicina moderna, foi se criando uma série de novos instrumentos de trabalhos [...]. O autor ainda relata que havia uma necessidade crescente de diagnosticar enfermidades subcutâneas, porém a tecnologia da época ainda não era capaz de algo desse nível, então teriam que

25 18 desenvolver os outros sentidos, em especial a audição e o tato. Como resposta a barreira imposta acima, em 1761 Auenbrugger propôs que a precursão do corpo do enfermo com leves pancadas com os dedos pode diagnosticar problemas na região do tórax, este método foi aceito por Laennec que, além de utilizar o método de Auenbrugger também passou a aproximar seu ouvido ao tórax dos pacientes com a finalidade de ouvir os ruídos dos pacientes. Ainda mais revolucionário foi o improviso feito de um simples cilindro de papel por este mesmo médico, em 1816 no Hospital Necker da cidade de Paris, nascia então o estetoscópio, invento que revolucionou o diagnóstico no tratamento de doenças do tórax. Muito anterior aos descobrimentos citados acima, por volta de 1590 a 1608 na Holanda, tem-se um dos primeiros indícios do surgimento do microscópio. Era construído por tubos deslizantes e com uma lente em cada uma das extremidades. Invenção criada pelo ótico Zacharias Jansen com o auxílio de seu pai, Hans Lippershey. Mas foi Antonie Van Leeuwenhoek que fez a grande descoberta. ENCYCLOPAEDIA (2000, p.126): Cuidadosamente, com mão firme, o cientista amador segurou um tubo de vidro. Colocou nele uma gota de limo esverdeado, retirado da superfície de um lago, e, com um pouco de cera, prendeu-o à cavilha do pequeno microscópio de lente única. Girando um pequeno parafuso, ele aproximou do tubo sua lente de fabricação caseira até que a imagem ficasse nítida e o conteúdo do tubo entrasse em foco. Suas próprias palavras descrevem o grande momento: Vi grande quantidade de minúsculos animais. O movimento deles dentro d Água era tão rápido, tão variado, ascendente, descendente, em círculos, que olhar aquilo era uma maravilha. Era agosto de Estava nascendo a Microbiologia. Ainda segundo Goldenstein (2007), com os avanços da tecnologia os médicos deixaram um pouco de lado a importância dos relatos dos pacientes, e concentraram maiores esforços nos detalhes dos sintomas obtidos através do corpo. Aconteceu então uma mudança na forma de se clinicar, o paciente deixou de ser tratado com uma pessoa em sofrimento e, começou a ser tratado com o objetivo de investigação cientifica. Por volta do século XIX, inúmeros outros equipamentos médicos foram

26 19 desenvolvidos, tais como o oftalmoscópio, laringoscópio, otoscópio que possibilitaram a análise do corpo vivo do paciente. Mas foi em 1895 que aconteceu o apogeu no sentido de descobertas desses tipos de aparelhos, a invenção do raio-x. Agora era possível tornar realidade o sonho dos médicos que revolucionaram o diagnóstico de tórax, a possibilidade de verdadeiramente ver por dentro do paciente. 2.5 TECNOLOGIA HOJE O crescente e rápido avanço tecnológico presenciado nos dias atuais tem gerado inúmeras novas técnicas e novos produtos com a finalidade de melhorar a qualidade de vida do ser humano. Umas das principais áreas a se beneficiar desses avanços tecnológicos é a medicina, seja pelo simples fato da descoberta de um novo medicamento, ou, por exemplo, o desenvolvimento de uma nova técnica que venha a ser menos invasiva e, portanto mais segura nos tratamentos em prol da saúde humana. Certamente é nesta área que temos o maior conglomerado em números que se referem em tipos de tecnologias, que podem ser tanto na área da robótica, quanto na bioquímica, radiação, microeletrônica, biofísica, bioquímica, etc. Empregadas sempre com objetivo de favorecer o ser humano e, na busca de se viver mais tempo, e com o máximo possível de saúde. Comenta-se que a medicina evoluiu mais nas últimas décadas do que em uma porção de séculos passado, prolongando a expectativa de vida dos indivíduos e aumentando a qualidade de vida destes. Sobre a evolução tecnológica que diz respeito à medicina, apresentamos a passagem de Liberman (2005, p.170): Com o avanço tecnológico e a progresso da Medicina, verificamos nas últimas décadas, tanto na área diagnóstica como na terapêutica, houve um aumento progressivo na média das idades da população em todo o mundo ocidental. Essa evolução foi possível graças as grandes concepções de ideias, fácil acesso a informação e grande nível de criatividade dos pesquisadores, somado ao fato de que agora pesquisadores de todos os países podem trocar informações sem se preocupar com a questão da barreira física, juntamente com uma gama quase

27 20 que ínfima de ferramentas de trabalho, que, antes não se tinha acesso. Para Goldenstein (2007), o fim da Segunda Grande Guerra marca para a medicina o início de uma nova era com importantes desenvolvimentos e conquistas no diagnóstico e tratamento de doenças. O autor também cita algumas das principais conquistas deste período, tais com o desenvolvimento de técnicas de cirurgias cardíacas, transplantes de órgãos, inseminação artificial; em relação ao tratamento da dor e infecções, cita o descobrimento em 1935 das sulfonamidas, grupo de antibióticos sintéticos usados no tratamento de doenças infecciosas, bem como a penicilina; surge então, em 1947 o acelerador linear, que possibilita a radioterapia; surgem em 1948 as lentes intraoculares para o tratamento de catarata; em 1950 o tratamento da tuberculose e se associa a relação do cigarro e o câncer de pulmão; a ideia de tratamento intensivo surge em Copenhagen por volta de 1952, devido uma epidemia de pólio, o microscópio Zeiss indicado para o tratamento de microcirurgias surge em 1954; em 1956 surgem as ressuscitações cardiopulmonares; a endoscopia surge em 1959; em 1960 surge então a pílula anticoncepcional; um pouco mais a diante, por volta de 1973, surge o tomógrafo; em 1978 o primeiro bebê de proveta; em 1979 a angioplastia; em 1984 é descoberto o Helicobacter que é o patógeno responsável pela úlcera péptica; em 1996 surge o uso da tríplice terapia para a AIDS; e em 1998 o Viagra, utilizado no tratamento de impotência. Ainda segundo Goldenstein, como resultado do final da Segunda Grande Guerra há uma ruptura na validação dos métodos da medicina. A medicina tradicional anatomopatológica, que lida com diagnósticos baseados nos exames macroscópicos e microscópicos, dá lugar a biomedicina e que posteriormente sede espaço para a biologia celular e quantificação na clínica. Como relação desse desenvolvimento da medicina, foi estabelecida uma nova relação médico-paciente, na qual o médico está muito mais focado na doença do que no próprio paciente. Mantendo o foco na doença, o médico começa a acreditar que seu paciente tem alguma enfermidade resultante de doença física, invasão por micro-organismo, ou então de algum processo degenerativo, e pensa que o seu único trabalho é apenas encontrar o motivo da doença e trata-la. Segundo Goldenstein (2007, p.31) Com isso, o encontro médico-paciente perde uma certa dimensão humana [...] por não haver uma necessidade médica de se mostrar esse interesse.

28 21 3 ERRO MÉDICO 3.1 CONCEITO DE ERRO MÉDICO O erro médico consiste em uma falha no exercício da profissão que, em síntese, corresponde em falha técnica, falha do ato médico, caracterizada pelo resultado não esperado, seja ele um mau resultado ou um resultado adverso, baseado na omissão ou errônea ação deste profissional. Erro médico para o Direito caracteriza-se pela presença de dano ao paciente submetido a procedimento médico que tenha acontecido pela parte médica imprudência, imperícia ou negligência, com nexo comprovado de causa e efeito. Retirado do Código Civil, o Art. 186 diz o seguinte: Aquele que, por omissão voluntária, negligência ou imprudência, violar direto e causar dano outrem, ainda que exclusivamente moral, comete ato ilícito. Segundo Moraes (2003, p.426): É preciso que estejam presentes, para que se caracterize erro médico: 1. O dano ao doente; 2. a ação do médico; 3. O nexo efetivo de causa e efeito entre o procedimento médico e o dano causado; 4. Uma ou mais das três falhas citadas imperícia, imprudência e negligência. Somente se caracteriza erro médico se o conjunto dos itens acima descritos for cometido junto, a falta de qualquer um deles descaracteriza o erro. Na questão do dano ao paciente em caso de ação ou omissão do médico no exercício da profissão, será atribuído o erro se for comprovado o nexo casual entre o mau resultado para o doente e sua falha ou conjunto sucessivo de falhas. 3.2 ERRO NO DIAGNÓSTICO Num primeiro momento é comum que o diagnóstico seja demasiado genérico, tendo em vista que até hoje pelo menos um terço das doenças catalogadas tem suas causas desconhecidas. Mesmo assim deve ser ressaltado que o médico, em especial o cirurgião não pode errar na conduta, embora que este se baseie apenas em diagnósticos genéricos e diagnósticos de probabilidades estudados em bases de dados. A este propósito, Cordeiro (2011, p.26) afirma: Um primeiro diagnóstico é

29 22 genérico, até que se tenha certeza da origem da doença apresentada pelo paciente. Neste momento o médico trabalha com probabilidades. Difere no decorrer da evolução da doença a conduta do médico, esta depende do acompanhamento da evolução natural doença, e também das respostas dos procedimentos aplicados ao paciente. O fato de o diagnóstico ser genérico, não quer dizer que é impreciso, este apenas toma por base todas as premissas a fim da real descoberta da doença, implicando no tratamento correto e efetivo. Não só pode como deve ser corrigido o diagnóstico a todo o momento, sempre quando possível em tempo real, para que, o desvio de rota seja o menor possível, possibilitando assim um rápido retorno ao caminho correto e trazendo a menor probabilidade de sequelas. Para Cordeiro (2011, p.26) Agindo assim, evita-se um erro grosseiro de diagnóstico que, provavelmente, será difícil de ser apreciado. Nesse caso falta conhecimento técnico ao médico, o que poderá trazer a seu paciente graves consequências. Logo assim o médico em questão responderá por imprudência, pois o erro caracteriza-se pela insistência de errônea conduta, não trazendo bons resultados ou mesmo a cura. Em melhor detalhamento sobre o erro no diagnóstico, segundo o professor Oscar Freire que foi um estudioso do século XX, citado no livro de Medeiros, este tipo de erro divide-se em dois lados: o erro evitável, e o erro inevitável. Segundo Medeiros (2010, p.205) O inevitável é estranho à competência do médico, decorre da falta de recursos, de condições técnicas ou insuficiência da própria medicina e diminui com o progresso. Há também um conceito variado de erro hoje em dia, onde uma doença só pode ser diagnosticada pelo uso de técnicas de difícil acesso a maioria da população, pelo fato de ainda serem caras; é o caso da ressonância magnética. Neste caso segundo Oscar Freire, não se caracteriza erro médico no diagnóstico, e sim a insuficiência dos meios empregados para o efetivo diagnóstico. Em contra partida, os erros evitáveis são evidentemente de responsabilidade direta do médico. 3.3 ERRO NO TRATAMENTO E PRESCRIÇÃO DE MEDICAMENTOS O tratamento é a fase posterior ao diagnóstico, na qual o médico faz uso de diversos meios para conservar a vida humana, amenizar a dor e trazer a cura. É nesta fase também que o médico deverá redobrar os cuidados, pois é aqui que dá a

30 23 execução do diagnóstico, seja ela intervenção por medicamentos ou cirúrgica. O erro no tratamento não se caracteriza apenas pelo erro em uma cirurgia, mas também com relações secundárias que trazem dano ao paciente, um exemplo claro e infelizmente comum, é uma infecção hospitalar provocada pela falta de higiene ou descuido com o material e equipamentos de uso do hospitalar. Para afirmar o contexto acima supracitado, Cordeiro (2011, p.27) afirma: O erro no tratamento sobreviverá tanto de forma direta (por exemplo, erro na execução de uma cirurgia) como, também, de modo indireto, qual sejam as infecções hospitalares, provocadas por problemas de higiene e/ou descuido na utilização de equipamentos. Segundo Rosa (2002, p ) há também outro tipo de erro nesta fase: o erro na prescrição de medicamentos potencialmente perigosos. Foi realizada uma análise durante 30 dias no ano de 2001 em uma farmácia que é referência em Minas Gerais, no total de prescrições de medicamentos potencialmente perigosos. Os pontos importantes levados em consideração para a pesquisa foram: legibilidade, tipo de prescrição, grafia ou caligrafia, nome do paciente, data, identificação de quem fez a prescrição, uso de abreviaturas e a analise do medicamento. Após a apuração convertida em dados estatísticos ficou claro que ainda há muitos erros nas prescrições médicas, principalmente naquelas onde a prescrição ainda é feita manualmente, sendo assim mais suscetível ao erro. No levantamento feito do total de prescrições ficou constatada a maioridade nas prescrições feitas à mão, com o total de 45,7%. Desse total de prescrições manuais, somado as previamente digitadas e as mistas, ficou comprovado que em 33,7% delas ocorreu a falha parcial na tentativa de identificar quem fez a prescrição e em 19,3% dos casos as prescrições estavam pouco ou totalmente ilegíveis. A soma total de medicamentos prescritos chegou a 7.148, um total de erros na descrição desses medicamentos, sendo mais corriqueira a omissão de informação, com 86,5% dos casos. Ainda segundo o autor, foi analisado que a maioria das prescrições continha abreviaturas não padronizadas, o que dificulta o entendimento do farmacêutico na hora da fase final do trato médico. Esta pesquisa mostra a necessidade de um consenso entre médicos e farmacêuticos na construção de meios que padronizem esse processo de prescrição

31 de medicamentos, com a finalidade de diminuir os erros acima encontrados. 24

32 25 4 BIOÉTICA 4.1 A HISTÓRIA DA BIOÉTICA O termo Bioética é um termo relativamente novo criado pelo oncologista Van Resselaer Potter em seu livro Bioethic: Bridge to the Future, de Segundo Sá (2009, p.4), nos primórdios da medicina na Grécia Antiga, Hipócrates já se preocupava com aspectos éticos ao tratar de seus pacientes. O Juramento de Hipócrates, apesar de não ter sido escrito por ele, baseou-se diretamente no conjunto de sua obra Corpus Hippocraticum. O termo foi criado sob forte influência de casos datados da década de 1960: a invenção da hemodiálise em 1961, um artigo do professor Henry Beecher, o primeiro transplante de coração em 1967 e o Caso Tuskegee entre 1932 e 1972, cita Sá. A partir da publicação do livro de Potter e posteriores trabalhos realizados, comitês de ética em pesquisa tornaram-se obrigatórios em práticas científicas e pesquisas realizadas com humanos, assegura Sá. 4.2 PRINCÍPIOS BÁSICOS DA BIOÉTICA O Relatório Final de Belmont, datado de 1978, foi fruto de várias reuniões e quatro anos de trabalho da Comissão Nacional para a Proteção dos Interesses Humanos de Biomédica e Pesquisa Comportamental e trouxe os três princípios básicos da Bioética: beneficência, autonomia e justiça, afirma Sá. O princípio da beneficência impõe ao profissional da saúde que cada procedimento médico seja para beneficiar a qualidade de vida do paciente. É também conhecido que não só seres humanos, mas que também animais não devam ser utilizados em pesquisas ou cirurgias somente para saciar a curiosidade do pesquisador. Tampouco é permitido submeter os pacientes a procedimentos dolorosos sem o objetivo de melhorar sua qualidade de vida. O princípio da autonomia refere-se à capacidade da pessoa se autogovernar, ou seja, o paciente é responsável por seu tratamento podendo consentir ou não sobre o que fazer após uma explicação médica sobre o seu quadro. Com isso a

33 26 relação médico-paciente sofre uma transformação. Agora a autonomia passa para o paciente e ele deve tomar as decisões sobre o que fazer em seguida em seu tratamento, ainda com o dever de proteger a própria vida e saúde, afirma Sgreccia (2002, p. 197). Com essa mudança de relação é imprescindível que haja o consentimento de ambas as partes para que o tratamento não se torne confuso. O princípio da justiça cai sobre toda a intervenção biomédica. Aqui, devem ser avaliados os custos emocionais e financeiros para que a intervenção seja de maior benefício e menor custo. Esse princípio deve ser visto como uma balança que pesa os valores do tratamento e a necessidade de fazê-lo. 4.3 RELAÇÃO MÉDICO PACIENTE No tempo de nossos avós, a relação entre médico e paciente se estreitava, pois era comum a família ter um médico para tudo. Esse médico clinicava qualquer tipo de problema que lhe era permitido e a família não procurava outro médico para obter uma segunda opinião. A opinião deste médico era tida como final para a família e se seguiam todas as suas recomendações. Com o advento da tecnologia, a relação Médico-Paciente tornou-se um pouco superficial, pois muitas vezes o paciente confia mais no computador do que na experiência clinica de um médico, afirma Sá (2009, p. 79). Atualmente, as exigências pela melhor qualidade de serviço de um médico são muito maiores e pacientes podem recorrer a vários médicos para obterem um diagnóstico com quase 100% de exatidão e isso lhes é garantido, segundo o Código de Ética Médica (Cap. 5 Art. 39). Ainda assim, essa relação ainda é forte e o diálogo entre os dois é essencial para o melhor tratamento do paciente e a escolha da melhor decisão a ser tomada pelo médico. Vimos anteriormente, que no princípio de autonomia o paciente deve ter total acesso as informações referentes ao seu tratamento e diagnóstico e o médico deve fornecê-las e esperar o consentimento do paciente para que se inicie um tratamento. Esse princípio será de suma importância para o desenvolvimento de nosso projeto, visando à privacidade e a liberdade do paciente em compartilhar suas informações clínicas a outros médicos.

34 COMPARTILHAMENTO DE INFORMAÇÕES E ASPECTOS LEGAIS Segundo Alho (2005, p. 50), o compartilhamento de informações sobre o quadro de um paciente com outros médicos envolvidos, pode ser essencial para o melhor tratamento do enfermo. A divulgação de informações relacionadas à saúde de um paciente deve ser consentida por ele e somente devem ser acessadas desde que esse acesso vise o melhor atendimento do mesmo. No entanto estas informações não podem ser compartilhadas com pessoas que não os médicos envolvidos em seu tratamento, afirma Alho (2005, p. 51). Segundo Teixeira (2008, p.5), ter uma equipe multidisciplinar, ou seja, profissionais de diversas áreas médicas para tratar de um paciente, trará imensas vantagens ao seu processo de tratamento terapêutico. Porém, apesar das vantagens visíveis do compartilhamento de informações sobre um diagnóstico entre médicos e profissionais da saúde, o paciente tem a liberdade total de querer ou não divulgar essas informações, cabendo ao médico deixá-las privadas para o paciente. O Código de Ética Médica cobre as informações relativas ao paciente, bem como as implicações penais de seu uso bem como os direitos e deveres relativos ao médico. Art. 11 O médico deve manter sigilo quanto às informações confidenciais de que tiver conhecimento no desempenho de suas funções. O mesmo se aplica ao trabalho em empresas, exceto nos casos em que seu silêncio prejudique ou ponha em risco a saúde do trabalhador ou da comunidade. É proibido ao médico: Art Revelar fato de que tenha conhecimento em virtude do exercício de sua profissão, salvo por justa causa, dever legal ou autorização expressa do paciente. Parágrafo único. Permanece essa proibição: a) Mesmo que o fato seja de conhecimento público ou que o paciente tenha falecido.

35 28 b) Quando do depoimento como testemunha. Nesta hipótese o médico comparecerá perante a autoridade e declarará seu impedimento. Art Revelar segredo profissional referente à paciente menor de idade, inclusive a seus pais ou responsáveis legais, desde que o menor tenha capacidade de avaliar seu problema e de conduzir-se por seus próprios meios para solucioná-lo, salvo quando a não revelação possa acarretar danos ao paciente. Art Fazer referência a casos clínicos identificáveis, exibir pacientes ou seus retratos em anúncios profissionais ou na divulgação de assuntos médicos em programas de rádio, televisão ou cinema, e em artigos, entrevistas ou reportagens em jornais, revistas ou outras publicações leigas. Art Revelar informações confidenciais obtidas quando do exame médico de trabalhadores, inclusive por exigência dos dirigentes de empresa ou instituições, salvo se o silêncio puser em risco a saúde dos empregados ou da comunidade. Art Prestar às empresas seguradoras qualquer informação sobre as circunstâncias da morte do paciente seu, além daquelas contidas no próprio atestado de óbito, salvo por expressa autorização do responsável legal ou sucessor. Art Deixar de orientar seus familiares e de zelar para que respeitem o segredo profissional a que estão obrigados por lei. Art Facilitar o manuseio e conhecimento dos prontuários, papeletas e demais folhas de observações médicas sujeitas ao segredo profissional, por pessoas não obrigadas ao mesmo compromisso. Art Deixar de guardar segredo profissional na cobrança de honorários por meio judicial ou extrajudicial.

36 29 Para melhor entender os artigos transcorridos aqui, Teixeira (2008, p.58) cita o magistrado Jurandir Sebastião: O médico não pode dar publicidade sobre fatos pessoais colhidos no exercício da Medicina sem a autorização do paciente, caso a divulgação possa causar a este dano material ou constrangimento. A proibição está prevista nos artigos 102 a 109 do Código de Ética Médica. Óbvio que, se o próprio paciente divulga os fatos, o médico também fica liberado. O profissional médico que não respeitar o sigilo terá implicações penais como prevê o Artigo 153 do Código Penal e pode ser condenado de 1 (um) a 6 (meses) de detenção, ou multa.

37 30 5 INTERNET 5.1 O INÍCIO DA INTERNET Tudo começou com Charles Babbage, no longínquo ano de 1822 quando, por meio de um artigo, Babbage escreveu sobre uma máquina de calcular que fosse programável diferente das que existiam na época. Babbage começou a desenvolver sua proposta, porém o projeto não pôde sair de seu protótipo. Mesmo assim ele criou um novo conceito e a partir de então outros cientistas adotaram a ideia e resolveram passa-la adiante. Mais de cem anos depois, em 1946, o primeiro computador digital eletrônico foi construído e batizado de ENIAC. O ENIAC foi concebido essencialmente para a indústria bélica, em cálculos de balística, por exemplo. Na ideia de Babbage, sua maquina realizava os cálculos mecanicamente, já o ENIAC os cálculos eram feitos digitalmente. Na década de 60, no auge da guerra fria, com o medo de sofrer um ataque nuclear da União Soviética e para manter informações de caráter sigiloso e governamental seguras, o exército americano criou uma Cadeia de Comunicação Distribuída. A ideia era substituir a comunicação ponto a ponto por uma rede interligada por várias linhas telefônicas, caso uma informação fosse transmitida e tivesse problemas em chegar ao seu destino por meio de uma conexão ponto-aponto, a informação seria enviada através de outra linha disponível, criando assim uma estrutura que, segundo Grannel (2009, p.2), mais se assemelhava a uma teia. O governo americano então espalhou estes computadores pelo mundo e deixou que se comunicassem, caso algum computador destes fosse vitima de um ataque, outros computadores receberiam a informação e ainda sim o governo americano se manteria atualizado. Por fim, está rede de computadores foi ficando inútil para uso militar, pois nada tinha acontecido e nenhum ataque tinha ocorrido, e segundo Grannel (2009, p.22), o Pentágono acabou arquivando o projeto, passando esse novo conceito as universidades que puderam desfrutar desta nova tecnologia. Segundo Manzano e Toledo (2008, p.22) Essa rede tornou-se a ARPANET e

38 31 em 1981, algumas universidades e empresas de grande porte puderam utilizá-la para transferir informações entre si. Inicialmente as universidades que faziam uso da ARPANET eram apenas dos EUA (Estados Unidos da América), mas seu uso começou a ser adotado também por diversas universidades ao redor do mundo e a integração dessas redes foi então chamada de Internet. 5.2 WWW (WORLD WIDE WEB) Com toda essa leva de informações entrando na Internet, a integração entre diversas universidades para a divulgação e melhoramento de pesquisas acadêmicas seria fantástico. Mas como pesquisadores poderiam divulgar seus avanços? Como cada um navegaria por essa rede? Um pesquisador do CERN (Organização Europeia para a Pesquisa Nuclear), chamado Tim Berners-Lee propôs o World Wide Web ou WWW. Com o intuito de transformar a experiência dos pesquisadores, Tim determinou que as informações publicadas nesta rede deveriam ser livres, permitindo o acesso sem restrição a esse conteúdo e a publicação de novas pesquisas. Para que o usuário pudesse navegar entre uma infinidade de artigos e pesquisas públicas de maneira rápida e fácil, Tim seguiu conceitos de linguagens de hipertexto como SGML e publicou sua própria linguagem de hipertexto, o HTML. A proposta original que Tim Berners-Lee fez ao CERN anteriormente aqui descritas podem ser visualizadas no endereço do W3, agência que cuida do desenvolvimento e manutenção do HTML e CSS. 5.3 NAVEGADORES (BROWSERS) Para que pesquisadores e cientistas pudessem navegar entre esses documentos, era preciso algo que os interpretasse, entendesse essa nova linguagem desenvolvida por Berners-Lee, de forma limpa e fácil de utilizar. A equipe então desenvolveu o primeiro navegador Web, chamado de WorldWideWeb. Segundo Comer (2007, p.491), um navegador nada mais é que um interpretador e controlador de exibição de documentos.

39 32 Com o avanço mundial da utilização da Web, outros navegadores foram desenvolvidos e hoje é possível escolher entre ter um ou mais navegadores em um mesmo computador. Segundo o W3schools, os navegadores mais utilizados na atualidade são: Google Chrome (43,7%), Firefox (32,8%), Internet Explorer (16,2%), Safari (4.0%) e Opera (2.2%), dados retirados do mês de setembro do ano de 2012, aponta o site w3schools site financiado pela W3C, responsável pelo desenvolvimento e manutenção do HTML, CSS, entre outras linguagens para Web. 5.4 HTML O HTML (Hypertext Markup Language) foi desenvolvido por Tim Berners-Lee especificamente para a apresentação e composição de documentos na Internet. A linguagem foi divulgada primeiramente no ano de 1993, e trouxe grandes avanços em relação sua linguagem pai, o SGML (Standard Generalized Markup Language). No SGML, a marcação era voltada apenas para textos, já no HTML, imagens, áudio, vídeo e animações também passaram a ser reconhecidos, tornando os documentos mais dinâmicos para os usuários. Segundo Manzano e Toledo (2008, p. 28): A programação de um documento baseado na linguagem HTML é muito simples, pois baseia-se somente em códigos comandos especiais) de marcação de texto (tags), não tendo nenhuma complicação lógica, já que o documento é composto somente por linhas de texto e a definição de tags dispostas de forma sequencial. Por se tratar de uma linguagem de marcação, documentos escritos somente em HTML são considerados estáticos, uma vez que não precisam de estrutura lógica de programação, tornando-o ideal para a escrita de documentos web de menor porte, afirmam Manzado e Toledo (2008, p. 28). Além do HTML, estão disponíveis muitas outras linguagens de marcação no mercado. Algumas são: XAML (extensible Application Markup Language), HAML (HTML abstraction markup language), LaTeX, XML (extensible Markup Language), entre outras. Porém a mais utilizada em páginas Web continua sendo o HTML.

40 33 A versão atual do Html é HTML 5, no qual falaremos mais a frente em nosso trabalho porém outras variantes da linguagem também são muito utilizadas, como o XHTML. Para tornar páginas HTML dinâmicas e construir sites, é preciso utilizar não apenas HTML, mas também uma linguagem de programação, bancos de dados, entre outros recursos como o CSS, assunto do próximo item. 5.5 CSS (CASCADING STYLE SHEETS) Conforme vimos no item anterior, somente o uso do HTML nos documentos Web tornava a navegação estática e de certa forma pouco usual. Para tentar amenizar esta forma estática de sites e documentos Web, foi desenvolvida uma linguagem de estilo denominada de CSS. Um documento HTML pode conter uma ou várias folhas de estilo. Essas folhas de estilo são documentos que atribuem cores, posições e efeitos as tags escritas no documento HTML. As CSS podem ser utilizadas também para dar estilo a arquivos XML, por exemplo, de forma muito semelhante ao que faz a páginas HTML. Sua primeira versão foi lançada em 17 de dezembro de 1996, identificado como CSS1, afirmam Manzano e Toledo (2008, p.28). A versão atual do CSS é a versão 3, denominada também de CSS3 e trouxe algumas inovações como estilizações com formas arredondadas, transparência de elementos. A CSS3 foi muito bem aceita graças à chegada do HTML5, que incorpora suas novas funcionalidades, e aos navegadores, que estão se atualizando diariamente para poder interpretar estas funções. 5.6 JAVASCRIPT Javascript é uma linguagem de programação, especificamente uma linguagem de script, e teve sua primeira versão em 1995 desenvolvida por Brendam Eich e suportada primeiramente pelo navegador Netscape Navigator 2.0 e tornou-se padrão de linguagens de script para programas de navegação na Internet, afirmam Manzano e Toledo (2008, p. 30).

41 34 Sua sintaxe se assemelha ao Java e ao C e possuindo estruturas de classe e herança, bem como funções e métodos. Para as instruções Javascript serem utilizadas, basta adicionar uma chamada dentro do arquivo HTML e então as instruções serão lidas e executadas pelo browser, ensina Kent (1997, p. 7). O Javascript é extensivamente utilizado por programadores Web que precisam tornar suas páginas mais dinâmicas. Procedimentos para determinar um evento após o clique do usuário em algum elemento da página Web, para mostrar telas de aviso ao usuário, comunicação com o banco através do Ajax são alguns recursos disponíveis no Javascript, afirma Kent (1997 p. 9). Como é uma linguagem de programação muito utilizada por ser a padrão para navegadores Web, possui algumas variantes como Jscript, ActionScript, InScript, entre outras, explicam Manzano e Toledo (2008, p. 30). Sua última versão é a lançada em 27 de julho de HTML5 E CSS3 Decidimos juntar esses dois assuntos neste pequeno item porque por mais que os dois tenham muitas inovações, ficaria redundante abordar tudo o que falamos até aqui sobre as versões de HTML e CSS. Segundo Pilgrim (2010) HTML4 foi o formato de marcação mais bem sucedido da história e HTML5 tem como base o HTML4 nas suas novas funcionalidades. Tudo o que funcionar em HTML4 poderá ser utilizado em HTML5. Desde 1999 quando foi ao ar a versão 4.01, muita coisa mudou na web. Novas funcionalidades foram inseridas nesta nova versão dentre elas elementos para execução de áudio e vídeo, novos controles de formulários para uma melhor visualização de conteúdo em um smartphone, elemento para desenho 2D, entre outras interessantes funcionalidades. Essas e outras funcionalidades são descritas e podem ser visualizadas no site do W3schools, site que ensina como utilizar as principais tecnologias web e é administrado pela W3Consortium, que mantém e desenvolve o HTML e CSS. Já o CSS3 veio para integrar todas essas novas funcionalidades de HTML5 com novos módulos de animação, efeitos de texto, novos seletores e muito mais. É possível ver como esses e outros módulos funcionam também pelo site do W3Schools. Para usar o CSS3 não é preciso excluir os estilos feitos com a versão anterior da linguagem. Assim como o HTML5, ele aproveita as funcionalidades anteriores e acrescenta novas.

42 35 A cada dia os navegadores estão incorporando esses novos recursos em suas atualizações. Navegadores como Internet Explorer 9, Safari, Firefox, Google Chrome e Opera incorporam muitas, mas não todas as funcionalidades de HTML5 e CSS3, porém a tendência é que daqui a algum tempo todas essas novas funcionalidades estejam incluídas nesses navegadores. Fizemos um pequeno resumo sobre HTML5 e CSS3, pois serão tecnologias que utilizaremos durante todo desenvolvimento do projeto. Trabalharemos de acordo com essas novas normas, trazendo melhor integração entre os usuários e o sistema Web. 5.8 AJAX Resolução de Problemas com AJAX Para entendermos a funcionalidade de Ajax em nossa aplicação primeiro precisamos saber como funcionam as páginas Web sem Ajax. Ao fazermos alguma requisição em um site, por meio de um formulário, por exemplo, a maioria dos sistemas Web processa aquela requisição, envia ao servidor, o servidor a analisa e retorna uma resposta ao navegador que finalmente a imprime em uma nova página. Quando estamos tratando de um pequeno site, como um blog ou um site institucional, isso pode não ter nenhum problema, porém quando chegamos a aplicações mais complicadas como um serviço de , ou uma loja virtual, por exemplo, uma aplicação deste tipo torna-se obsoleta. O usuário é obrigado a esperar por cada interação entre a página e o servidor até ser recolocado em uma nova página, ficando num espécie de limbo até que algo aconteça, e essa demora pode ser crucial para a vida de um aplicativo, alerta Crane (2007, p.15). Segundo Borba (2006), o usuário está procurando utilizar os recursos de seu computador de qualquer lugar do mundo por meio da internet e transformar aplicações desktop em aplicações web pode se tornar um padrão daqui para frente. Analisando essa afirmação de Borba, utilizamos de tudo na Internet sem precisar estar em nosso computador, desde aplicativos de agenda, produção textual, leitura até aplicativos para streaming de música e vídeo. É aí que o Ajax entra, fornecendo a interação que temos em aplicativos desktop a aplicativos Web

43 36 mantendo-os úteis, seguros e de fácil uso Utilizando Ajax - Principais Conceitos e Vantagens Para resolver problemas de interação com usuário como lentidão no uso desses, requisição e resposta assíncrona, utilizaremos o Ajax. Para isso Crane (2007, p.17) fornece os principais conceitos para a construção de aplicações Ajax descritos a seguir nos próximos cinco parágrafos. Segundo Soares (2006), Ajax é o acrônimo de Asynchronous Javascript And XML, porém segundo Soares, Ajax é muito mais que Javascript e XML, é todo um conceito de navegação atualização das páginas e aplicativos Web. Vimos que uma aplicação Web padrão recebe a requisição feita pelo usuário, envia ao servidor, o servidor processa e retorna uma nova página para o usuário. A utilização de Ajax pode ser descrita resumidamente por quatro principais conceitos descritos nos parágrafos abaixo, com base nos conceitos descritos por Crane. O navegador hospeda um aplicativo e não o conteúdo, ou seja, o navegador deve se encarregar de detectar as ações feitas pelo usuário e retornar respostas sem que precise fazer novas requisições ao servidor, isso é feito com o uso de Javascript. O servidor entrega dados, não conteúdo. Quando um usuário utiliza um carrinho de compras, por exemplo, um aplicativo Ajax poderia fazer a comunicação entre a requisição e o servidor trazendo informações sobre o produto sem precisar da atualização da página. Isso poderia ser feito de várias maneiras em Ajax, como o retorno de um fragmento Javascript ou um documento XML. A interação do usuário pode ser continua, pois aplicativos Ajax robusto podem tratar de muitas ações entre cliente e aplicação sem precisar perder tempo recarregando uma página e nem se preocupar com a latência de rede. Programar aplicativos Ajax requer disciplina. Tais aplicativos não são como pequenas funções de alerta Javascript. Aplicativos Ajax devem ser executados do começo ao fim da interação com o usuário e o sistema, sem tornar a navegação mais lenta e gerar um uso inapropriado de memória. Escrever códigos de fácil entendimento e manutenção é primordial e mesmo que sejam um pouco trabalhosos para se desenvolver, o uso dessa tecnologia ajuda a criar aplicativos Web muito mais atraentes.

44 37 Sites como o Google Maps, o Google Search, o Gmail, e quase todos outros aplicativos do Google utilizam Ajax além de outros sites e empresas conhecidas como o Facebook, o Twitter e o Yahoo!, afirma Crane (2007). 5.9 XML XML (Extensible Markup Language), é uma linguagem de marcação abrangente criada em 1996 que combina a flexibilidade e capacidade do SGML e o sucesso na criação de páginas web do HTML, afirma Anderson et al. (2001). A XML não possui tags pré-definidas como o HTML e sua sintaxe é mais rígida, pois um de seus princípios é de ser diretamente usável na internet, afirma Filho (2004). Segundo Crane (2007, p.234), isso se torna útil para o desenvolvimento em aplicações Ajax, pois a parte do servidor processa a requisição e retorna um documento XML de acordo com as informações propostas pelo programador. Apesar de ser utilizada para diversas outras implementações, utilizaremos XML neste projeto somente para o uso de requisições Ajax, porém é importante saber alguns de seus principais conceitos para melhor entendimento. Filho (2004) aponta alguns dos objetivos que devem ser alcançados com o uso desta linguagem: A XML deve ser diretamente usável na internet; Prover suporte para inúmeras aplicações; Programas que processam arquivos XML devem ser fáceis de serem escritos; Um projeto XML deve ser rapidamente preparado; A XML é utilizada por diferentes motivações em diferentes softwares. Cada empresa utiliza XML como quer, por ser feita para ser personalizável, empresas como a Microsoft utilizam arquivos XML em seus programas como o InfoPath e.net, afirma Farias (2001).

45 38 6 LINGUAGENS DE PROGRAMAÇÃO 6.1 ALGORITMOS Cormen et al. (2002, p. 3) define o que é um algoritmo: [...] um algoritmo é qualquer procedimento computacional bem definido que toma algum valou ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída. Para começar a falar sobre linguagens de programação é preciso explanar como funcionam suas instruções. Ainda segundo Cormen (2002), cada software, script, site, sistema, segue instruções escritas por um programador que ao final geram algum resultado, seja para um usuário, para a máquina que está sendo utilizada, ou até mesmo para o próprio programa. Esses softwares são escritos por meio de uma linguagem de programação e podem seguir alguns algoritmos para a resolução de problemas específicos, como problemas de ordenação de dados, por exemplo. A utilização de algoritmos computacionais ultrapassam apenas problemas de ordenação. Os algoritmos são onipresentes no meio computacional e projetos como o Projeto Genoma Humano, a criptografia de dados de usuários de comércios eletrônicos, a Web Semântica, só são possíveis graças o desenvolvimento de algoritmos. Cormen (2002, p.4-5). Por meio desses algoritmos e outras instruções, programadores passam instruções para a máquina esperando que esta faça corretamente o que deve fazer tudo por meio de uma linguagem de programação. 6.2 DEFINIÇÃO DE LINGUAGEM DE PROGRAMAÇÃO Entendendo o que são algoritmos e como são utilizados, uma linguagem de programação funciona para que seja possível a integração entre programador e maquina por meio de instruções e algoritmos.

46 HISTÓRIA Apesar de ser a primeira pessoa a programar no mundo, Ada Lovelace não escreveu uma linguagem de programação de alto nível e sim desenvolveu um algoritmo para o uso da maquina de Charles Babbage. Depois de ter quase todos os seus computadores complexos destruídos na segunda guerra mundial, Konrad Zuse mudou-se para uma região na Bavária alemã com o único computador que o restava, o Z4. Trabalhando sozinho, Zuse começou um projeto no qual o objetivo era desenvolver uma linguagem para expressar instruções computacionais utilizando o Z4. Essa foi sua proposta para dissertação de Ph.D., e a linguagem foi batizada de Plankalkül. Segundo Sebesta (2002, p.50), em seu manuscrito datado de 1945 e só publicado em 1972, Zuse escreveu algoritmos em sua nova linguagem para vários tipos de problema, desde testes de conectividade de determinado gráfico a algoritmos para jogar xadrez. Os computadores disponíveis na década de 40 e no inicio da década de 50 eram bem menos utilizáveis e difíceis de programar do que atualmente. Não havia na época, nenhuma linguagem de programação de alto nível deixando a programação toda em linguagem de máquina, tornando-a propensa a erros, analisa Sebesta (2000, p.51). Apesar de Zuse ter descrito uma linguagem de alto nível já em 1945, sua linguagem só foi publicada mais de 25 anos depois e pouco teve efeito sobre outras que viriam nascer já na década de 50 como o FORTRAN, o ALGOL, ou outras. Porém, mesmo que Zuse tivesse escrito a primeira linguagem de alto nível, o Plankalkül não continha instruções de alto nível como palavras em inglês utilizadas no FORTRAN e interpretas por um compilador. Segundo Louden (2004), compiladores são programas de computador que traduzem linguagens de programação. Compiladores geralmente são utilizados para traduzir uma linguagem de alto nível para código de máquina. Grace Hooper, criador do primeiro compilador que se tem notícia, e sua equipe foram os primeiros a colocar sentenças de alto nível e traduzi-las para linguagem de máquina e utilizá-las em um computador. Graças à equipe de Hooper, as linguagens de programação de alto nível puderam ser desenvolvidas.

47 40 A primeira linguagem de alto nível altamente utilizada foi, segundo Paccitti (1974, p.11), o FORTRAN sendo muito difundido e utilizado no meio computacional. Logo após o FORTRAN muitas outras linguagens de alto nível nasceram e categorias de linguagens foram desenvolvidas, linguagens de imperativas, orientadas a objeto, funcionais e lógicas. 6.4 RANKING DAS LINGUAGENS DE PROGRAMAÇÃO Segundo a empresa TIOBE Software (2012), que mede o índice de adesão mundial das linguagens de programação, a linguagem C é a primeira colocada seguida da linguagem Java e Objective-C. Python aparece apenas na oitava posição. O ranking mostra como Python já é uma linguagem bastante utilizada e difundida mundialmente, com uma grande comunidade e grandes recursos. 6.5 PYTHON História do Python Python é uma linguagem de programação de propósito geral, mas é comumente definida por linguagem de script orientada a objetos, afirmam Lutz e Ascher (2007). Foi lançada pelo holandês Guido van Rossum em 1991 com o nome de Python, fazendo uma homenagem ao grupo de humor Monty Python do qual Guido é fã. Python foi muito influenciada por linguagens como Haskell, ALGOL e também influenciou algumas como Ruby e Javascript. A versão atual do Python é lançada dia 29 de setembro de Características Gerais Mais e mais pessoas utilizam Python em seus programas atualmente porque, segundo Lutz e Ascher (2007, p.29-30), programadores buscam qualidade de software, pois sua sintaxe é muito legível e de fácil entendimento, maior produtividade dos desenvolvedores, pois com sua sintaxe é focada no resultado,

48 41 dando a programas escritos em Python de 2 a 3 vezes menos linhas para escrever do que comparada a linguagens como C++ e Java. Portabilidade, pois como a linguagem é interpretada e dá independência ao desenvolvedor de utilizar seu programa em diferentes plataformas, possui uma vasta biblioteca de suporte também conhecidas por funções built-in que servem de base para as mais diversas operações sem precisar do uso de plug-ins e add-ons para a linguagem tornando-a lenta, entre outras vantagens. É possível desde implementar scripts básicos para um sistema operacional, como Shell Script faz, até construir interfaces gráficas, comunicar com bancos de dados, realizar operações matemáticas complexas, entre outras funcionalidades. Como é uma linguagem interpretada, Python utiliza um compilador que transforma as instruções em código de byte, e esse código é executado pela maquina, indiferente qual seja o sistema operacional que a executa. Isso pode tornala mais lenta para algumas operações, pois não é totalmente compilada para linguagem de maquina assim como a linguagem C, mas ainda sim é realmente rápida. Segundo o site oficial da linguagem Python, empresas como o Google, o Yahoo, a Hewlett-Packard(HP), a IBM, a Seagate, a Industrial Light and Magical, utilizam Python para diversas tarefas desde serviços online a produção de filmes animados. Além de ser fácil de aprender e usar, como afirma Lutz, Python também é gratuito, pois é um software de código-aberto e é possível obter todo o código fonte na internet, altera-lo e usa-lo ao seu gosto Python com Web É possível construir sites e sistemas web inteiros com Python. Por se tratar de uma linguagem muito flexível, como vimos anteriormente, vários frameworks são desenvolvidos para que seja possível trabalhar com esses sistemas web de uma forma mais rápida e prática. Alguns desses frameworks como Web2py e Django, tal qual falaremos mais adiante, ajudam o programador Web a terminar seus objetivos com menos tempo de desenvolvimento.

49 OUTRAS TECNOLOGIAS E PADRÕES UTILIZADOS NESTE PROJETO Django Segundo a Comunidade Brasileira de Django, Django é um framework escrito em Python que estimula o desenvolvimento rápido e limpo de aplicações Web. Primeiramente, um framework é um conjunto de classes cooperativas que implementam os mecanismos que são essenciais para um domínio de problemas específicos., define Horstmann (2007, p. 312). Ainda segundo Horstmann, um framework fornece classes para que um programador as utilize formando subclasses para a que chegue a aplicação final. Django faz exatamente isso. Utilizamos classes fornecidas pelo framework e trabalhamos encima delas com subclasses para poder chegar a um resultado final. Django utiliza o padrão MVC (Model View Controller) de desenvolvimento com alguns ajustes. As Views são chamadas de Templates e os Controllers são chamados de Views. Segundo o F.A.Q (Frequent Asked Questions) do site oficial do framework, DjangoProject (2005), não devemos dar muita importância a isso pois o nome dos arquivos não precisa ser seguido caso a ideia geral esteja correta. Algumas vantagens do uso de Django estão descritas abaixo e foram tiradas do site oficial do projeto Django Project: Mapeador objeto-relacional: a modelagem do banco de dados é feita diretamente de classes no model da aplicação, podendo criar novos bancos de dados ou utilizar um banco de dados legado; Interface de administração automática: é possível utilizar uma interface de administração padrão do framework para manutenção de conteúdo no site, isso poupa tempo no projeto; Sistema de templates: um sistema extensível e de fácil aprendizagem para designers mantendo o design fora da programação; Internacionalização: é possível escrever aplicações Web em diversas línguas sem ter que reescrever todo o código.

50 43 Existem muitas outras vantagens além das descritas acima para se utilizar Django, é por isso que empresas como Pinterest, o Disqus e o Facebook (Instagram), utilizam este framework diariamente. Há um site em que programadores Django cadastram seus últimos aplicativos Web feitos em Django para todos poderem ver onde o framework pode trabalhar. O site se chama Django Sites. A última versão do framework é a e será utilizada na implementação deste projeto jquery jquery é uma rápida e concisa biblioteca Javascript que simplifica o desenvolvimento de ações Javascript para manipulação de eventos, animações, interações Ajax, entre outras funções, segundo o próprio site de desenvolvimento do projeto. Foi criada por John Resig em 2006 como uma alternativa as mais complicadas bibliotecas Javascript lançadas até então, afirma Rutter (2011). Atualmente é mantida pela jquery Foundation que produz outras bibliotecas como o jquery UI e jquery Mobile. Rutter ainda descreve algumas das principais funcionalidades da biblioteca: Eventos de interação que incluem mouse, teclado e usuários. Efeitos como e sumir com elementos da tela, efeitos para que um elemento deslize na tela, entre outras personalizações; É possível fazer com que elementos se mexam através da manipulação do CSS ou com efeitos nativos da biblioteca; Flexibilidade para a criação de novos plug-ins utilizando a biblioteca; Manipulação DOM (Document Object Model) acesso do Javascript a elementos HTML; Manipulação de CSS, entre outras funcionalidades. Empresas como o Google, a Dell, a Mozilla, entre outras, utilizam jquery em suas aplicações, de acordo com o site oficial da biblioteca.

51 44 Porém existem outras bibliotecas Javascript que oferecem diversos recursos parecidos com o jquery. Bibliotecas como o MooTools e o ExtJs também são utilizadas para propósitos parecidos com o que vamos usar neste projeto, porém, por causa da sua flexibilidade, segurança e rapidez, decidimos que jquery será uma das bibliotecas Javascript utilizadas neste trabalho Model-View-Controller O padrão de projeto MVC foi concebido em 1978 para solucionar um problema particular e implementado pela primeira vez na linguagem orientada a objeto Smalltalk. O objetivo principal desse conceito é proporcionar ao usuário a ilusão de acesso direto ao modelo de dados de diferentes pontos de vistas e contextos dentro do mesmo sistema, afirma Reenskaug, criador do conceito. Model-View-Controller não foi o primeiro nome sugerido pelos criadores, que pensaram também em batizar o novo conceito de Thing-Model-View-Editor. Segundo Fowler(2006, p.315) o Model é um objeto que representa a informação sobre aquela aplicação. Não sendo um objeto visual deve conter todos os dados e comportamentos que não serão utilizados na interface do usuário. A View, vista ou ainda visão, é responsável por se comunicar diretamente com o usuário, é a interface do sistema ou a página HTML, por exemplo. A View diz respeito somente à apresentação dos dados e não a manipulação dos mesmos. Quem fica responsável por essa manipulação é o Controller ou Controlador. Ele recebe a requisição do usuário, manipula o Model e fornece as informações necessárias a View para que esta seja atualizada ao usuário. Esse padrão de projeto é muito difundido atualmente e frameworks como Ruby On Rails, TurboGears, Cocoa, utilizam-no Model-Template-View A nomenclatura Model-Template-View é utilizada no Django apenas para

52 45 melhor esclarecimento dos que estão iniciando no framework. Segundo Hourieh(2009), essa terminologia não muda em nada o fato de Django ainda ser um framework MVC. Neste caso a View do padrão MVC torna-se Template e o Controller torna-se View. Ainda segundo o autor, pessoas que trabalharam no passado com MVC podem se confundir e por isso devem manter sempre em mente o padrão MTV do Django. Para esclarecer melhor o assunto, segue abaixo uma tabela demonstrativa para ilustrar as diferentes nomenclaturas: MVC Model View Controller Tabela 1 - Esquema MVC - MTV Fonte: Elaboração dos autores (2013) MTV Model Template View

53 46 7 ENGENHARIA DE SOFTWARE 7.1 CONCEITO, HISTÓRIA E ABORDAGEM PRÁTICA Segundo Sommerville (2011, p.5), software não é somente o produto que fazemos download em um site e executamos, mas também toda a documentação, arquivos de configuração. Um software não significa ter apenas um produto final, por vezes, para se ter um software final é necessário ter vários softwares trabalhando ao mesmo tempo. Para obtermos um software final, mesmo um site ou um sistema online, é preciso um planejamento para que tudo seja bem documentado, para que todos os requisitos do sistema solicitados pelo cliente sejam atendidos, para que o prazo final seja cumprido. Os engenheiros de software devem estar preparados para aplicar as mais diversas teorias, métodos e ferramentas para solucionar problemas com relação ao projeto e o desenvolvimento de software, ainda Sommerville (2011, p. 6). Um desenvolvimento de software tem como principais fases a análise de requisitos, o projeto, a implementação, os testes e a manutenção. Segundo Braude (2005, p. 23), cada fase pode ser definida como: a) Análise de Requisitos: é a parte que deve responder o que a aplicação deve fazer. Aqui, o cliente fala sobre suas necessidades e o engenheiro as analisa para formando os requisitos para o sistema. b) Projeto: é parte que responde como tudo será feito. Após a analise de requisitos é possível determinar quais linguagens de programação serão utilizadas, hardware necessário para a aplicação, planejar as classes que serão desenvolvidas. c) Implementação: aqui o software já começa a ser codificado baseandose nos requisitos e definições feitas pelo engenheiro de software. d) Testes: são feitos testes de entrada de dados e verificação de erros para a posterior implantação do software.

54 47 e) Manutenção: aqui são feitos os reparos e aprimoramentos do sistema. Partindo desse modelo de cinco processos, é possível fazer diferentes abordagens na construção de um software, alternando entre os processos, dependendo dos fatores para a construção do mesmo, afirma Braude (2005, p. 23). Esta é uma base para um processo de software que pode ser seguido por um engenheiro ou não. Diferentes modelos de processo de software podem utilizar um ou mais procedimentos descritos acima, mas não é regra utilizar todos. 7.2 MODELOS DE PROCESSOS DE SOFTWARE Como falamos anteriormente, existem diversos modelos de software e estes são simplesmente uma maneira diferente de seguir aqueles cinco processos de software ou desenvolver seus próprios processos de software. Naturalmente, em sistemas de grande porte, não existe um modelo a ser seguido e o desenvolvimento pode utilizar mais de um estilo de processo, afirma Sommerville (2011). A seguir, falaremos resumidamente sobre os principais modelos de processos de software conhecidos e utilizados atualmente, segundo Sommerville (2011) Modelo Cascata No modelo cascata, utiliza-se todos os cinco fases descritas anteriormente, mas de maneira dependente. Nesta maneira uma fase só pode começar após a anterior ter sido completa. Desta maneira, os requisitos do cliente não poderão ser modificados após o fechamento da fase inicial de levantamento de requisitos, deixando o software um pouco engessado. Segundo Sommerville (2011, p. 39), em um estágio inicial é difícil responder a todos os requisitos do cliente, pois estes requisitos estão sempre se modificando ao decorrer de novas necessidades Iterativo Incremental Nesta abordagem, os clientes identificam suas necessidades em um pequeno

55 48 esboço, e os engenheiros analisam e determinam datas para a entrega das funções mais importantes determinadas pelo cliente. É seguido parcialmente o modelo cascata, mas ao invés de ser o sistema inteiro, são feito módulos separados que integram um sistema só, afirma Sommerville (2011). A cada novo ciclo, novos requisitos e funcionalidades são reconhecidos e mais funcionalidades são desenvolvidas. Sommerville (2011) aponta algumas vantagens claramente visíveis no uso deste método como a interação entre desenvolvedor e cliente para um melhor resultado final, menor risco de fracasso ao fim do projeto, pois se uma iteração fluir mal é só recomeça-la, as funções mais importantes do sistema são mais bem testadas, pois são as primeiras a serem entregues e ao final do projeto já foram testadas várias e várias vezes. Por outro lado, o projeto pode por vezes fugir do escopo inicial devido a grande leva de novos requisitos para o sistema apontados pelo usuário e o projetista deve estar atento a essas novas solicitações, pois podem gerar um custo excessivo ao sistema e possíveis atrasos, afirma Sommerville (2011, p. 45) Prototipação Quando um desenvolvedor não tiver certeza de que seu algoritmo é eficaz para determinado problema ou quando não estiver bem claro como utilizar os requisitos passados pelo cliente, o uso de protótipos pode ser o mais adequado, aconselha Pressman (1995, p. 35). Um protótipo pode ser construído em papel para fazer com que o usuário entenda o que poderá ser feito, pode também ser construído um pequeno software para dar uma interação ao usuário ou disponibilizar outro sistema que tem as mesmas ou parecidas funções que deverão ser melhoradas para o produto final, afirma Pressman (1995, p.35). Alguns problemas podem ocorrer no uso dessa abordagem. Um deles é que o usuário pode tomar um primeiro protótipo como um produto finalizado e começar a utilizar o produto totalmente. Quando a equipe alertar o usuário de que aquele não é o sistema final e deverá ser descartado, o cliente pode não aceitar muito bem e a relação entre ambos pode ficar abalada, afirma Pressman (1995). Por lançar protótipos e deixar o cliente fazer uso deles inadequadamente, o

56 49 desenvolvedor pode querer implementar o protótipo depois de lançado e esquecer dos requisitos primordiais do sistema e quando um novo protótipo for lançado, algumas mudanças antes primordiais, não entrarão. Por fim, por mais que possam ocorrer problemas, a prototipação é eficiente ao se desenvolver um software, desde que o usuário esteja ciente de que os protótipos lançados serão descartados para a implantação de um sistema final completo, afirma Pressman (1995 p ) Modelo Espiral Segundo Pressman (1995, p.38-39), esse modelo foi desenvolvido mesclando as melhores características do modelo Cascata e do modelo de Prototipação, acrescentando a Analise de Riscos como um novo elemento. Nesta abordagem, os processos não são representados como uma sequencia de atividades com retorno a outras atividades, o processo é representado em espiral, e cada loop representa um estágio do processo de software. Segundo Sommerville (2011), cada loop é dividido em quatro setores: a) Definição de objetivos: aqui são definidos os objetivos específicos para o processo e um plano para gerenciamento com analise de riscos e dependendo do risco, é possível planejar estratégias alternativas. b) Avaliação e redução de riscos: cada risco encontrado é analisado detalhadamente e então são tomadas medidas preventivas para garantir a diminuição desse risco. Caso o risco seja de que o requisito seja inadequado, poderão ser feitos protótipos para avaliar o desenvolvimento do software. c) Desenvolvimento e validação: agora é escolhido um modelo de desenvolvimento para o sistema, como iterativo incremental, cascada, prototipação, entre outros. No modelo espiral, há a mistura de vários modelos de desenvolvimento para o sistema. d) Planejamento: após o desenvolvimento e validação estarem

57 50 completos é necessário verificar se o próximo loop deve ser iniciado. Apesar de ser um modelo que torna o desenvolvimento do software mais completo, pode ser difícil convencer clientes de que este método é controlável, pois para que seu desempenho seja eficaz é preciso profissionais experientes para avaliação de riscos, pois se um grande risco não for descoberto, indubitavelmente ocorrerão problemas, afirma Pressman (1995, p.40) Desenvolvimento Formal de Sistemas Esse modelo segue as principais especificações do modelo cascata e seu apelo é para a maior segurança no desenvolvimento da aplicação, afirma Sommerville (2011). Nessa abordagem as especificações de requisitos são redefinidas em uma notação matemática. Depois de definidas, as especificações são refinadas por meio de uma série de transformações para que possam chegar a um programa. A cada etapa, a representação matemática se transforma e no final é possível verificar se o resultado obtido do programa acompanha a trajetória matemática feita durante o processo, afirma Sommerville (2011). O exemplo mais conhecido deste processo de desenvolvimento pode ser encontrado no processo Cleanroom desenvolvido pela IBM. Apesar disso, esse tipo de desenvolvimento não é amplamente utilizado, pois requer técnicos especializados e para a maioria dos sistemas, esse método não oferece vantagens significativas de custo ou qualidade, afirma Sommerville (2011, p. 44) Desenvolvimento Orientado a Reuso Na maioria dos projetos de software, ocorre algum reuso de software, programadores que conhecem projetos ou códigos similares aos exigidos pelos requisitos do sistema, migram esse código para o novo projeto, para um desenvolvimento mais rápido do sistema, afirma Sommerville (2011, p. 38). Como esse é um recurso muito utilizado informalmente no desenvolvimento evolucionário, fez-se necessário criar um novo modelo de processos de software

58 51 para tirar esse método da informalidade. Segundo Sommerville (2011, p.48), esse novo tipo de desenvolvimento segue um padrão lógico utilizado pelos desenvolvedores: a) Especificação de requisitos: O cliente solicita os requisitos e o engenheiro analisa-o e então os passa para a equipe de desenvolvimento; b) Análise de componentes: depois de saber quais são os requisitos solicitados é feito uma análise de componentes para implementar a especificação; c) Modificação de Requisitos: nessa fase os requisitos são modificados para que se ajustem aos componentes encontrados anteriormente; d) Projeto de sistema com reuso: nessa fase a infraestrutura do sistema é projetada ou reutilizada. Caso os componentes reutilizáveis não forem encontrados, um novo software pode ser projetado; e) Desenvolvimento e integração: aqui, o que não pode ser comprado ou reutilizado será desenvolvido e o que estiver disponível para ser reutilizado será integrado ao novo sistema. Esse modelo tem a vantagem de reduzir a quantidade de software a ser desenvolvido e consequentemente reduzir custos e risco, porém pode não atender a todas as necessidades reais dos clientes, alerta Sommerville (2011, p. 48). 7.3 MODELAGEM DE SISTEMAS DE SOFTWARE O que é preciso para construir uma casa para seu cachorro? Certamente não muito mais que pregos, pedaços de madeira e força de vontade. Para construirmos uma casa de cachorro não é preciso um grande planejamento com plantas, maquetes, e outros artefatos. Agora vamos pensar no que é preciso pra construir uma casa de família. Provavelmente mais que somente pregos e madeira. É preciso cuidar do terreno, do material utilizado, da divisão dos cômodos, entre outras coisas. E para construir um edifício? Um planejamento maior, com uma equipe maior para a construção, mais tempo para a entrega final. Agora, falemos de software? Certamente, para codificarmos uma simples página HTML não serão necessários grandes planejamentos, mas e quanto a um

59 52 grande sistema Web como o Facebook? Essa analogia feita por Bezerra (2002, p.3) nos dá a ideia de como é importante a modelar nossos sistemas. Vimos anteriormente como podemos nos organizar para começar o desenvolvimento de um grande software e seus processos de desenvolvimento. É fundamental saber que depois de definidos os modelos de desenvolvimento seja necessário fazer o levantamento de requisitos, analisá-los, e modelar, um sistema inteiro ou apenas uma função, para que os desenvolvedores da equipe possam codificar a requisição e entregar um resultado final satisfatório para tanto para o cliente quanto para a equipe de desenvolvimento. Para a construção de sistemas, não construímos maquetes ou plantas como os engenheiros e arquitetos ao desenvolver uma edificação, podemos utilizar linguagens de modelagem de software e modelar classes, funcionalidades, prever erros e até modelar bancos de dados, antes de começarmos a desenvolver de fato a aplicação. Bezerra (2002, p. 3-4) enumera algumas das razões para se utilizar modelos para construções de sistemas, entre elas: o gerenciamento da complexidade do sistema o qual podemos separar por partes, ou seja, em grandes projetos dividimos os módulos para que estes não percam o devido detalhamento; promover a comunicação entre os envolvidos do projeto; redução dos custos de desenvolvimento, pois com uma modelagem apropriada, o risco de erros será menor e quando houver um erro, certamente será menos custoso, pois já será visto na modelagem do sistema; também é possível prever comportamentos do sistema e é possível experimentar diversas soluções para esse comportamento, antes mesmo de desenvolver a aplicação UML - Linguagem de Modelagem Unificada UML significa Unified Modeling Language. Foi desenvolvida a partir de conceitos de diferentes conhecimentos de modelagem, como OOSE (Object- Oriented Software Engineering), Booch 93 e OMT, afirma Medeiros (2004, p. 9). A UML não é um processo de software e sim uma forma de comunicação entre elas, podendo ser utilizada nos mais diversões padrões de desenvolvimento de software, como modelo cascata e iterativo incremental.

60 53 Com esta linguagem, poderemos modelar todo o sistema antes de começar a codificar a primeira linha de nosso software. A UML provê diversos recursos para o auxílio ao desenvolvimento de software, não veremos todos aqui e sim somente os que utilizaremos no projeto proposto. Segundo Bezerra (2002, p. 10), apenas 20% da UML resolve cerca de 80% dos problemas do dia-a-dia enfrentados por desenvolvedores, projetistas e até clientes. A UML possui um conjunto de três tipos de diagramas que podem ser utilizados na modelagem de sistemas: estruturais, comportamentais e de interação. Os estruturais são: Diagrama de classes; Diagrama de objetos; Diagrama de componentes; Diagrama de instalação; Diagrama de pacotes; Diagrama de estrutura. Os diagramas comportamentais são: Diagrama de Caso de Uso; Diagrama de transição de estados; Diagrama de atividade. Os diagramas de interação são: Diagrama de sequencia; Diagrama de interatividade; Diagrama de colaboração ou comunicação; Diagrama de tempo. O uso da UML deixa livre, projetistas e desenvolvedores do sistema podendo escolher quais diagramas deverão ser utilizados. Como foi afirmado anteriormente por Bezerra (2002), a UML não é um processo de software, portanto o programador pode utilizar livremente recursos que lhe são necessários no momento.

61 54 8 AMBIENTE 8.1 BANCO DE DADOS Segundo Loney e Theriault (2000, p.4), um banco de dados é um conjunto de dados. Fazendo uma pequena analogia, um banco de dados é como um armário de arquivos computadorizados no qual pode se fazer consultas, extrair informações, atualizar documentos e até jogá-los fora, afirma Date (2004, p. 3). Segundo Silva (2001, p. 3), um livro convencional não é considerado um banco de dados, apesar de ser uma grande fonte de conhecimento, pois se obtermos um pequeno trecho do livro em busca de alguma informação o resultado não seria satisfatório, mas um dicionário se encaixaria no perfil de banco de dados, pois é possível consultar uma palavra e receber uma informação sucinta. Quando você faz uma compra com um cartão de crédito, aluga um filme em uma locadora, marca uma consulta ao médico, você fornece informações pessoais que são armazenadas em bancos de dados e que podem ser geridos pelo administrador do cartão, o empresário dono da locadora de filmes ou o médico. Os dados cadastrados em um banco de dados podem ser dos mais variados tipos para os mais variados propósitos. Até mesmo quando estamos consultando um número em uma agenda, por exemplo, estamos efetuando uma consulta a um banco de dados, analisa Silva (2001, p. 3). É possível colocar todos os dados de uma lista telefônica em um computador. Para isso é preciso obter um Sistema de Gerenciamento de Banco de Dados para obter informações, atualizar dados, inserir dados ou excluí-los. Existem diferentes tipos de bancos de dados entre eles os bancos de dados relacionais e os orientados a objeto, por exemplo. Utilizaremos neste trabalho um banco de dados relacional, explicado no próximo item. 8.2 BANCO DE DADOS RELACIONAL Em 1979, Edgar F. Codd e Chris Date refinaram uma ideia de Edgar chamada de Modelo de Dados Relacional e a batizaram de Modelo Relacional Estendido, resume Machado (2001, p. 57). Segundo Silberschatz (1999), o modelo estabeleceu-se como o primeiro

62 55 modelo de dados para aplicações comerciais. Anteriormente, os bancos de dados tinham por base o modelo de rede e o modelo hierárquico que se aproximavam mais da implementação a nível físico se comparado ao modelo relacional, ainda Silberschatz. O modelo proposto por Codd e Date caracteriza-se pelo uso de tabelas formadas por linhas e colunas, como um arquivo no Microsoft Office Excel. Essas tabelas são similares a conjuntos matemáticos aqueles que estudamos durante a infância e podem se relacionar entre si, fazendo intersecções e uniões assim como no teorema matemático. Segundo Alves (2009, p. 26), Codd propôs um conjunto de doze regras ao todo para que um banco de dados se encaixasse no perfil de banco de dados relacional: Regra de informações; Regra de acesso garantido; Tratamento de valores nulos; Catálogo relacional ativo; Inserção, exclusão e alteração em bloco; Linguagem de manipulação de dados abrangente; Independência física dos dados; Independência lógica dos dados; Regra de atualização de visões; Independência de integridade; Independência de distribuição; Regra não subversiva. A ordem das linhas em um banco de dados é irrelevante a não ser em uma consulta, dependendo do tipo de informação que o usuário deseja - tabelas devem ter um nome único em todo o banco de dados, as colunas destas tabelas também possuem nomes, quando há chave primária não existem duas linhas iguais na mesma tabela, entre outros conceitos básicos sobre bancos de dados relacionais que são citados por Machado (2001, p. 57). Esse modelo se estabeleceu fortemente no mercado comercial, como falamos anteriormente, mas há ainda outros tipos de modelos de banco de dados: bancos de dados orientados a objetos, bancos de dados de rede, bancos de dados

63 56 hierárquicos. 8.3 SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS (SGBD) Como falamos no item anterior, para podermos fazer consultas, armazenar os dados e deixa-los seguros, é preciso o uso de um Sistema de Gerenciamento de Bancos de Dados ou SGBD. Segundo Rodriguez (2000, p.281), um SGBD deve permitir o armazenamento, a manutenção, a manipulação e apresentação assegurando a segurança dos dados. Atualmente, uma empresa pode escolher entre diversos sistemas de bancos de dados dos mais diversos tipos relacionais, orientados a objetos, relacionaisobjeto. Para nossa aplicação utilizaremos um SGBD relacional chamado PostgreSQL, mas existem muitos outros SGBD s relacionais no mercado, entre eles: Oracle, SQL Server, MySQL, Firebird, entre outros. 8.4 SQL Quando Codd definiu o modelo de banco de dados relacional, ele propôs o desenvolvimento de uma nova linguagem que manipularia os dados das tabelas de relacionamento. Codd batizou a nova linguagem como DSL/Alpha. Pouco tempo depois de Codd apresentar sua proposta, um grupo de pesquisadores da IBM resolveu construir um protótipo de suas ideias. Esse grupo de pesquisadores criou uma versão mais simplificada da linguagem proposta por Codd e a chamaram de SQUARE. Assim como a linguagem, o nome também passou a ser refinado passando a se chamar SEQUEL e depois SQL. Segundo Beaulieu (2009, p.7), muitas pessoas insistem em dar um acrônimo ao nome da linguagem sugerindo que SQL significa Structured Query Language, mas esse acrônimo não existe e SQL é só uma abreviação de SEQUEL. 8.5 POSTGRESQL (SGBD) O PostgreSQL é um sistema gerenciador de bancos de dados objetorelacional, ou seja, é possível utilizar bancos de dados relacionais e orientados a

64 57 objetos, afirma Neves (2002). O site oficial PostgreSQL (2012), e o site oficial do banco no Brasil PostgreSQLBR (2012), afirmam que, é um sistema de código fonte aberto (software livre) com mais de 15 anos de desenvolvimento e que ficou famoso por sua confiabilidade, flexibilidade - pois executa nos mais diversos sistemas operacionais - e conformidade a padrões. Possui interfaces nativas para muitas linguagens de programação dentre elas Python, Java, C/C++. Muitas empresas de grande porte utilizam o PostgreSQL em suas aplicações, dentre elas a HP (Hewlett-Packard), o Skype, a Red Hat, entre outras. A última versão lançada do sistema é a 9.0 e será utilizada no desenvolvimento deste trabalho.

65 58 9 O SISTEMA DESENVOLVIDO 9.1 VISÃO GERAL DO SISTEMA Logo após o estudo realizado e descrito nos capítulos anteriores, foi desenvolvido um sistema para a plataforma web, onde o médico é o principal usuário desta ferramenta, também há possibilidade de futuras implementações para dispositivos embarcados. Basicamente o funcionamento dessa ferramenta consiste em uma interface simples e funcional, onde o médico realiza suas consultas de seu consultório, de um hospital, ou qualquer outro lugar, agregando assim todas as informações necessárias de seus pacientes num único lugar. O grande diferencial desta aplicação é a possibilidade de acompanhar a evolução do paciente e suas enfermidades de uma forma muito útil e agradável, com a utilização de uma Timeline. Nela consta todas as informações imprescindíveis a respeito dos pacientes, que começa desde a primeira consulta, passando por sintomas, diagnósticos, tipos de medicamentos utilizados, cirurgias realizadas, entre outras. O paciente torna-se usuário do sistema a partir do momento em que a secretária ou o médico fazem seu pré-cadastro no sistema, emitem o termo de uso de informações do paciente, e o paciente assina-o possibilitando assim o início da primeira consulta. Ao realizar o login, o médico tem primeiramente uma tela onde consta a agenda, com a relação dos pacientes com consulta marcada para o dia. Também há possibilidade de iniciar um atendimento mesmo que não previamente cadastrado. Ao clicar no paciente da agenda, ou no iniciar novo atendimento, o sistema leva a tela de atendimento onde ocorrem todas as rotinas do atendimento médico, o médico também seleciona o conteúdo que será exibido na Timeline de forma pública (para todos os médicos), ou apenas na Timeline privada (apenas para este médico). Outra funcionalidade que o sistema oferece é a impressão de prescrição de medicamentos, logo após o retorno ou até mesmo na própria consulta, se necessário o médico tem a possibilidade de prescrever medicamentos e imprimir a prescrição, dessa maneira pode reduzir drasticamente a quantidade de erros na prescrição médica, como foi abordado no capítulo 4 que diz respeito aos erros médicos.

66 59 A seguir, são apresentados os requisitos funcionais e não funcionais da ferramenta, descrevendo o que o sistema deverá fazer para atender as necessidades da problemática. 9.2 MODELO CONCEITUAL Requisitos Funcionais Os requisitos funcionais descrevem as regras de negócio e quais serão as devidas funcionalidades do sistema. RF001 RF002 RF003 RF004 RF005 RF006 RF007 RF008 RF009 RF010 RF011 O sistema deve fornecer login aos atores Médico, Secretária e Paciente. O sistema deve fornecer um painel para cada ator. O sistema deve fornecer a agenda do atendimento para o(s) médico(s) e secretária(s). O médico poderá realizar o atendimento (iniciar, terminar). O médico e a secretária poderão alterar e cadastrar informações do paciente. O médico poderá incluir e definir privacidade das informações na Timeline do paciente. O médico poderá manter as secretárias. O médico prescreverá exames ao paciente. O médico prescreverá medicamentos ao paciente. Os atores poderão alterar suas informações cadastrais. Todos os atores poderão fazer pesquisas na aplicação. Tabela 2 - Requisitos Funcionais Fonte: Elaboração dos autores (2012) Requisitos Não Funcionais Os requisitos não funcionais são as restrições sobre a realização dos requisitos funcionais e as qualidades do sistema. RNF001 O sistema deverá fornecer encriptação dos dados em SSL para

67 60 maior segurança das informações dos usuários. RNF002 O sistema será uma aplicação WEB Rica. RNF003 O sistema deverá manter o usuário informado sobre o status dos serviços. RNF004 O sistema devera prover compatibilidade com dispositivos móveis. Tabela 3 - Requisitos Não Funcionais Fonte: Elaboração dos autores (2012) Casos de Uso Modelo de caso de uso é um diagrama da UML que descreve as interações entre os usuários e o sistema. Os casos de uso têm por objetivo decidir e descrever os requisitos funcionais do sistema, fornecer uma descrição clara e consistente do que o sistema deve fazer. Segue abaixo, o modelo de caso de uso proposto para esse projeto: Figura 1 - Casos de Uso Fonte: Elaboração dos autores (2012) Descrição dos atores do caso de uso

68 61 Os atores dos Casos de Uso representados no sistema são: Médico: representa o médico que será o principal usuário do sistema, o qual manterá sua própria agenda e perfil, pesquisará por médicos, atenderá pacientes, solicitará e agrupará exames, prescreverá medicamentos. Secretária: representa a secretária, a qual poderá realizar o cadastro inicial de um paciente, manter a agenda de atendimentos de um ou vários médicos, alterar suas informações cadastrais e realizar pesquisas na aplicação. Paciente: representa o paciente que após ser atendido pelo médico poderá manter suas informações cadastrais e realizar pesquisas na aplicação Caso de uso Realizar Login Este caso de uso ocorre quando o usuário deseja se conectar ao sistema. A tabela 01 apresenta a descrição detalhada do caso de uso. Nome Identificador Objetivo Ator Realizar Login UC001 Realizar conexão com o sistema e direcionar ator ao seu respectivo painel conforme seu tipo de usuário. Médico, Secretária e Paciente. Precondições Atores deverão estar previamente cadastrados no sistema e Fluxo principal Fluxo alternativo informar seu e senha. 1.1: O sistema recebe os dados do ator e verifica qual tipo de usuário ele pertence. 1.2: O sistema redireciona o ator ao seu respectivo painel. 1a. O ator não tem cadastro. 1: O sistema exibirá uma mensagem de erro informando que não encontrou usuário com o e senha fornecidos. Tabela 4 - Caso de uso: Realizar Login Fonte: Elaboração dos autores (2012)

69 Caso de uso Manter Paciente Este caso de uso ocorre quando o(s) usuário(s) deseja realizar as ações cadastrar, alterar e excluir em relação ao paciente. A tabela 02 apresenta a descrição detalhada do caso de uso. Nome Manter Paciente Identificador UC002 Objetivo Manter o vinculo do paciente com o sistema. Ator Médico, Secretária. Precondições Os atores deverão ter efetuado login no sistema. - Cadastrar 2.1: O ator deverá coletar os dados necessários para o cadastro do paciente. 2.2: O ator informa os dados do paciente ao sistema. 2.3: O sistema gera o Termo de Uso de Informações do Paciente. 2.4: O paciente assina o termo. Fluxo 2.5: O ator arquiva o termo assinado. principal 2.6: O ator finaliza o cadastro do paciente. - Alterar 2.7: O ator deverá selecionar o paciente. 2.8: O ator deverá clicar no link Alterar Perfil. 2.9: O ator deve alterar os campos que deseja. 2.10: O ator deve clicar no botão Salvar Alterações. 2.11: O sistema mostra o perfil já alterado. - Excluir 2.12: O ator seleciona o paciente. 2.13: O ator clica no botão Excluir Paciente. 2.14: O sistema questiona ao ator a confirmação da exclusão do paciente.

70 63 Fluxo alternativo 2.15: O ator confirma a exclusão. 2.16: O sistema gera o alerta da exclusão. 4a: Paciente não assina o termo. 1: O cadastro não pode ser concluído. 7a: O paciente não tem cadastro no sistema. 1: Retornar ao passo a: O ator não confirma a exclusão. 1: Sistema redireciona ao perfil do paciente. Tabela 5 - Caso de uso: Manter Paciente Fonte: Elaboração dos autores (2012) Caso de uso Manter Agenda Este caso de uso ocorre quando o(s) usuário(s) deseja realizar as ações cadastrar, alterar e excluir em relação à agenda do médico. A tabela 03 apresenta a descrição detalhada do caso de uso. Nome Manter Agenda Identificador UC003 Objetivo Fornecer ao médico uma relação de atendimentos e horários disponíveis em sua agenda. Ator Médico, Secretária Precondições Os atores deverão ter efetuado login no sistema. - Cadastrar 3.1: O ator deve clicar no botão Nova Consulta. 3.2: O ator deve informar os dados para a nova consulta. 3.3: O ator clica em Salvar para criar agendamento. 3.4: O sistema redireciona o ator a agenda mostrando-a atualizada. Fluxo principal - Alterar 3.5: Ator deve selecionar a consulta na agenda. 3.6: Ator deverá informar os novos dados da consulta. 3.7: Ator deve clicar em Salvar Alterações para confirmar as alterações.

71 64 3.8: O sistema redireciona o ator a agenda mostrando-a atualizada. Fluxo alternativo - Excluir 3.9: O ator seleciona a consulta que deseja excluir. 3.10: O ator clica em Excluir 3.11: O sistema pede a confirmação da exclusão. 3.12: O ator confirma a exclusão. 3.13: O sistema gera o alerta da exclusão. 3.14: O sistema mostra a agenda atualizada. 5a: Consulta não existe. 1: Ator poderá voltar à etapa 3.1 9a: Consulta não existe. 1: Ator poderá voltar à etapa a: Ator não confirma exclusão 1: Sistema volta à página de Agenda. Tabela 6 - Caso de uso: Manter Agenda Fonte: Elaboração dos autores (2012) Caso de uso Manter Perfil Este caso de uso ocorre quando o(s) usuário(s) deseja realizar as alterações necessárias do seu próprio perfil. A tabela 04 apresenta a descrição detalhada do caso de uso. Nome Manter Perfil Identificador UC004 Objetivo Manter os dados dos atores atualizados junto ao sistema. Ator Médico, Secretária, Paciente. Precondições O ator deve ter efetuado o login no sistema. 4.1: O ator deve selecionar o perfil que deseja atualizar. 4.2: O ator clica em Alterar Perfil Fluxo 4.3: Ator modifica os campos necessários principal 4.4: Ator clica em Salvar Alterações 4.5: Sistema exibe mensagem de sucesso na alteração e

72 65 Fluxo alternativo mostra o perfil atualizado. 1a: Atores Médico ou Secretária não encontram perfil de Paciente. 1: Os atores poderão voltar ao passo 2.1 do Caso de Uso 002 para Cadastrar um Paciente. Tabela 7 - Caso de uso: Manter Perfil Fonte: Elaboração dos autores (2012) Caso de uso Pesquisar Médicos Este caso de uso ocorre quando o(s) usuário(s) deseja pesquisar por médicos cadastrados no sistema. A tabela 05 apresenta a descrição detalhada do caso de uso. Nome Identificador Objetivo Ator Pesquisar Médicos UC005 Pesquisar os médicos que utilizam o sistema fornecendo seus dados gerais para um possível contato. Médico, Secretária, Paciente. Precondições Os atores deverão ter efetuado login no sistema. Fluxo principal Fluxo alternativo 5.1: Ator clica no link Médicos. 5.2: O ator seleciona o tipo de pesquisa. 5.3: O ator informa os dados necessários para a pesquisa. 5.4: O sistema mostra a lista de médicos encontrados de acordo com o que o ator especificou. 5.5: Ator seleciona um médico para visualizar o perfil. 4a: Sistema não encontra nenhum médico. 1: Sistema informa o usuário de que não encontrou nenhum médico, conforme os dados informados. 2: Sistema solicita ao usuário que refina sua busca. Tabela 8 - Caso de uso: Pesquisar Médicos Fonte: Elaboração dos autores (2012) Caso de uso Realizar Atendimento Este caso de uso ocorre quando o usuário realiza o atendimento do paciente.

73 66 A tabela 07 apresenta a descrição detalhada do caso de uso. Nome Realizar Atendimento Identificador UC007 Objetivo Médico realiza o atendimento do paciente. Ator Médico Precondições O médico deve estar autenticado no sistema e o paciente já deve ser cadastrado no sistema. - Consulta sem paciente 7.1: O médico inicia uma nova consulta 7.2: Médico seleciona o paciente que deseja realizar a consulta 7.3: Médico deve seguir etapa 7.5 Fluxo principal Fluxo alternativo - Consulta Agendada Previamente 7.4: Seleciona uma consulta previamente agendada. 7.5: O médico fornece os dados da consulta. 7.6: Médico realiza rotinas de atendimento. 7.7: Médico seleciona os dados públicos e privados que serão mostrados na Timeline do paciente. 7.8: Médico encerra consulta. 7.9: Sistema informa os dados do atendimento 7.10: Médico seleciona o que será impresso 7.11: Médico imprime a assina documento. 7.12: Sistema lança na Timeline do paciente os novos dados. 7.13: Sistema redireciona ator para sua Agenda. 2a: Paciente não possui cadastro no sistema 1: Médico deverá seguir para a etapa a: Médico não seleciona quais dados serão privados. 1: Sistema entende que todos os dados fornecidos são públicos na Timeline do paciente. Tabela 9 - Caso de uso: Realizar Atendimento Fonte: Elaboração dos autores (2012) Caso de uso Manter Tratamentos

74 67 Este caso de uso ocorre quando o usuário ao realizar o atendimento do paciente, deseja manter o(s) tratamento(s) deste. A tabela 08 apresenta a descrição detalhada do caso de uso. Nome Manter Tratamentos Identificador UC008 Objetivo Acompanhar evolução de tratamentos relacionados à enfermidade do paciente. Ator Médico 1: O ator deve estar autenticado no sistema Precondições 2: O ator deve estar com um atendimento em aberto. 3: Paciente já deve ser cadastrado no sistema. - Novo tratamento 8.1: Médico inicia um novo tratamento. 8.2: Médico fornece os dados para novo tratamento. 8.3: Sistema retorna ao atendimento com os dados do tratamento. 8.4: Médico encerra atendimento. 8.5: Sistema lança na Timeline do paciente os novos dados. 8.6: Sistema retorna a agenda. Fluxo principal - Alterar tratamento 8.7: Médico clica no Tratamento desejado. 8.8: Sistema mostra as informações do tratamento. 8.9: Médico modifica as informações necessárias. 8.10: Médico salva as modificações do tratamento. 8.11: Fluxo retorna para etapa Excluir Tratamento 8.12: Médico clica no ícone de Exclusão de tratamento. 8.13: Sistema pede ao Médico a confirmação de exclusão. 8.14: Médico confirma exclusão. 8.15: Fluxo retorna a 8.3.

75 68 Fluxo alternativo - Encerrar Tratamento 8.17: Médico seleciona o botão de encerrar tratamento. 8.18: Sistema pede confirmação de encerramento. 8.19: Médico confirma encerramento. 8.10: Fluxo retorna a etapa a: Médico não salva alterações do tratamento. 1: Sistema retorna ao Atendimento. 2: Fluxo retorna a etapa a: Médico não confirma exclusão de tratamento. 1: Sistema retorna ao Atendimento. 2: Fluxo retorna a etapa a: Médico não confirma encerramento de tratamento. 1: Sistema retorna ao Atendimento. 2: Fluxo retorna a etapa 8.4 Tabela 10 - Caso de uso: Manter Tratamentos Fonte: Elaboração dos autores (2012) Caso de uso Solicitar Exames Este caso de uso ocorre quando o usuário ao realizar o atendimento do paciente, deseja solicitar exames a este. A tabela 09 apresenta a descrição detalhada do caso de uso. Nome Solicitar Exames Identificador UC009 Objetivo Requerer ao paciente exames para uma próxima consulta ou retorno. Ator Médico 1: O ator deve estar autenticado no sistema Precondições 2: O ator deve estar com um atendimento em aberto. 3: Paciente já deve ser cadastrado no sistema. Fluxo 9.1: Médico seleciona um exame ou um grupo de exames. principal 9.2: Médico confirma os exames selecionados. 9.3: Sistema retorna a tela de atendimento com os exames selecionados.

76 69 Fluxo alternativo 9.4: Médico encerra atendimento. 9.5: Sistema lança na Timeline do paciente os novos dados. 9.6: Sistema retorna a agenda. 1a: Médico não encontra exame. 1: Sistema fornece um novo campo chamado Outros Exames. 2: Médico preenche o novo campo. 3: Fluxo retorna a etapa 9.2 Tabela 11 - Caso de uso: Solicitar Exames Fonte: Elaboração dos autores (2012) Caso de uso Atualizar Timeline Este caso de uso ocorre quando o usuário finaliza o atendimento, é uma ação automática, pois não depende do usuário para ser realizada. A tabela 10 apresenta a descrição detalhada do caso de uso. Nome Identificador Objetivo Ator Precondições Fluxo principal Fluxo alternativo Atualizar Timeline UC010 Inserir os novos dados de cada atendimento feito pelo paciente a fim de manter seu histórico atualizado para auxiliar médicos na melhor compreensão dos problemas relacionados ao paciente. Sistema 1: O ator deve estar autenticado no sistema 2: Paciente já deve ser cadastrado no sistema. 3: O ator Médico deve encerrar o atendimento. 10.1: Sistema recolhe todas as informações do atendimento 10.2: Sistema lança na Timeline do paciente os novos dados atualizados. Tabela 12 - Caso de uso: Atualizar Timeline Fonte: Elaboração dos autores (2012) Matriz de Rastreabilidade

77 70 A Matriz de Rastreabilidade tem como foco principal fazer um mapeamento dos requisitos funcionais e casos de uso da aplicação, tornando possível a visualização geral da mesma, facilitando o entendimento dos possíveis impactos gerados nas mudanças efetuadas no decorrer do desenvolvimento. Figura 2 - Matriz de Rastreabilidade Fonte: Elaboração dos autores (2013) 9.3 IMPLEMENTAÇÃO Neste item serão abordadas as questões técnicas do desenvolvimento e a descrição do sistema desenvolvido Implementação da Base de Dados O Sistema Gerenciador de Bancos de Dados SGBD escolhido foi o PostgreSQL por ser de fácil implementação, altamente escalável, tem boa desempenho principalmente aliado com bom hardware, por ser multi-plataforma e por ser um software de código aberto que traz condições de produzir um software de qualidade, mesmo sem tem que pagar uma licença. Para ser possível armazenar os dados da aplicação, e organizar as tabelas foi criado

78 71 um schema com o nome de DocTouche. Figura 3 - Diagrama Entidade Relacionamento do Banco de Dados Fonte: Elaboração dos autores (2013) Estrutura do Projeto Implementado O Django segue uma estrutura bem definida de arquivos. Em cada projeto Django existem pequenos projetos chamados de aplicativos ou módulos.

79 72 Cada aplicativo tem a seguinte estrutura inicial: init.py models.py tests.py urls.py views.py init.py modulo que mostra ao Python que aquele diretório é um módulo e permite acesso de outros módulos Python externos. models.py modulo que contém a parte do Model do MTV. Responsável por toda a comunicação abstrata com o banco de dados. tests.py modulo responsável pela parte de testes do aplicativo. urls.py modulo responsável por gerenciar a parte de urls do aplicativo. views.py modulo que faz a ponte entre o Model e o Template. Aqui estão os principais métodos do projeto e sua logica de negócio. Outros arquivos também podem ser encontrados na estrutura, como: forms.py responsável pela construção de formulários de preenchimento dos usuários. backends.py responsável pela autenticação de usuários. Vale ressaltar que em nosso projeto, dentro do modulo DocTouche estão as configurações com banco de dados e deployment além de arquivos específicos para envio de s e formatação de padrões de datas ao longo do projeto. A parte visual do projeto localiza-se no diretório templates e são separados por seus respectivos aplicativos. Assim como os templates, todos os códigos Javascript, Css e outros arquivos estáticos, ficam no diretório mystatic.

80 73 Abaixo segue a estrutura completa do projeto: agenda init.py forms.py models.py tests.py urls.py views.py base init.py forms.py model_address.py model_common.py model_institution.py model_office.py models.py templatetags init.py salute.py tests.py urls.py views.py doctor init.py models.py tests.py views.py DocTouche init.py formats.py send .py settings init.py

81 74 base.py local.py production.py urls.py wsgi.py login init.py backends.py forms.py models.py tests.py urls.py views.py manage.py medical_session init.py forms.py models.py tests.py urls.py views.py mystatic css font img js layout patient init.py forms.py models.py tests.py urls.py views.py

82 75 search init.py models.py tests.py urls.py views.py secretary init.py forms.py models.py tests.py urls.py views.py system init.py models.py tests.py views.py templates agenda base login medical_session patient search secretary system theprofile tpl.base-intern.html tpl.base.html tpl.maintenance.html theprofile

83 76 Para melhor ilustrar a estrutura da aplicação, podemos visualizar na figura abaixo o diagrama de Classes UML. Figura 4 - Diagrama de Classes Fonte: Elaboração dos autores (2013)

84 Estrutura da Timeline A Timeline Médica foi idealizada para que o médico consiga de forma rápida e fácil conhecer o histórico médico de seu paciente sem ter que procurar arquivos empoeirados, fazendo ligações para outros médicos ou depender apenas da memoria, por vezes fraca, do paciente. Dessa forma, a Timeline consiste em reunir dados de diferentes aplicações, como Agenda, Doenças, Tratamentos, em um só lugar, de maneira organizada e de fácil leitura. Na pesquisa por uma Timeline que se encaixasse com esses nossos objetivos, encontramos algumas soluções, porém a que se adequou melhor propósito do projeto foi a jquery Vertical Timeline, uma colaboração entre as empresas Balance Media e WNYC/John Keefe. O projeto está disponível no link < https://github.com/minnpost/jquery-vertical-timeline> Como o projeto é open source, podemos alterar seu código fonte de acordo com nossas necessidades. Para entender melhor o funcionamento da Timeline Médica é preciso explicar passo a passo como é feito seu desenvolvimento. Tudo começa com a requisição Ajax com jquery para a url responsável por gerar os dados da Timeline. No arquivo templates/tpl.patient.profile.html é possível encontrar as seguintes linhas: var timeline_url="/patient/timeline/?patient_id={{ patient.id }}&" + $(this).val(); $.getjson(timeline_url, function(data) { $('.Timeline').verticalTimeline({ data: data, width: '100%', defaultexpansion: 'collapsed' }); }); Quadro 1 - Código Javascript para requisição AJAX com jquery para Timeline Fonte: Elaboração dos autores (2013) Na primeira linha podemos verificar existe uma variável chamada timeline_url. Nessa variável são armazenados o a url responsável e o código do

85 78 paciente que se deseja ter acesso ao histórico, no caso, o parâmetro patient_id. Na terceira linha é requisitada uma resposta em JSON com os valores passados e uma função é iniciada para receber esses valores. Dentro desta função, a Timeline então é construída, baseando-se na resposta recebida pela View. Essa é somente a parte do Template. Quem responde com os dados corretamente é uma função View na aplicação patient. Porém, para ter acesso a essa função, é preciso ter uma url válida. Essa url deve estar dentro do modulo urls.py em /patient/urls.py. Na oitava linha deste modulo, podemos encontrar a seguinte informação: url(r'^timeline/$','timeline', name="timeline") Quadro 2 - Código Python de Url Fonte: Elaboração dos autores (2013) Acima temos uma url com expressões regulares utilizadas no Django. O primeiro parâmetro do método url é a url. A url em questão é /patient/timeline/, pois por estar na aplicação patient e por outras configurações omitidas aqui, tem essa estrutura. O parâmetro seguinte é o método que será chamado quando essa url for acessada, ou seja, o método timeline. O terceiro parâmetro é o nome comum ao Django para ser chamado em diferentes partes do projeto, também Timeline. Segue abaixo algumas partes relevantes raise_exception=true) def Timeline(request): Quadro 3 - Código Python que recebe requisição AJAX Fonte: Elaboração dos autores (2013) Na primeira linha observamos um decorator Python. Este decorator explicita a necessidade do usuário estar autenticado no sistema para ter acesso à função. Na segunda linha, outro decorator agora explicitando a necessidade do usuário ter permissão para requisitar a função e caso a não tenha, uma exceção é executada. Finalmente, na terceira linha, a declaração da função Timeline, que recebe um

86 79 parâmetro chamado request, ou seja, requisição. Por padrão, todos os métodos de uma View devem conter esse primeiro parâmetro. if request.method == "GET" and request.is_ajax(): q = request.get.dict() patient_id = q[u"patient_id"] agenda = Agenda.objects.filter(patient_id=patient_id).order_by("date") Quadro 4 - Código Python de verificação de requisição Fonte: Elaboração dos autores (2013) Já na primeira linha vemos uma condição if. Ela é de fácil entendimento. Se a requisição for um método GET e ao mesmo tempo feita em Ajax são armazenados os dados para uma consulta a agenda, na quinta linha. Toda View deve receber uma requisição (request) e retornar uma resposta (response). Caso tudo ocorra bem no processamento dos dados, a seguinte linha é executada: return HttpResponse(simplejson.dumps(list_json)) Quadro 5 - Código Python de resposta da requisição Fonte: Elaboração dos autores (2013) Ela responde com um JSON dos dados filtrados no banco de dados. Caso ocorra algum erro, a View ainda assim responde, porém com um erro: return HttpResponseBadRequest() Quadro 6 - Código Python de retorno de má requisição Fonte: Elaboração dos autores (2013) A Timeline Médica também aceita filtros de procura requisitados pelo médico, porem outros filtros serão incorporados em trabalhos futuros, dando maior suporte ao médico e precisão em sua pesquisa.

87 Estrutura de Permissões da Aplicação Contando com 3 (três) atores ativos no sistema, um sistema de permissões robusto é um requisito mínimo para o sistema. Utilizando o sistema de autenticação do Django para melhor gerenciar a permissão desses grupos, configuramos as seguintes permissões para cada grupo de usuários: PERMISSÃO Médico Secretária Paciente Pode adicionar permissões Pode alterar permissões Pode excluir permissões Pode adicionar grupos Pode alterar grupos Pode excluir grupos Pode adicionar usuários X - - Pode alterar usuários X - - Pode excluir usuários X - - Pode adicionar content_type Pode alterar content_type Pode excluir content_type Pode adicionar session Pode alterar session Pode excluir session Pode adicionar site Pode alterar site Pode excluir site Pode adicionar log entry Pode alterar log entry Pode excluir log entry Pode adicionar migration history - - -

88 81 Pode alterar migration history Pode excluir migration history Pode adicionar compromisso na agenda X X - Pode alterar um compromisso na agenda X X - Pode excluir um compromisso na agenda X X - Pode visualizar compromissos da agenda X X - Pode adicionar tarefas X X - Pode alterar tarefas X X - Pode excluir tarefas X X - Pode adicionar um título médico X - - Pode alterar um título médico X - - Pode excluir um título médico X - - Pode pesquisar por títulos médicos X - - Pode visualizar um título médico X - - Pode adicionar um médico Pode alterar dados de um médico X - - Pode excluir um médico Pode pesquisar por médicos X X X Pode visualizar o perfil de um médico X X X Pode adicionar um local de trabalho médico X - - Pode alterar um local de trabalho médico X - - Pode excluir um local de trabalho médico X - - Pode pesquisar por locais de trabalho de um médico X X X Pode visualizar um local de trabalho de um médico X X X Pode adicionar uma formação médica X - - Pode alterar uma formação médica X - - Pode excluir uma formação médica X - - Pode pesquisar por formações médicas X - - Pode visualizar a formações médicas X - X Pode adicionar uma função médica X - - Pode alterar uma função médica X - - Pode excluir uma função médica X - - Pode pesquisar por funções médicas X - - Pode visualizar uma função médica X - -

89 82 Pode adicionar um tratamento X - - Pode alterar um tratamento X - - Pode excluir um tratamento X - - Pode visualizar um tratamento realizado X - X Pode visualizar o histórico de um tratamento realizado X - X Pode finalizar um tratamento em andamento X - - Pode fazer requisição Ajax para conseguir dados de um tratamento X - X Pode adicionar um atendimento médico X X - Pode alterar um atendimento médico X X - Pode excluir um atendimento médico X X - Pode procurar por um atendimento médico X X - Pode visualizar um atendimento médico X X X Pode adicionar um convênio médico X - - Pode alterar um convênio médico Pode excluir um convênio médico Pode pesquisar por convênios médicos X X X Pode visualizar detalhes de um convênio médico X X X Pode adicionar uma doença Pode alterar uma doença Pode excluir uma doença Pode pesquisar por doenças X - X Pode visualizar detalhes de doenças X - X Pode adicionar um medicamento Pode alterar um medicamento Pode excluir um medicamento Pode pesquisar por medicamentos X - X Pode visualizar detalhes de medicamentos X - X Pode adicionar um paciente X X - Pode alterar um paciente X X X Pode excluir um paciente Pode pesquisar por pacientes X X - Pode visualizar o perfil de um paciente X X X Pode fazer uma requisição e visualizar a Timeline de um X - X

90 83 paciente Pode adicionar uma secretária X - - Pode alterar uma secretária X X - Pode excluir uma secretária X - - Pode pesquisar por secretárias X X - Pode visualizar perfil de uma secretária X X - Pode adicionar uma pessoa(person) X X - Pode alterar uma pessoa(person) X X - Pode excluir uma pessoa(person) X X - Pode adicionar um país Pode alterar um país Pode excluir um país Pode adicionar um estado Pode alterar um estado Pode remover um estado Pode adicionar uma cidade Pode alterar uma cidade Pode excluir uma cidade Pode adicionar um endereço X X - Pode alterar um endereço X X X Pode excluir um endereço X X - Pode adicionar uma instituição X - - Pode alterar uma instituição X - - Pode excluir uma instituição Pode adicionar um local de trabalho(office) X - - Pode alterar um local de trabalho(office) X - - Pode excluir um local de trabalho(office) Pode adicionar dias da semana Pode alterar dias da semana Pode excluir dias da semana Pode escolher entre agendas médicas - X - Pode visualizar a agenda do paciente - - X Pode visualizar página de tratamentos de um paciente X - X Pode imprimir um tratamento X - -

91 84 Pode procurar por instituições X X X Pode visualizar página da instituição X X X Pode procurar por locais de trabalho X X X Pode visualizar página de um local de trabalho X X X Pode procurar planos médicos X X X Tabela 13 - Permissões da Aplicação Fonte: Elaboração dos autores (2013) Os itens marcados com um X significam que são permitidos pelo sistema. Essas permissões são adicionadas às funções nas suas Views respectivas. Por exemplo, os usuários no grupo Secretária e Médico poderão adicionar eventos a agendas. A secretária na agenda de um médico e o médico em sua própria agenda. Podemos verificar como são configuradas essas permissões nas Views no código abaixo: from django.contrib.auth.decorators import raise_exception=true) def agenda_add(... ): Quadro 7 - Código Python de configuração de permissões Fonte: Elaboração dos autores (2013) Na primeira linha, importamos os decorators necessários para a configuração das permissões para esta função. Na segunda linha, o exige que o usuário esteja autenticado no sistema. Caso ele não esteja autenticado, será redirecionado para a página de login do sistema. Na terceira linha o recebe o primeiro parâmetro, o qual é colocado o codename da permissão e em seguida a permissão para invocar uma página de erro de permissão caso o usuário não tenha permissão. Na quarta linha apenas a declaração da função responsável por atualizar o Template Páginas de Erro/Falta de Permissão Erros são muito comuns em todos os sistemas e devem ser tratados.

92 85 Mantendo o conceito de beleza do sistema, cada erro HTTP tem sua própria página e mensagem de erro, esclarecendo o usuário do ocorrido. Erro 403 O usuário tem comunicação com o servidor, porém não tem permissão de acessar aquele local. Figura 5 - Erro 403 Fonte: Elaboração dos autores (2013) Erro 404 O usuário tem comunicação com o servidor, mas o sistema não encontra a página requisitada.

93 86 Figura 6 - Erro 404 Fonte: Elaboração dos autores (2013) Erro 500 lógico. Ocorre um erro interno do servidor que pode ocorrer por problema físico ou

94 87 Figura 7 - Erro 500 Fonte: Elaboração dos autores (2013) Controle de Versionamento da Aplicação Um sistema de controle de versões registra as mudanças feitas em um ou vários arquivos ao longo do tempo possibilitando ao usuário recuperar estas alterações por versões especificas de determinado arquivo. Existem diversos sistemas de controle de versão no Mercado atualmente, entre eles o Bazaar, o Mercurial, o CVS, SVN, entre outros. Neste projeto, utilizamos um sistema de controle de versão chamado GIT GIT O GIT nasceu da frustração da comunidade que desenvolvia o kernel do Linux em relação ao seu sistema de versionamento, o BitKeeper. Membros da comunidade decidiram criar seu próprio sistema de controle de versões, e encabeçados pelo criador do Linux, Linux Torvalds, desenvolveram um sistema ideal para seu ambiente que posteriormente começou a ser utilizado por uma grande quantidade de desenvolvedores. Atualmente o Git é muito utilizado em projetos dos mais diversos tipos e

95 88 possui uma grande comunidade. Sites como Github e Bitbucket permitem que um usuário faça upload de seu repositório de código fontes e o utilize de qualquer lugar pela Web. Mais informações sobre GIT e outros sistemas de controle de versão podem ser encontrados no site oficial do GIT <http://git-scm.com/> Uso do controle de versões em nosso trabalho Ao longo de todo o desenvolvimento do projeto, utilizamos o controle de versões para manter nosso código organizado e seguro. Até a entrega deste trabalho, foram feitas 95 (noventa e cinco) versões do sistema até chegar a entregue neste trabalho, a versão 1.0. Para podermos desenvolver o projeto em colaboração, colocamos todo o código em um servidor online chamado Bitbucket. Assim, podemos ver o que foi e o que está sendo desenvolvido Apresentação da Aplicação Neste item será apresentada a interface gráfica da aplicação desenvolvida, bem como as suas funcionalidades. A figura 7 mostra a tela de Login, que possui os campos Usuário e Senha, e o botão OK para acessar a aplicação.

96 89 Figura 8 - Tela de Login Fonte: Elaboração dos autores (2013) A aplicação verifica se Usuário e Senha são encontrados na Base de Dados e também o tipo de Usuário, caso não seja possível encontra-los é retornado a seguinte mensagem apresentada na tela a seguir da próxima página.

97 90 Figura 9 - Tela de erro na validação do Login Fonte: Elaboração dos autores (2013) Caso os dados forem validados corretamente na tela de Login, apresentada na figura 9, a aplicação exibirá a tela inicial do respectivo Usuário, representada na próxima página pela tela inicial do Médico.

98 91 Figura 10 - Tela inicial do Médico Fonte: Elaboração dos autores (2013) Quando autenticado na aplicação, o Médico poderá fazer pesquisas por outros médicos cadastrados na aplicação, para tal função o ator deverá clicar no link Médicos como ilustrado na figura 11.

99 92 Figura 11 - Tela de pesquisa por Médicos Fonte: Elaboração dos autores (2013) Dependendo do termo pesquisado ou se o Médico requisitado na pesquisa não for encontrado na base de dados, uma mensagem é exibida na tela informando que não foi encontrado nenhum Médico com o termo informado, como pode ser visto na figura 12.

100 93 Figura 12 - Tela de erro na pesquisa por Médicos Fonte: Elaboração dos autores (2013) Também podem ser feitas pesquisas por pacientes cadastrados no sistema, clicando no link Pacientes a aplicação exibe uma lista paginada com todos os pacientes encontrados com o termo informado (figura 13).

101 94 Figura 13 - Tela de pesquisa por Pacientes Fonte: Elaboração dos autores (2013) Ao clicar no link + os atores Médico e Secretária poderão adicionar um novo Paciente informando todos os dados pertinentes do novo Paciente (figura 14).

102 95 Figura 14 - Inserir Novo Paciente Fonte: Elaboração dos autores (2013) Ao clicar no botão Salvar a aplicação exibe os termos de uso que é requisito básico para um Paciente se tornar usuário, o ator Médico ou Secretária pode cancelar o cadastro, ou clicar no botão Aceitar e Imprimir os termos de Uso (figura 15).

103 96 Figura 15 - Termos de Uso Fonte: Elaboração dos autores (2013) Como pode ser visto na figura 16 a aplicação também dispõe de um módulo gerencial, onde o médico poderá visualizar o seu próprio perfil e alterar suas próprias informações, bem como manter as suas secretárias.

104 97 Figura 16 - Tela do perfil Médico Fonte: Elaboração dos autores (2013) Quando há necessidade de alterar as informações do seu perfil, o Médico deverá clicar no botão Editar, que o levará para a tela de alterações ilustrada na figura 17.

105 98 Figura 17 - Tela alterar perfil Médico Fonte: Elaboração dos autores (2013) Quando o Médico for alterar ou inserir um novo local de trabalho, é aberto um modal, que é uma janela feita em Javascript que escurece o conteúdo da aplicação deixando em evidencia a janela principal, assim torna mais fácil edição dos dados, o Médico informa os novos dados e clica no botão Salvar Mudanças (figura 18).

106 99 Figura 18 - Tela do modal local de trabalho Fonte: Elaboração dos autores (2013) Também é possível adicionar ou alterar as formações acadêmicas, referente ao Médico, quando o ator clica no botão + na área Educação, novamente é exibido um modal requisitando os dados para preencher o formulário, como pode ser visto na figura 19.

107 100 Figura 19 - Tela do modal formação acadêmica Fonte: Elaboração dos autores (2013) Também está inserido no módulo gerencial o controle de secretárias, onde é possível pesquisar secretárias dos seus respectivos locais de trabalho, caso o Médico adicione um novo local de trabalho no seu perfil, automaticamente todas as secretárias deste local ficaram visíveis para este médico (figura 20).

108 101 Figura 20 - Tela de pesquisa por Secretárias Fonte: Elaboração dos autores (2013) Caso não existam secretárias cadastradas no seu local de trabalho, será possível que o médico adicione novas secretárias informando, dados pessoais da secretária, endereço, dados para contato e também vínculos empregatícios, que são os locais de trabalho de uma secretária (figura 21).

109 102 Figura 21 - Tela adicionar nova Secretária Fonte: Elaboração dos autores (2013) Se houver necessidade de alterar as informações das secretárias, o Médico poderá fazê-las clicando diretamente no perfil da secretária, assim informa os novos dados, e clica no botão Salvar.

110 103 Figura 22 - Tela de alterações da Secretária Fonte: Elaboração dos autores (2013) Caso haja necessidade de excluir alguma secretária, será exibida uma mensagem para a confirmação da exclusão da mesma, como é apresentada na figura 23.

111 104 Figura 23 - Tela de confirmação de exclusão de Secretária Fonte: Elaboração dos autores (2013) No módulo Pesquisas foram adicionadas facilidades para os Médicos, no menu Doenças/CID foi implementado uma pesquisa na base de dados interna da aplicação, onde o usuário poderá fazer as consultas por descrição ou código CID-10 da respectiva doença. Esta funcionalidade facilita o dia a dia do atendimento do Médico, pois este não precisará buscar estas informações fora da aplicação. A base de dados implementada foi obtida do Centro Brasileiro de Classificações de Doenças. 1 Quando é efetuada a busca por descrição ou por CID da doença, e é retornada uma resposta positiva, a aplicação exibe uma mensagem com a quantidade de doenças encontradas, o título e a descrição de cada doença, com paginação no Html para ficar mais bem disposto na tela (figura 24). 1 Disponível em: <http://www.datasus.gov.br/cid10/v2008/cid10.htm> e <http://hygeia.fsp.usp.br/~cbcd/>.

112 105 Figura 24 - Tela de pesquisa com Doenças/CID encontradas Fonte: Elaboração dos autores (2013) Caso não seja possível encontrar o termo desejado, a aplicação retorna uma mensagem de erro, informando que não foi possível encontrar a doença ou a descrição informada (figura 25).

113 106 Figura 25 - Tela de erro na pesquisa por Doenças/CID Fonte: Elaboração dos autores (2013) No módulo Organize-se se encontra a Agenda do Médico, é nela que poderão ser vistos todos os compromissos do Médico, também é também é onde se inicia um Atendimento. Caso não possua nenhuma Consulta marcada para o dia, será apresentada uma mensagem com um link para cadastrar um novo compromisso na Agenda (figura 26).

114 107 Figura 26 - Tela Agenda Médica sem compromissos Fonte: Elaboração dos autores (2013) Ao clicar no link para adicionar um novo compromisso, a aplicação levara o Usuário pra o cadastramento de uma nova consulta, sendo necessário informar se o compromisso é uma consulta ou retorno, a data da consulta, horário inicial e final, nome do paciente, plano de saúde e por último o motivo da consulta (figura 27).

115 108 Figura 27 Tela Adicionar Nova Consulta Fonte: Elaboração dos autores (2013) Quando existem Consultas marcadas para o Médico, elas são listadas de acordo com o horário. Além do horário, também são exibidas na Agenda o nome do Paciente, convênio, se a consulta é um retorno ou não, e as ações Iniciar Atendimento, Editar Consulta e Excluir Consulta, além dos atendimentos encerrado (figura 28).

116 109 Figura 28 - Tela Agenda Médica com compromissos Fonte: Elaboração dos autores (2013) Ao clicar em Iniciar Atendimento a aplicação exibirá a tela de do Atendimento, é aqui que será coletado todos os dados necessários da Consulta. Por padrão já virão preenchidos os dados do Agendamento, que são: motivo da consulta e convênio Médico, os Dados do Paciente que é: o próprio nome do Paciente e Ultimas Consultas, além também o campo Doenças Crônicas. Os demais dados do atendimento serão adicionados pelos próprios Médicos, de acordo com suas rotinas de atendimento, observando os campos de dados públicos e privados, é aqui que o Médico escolhe o que vai ou não ser visível na Timeline para outros Médicos (figura 29).

117 110 Figura 29 Atendimento Fonte: Elaboração dos autores (2013) Dentro da Consulta existe a área de Tratamentos é aqui onde serão gerenciados todos os tratamentos do Paciente. Quando não existe nenhum tratamento vinculado ao Paciente é exibida uma mensagem informando que não há nenhuma instancia de tratamento vinculado ao banco de dados da aplicação. O Médico poderá então adicionar um novo tratamento clicando no botão +, este abrirá um modal pedindo que o Médico informe o nome do tratamento, data inicial, data final se existir, os medicamentos utilizados e também a posologia (figura 30).

118 111 Figura 30 - Tela Novo Tratamento Fonte: Elaboração dos autores (2013) Ao clicar no botão Salvar Mudanças o tratamento é adicionado no banco de dados e é exibido o título do tratamento na tela da consulta. Depois de inserir um tratamento, aparecerão às opções de Encerrar Tratamento e Visualizar Tratamento (figura 31).

119 112 Figura 31 - Tela Tratamento adicionado Fonte: Elaboração dos autores (2013) Quando a opção encerrar tratamento é selecionada, a aplicação dispara uma mensagem informando que a exclusão de um tratamento é irreversível (figura 32).

120 113 Figura 32 - Tela Mensagem Encerramento de Tratamento Fonte: Elaboração dos autores (2013) Quando um Tratamento é encerrado ele não é deletado do banco de dados, isto garante integridade na aplicação, pois assim futuramente o Médico poderá visualizar os tratamentos vinculados ao paciente. Ao clicar no botão Visualizar Tratamento é exibido novamente um modal com todos os dados deste tratamento (figura 33).

121 114 Figura 33 - Tela Visualizar Tratamento Fonte: Elaboração dos autores (2013) Quando o Médico encerra a Consulta, a aplicação retorna para tela inicial, se o paciente atendido for o ultimo do dia, a Agenda exibe uma lista dos atendimentos encerrados com um botão Editar Atendimento ao lado de cada compromisso agendo (figura 34).

122 115 Figura 34 - Fonte: Tela Atendimentos Encerrados Fonte: Elaboração dos autores (2013) No perfil de cada Paciente se encontra a Timeline, as informações contidas aqui são exatamente as que o Médico cadastra no Atendimento, aparecerão informações de outros Médicos que atribuírem caráter público a determinado dado, bem como todas as informações do respectivo Médico Usuário da aplicação. É na Timeline que o Médico poderá acompanhar a evolução do seu Paciente, desde a primeira consulta, no pediatra, passando por solicitações de medicamentos, até as consultas mais recentes, foi definido um filtro para visualizar todas as atividades de um paciente, ou somente as atividades do próprio Médico (figura 35).

123 116 Figura 35 Timeline Fonte: Elaboração dos autores (2013) Para melhor controle dos tratamentos em andamento e para consultar os que já foram encerrados, foi criada uma página de Tratamentos onde o Médico terá uma melhor visualização do que já foi, ou está sendo receitado ao paciente (figura 36).

124 117 Figura 36 - Tratamentos Fonte: Elaboração dos autores (2013) Com o intuito de reduzir os erros nas prescrições médicas, é possível agora imprimir o tratamento completo, com a descrição do tratamento, data inicial e final, medicamentos utilizados e a posologia (figura 37).

125 118 Figura 37 - Imprimir Prescrição Médica Fonte: Elaboração dos autores (2013) A aplicação dispõe de login para três tipos de usuários, e um deles é a Secretária, é ela que mantem a agenda do Médico, adiciona novos pacientes, pode também pesquisar por outros Médicos, Hospitais, Clínicas, Instituições de Ensino, além de gerenciar o seu próprio perfil, a tela inicial da Secretária pode ser visualizada na figura 38.

126 119 Figura 38 - Tela inicial da Secretária Fonte: Elaboração dos autores (2013) Uma Secretária pode manipular uma ou mais agendas de Médicos, para isto basta apenas clicar no link Agendas e selecionar o algum do Médico que esta vinculada a esta Secretária (figura 39).

127 120 Figura 39 - Agendas Médicas da Secretária Fonte: Elaboração dos autores (2013) Então quando uma Agenda Médico for selecionada, a Secretária poderá adicionar editar ou remover os compromissos do Médico (figura 40). Figura 40 - Agenda Médica Fonte: Elaboração dos autores (2013)

128 121 O ultimo usuário da aplicação representado aqui é o Paciente, é ele que tem menos permissões no sistema, basicamente o que o paciente pode fazer são consultas no sistema, além de alterações no seu próprio perfil, a tela a segui ilustra a tela inicial após o login. Figura 41 - Tela Inicial do Paciente Fonte: Elaboração dos autores (2013) O link Meus Atendimentos da área Saúde traz de uma forma simples e funcional todos os atendimentos realizados e os próximos atendimentos que foram marcados e poderão ser realizados, informando o nome do Médico, local da consulta, horário, convênio e o motivo da consulta (figura 42).

129 122 Figura 42 - Tela dos Atendimentos do Paciente Fonte: Elaboração dos autores (2013) Ao clicar no botão Ver descrições e laudos a aplicação exibe um modal com os dados do motivo da consulta, sintomas e a descrição médica (figura 43). Figura 43 - Tela de Descrições e dados do Atendimento Fonte: Elaboração dos autores (2013)

130 123 O paciente também poderá visualizar seu próprio perfil na aplicação, mas não poderá visualizar a Timeline, terá acesso apenas aos dados mais simples como endereço, dados cadastrais e informações sobre doenças crônicas (figura 44). Figura 44 - Tela do Perfil do Paciente Fonte: Elaboração dos autores (2013) Para manter os dados sempre atualizados na aplicação, foi permitido que o Paciente alterasse as informações do seu próprio perfil, para isto basta o paciente encontrar o seu perfil e clicar no link Editar (figura 45).

Interesse. declarado.

Interesse. declarado. Declaração de Conflitos de Interesse Nada a ser declarado. Ética em Medicina Laboratorial Ética no relacionamento inter-profissional Alvaro Rodrigues Martins Cenário Organizações Equipamentos\Insumos Mercado

Leia mais

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

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET WEBSITE MUNDO MULHER GABRIELA DE SOUZA DA SILVA LUANA MAIARA DE PAULA SILVA

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Linguagem de Estruturação e Apresentação de Conteúdos

Linguagem de Estruturação e Apresentação de Conteúdos UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA MINISTERIO DA EDUCAÇÃO Câmpus Santa Helena Curso de Bacharelado em Ciência da Computação Linguagem de Estruturação e Apresentação de Conteúdos Prof. Me. Arlete

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Arquitetura da Informática e Automação MBA Gestão em Tecnologia 1 da Informaçao 2 Figura: Tela do IBM Mainframe Fonte: Arquivo próprio

Leia mais

Web Design Aula 01: Conceitos Básicos

Web Design Aula 01: Conceitos Básicos Web Design Aula 01: Conceitos Básicos Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Motivação Motivação Motivação Roteiro Introdução Papéis e Responsabilidades Construindo um site

Leia mais

Manual. V e r s ã o i P a d

Manual. V e r s ã o i P a d Manual V e r s ã o i P a d índice I. Introdução II. Procedimentos básicos III. A agenda IV. Clientes V. Prontuário VI. Configurações VII. Medicamentos VIII. Tags IX. Receitas X. Contato I Introdução O

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Internet Internet Internet é o conglomerado de redes, em escala mundial de milhões de computadores interligados, que permite o acesso a informações e todo

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

Leia mais

A tecnologia e a ética

A tecnologia e a ética Escola Secundária de Oliveira do Douro A tecnologia e a ética Eutanásia João Manuel Monteiro dos Santos Nº11 11ºC Trabalho para a disciplina de Filosofia Oliveira do Douro, 14 de Maio de 2007 Sumário B

Leia mais

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS 3.INTERNET 3.1. Internet: recursos e pesquisas 3.2. Conhecendo a Web 3.3. O que é um navegador?

Leia mais

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Programação para a Web - I. José Humberto da Silva Soares

Programação para a Web - I. José Humberto da Silva Soares Programação para a Web - I José Humberto da Silva Soares Fundamentos de Internet Rede Mundial de Computadores; Fornece serviços, arquivos e informações; Os computadores que têm os recursos são chamados

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

Leia mais

Quem ainda não tem um, provavelmente já pensou ou está pensando em ter, seja para fins pessoais ou profissionais.

Quem ainda não tem um, provavelmente já pensou ou está pensando em ter, seja para fins pessoais ou profissionais. Você sabia que o Whatsapp está presente em quase 50% dos smartphones no Brasil? O aplicativo virou febre rapidamente, seguindo a tendência de crescimento anual das vendas de smartphones no país. Quem ainda

Leia mais

XIV SEMINÁRIO NACIONAL DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA INFORMATIZAÇÃO DAS NORMAS E PROCEDIMENTOS DE MEDIÇÃO VIA INTRANET E INTERNET

XIV SEMINÁRIO NACIONAL DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA INFORMATIZAÇÃO DAS NORMAS E PROCEDIMENTOS DE MEDIÇÃO VIA INTRANET E INTERNET XIV SEMINÁRIO NACIONAL DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA INFORMATIZAÇÃO DAS NORMAS E PROCEDIMENTOS DE MEDIÇÃO VIA INTRANET E INTERNET Autores: OROMAR CÓRDOVA GILBERTO ALVES LOBATO COPEL Companhia Paranaense

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com No início A Web é criada em 1989, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Internet A Internet é um conjunto de redes de computadores de domínio público interligadas pelo mundo inteiro, que tem

Leia mais

ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções)

ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções) 13. CONEX Apresentação Oral Resumo Expandido 1 ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções) ( ) COMUNICAÇÃO ( ) CULTURA ( ) DIREITOS HUMANOS E JUSTIÇA ( ) EDUCAÇÃO ( ) MEIO AMBIENTE ( ) SAÚDE

Leia mais

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

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

Leia mais

Monitoramento de e-mail corporativo

Monitoramento de e-mail corporativo Monitoramento de e-mail corporativo Mario Luiz Bernardinelli 1 (mariolb@gmail.com) 12 de Junho de 2009 Resumo A evolução tecnológica tem afetado as relações pessoais desde o advento da Internet. Existem

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

Uma área em expansão. Radiologia

Uma área em expansão. Radiologia Uma área em expansão Conhecimento especializado e treinamento em novas tecnologias abrem caminho para equipes de Enfermagem nos serviços de diagnóstico por imagem e radiologia A atuação da Enfermagem em

Leia mais

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Clayton Maciel Costa

Leia mais

Sistema Online de Gerenciamento de Dados Clínicos Utilizando RIA (Rich Internet Applications)

Sistema Online de Gerenciamento de Dados Clínicos Utilizando RIA (Rich Internet Applications) Sistema Online de Gerenciamento de Dados Clínicos Utilizando RIA (Rich Internet Applications) ANTUNES, M. S.¹, SILVA, R. E. S. 2 (orientadora) ¹ Faculdade de Tecnologia Senac Pelotas RS (FATEC-PEL) Rua

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

Como surgiu a Internet?

Como surgiu a Internet? Como surgiu a Internet? A internet nada mais é do que a conexão de várias redes de computadores interligadas entre si. O surgimento das primeiras redes de computadores datam a época em que o planeta estava

Leia mais

ebook Aprenda como aumentar o poder de captação do seu site. por Rodrigo Pereira Publicitário e CEO da Agência Retina Comunicação

ebook Aprenda como aumentar o poder de captação do seu site. por Rodrigo Pereira Publicitário e CEO da Agência Retina Comunicação por Rodrigo Pereira Publicitário e CEO da Agência Retina Comunicação Sobre o Autor: Sempre fui comprometido com um objetivo de vida: TER MINHA PRÓPRIA EMPRESA. Mas assim como você, eu também ralei bastante

Leia mais

Aplicação de técnicas e cultura de Segurança em Instituições de Saúde

Aplicação de técnicas e cultura de Segurança em Instituições de Saúde Aplicação de técnicas e cultura de Segurança em Instituições de Saúde Arlen Feitosa Gerente de Segurança da Informação e Compliance Hospital Albert Einstein Agenda Saúde no Brasil Segurança da Informação

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Trabalho elaborado pelo

Leia mais

Folha de Informação rubricada sob nº do processo nº (a)

Folha de Informação rubricada sob nº do processo nº (a) Folha de Informação rubricada sob nº do processo nº (a) Parecer CoBi 008/2011 Consulta sobre a solicitação de exames de rotina para detectar vírus HIV e uso de drogas ilícitas. Termo de responsabilidade

Leia mais

SIORP Sistema de Informação de Órgão Publico 2012

SIORP Sistema de Informação de Órgão Publico 2012 Portfólio 2012. O que é? SIORP Sistema de Informação de Órgão Público é um sistema cujo elemento principal é a informação. Seu objetivo é armazenar, tratar e fornecer informações de tal modo a apoiar as

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

ACOMPANHAMENTO GERENCIAL SANKHYA

ACOMPANHAMENTO GERENCIAL SANKHYA MANUAL DE VISITA DE ACOMPANHAMENTO GERENCIAL SANKHYA Material exclusivo para uso interno. O QUE LEVA UMA EMPRESA OU GERENTE A INVESTIR EM UM ERP? Implantar um ERP exige tempo, dinheiro e envolve diversos

Leia mais

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TÉCNICO EM ADMINISTRAÇÃO PÚBLICA E ANALISTA (EXCETO PARA O CARGO 4 e 8) GABARITO 1. (CESPE/2013/MPU/Conhecimentos Básicos para os cargos 34 e 35) Com a cloud computing,

Leia mais

Fone: (19) 3234-4864 E-mail: editora@komedi.com.br Site: www.komedi.com.br HTM3.0. Tutorial HTML. versão 4.01

Fone: (19) 3234-4864 E-mail: editora@komedi.com.br Site: www.komedi.com.br HTM3.0. Tutorial HTML. versão 4.01 Fone: (19) 3234-4864 E-mail: editora@komedi.com.br Site: www.komedi.com.br HTM3.0 Tutorial HTML versão 4.01 K O M Σ D I Copyright by Editora Komedi, 2007 Dados para Catalogação Rimoli, Monica Alvarez Chaves,

Leia mais

Internet. EB 2/3 de Arrifana. Victor Henriques 2006/2007

Internet. EB 2/3 de Arrifana. Victor Henriques 2006/2007 Internet Sumário A Internet. Questões de segurança. 2 A Internet A Internet, ou apenas Net, é uma rede mundial de computadores ligados entre si através de linhas telefónicas comuns, linhas de comunicação

Leia mais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Por Tiago Bastos Quer Dinheiro Online? 1

Por Tiago Bastos Quer Dinheiro Online? 1 Por Tiago Bastos Quer Dinheiro Online? 1 Se não pode subir a montanha, torne-se uma. Por Tiago Bastos Quer Dinheiro Online? 2 ISSO ESTÁ ME GERANDO R$7.278,05 - R$10.588,38 POR SEMANA E VOCÊ PODE FAZER

Leia mais

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Escolher um tema de pesquisa Por onde começar? Ler para aprender Estrutura do Projeto de Pesquisa A Definição

Leia mais

Sistema de Informação para Coleções de Interesse Biotecnológico

Sistema de Informação para Coleções de Interesse Biotecnológico Sistema de Informação para Coleções de Interesse Biotecnológico Sidnei de Souza Centro de Referência em Informação Ambiental, CRIA 24º Congresso Brasileiro de Microbiologia Brasília, 04 de outubro de 2007

Leia mais

ORGANIZAÇÃO CURRICULAR

ORGANIZAÇÃO CURRICULAR ORGANIZAÇÃO CURRICULAR O curso Técnico em Informática, em Nível Médio Subseqüente, será organizado de forma semestral, com aulas presenciais, compostos por disciplinas, com conteúdos estabelecidos, tendo

Leia mais

W W W. G U I A I N V E S T. C O M. B R

W W W. G U I A I N V E S T. C O M. B R 8 DICAS ESSENCIAIS PARA ESCOLHER SUA CORRETORA W W W. G U I A I N V E S T. C O M. B R Aviso Importante O autor não tem nenhum vínculo com as pessoas, instituições financeiras e produtos, citados, utilizando-os

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

CARDS - Jogo Educativo na Internet para Ensino a Distância

CARDS - Jogo Educativo na Internet para Ensino a Distância CARDS - Jogo Educativo na Internet para Ensino a Distância 1 Introdução Bruno Astuto Arouche Nunes Sergio Barbosa Villas-Boas 1 Henrique Falleiros Tendo em vista que o processo de ensino, nos dias de hoje,

Leia mais

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

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Imprimir. Em 29 de março do mesmo ano, o dr. R.S.S. respondeu ao interessado nos seguintes termos:

Imprimir. Em 29 de março do mesmo ano, o dr. R.S.S. respondeu ao interessado nos seguintes termos: Imprimir PROCESSO-CONSULTA CFM Nº 1.955/01 PC/CFM/Nº 10/2002 INTERESSADO: Sociedade Santamarense de Beneficência de Guarujá ASSUNTO: Reformulação da Resolução nº 1.076/81 RELATOR: Cons. Luiz Salvador de

Leia mais

PROPOSTA DE UMA METODOLOGIA PARA ELABORAR PROJETO DE ENSINO INTEGRANDO RECURSOS TECNOLÓGICOS

PROPOSTA DE UMA METODOLOGIA PARA ELABORAR PROJETO DE ENSINO INTEGRANDO RECURSOS TECNOLÓGICOS PROPOSTA DE UMA METODOLOGIA PARA ELABORAR PROJETO DE ENSINO INTEGRANDO RECURSOS TECNOLÓGICOS Fortaleza Ce Agosto 2009 Liádina Camargo Lima Universidade de Fortaleza liadina@unifor.br Categoria C Métodos

Leia mais

Patentes Conceitos Básicos

Patentes Conceitos Básicos Patentes Conceitos Básicos O que é patente O que é patenteável O que não é patenteável Como é um documento de patente Como definir o escopo de proteção Como é o processo de patenteamento 2014 www.axonal.com.br

Leia mais

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

Leia mais

Computação em Nuvem: Riscos e Vulnerabilidades

Computação em Nuvem: Riscos e Vulnerabilidades Computação em Nuvem: Riscos e Vulnerabilidades Bruno Sanchez Lombardero Faculdade Impacta de Tecnologia São Paulo Brasil bruno.lombardero@gmail.com Resumo: Computação em nuvem é um assunto que vem surgindo

Leia mais

Prontuário médico? ou Prontuário do paciente?

Prontuário médico? ou Prontuário do paciente? Prontuário médico? ou Prontuário do paciente? CONCEITO Prontuário do Paciente é o conjunto de documentos padronizados e ordenados, destinados ao registro dos cuidados profissionais, prestados ao paciente

Leia mais

Segurança na Rede Local Redes de Computadores

Segurança na Rede Local Redes de Computadores Ciência da Computação Segurança na Rede Local Redes de Computadores Disciplina de Desenvolvimento de Sotware para Web Professor: Danilo Vido Leonardo Siqueira 20130474 São Paulo 2011 Sumário 1.Introdução...3

Leia mais

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB Marcelo Rodrigo da Silva Ribeiro 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil marcelo.rodrigo@live.com,

Leia mais

HTML. Leandro Sorgetz, Roberto Pretto

HTML. Leandro Sorgetz, Roberto Pretto HTML Leandro Sorgetz, Roberto Pretto Faculdades de Informática de Taquara Curso de Sistemas de Informação Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

Leia mais

Tudo sobre TELEMEDICINA O GUIA COMPLETO

Tudo sobre TELEMEDICINA O GUIA COMPLETO Tudo sobre TELEMEDICINA O GUIA COMPLETO O QUE É TELEMEDICINA? Os recursos relacionados à Telemedicina são cada vez mais utilizados por hospitais e clínicas médicas. Afinal, quem não quer ter acesso a diversos

Leia mais

RESOLUÇÃO Nº 555 DE 30 DE NOVEMBRO DE 2011

RESOLUÇÃO Nº 555 DE 30 DE NOVEMBRO DE 2011 RESOLUÇÃO Nº 555 DE 30 DE NOVEMBRO DE 2011 Ementa: Regulamenta o registro, a guarda e o manuseio de informações resultantes da prática da assistência farmacêutica nos serviços de saúde. O Conselho Federal

Leia mais

CÓDIGO DE ÉTICA MÉDICA

CÓDIGO DE ÉTICA MÉDICA CÓDIGO PENAL Artigo 154. Revelar alguém, sem justa causa, segredo, de que tem ciência em razão de função, ministério, ofício ou profissão, e cuja revelação possa produzir dano a outrem: Pena detenção,

Leia mais

POLÍTICA DE PRIVACIDADE

POLÍTICA DE PRIVACIDADE POLÍTICA DE PRIVACIDADE A FUNCIONAL, com o escopo de firmar o compromisso junto aos USUÁRIOS visando a segurança e privacidade das informações transitadas e recepcionadas através de seus sites www.funcionalcorp.com.br

Leia mais

O Sistema de Controle de Egressos utilizado pelo Instituto Metodista Granbery: uma ferramenta de acompanhamento e relacionamento

O Sistema de Controle de Egressos utilizado pelo Instituto Metodista Granbery: uma ferramenta de acompanhamento e relacionamento Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 7, JUL/DEZ 2009 O Sistema de Controle de Egressos utilizado pelo Instituto

Leia mais

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE por Miguel Aguiar Barbosa Trabalho de curso II submetido como

Leia mais

FANTÁSTICO E JORNAL NACIONAL DENUNCIAM ESQUEMA QUE TRANSFORMA SAÚDE EM BALCÃO DE NEGÓCIOS

FANTÁSTICO E JORNAL NACIONAL DENUNCIAM ESQUEMA QUE TRANSFORMA SAÚDE EM BALCÃO DE NEGÓCIOS FANTÁSTICO E JORNAL NACIONAL DENUNCIAM ESQUEMA QUE TRANSFORMA SAÚDE EM BALCÃO DE NEGÓCIOS A reportagem veiculada no programa Fantástico, da Rede Globo, no domingo (04/01), trouxe à tona um drama que assola

Leia mais

6. Considerações finais

6. Considerações finais 84 6. Considerações finais Nesta dissertação, encontram-se registros de mudanças sociais que influenciaram as vidas de homens e mulheres a partir da chegada das novas tecnologias. Partiu-se da Revolução

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Projuris Enterprise Visão Geral da Arquitetura do Sistema Projuris Enterprise Visão Geral da Arquitetura do Sistema Março/2015 Página 1 de 17 Projuris Enterprise Projuris Enterprise é um sistema 100% Web, com foco na gestão de contencioso por empresas ou firmas

Leia mais

26/2/2014. Numero de Web Sites no mundo. 1993 1996 1999 Agosto/2002

26/2/2014. Numero de Web Sites no mundo. 1993 1996 1999 Agosto/2002 História da Internet? No final dos anos 50, os EUA formaram uma instituição de investigação, a qual designaram por ARPA (Advanced Research Projec Agency). O objectivo desta instituição, parte integrante

Leia mais

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla 6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla O mercado brasileiro de dispositivos móveis em breve ganhará mais uma grande plataforma. Anunciado oficialmente

Leia mais

Por Tiago Bastos 1. 3 Dicas Infalíveis Para Ganhar Dinheiro Online

Por Tiago Bastos 1. 3 Dicas Infalíveis Para Ganhar Dinheiro Online Por Tiago Bastos 1 3 Dicas Infalíveis Para Ganhar Dinheiro Online 3 Dicas Infalíveis Para Ganhar Dinheiro Online Se não pode subir a montanha, torne-se uma. Por Tiago Bastos 2 3 Dicas Infalíveis Para Ganhar

Leia mais

Dedico este livro a todas as MMM S* da minha vida. Eu ainda tenho a minha, e é a MMM. Amo-te Mãe!

Dedico este livro a todas as MMM S* da minha vida. Eu ainda tenho a minha, e é a MMM. Amo-te Mãe! Dedico este livro a todas as MMM S* da minha vida. Eu ainda tenho a minha, e é a MMM. Amo-te Mãe! *MELHOR MÃE DO MUNDO Coaching para Mães Disponíveis, www.emotionalcoaching.pt 1 Nota da Autora Olá, Coaching

Leia mais

Solução CA Technologies Garante Entrega de Novo Serviço de Notícias do Jornal Valor Econômico

Solução CA Technologies Garante Entrega de Novo Serviço de Notícias do Jornal Valor Econômico CUSTOMER SUCCESS STORY Abril 2014 Solução CA Technologies Garante Entrega de Novo Serviço de Notícias do Jornal Valor Econômico PERFIL DO CLIENTE Indústria: Mídia Companhia: Valor Econômico Funcionários:

Leia mais

Sistemas de Produtividade

Sistemas de Produtividade Sistemas de Produtividade Os Sistemas de Produtividade que apresentaremos em seguida são soluções completas e podem funcionar interligadas ou não no. Elas recebem dados dos aplicativos de produtividade,

Leia mais

Ekaterina Akimovna Botovchenco Rivera

Ekaterina Akimovna Botovchenco Rivera 1 Ekaterina Akimovna Botovchenco Rivera USO DE ANIMAIS ESTÁ CERCADO DE : aspectos emocionais questões religiosas aspectos culturais dilemas morais 2 INFLUÊNCIADO POR: filósofos cientistas protetoras meio

Leia mais

Bate-papo: Uso do Scratch, uma nova linguagem de programação, no ensino fundamental - Web Currículo (25/05/2010)

Bate-papo: Uso do Scratch, uma nova linguagem de programação, no ensino fundamental - Web Currículo (25/05/2010) 1 of 6 02/12/2011 16:14 Bate-papo: Uso do Scratch, uma nova linguagem de programação, no ensino fundamental - Web Currículo (25/05/2010) 13:58:20 Bem-vindos ao Bate-papo Educarede! 14:00:54 II Seminário

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

COMO O INVESTIMENTO EM TI PODE COLABORAR COM A GESTÃO HOSPITALAR?

COMO O INVESTIMENTO EM TI PODE COLABORAR COM A GESTÃO HOSPITALAR? COMO O INVESTIMENTO EM TI PODE COLABORAR COM A GESTÃO HOSPITALAR? Descubra os benefícios que podem ser encontrados ao se adaptar as novas tendências de mercado ebook GRÁTIS Como o investimento em TI pode

Leia mais

GETINGE ONLINE OBTENHA ACESSO A INFORMAÇÕES EM QUALQUER LUGAR

GETINGE ONLINE OBTENHA ACESSO A INFORMAÇÕES EM QUALQUER LUGAR GETINGE ONLINE OBTENHA ACESSO A INFORMAÇÕES EM QUALQUER LUGAR 2 Getinge Online TRABALHE DE FORMA MAIS INTELIGENTE E OBTENHA UM TEMPO DE FUNCIONAMENTO MAIOR Tradicionalmente, o status do processo de esterilização

Leia mais

Introdução à Tecnologia Web 2010

Introdução à Tecnologia Web 2010 IntroduçãoàTecnologiaWeb2010 Internet ÓrgãosRegulamentadores ProfªMSc.ElizabeteMunzlinger ProfªMSc.ElizabeteMunzlinger Internet Órgãosregulamentadores Índice 1 Breve Histórico da Internet... 2 2 Surgimento

Leia mais

Gestão do Conteúdo. 1. Introdução

Gestão do Conteúdo. 1. Introdução Gestão do Conteúdo 1. Introdução Ser capaz de fornecer informações a qualquer momento, lugar ou através de qualquer método e ser capaz de fazê-lo de uma forma econômica e rápida está se tornando uma exigência

Leia mais

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Sergio N. Ikeno¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil sergioikn@gmail.com, kessia@unipar.br Resumo.

Leia mais

ilupas da informação e comunicação na área de Saúde entrevista

ilupas da informação e comunicação na área de Saúde entrevista ilupas Pesquisa Nacional identifica investimentos em tecnologias da informação e comunicação na área de Saúde Por Kelly de Souza O baixo grau de investimento em Tecnologias da Informação e Comunicação

Leia mais

DUAS RODAS DESENVOLVE PORTAL COLABORATIVO E ELIMINA PROCESSOS EM PAPEL. Case de Sucesso

DUAS RODAS DESENVOLVE PORTAL COLABORATIVO E ELIMINA PROCESSOS EM PAPEL. Case de Sucesso DUAS RODAS DESENVOLVE PORTAL COLABORATIVO E ELIMINA PROCESSOS EM PAPEL PERFIL Em 1925, surgiu a primeira fábrica de óleos essenciais do Brasil, em Jaraguá do Sul - SC. A autenticidade, a qualidade de seus

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

POLÍTICA DE PRIVACIDADE

POLÍTICA DE PRIVACIDADE POLÍTICA DE PRIVACIDADE Esta Política de Privacidade explica como a Abbott Laboratories, suas subsidiárias e afiliadas (denominadas em conjunto Abbott ) lidam com as informações pessoais que você nos envia

Leia mais

Política de Privacidade da Golden Táxi Transportes Executivo. Sua Privacidade Na Golden Táxi Transportes Executivo. acredita que, como nosso

Política de Privacidade da Golden Táxi Transportes Executivo. Sua Privacidade Na Golden Táxi Transportes Executivo. acredita que, como nosso Política de Privacidade da Golden Táxi Transportes Executivo. Sua Privacidade Na Golden Táxi Transportes Executivo. acredita que, como nosso visitante on-line, você tem o direito de saber as práticas que

Leia mais

PROJETO RUMOS DA INDÚSTRIA PAULISTA

PROJETO RUMOS DA INDÚSTRIA PAULISTA PROJETO RUMOS DA INDÚSTRIA PAULISTA SEGURANÇA CIBERNÉTICA Fevereiro/2015 SOBRE A PESQUISA Esta pesquisa tem como objetivo entender o nível de maturidade em que as indústrias paulistas se encontram em relação

Leia mais