FRAMEWORK DE SUPORTE PARA UM SISTEMA DE ANÁLISE DE FRAUDES EM SEGUROS

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

Download "FRAMEWORK DE SUPORTE PARA UM SISTEMA DE ANÁLISE DE FRAUDES EM SEGUROS"

Transcrição

1 FRAMEWORK DE SUPORTE PARA UM SISTEMA DE ANÁLISE DE FRAUDES EM SEGUROS Ramon Worme dos Santos Vianna Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Flávio Luis de Mello Rio de Janeiro Setembro de 2016

2 FRAMEWORK DE SUPORTE PARA UM SISTEMA DE ANÁLISE DE FRAUDES EM SEGUROS Ramon Worme dos Santos Vianna PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO DE ENGENHARIA ELETRÔNICA E DE COMPUTAÇÃO DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO ELETRÔNICO E DE COMPUTAÇÃO Autor: Orientador: Examinador: Examinador: Ramon Worme dos Santos Vianna Flávio Luis de Mello, DSc Heraldo Luis Silveira de Almeida, DSc Mário Côrtes Duarte, MSc Rio de Janeiro RJ, Brasil Setembro de 2016 ii

3 Declaração de Autoria e de Direitos Eu, Ramon Worme dos Santos Vianna CPF , autor da monografia Framework de Suporte para um Sistema de Análise de Fraudes em Seguros, subscrevo para os devidos fins, as seguintes informações: 1. O autor declara que o trabalho apresentado na disciplina de Projeto de Graduação da Escola Politécnica da UFRJ é de sua autoria, sendo original em forma e conteúdo. 2. Excetuam-se do item 1. eventuais transcrições de texto, figuras, tabelas, conceitos e ideias, que identifiquem claramente a fonte original, explicitando as autorizações obtidas dos respectivos proprietários, quando necessárias. 3. O autor permite que a UFRJ, por um prazo indeterminado, efetue em qualquer mídia de divulgação, a publicação do trabalho acadêmico em sua totalidade, ou em parte. Essa autorização não envolve ônus de qualquer natureza à UFRJ, ou aos seus representantes. 4. O autor pode, excepcionalmente, encaminhar à Comissão de Projeto de Graduação, a não divulgação do material, por um prazo máximo de 01 (um) ano, improrrogável, a contar da data de defesa, desde que o pedido seja justificado, e solicitado antecipadamente, por escrito, à Congregação da Escola Politécnica. 5. O autor declara, ainda, ter a capacidade jurídica para a prática do presente ato, assim como ter conhecimento do teor da presente Declaração, estando ciente das sanções e punições legais, no que tange a cópia parcial, ou total, de obra intelectual, o que se configura como violação do direito autoral previsto no Código Penal Brasileiro no art.184 e art.299, bem como na Lei O autor é o único responsável pelo conteúdo apresentado nos trabalhos acadêmicos publicados, não cabendo à UFRJ, aos seus representantes, ou ao(s) orientador(es), qualquer responsabilização/ indenização nesse sentido. 7. Por ser verdade, firmo a presente declaração. Ramon Worme dos Santos Vianna iii

4 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Politécnica Departamento de Eletrônica e de Computação Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária Rio de Janeiro RJ CEP Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es). iv

5 DEDICATÓRIA Dedico este trabalho a minha família, amigos e a todos os que acreditaram e investiram em mim. v

6 AGRADECIMENTO Agradeço à minha família pelo apoio, ajuda, acompanhamento e investimento em meus estudos que me proporcionaram chegar até aqui e ter desenvolvido esse trabalho. Agradeço aos amigos que me acompanharam na graduação e participaram da minha formação. Agradeço aos Professores do Departamento que me ensinaram e orientaram no decurso dos anos. Mas devo um agradecimento especial ao meu orientador deste projeto, que esteve de perto acompanhando passo a passo o progresso do projeto, me dando dicas e ajudando. Agradeço também minha noiva que sempre me incentivou e me motivou para o desenvolvimento desse trabalho. Por fim devo um agradecimento ao povo brasileiro que contribuiu de forma significativa à minha formação e estada nesta Universidade. Este projeto é uma pequena forma de retribuir o investimento e confiança em mim depositados. vi

7 RESUMO Este trabalho consiste no desenvolvimento de um framework na plataforma web que tem a finalidade de auxiliar as seguradoras na identificação dos casos de fraudes em sinistros. Para desenvolver esse framework foram utilizados a linguagem de programação Python e o seu framework Django juntamente com o SGBD MySQL. O framework desenvolvido gerencia todo o processo de classificação de fraude dos casos de sinistros e utiliza o software chamado Mentor para a classificação. O processo inicia quando o framework obtém um arquivo de dump de uma seguradora contendo os casos de sinistros, então armazena os casos de sinistros no banco de dados interno. Com os dados armazenados o framework gera arquivos de texto com as informações necessárias para a classificação, então realiza uma comunicação socket via protocolo TCP com o Mentor solicitando a classificação. Ao fim do processo o framework lê o arquivo de resposta gerado pelo Mentor, salva no banco de dados interno as classificações e apresenta uma trilha de auditoria. O framework também possui a funcionalidade de exportar em um arquivo os casos de sinistros classificados que estão armazenados no banco de dados interno. Palavras-Chave: Framework, Seguradoras, Fraudes, Sinistros, Python, Django, MySQL, Mentor, Classificação. vi i

8 ABSTRACT This work is to develop a framework web platform that aims to assist insurers in identifying cases of fraud claims. To develop this framework were used the Python programming language and its Django framework along with the MySQL DBMS. The framework developed manages all fraud classification process cases of claims and uses software called Mentor for classification. The process starts when the framework gets a dump file from an insurer containing the cases of claims, and then stores the case of claims in the internal database. With the data stored, the framework generates text files with the information necessary for classification, and then performs a socket communication via TCP protocol with Mentor requesting classification. At the end of the process, the framework reads the response file generated by Mentor, saved in the internal database rankings and shows an audit trail. The framework also has the capability to export to a file the cases of claims classified that are stored in the internal database. Key words: Framework, Insurers, Fraud, Claims, Python, Django, MySQL, Mentor, Classification. vi ii

9 SIGLAS CPU Central Processing Unit DBMS Database Management System ETL Extract Transform Load HTML HyperText Markup Language IDE Integrated Development Environment MTV Model-Template-View MVC Model-View-Controller ORM Object-Relational Mapping SAS Sistema de Análise Estatística SGBD Sistema de Gerenciamento de Banco de Dados SQL Structured Query Language TCP Transmission Control Protocol UDP User Datagram Protocol UFRJ Universidade Federal do Rio de Janeiro ix

10 Sumário 1 Introdução Tema Delimitação Justificativa Objetivos Metodologia Descrição Ferramentas de software utilizadas A linguagem de programação Python O framework Django O Sublime Text O MySQL A comunicação via Socket O Mentor Configuração do ambiente Linux Processos iniciais de instalação e pacotes instalados O build-essential O pacotes MySQL Os pacotes Python x

11 O pip e o virtualenv Dependências iniciais do projeto Iniciando o projeto Editando o arquivo de configuração do projeto O framework de suporte Casos de uso e diagramas do projeto Estrutura do projeto A app etl Persistindo os casos de sinistros A classe ETL Modelo de dados do banco de dados interno A app valuer O processo de classificação A exportação das classificações Administração do framework O framework em funcionamento Conclusões e trabalhos futuros Conclusões Trabalhos Futuros Bibliografia 47 xi

12 Lista de Figuras 2.1 Fluxo de troca de dados com sockets Representação esquemática dos módulos de funcionamento do Mentor Diagrama de caso de uso do projeto Diagrama de sequência do projeto Diagrama de deployment do projeto Estrutura base do framework Estrutura da app etl Código fonte da view add_dump_file Código fonte da view list_request_analysis Simples representação esquemática do processo de armazenar os casos de sinistros no banco de dados interno Classe ETL O modelo do banco de dados do framework Estrutura da app valuer Código fonte da view show_ratings Classe StorerCases Classe RatingGenerator Classe MentorClient Classe RatingsRecorder Código fonte da view export_ratings Classe ExportFileGenerator Página de administração com a permissão criada Página de administração com usuários criados para teste Página de login xi i

13 4.22 Página com a mensagem informando que o usuário não tem permissão de acesso Página de início Página de incluir arquivos de dump com retorno de erro Listagem dos casos de sinistros armazenados no banco de dados Tabela com as classificações dos casos de sinistros Página para download do arquivo de exportação xi ii

14 Capítulo 1 Introdução 1.1 Tema Este projeto tem como tema principal o desenvolvimento de um framework na plataforma web para auxiliar seguradoras na identificação de casos de fraudes de sinistros. Neste sentido, o problema a ser resolvido é criar um framework que deve submeter as informações obtidas por uma seguradora a um classificador e retornar para a seguradora a análise realizada, que informa se o caso de sinistro é suspeito de fraude ou não. 1.2 Delimitação O projeto é direcionado a ajudar seguradoras na identificação de fraudes de sinistros, mediante a isso, o framework é desenvolvido para atender a demanda de algumas seguradoras específicas do mercado securitário. Apesar de ser construído para auxiliar algumas seguradoras específicas, existe a possibilidade de o framework atender as demais seguradoras mediante pequenas alterações para a inclusão de cada nova seguradora no framework. O projeto foi desenvolvido no âmbito do Laboratório de Inteligência de Máquina e Modelos de Computação e o software Mentor foi cedido pelo Grupo Metadox. 1.3 Justificativa As fraudes são um dos problemas mais relevantes para as empresas de Seguros no Brasil, a dificuldade de identificação de irregularidades nos casos de sinistro se torna cada vez maior, já que algumas seguradoras não fazem uso intenso de técnicas computacionais para essa identificação e apenas confiam na observação e sentimento do analista que avalia o caso de sinistro. Mesmo as seguradoras que utilizam algum 1

15 processo de identificação de fraudes ainda sim possuem problemas com falsos positivos e falsos negativos, pelo fato de que as técnicas acabam se tornando obsoletas com o tempo, pois os fraudadores estão descobrindo novas formas de agir e vêm se tornando mais profissionais. O extenso volume de dados contendo os casos de sinistros a serem avaliados pelas seguradoras também é outra dificuldade que impede com que a identificação de fraudes seja realizada de maneira mais eficiente e correta, pois é difícil o gerenciamento para um ser humano de um volume extenso de dados. As dificuldades apresentadas geram grandes prejuízos para as seguradoras devido ao volume de fraudes que ocorrem e não são identificadas e prevenidas. Para ilustrar esse cenário podemos analisar a pesquisa realizada pela empresa SAS [1], cuja sigla significava em sua origem sistema de análise estatística. Ela efetuou uma pesquisa no primeiro semestre de 2015 com 17 companhias de seguros no Brasil com o propósito de identificar as causas mais comuns de fraudes, desperdícios e abusos em que essas empresas são expostas, além de fazer uma avaliação das tecnologias e estratégias usadas para prevenir irregularidades. Os resultados obtidos pela pesquisa são: 59% das empresas possuem alguma tecnologia de prevenção a irregularidades no sinistro, porém menos da metade está utilizando tecnologias no processo de aceitação; 71% das empresas utilizam seus sistemas atuais há mais de cinco anos, porém são sistemas baseados em regras; 100% das empresas ainda confiam no sentimento do analista de sinistro para referenciar um caso para sindicância; O principal benefício percebido em se ter um sistema de prevenção a irregularidades é não incomodar os clientes honestos; O principal desafio em implantar um sistema mais moderno está na falta de recursos (Financeiros ou de TI). Esses resultados apresentados são a transcrição dos dados obtidos do site da empresa SAS [2]. Pelos resultados da pesquisa vemos que as tecnologias de prevenção não têm sido utilizadas no processo de aceitação pela maioria das empresas, mesmo 2

16 dentre as empresas que possuem alguma tecnologia apenas menos da metade delas a utilizam nesse processo. Podemos ver também que uma grande porcentagem das empresas utiliza seus sistemas atuais por mais de 5 anos. Observando esse cenário do mercado securitário e os resultados apresentados pela pesquisa, existe grande espaço para novas ferramentas tecnológicas que auxiliem as seguradoras na gestão de casos de sinistros e na identificação de fraudes nos mesmos. Novas ferramentas de qualidade ajudam na redução expressiva de prejuízos, o que possibilita preços reduzidos para os seguros, dessa forma aumentando a demanda para a contratação do serviço securitário. Aliado a esses benefícios, o framework desenvolvido proporciona melhoria e eficiência na classificação de fraudes em sinistros, pois trabalha com um classificador de qualidade, possui segurança no tratamento dos dados e retorna uma trilha de auditoria bem estruturada para facilitar o entendimento do analista de quais casos de sinistros devem ser analisados para averiguar se existe irregularidade e o porquê cada um deles deve passar pela auditoria de campo. 1.4 Objetivos O objetivo geral do trabalho é desenvolver um framework na plataforma web para gestão automatizada na classificação de casos de fraudes em sinistros. Como objetivos secundários pode-se listar a coleta de dados de maneira segura de cada seguradora, a geração de um banco de stage no framework para armazenamento do grande volume de dados dos casos de sinistros e suas correspondentes classificações, a submissão de casos de sinistros a um sistema especialista e a geração de uma trilha de auditoria com os dados armazenados em banco ao fim do processo. 1.5 Metodologia Para iniciar o projeto primeiramente foi feita uma análise de como deveria funcionar o framework, tendo como o auxílio o software Astah para a construir os diagramas de casos de uso, sequencial e de desenvolvimento. Em paralelo a essa análise foram definidas inicialmente as tecnologias a serem utilizadas para implementar o framework. 3

17 Inicialmente foi escolhido a linguagem de programação C# juntamente com o framework.net da Microsoft e o banco de dados SQL Server para desenvolver o framework em virtude de o servidor utilizado inicialmente ser uma máquina Windows, já que essas tecnologias são compatíveis com o Sistema Operacional. Porém, devido a imprevistos, não foi possível continuar trabalhando com o servidor Windows, então passamos a trabalhar com a plataforma Linux, dessa forma foi motivada a mudança da tecnologia utilizada para ser compatível com a plataforma, facilitar o desenvolvimento e manter a qualidade. Após a mudança de plataforma foi escolhida a linguagem de programação Python juntamente com seu framework Django, que possui uma excelente documentação. O Django pode ser integrado com tipos diferentes de banco de dados, para esse projeto foi utilizado o banco de dados MySQL. Escolhidas as tecnologias para o projeto, o projeto passou a ser desenvolvido por etapas tendo o andamento do projeto sendo acompanhado regularmente pelo orientador. É importante salientar que este trabalho dá continuidade à dissertação de Mestrado do Mário Côrtes Duarte [3]. 1.6 Descrição No capítulo 2 serão apresentadas as ferramentas de software utilizadas para desenvolver o projeto. O capítulo 3 apresenta a configuração que foi necessária para preparar o ambiente de trabalho afim de implementar o projeto. O framework em si é apresentado no capítulo 4. Nele serão explicitados os casos de uso, estrutura do projeto, funcionamento do framework e soluções para as dificuldades apresentadas. O capítulo 5 apresenta as conclusões do trabalho juntamente com propostas para trabalhos futuros. 4

18 Capítulo 2 Ferramentas de software utilizadas Este capítulo tem como objetivo apresentar e introduzir ao leitor um pouco sobre as tecnologias que foram utilizadas para auxiliar no desenvolvimento do framework. Inicialmente é apresentada a linguagem de programação Python, que foi a linguagem escolhida após a mudança de plataforma, juntamente com o conceito de ambientes virtuais para desenvolvimento, que foi de grande importância para o desenvolvimento do projeto. No tópico seguinte é apresentado o Django, que é um framework para desenvolvimento web em Python, e o motivo pelo qual ele foi a principal ferramenta de desenvolvimento no projeto. Nos tópicos posteriores são apresentados o editor de texto Sublime Text que foi utilizado no processo de desenvolvimento e o MySQL para gerenciar o banco de dados do framework. Nos tópicos finais são apresentados os conceitos de comunicação via Socket e o Mentor, que é um excelente software no qual é utilizado com a funcionalidade de classificador para o framework. 2.1 A linguagem de programação Python Python [4] é uma das mais populares linguagens dinâmicas de programação, juntamente com Perl, PHP e Ruby. É uma poderosa linguagem e além de simples é de fácil aprendizado, possui uma tipagem dinâmica, ou seja, o tipo de uma variável é atribuído dinamicamente, não havendo necessidade de declaração de variável. O código Python é interpretado, diferente das linguagens que necessitam ser compiladas, o Python é interpretado em tempo de execução. Python é uma linguagem de alto nível que possui uma abordagem eficiente para a programação orientada a objetos. Atualmente existem dois conjuntos de versões mais utilizados da linguagem Python, são esses o Python 2.x, que é conhecido como Python 2 [5] e já vem sendo chamado de Python legado e o Python 3.x, que é mais conhecido como Python 3 [6]. Na grande maioria das distribuições do Linux o Python 2 vem instalado como padrão no Sistema Operacional. 5

19 No projeto foi utilizado o Python 3 em virtude de ser a versão mais atualizada da linguagem, da base de código existente estar sendo migrado para o Python 3 e de o framework desenvolvido ser um projeto iniciado do zero, não dependendo de código legado. Como o Python padrão no Linux é o Python 2, e com o objetivo de não interferir no funcionamento do Sistema Operacional, de alguma forma, não foi alterado o Python padrão do sistema, foi necessário adotar uma estratégia para a convivência destas duas versões de linguagem de programação. Assim, para utilizar o Python 3 como padrão para o projeto, o projeto foi desenvolvido em um ambiente virtual de desenvolvimento. Um ambiente virtual de desenvolvimento permite que um projeto possa ser desenvolvido em um ambiente separado com suas dependências sendo instaladas nesse ambiente não afetando o Sistema Operacional, dessa forma múltiplos projetos podem ser desenvolvidos em paralelo, mas em ambientes diferentes com suas dependências isoladas. No projeto foram utilizadas as ferramentas Python virtualenv, que é utilizada para criar ambientes virtuais, e o virtualenvwrapper, que torna mais simples a utilização do virtualenv. Dentro do ambiente virtual do projeto foi definido o Python 3 como padrão, não interferindo assim nas configurações do Sistema Operacional. 2.2 O framework Django Django [7] é um poderoso framework para desenvolvimento web escrito em Python. Ele segue o padrão de desenvolvimento em camadas MVC (model, view, contoller), mas no Django esse padrão tem uma nomenclatura ligeiramente diferente, dessa forma em Django o padrão poderia se chamar MTV (model, template, view). O MVC é uma boa prática para montar a arquitetura do projeto, além de ser muito utilizada. Além do desenvolvimento em camadas, o Django apresenta também outras vantagens importantes como o fato de ser voltado para o desenvolvimento ágil, possuir uma grande comunidade de desenvolvedores e ser full stack (ser uma solução para tudo). O framework Django possui características importantes que auxiliam no desenvolvimento de sistemas web, entre essas características temos o fato de ele possuir roteador de urls, trabalhar com templates, validação de formulários, persistência de 6

20 dados (Sqlite, MySQL, Postgresql e Oracle), trabalhar com cache em memória, autenticação e permissão, possuir interface administrativa automática, biblioteca para testes, internacionalização e uma ampla documentação. Devido a todas as suas características e vantagens o Django foi a principal ferramenta para desenvolver estrutura do projeto. Após instalar o Django no ambiente virtual com apenas um comando todo uma estrutura inicial de projeto já é criada automaticamente, adiantando e auxiliando em muito o trabalho de desenvolvimento. 2.3 O Sublime Text O Sublime Text [8] é um excelente editor de código-fonte multiplataforma. Ele foi escrito em C++. Possui muitas facilidades para o desenvolvedor como por exemplo a pesquisa e substituição com suporte a expressões regulares, auto completar e correspondência de parênteses, teclas de atalho personalizáveis e edição multi-painel. Ele não chega a ser uma IDE, mas é um editor muito eficiente cumprindo ao que se propõe, não interfere no desempenho do Sistema Operacional e pode ser customizado com a instalação de plug-ins para ele. 2.4 O MySQL O MySQL [9] é um sistema de gerenciamento de banco de dados (SGBD). Um SGBD é o software responsável por gerenciar um banco de dados, ele permite criação e remoção do banco de dados, modificação dos dados no banco, remover e inserir dados, tabelas e colunas, além de outras funcionalidades de gerência no banco. Existem diferentes SGBD s no mercado, entre eles estão o SQL Server, Oracle, PostgreSQL, MySQL, entre outros. O SQL Server [10] é um SGBD desenvolvido pela Microsoft, ele possui uma ótima interface gráfica em suas ferramentas de administração, porém ele só pode ser instalado no Sistema Operacional Windows e sua versão Enterprise possui um custo de licença elevado por CPU. O Oracle [11] foi o primeiro Banco de Dados relacional a ser comercializado no mundo, ele pode ser instalado em diferentes plataformas, possui ótimos recursos de segurança e performance, porém sua licença da versão Enterprise vem com um custo ainda mais elevado que o SQL Server. 7

21 O PostgreSQL [12] é um SGBD com ótimas características como suporte a um grande volume de dados e tabelas, aceita vários tipos de consultas, possui um número maior de tipos de dados, e um bom mecanismo de segurança contra falha. O PostgreSQL é otimizado para aplicações mais complexas e tem a vantagem de ser gratuito. O MySQL também é gratuito, assim como o PostgreSQL, além disso tem uma ótima vantagem, que é a velocidade de acesso, que é maior comparada aos outros SGBD s e consome menos recursos da máquina. Ele é de fácil manuseio e tem uma ótima integração com Python e o Django, além de possuir um excelente desempenho e estabilidade. 2.5 A comunicação via Socket Um Socket [13] é uma abstração computacional que mapeia diretamente uma porta de transporte [14], através de um protocolo definido (como por exemplo TCP ou UDP) permitindo a comunicação em aplicações Cliente/Servidor por esse protocolo, havendo troca de mensagens entre o Cliente e o Servidor estando ambos na mesma máquina ou em máquinas diferentes. O funcionamento simplificado da comunicação via Socket acontece da seguinte maneira (Figura 2.1): existem uma ou mais aplicações implementadas, cada uma chamada de Cliente para se comunicarem com uma aplicação Servidor, que por sua vez está aberto a aceitar novas conexões. O Cliente cria um Socket utilizando um protocolo de comunicação e então tenta se conectar com o Servidor. Uma porta de conexão é atribuída pelo Servidor, e tendo estabelecida uma conexão, o Cliente envia uma mensagem ao Servidor, que recebe a mensagem e processa a informação gerando um resultado, então transmite uma resposta ao Cliente, dessa forma havendo troca de mensagens. Quando o Cliente termina a conexão, o Servidor volta ao estado de aceitar novas conexões, aguardando assim uma nova conexão de um Cliente. 8

22 Figura 2.1 Fluxo de troca de dados com sockets [14]. Existem muitos exemplos onde é aplicado a comunicação via socket, como por exemplo, o uso de um sensor de temperatura, ou outra grandeza física, enviando dados a uma aplicação Servidor que controla esse sensor, uma sala de chat, uma rede doméstica de computadores, comunicação web, entre outros exemplos. 2.6 O Mentor O Mentor, antigamente chamado Witty [16], é um ambiente interativo para processar conhecimento. Ele possui seis módulos interligados operacionalmente, são eles o provador automático de teoremas, processador de cadeias por casamento de padrões, estrutura sequencial de bases de conhecimento, Interface de interação com o usuário, ambiente de programação e uma linguagem de programação interpretada semelhante ao Prolog. A linguagem para representar o conhecimento é a de primeira ordem simplificada por Skolemização (método de eliminação de quantificadores existenciais). O sistema de dedução emprega o processo de refutação em resolução, onde se nega a pergunta original e se a resolução chega a uma cláusula vazia, a resposta é sim, quando não encontra cláusula vazia percorrendo todos os caminhos a resposta é 9

23 não. Além disso são utilizados mecanismos e recursos no Mentor para tornar sua resolução mais rápida e eficiente. Além disso, o Mentor também permite ser operado no modo Servidor, dessa forma outras aplicações podem se comunicar com ele via Socket. Mentor [16]. Figura 2.2 Representação esquemática dos módulos de funcionamento do Na Figura 2.2 está representado a estrutura de funcionamento do Mentor. O Módulo Principal se encarrega de iniciar o sistema e gerenciar o processo de execução de comandos no sistema. O Módulo Linguagens analisa os comandos que serão executados e monta a expressão que será interpretada pelo controle. O Módulo Controle se encarrega do fluxo de execução dos programas e dos comandos inseridos. O Módulo Máquina de Inferência é responsável pelo processo de dedução do sistema. O Módulo Bases de Conhecimento se encarrega de criar e fazer a manutenção do conjunto de bases de conhecimento do Mentor. O Módulo Casamento de Padrões faz o tratamento das linguagens por meio de gramáticas. O Módulo Interfaces implementa os dois tipos de interface, são eles, a interface com disco e a interface com teclado e vídeo. O Módulo Rede possui funções voltadas para a comunicação do Mentor com aplicações externas. O Módulo Máquina de Estados interpreta a máquina de estados. O Módulo Aritmética realiza funções aritméticas básicas. O Módulo Gerência de Memória gerencia a memória das execuções. 10

24 A arquitetura do Mentor possui certas características que foram úteis ao desenvolvimento do framework. Uma dessas características é a formulação de bases de conhecimento, no qual possibilita a criação de um ambiente onde os dados relacionados a um sinistro podem ser armazenados para o processo de dedução, não havendo mistura com os demais sinistros. Outra característica é o fato do Mentor possuir uma máquina de inferência dedicada ao processo de dedução, não havendo necessidade de implementar algoritmos para esse fim. E por fim o fato de o Mentor permitir a comunicação com outras aplicações foi fundamental para o desenvolvimento desse projeto. Os dados de cada sinistro ficam armazenados no banco de dados do framework, dessa forma é necessário que o framework se comunique com o Mentor via Socket, utilizando o protocolo TCP, para transmitir esses dados para ele e receber dele a classificação de cada sinistro para criar a trilha de auditoria. 11

25 Capítulo 3 Configuração do ambiente Este capítulo apresenta a configuração que foi necessária para preparar o ambiente de trabalho, dessa forma é apresentado a plataforma de trabalho, os pacotes que foram necessários serem instalados na plataforma, a criação do ambiente virtual Python e o início do Projeto. O tópico inicial trata do Linux, que foi a plataforma de trabalho escolhida. No tópico é explicado um pouco mais sobre a plataforma, definido o que são distribuições e gerenciadores de pacotes. No tópico seguinte são apresentadas as etapas iniciais de instalação explicando o passo a passo de como foi realizado, além dos pacotes que foram instalados, explicando um pouco mais sobre eles. O tópico posterior trata das instalações das dependências iniciais. O penúltimo tópico fala sobre a estrutura inicial criada para desenvolver o projeto e o último sobre a edição do arquivo de configuração do projeto. 3.1 Linux Linux [17] é o kernel (núcleo) do Sistema Operacional, que é responsável por gerenciar a CPU, memória e os dispositivos periféricos, dessa forma ele é responsável pelo funcionamento do computador fazendo a comunicação entre o hardware (impressora, monitor, mouse, teclado, etc.) e o software (programas). O Sistema Operacional é o conjunto do kernel e os programas responsáveis por interagir com este. Diferente do Mac e do Windows, o Linux é um sistema de código aberto desenvolvido por programadores espalhados pela internet. Existem diferentes versões de Linux para atender a diferentes tipos de usuários, essas versões são chamadas de distribuições (ou, numa forma mais curta, distros ). Cada distribuição tem uma diferente interface gráfica, algumas possuem interfaces mais 12

26 modernas, outras mais tradicionais. Alguns exemplos das distribuições mais populares do Linux são Ubuntu Linux, Linux Mint, Fedora, Debian e opensuse. Para configurar um ambiente de desenvolvimento com o fim de trabalhar em um projeto no Linux é necessário a instalação de alguns programas, esses programas são instalados no Linux a partir de um gerenciador de pacotes. O gerenciador de pacotes é uma ferramenta de software utilizada para instalar, remover e atualizar programas, e os programas são distribuídos em pacotes. Um pacote de software é um arquivo, normalmente compactado, que contém os arquivos necessários para instalar um software. A distribuição Linux escolhida para desenvolver o framework foi o Linux Mint versão 17.3 [18], que é uma distribuição baseada no Ubuntu Linux, originado do Debian, seu gerenciador de pacotes é o mesmo do Debian e chama-se apt-get, que foi utilizado para instalar os pacotes necessários para configurar o ambiente de desenvolvimento. 3.2 Processos iniciais de instalação e pacotes instalados Para iniciar a configuração do ambiente, o primeiro pacote a ser instalado foi build-essential, por que como algumas bibliotecas em Python tem extensões em C, para evitar erros futuros na instalação de outras bibliotecas é preciso ter os compiladores de C e C++ instalados, como o pacote build-essential é o que cumpre o papel de instalar as bibliotecas de C e C++, então torna-se recomendável, portanto, instalá-lo primeiro. Para instalá-lo foi necessário escrever o seguinte comando no terminal de comando do Linux: sudo apt-get install build-essential Inicialmente podemos ver que o comando começa com a palavra chamada sudo, essa palavra informa ao Sistema Operacional que o comando deve ser executado com permissão de superusuário, isso é necessário pois um novo pacote está sendo instalado ao Sistema Operacional possibilitando alterações nele, dessa forma é preciso ter permissão da conta de administrador. O termo apt-get informa ao Sistema Operacional que queremos utilizar alguma funcionalidade do aplicativo apt-get. O install, é o parâmetro passado ao apt-get para que ele procure no repositório de aplicativos, baixe e instale um determinado pacote. 13

27 Por fim o build-essential é o pacote a ser instalado. A instalação de qualquer pacote utilizando o apt-get no Sistema Operacional segue o mesmo padrão acima. Após solicitar a execução do comando é feita a solicitação de senha de superusuário para permitir a execução do comando. Após instalar o build-essential foi feita a instalação dos pacotes do MySQL, que é o SGBD escolhido para gerenciar o banco de dados do framework. Os pacotes MySQL são mysql-server, mysql-client, libmysqlclient-dev. Para instalá-los basta usar o comando padrão de instalação do apt-get, portanto foi escrito no terminal de comando Linux: sudo apt-get install mysql-server mysql-client No comando acima foram feitos a solicitação de instalação de dois pacotes de uma única vez, o mysql-server e o mysql-client, o apt-get aceita comandos escritos dessa forma, basta escrever um pacote após o outro separando-os por um espaço em branco. Depois foi instalado o libmysqlclient-dev, para isso foi escrito no terminal de comandos: sudo apt-get install libmysqlclient-dev O passo seguinte foi realizar a instalação do Python 3: sudo apt-get install python3 Após instalar o Python3, foi preciso instalar as ferramentas de desenvolvimento para ele, além do gerenciador de pacotes pip: sudo apt-get install python3-pip python3-dev Sendo instalado o pip, a etapa seguinte foi instalar os pacotes escritos em Python. Os primeiros pacotes que foram instalados foram os do virtualenv, que são o virtualenv e o virtualenvwrapper. A instalação de pacotes pelo pip segue o mesmo padrão que o apt-get, apenas substituindo o apt-get pelo pip. Os comandos para instalar os pacotes foram: 14

28 sudo pip install virtualenv sudo pip install virtualenvwrapper Para armazenar os ambientes virtuais é necessário criar um diretório para esse fim, portanto foi escrito o seguinte comando para criar esse diretório: mkdir -p ~/Django/.virtualenvs O mkdir é o comando Linux para criação de diretórios, a opção -p do comando permite a criação dos subdiretórios descritos no caminho do diretório a ser criado, caso eles ainda não existam, por exemplo, o diretório a ser criado é o.virtualenvs, caso o diretório Django não exista ele será criado. O ~/Django/.virtualenvs é caminho do diretório a ser criado, onde o ~ representa o caminho do diretório do usuário desde o diretório raiz do sistema. Para que o virtualenvwrapper funcione corretamente é necessário adicionar duas linhas de texto no corpo do arquivo.bashrc, que é um arquivo que permite algumas automatizações ao iniciar o terminal de comandos. As linhas são: export WORKON_HOME=~/Django/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh A primeira linha está criando uma variável de ambiente chamada WORKON_HOME, que possui o caminho do diretório onde ficam armazenadas os ambientes virtuais de desenvolvimento. Essa variável de ambiente é utilizada pelo script do virtualenvwrapper. A segunda linha executa o script do virtualenvwrapper. O próximo passo foi criar um ambiente virtual para desenvolver o projeto. No momento de criar o ambiente virtual foi possível estabelecer qual versão do Python instalado no Sistema Operacional utilizar, então o ambiente virtual foi criado com o Python 3 como padrão. Para criar o ambiente virtual bastou digitar o seguinte comando: mkvirtualenv --python=python3 fraud_analisis 15

29 O mkvirtualenv é o comando do virtualenvwrapper para criar ambientes virtuais, a opção --python=python3 serve para definir a versão Python padrão do ambiente. O fraud_analisis é o nome do ambiente virtual criado. Para iniciar o desenvolvimento basta digitar no terminal: workon fraud_analisis Com o comando acima o ambiente virtual é ativado. Dentro do ambiente virtual podem ser instalados as dependências do projeto utilizando o gerenciador de pacotes pip. A primeira dependência instalada foi o Django, com o seguinte comando: pip install django No comando acima não foi necessário a utilização do sudo no comando por não haver necessidade de permissão de superusuário. Esse comando instala a última versão estável do django. Em seguida foi instalado o pacote mysqlclient, que permite a conexão do Python com o MySQL, que foi feito com o seguinte comando: pip install mysqlclient A seguir são descritos os conteúdos de cada pacote que foi instalado O build-essential O build-essential [19] instala as bibliotecas de C e C++, para compilar programas em C e C++. Algumas bibliotecas em Python têm extensões escritas em C, por esse motivo foi necessário instalar o build-essential O pacotes MySQL O MySQL foi o SGBD escolhido para gerenciar o banco de dados do framework, para tê-lo instalado no Sistema Operacional é preciso fazer a instalação de 16

30 alguns pacotes. Um dos pacotes é o mysql-server [20] que possui a infraestrutura requerida para configurar o banco de dados do sistema, outro é o mysql-client [21] que contém os arquivos binários do cliente e ferramentas adicionais. O último o pacote é o libmysqlclient-dev [22] que possui bibliotecas de desenvolvimento do MySQL Os pacotes Python 3 Para ter o Python 3 instalado no sistema é preciso instalar o pacote python3 [23], porém mesmo após a instalação desse pacote o Python 2 ainda permanecerá o padrão do Sistema Operacional. Para adicionar funcionalidades ao Python 3 foi instalado também o pacote python3-dev [24], que possui uma biblioteca estática e ferramentas de desenvolvimento que possibilitam construir módulos Python, tornar o seu interpretador mais extenso ou para embarcar o Python em aplicações O pip e o virtualenv O Python possui um gerenciador de pacotes próprio chamado pip. Por meio do pip podemos instalar e gerenciar pacotes escritos em Python, para utilizar o pip foi preciso instalar o pacote python3-pip [25]. Após a instalação do pip, as dependências para os projetos escritos em Python podem ser instaladas com mais facilidade. O virtualenv [26] é uma ferramenta que permite a criação de ambientes de desenvolvimento Python isolados. Por meio do virtualenv é possível trabalhar com múltiplos projetos com dependências diferentes em paralelo sem afetar o Sistema Operacional. Para auxiliar o uso do virtualenv foi instalado o virtualenvwrapper [27], que é um conjunto de extensões para o virtualenv. 3.3 Dependências iniciais do projeto A primeira dependência instalada no ambiente virtual foi o Django na versão [28], que era a versão estável mais recente no início do projeto. Não é recomendado instalar o Django diretamente no Sistema Operacional, mas sim no ambiente virtual Python, para permitir o desenvolvimento de múltiplos projetos em versões do Django diferentes sem interferência entre eles. 17

31 A outra dependência importante instalada no ambiente virtual foi o mysqlclient [29], ele é um fork (derivação com base em um aplicativo) do MySQL-python para o Python 3. O mysqlclient é o pacote que contém o MySQLdb, que é uma interface Python para se conectar com o servidor MySQL. 3.4 Iniciando o projeto Com as dependências do projeto instaladas, o próximo passo foi iniciar o projeto. O Django é uma ferramenta com funcionalidades de automação de software, e por isso com alguns comandos ele já cria uma estrutura inicial de projeto. Para criar o projeto bastou digitar o seguinte comando: django-admin.py startproject insurance_fraud_analysis_system O django-admin.py executa ações de administração do Django, com o parâmetro startproject ele cria um diretório dentro do diretório atual com a seguinte estrutura: insurance_fraud_analysis_system / manage.py init.py settings.py urls.py wsgi.py O diretório insurance_fraud_analysis_system/, que foi criado, corresponde a estrutura inicial do projeto Django, onde cada arquivo tem uma finalidade: O manage.py é um utilitário da linha de comando que permite interagir com o projeto. O init.py é um arquivo vazio que diz ao Python que o diretório pode ser considerado um pacote Python. O settings.py é o arquivo de configurações Django do projeto. 18

32 O urls.py é um arquivo de declarações de URL, "tabela de conteúdo do site" O wsgi.py é um ponto de entrada para servidores web compatível com WSGI para servir o projeto. Dentro do diretório do projeto foram criados 4 outros diretórios para armazenamento de arquivos. Os diretórios criados foram: media/ sitestatic/ static/ templates/ O diretório media/ armazena os uploads de arquivos. O diretório sitestatic/ armazena os arquivos estáticos, como por exemplo: arquivos de imagem, arquivos css e arquivos javascript. O diretório static/ é para o uso do aplicativo staticfiles. O diretório templates/ armazena os templates do projeto. 3.5 Editando o arquivo de configuração do projeto O arquivo settings.py possui as configurações de projeto do Django, foi necessária a edição desse arquivo para iniciar o desenvolvimento do projeto. No início do arquivo foi adicionado a seguinte linha: # -*- coding: utf-8 -*- Esta linha é um comentário Python informando que a codificação do arquivo de configuração é utf-8. Em seguida foram adicionadas as seguintes linhas abaixo da entrada DEBUG: ADMINS = [('<Nome>,'< >'),()] MANAGERS = ADMINS 19

33 A primeira linha define uma lista de desenvolvedores do projeto com nome e e- mail, no lugar de <Nome> foi escrito o nome e no lugar de < > escrito o . A linha seguinte define essa lista como gerenciadores do projeto, caso ocorra algum erro em produção no projeto é enviado um para os nomes listados caso seja configurado. Existe uma lista com um dicionário Python chamado TEMPLATES, nele foi adicionado o caminho do diretório de templates do projeto na chave DIRS, a chave APP_DIRS foi estabelecida como False e na chave OPTIONS, que é um outro dicionário, foi adicionado uma chave chamada loaders para carregar os diretórios. Dessa forma o TEMPLATES passa a ser: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.djangotemplates', 'DIRS': [ os.path.join(base_dir,'templates'), ], 'APP_DIRS': False, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], 'loaders': [ 'django.template.loaders.filesystem.loader', 'django.template.loaders.app_directories.loader', ], }, }, ] 20

34 Em seguida foi editado o dicionário DATABASES para incluir os dados de conexão com o MySQL. Então o dicionário ficou dessa forma: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': ' fraud_analysis ', 'USER': 'root', 'PASSWORD': '<Senha>', 'HOST': 'localhost', 'PORT': '3306', } } Em seguida foram alterados o código de linguagem e o time zone que foram editados para estarem configurados da seguinte forma: LANGUAGE_CODE = 'pt-br' TIME_ZONE = 'America/Sao_Paulo' Por fim foram incluídos os diretórios media/, static/, sitestatic/, a url correspondente do diretório media/ e uma lista de localizadores dos arquivos estáticos. Dessa forma foram incluídas as seguintes linhas: MEDIA_ROOT = os.path.join(base_dir, 'media') MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(base_dir, 'static') STATICFILES_DIRS = [ ('site',os.path.join(base_dir,'sitestatic')), ] STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.filesystemfinder', 'django.contrib.staticfiles.finders.appdirectoriesfinder', ] 21

35 Capítulo 4 O framework de suporte Nos capítulos anteriores foram apresentadas as tecnologias utilizadas para desenvolver o framework e as configurações do ambiente de desenvolvimento. Esse capítulo irá tratar do framework em si, apresentando diagramas de projeto, os códigos fontes de algumas partes do framework, a administração do framework e a dinâmica de seu funcionamento. Primeiramente os casos de uso do projeto serão descritos e mostrados por meio dos diagramas criados. No tópico seguinte é apresentada a estrutura do projeto desenvolvido. Os tópicos posteriores explicarão um pouco mais a fundo o desenvolvimento do framework. Já os dois últimos tópicos apresentam a administração do framework e a dinâmica de funcionamento do mesmo. 4.1 Casos de uso e diagramas do projeto Na etapa inicial de análise do funcionamento do framework foram construídos alguns diagramas. O primeiro diagrama desenvolvido foi o de caso de uso com a finalidade de estabelecer os requisitos funcionais do framework (Figura 4.1). 22

36 Figura 4.1 Diagrama de caso de uso do projeto. No primeiro fluxo (Fluxo 1 na Figura 4.1) entre a seguradora e o framework observamos pelo diagrama que a ideia inicial era o sistema coletar as solicitações de casos de sinistros do banco de dados da seguradora, onde a seguradora envia as solicitações de casos de sinistros ao seu banco e o framework faria uma busca por essas solicitações. Devido a impossibilidade de acesso ao banco de dados da seguradora, por questões de segurança, o mecanismo de obtenção dos casos de sinistros foi alterado. No mecanismo desenvolvido a seguradora submete um arquivo de dump do banco de dados com as solicitações dos casos de sinistros, então o framework lê esse arquivo para obter os casos de sinistros. O segundo fluxo (Fluxo 2 na Figura 4.1), que ocorre entre o framework e o banco de dados, é o processo de salvar no banco de dados do framework os casos de sinistros coletados do arquivo de dump da seguradora. Na figura o SGBD apresentado é o SQL Server, porém houve uma substituição do SGBD para o MySQL, pois houve uma mudança da plataforma de desenvolvimento para o Linux, o que motivou a escolha do MySQL para ser compatível com a plataforma. O terceiro fluxo (Fluxo 3 na Figura 4.1) é a consulta e obtenção dos casos de sinistros no banco de dados do framework. No quarto fluxo (Fluxo 4 na Figura 4.1) o framework gera um arquivo com extensão. prg para cada caso de sinistro por vez no processo de classificação, esse 23

37 arquivo é um arquivo texto com a formatação necessária para ser submetida ao classificador (o Mentor), todo arquivo prg gerado é armazenado no repositório de casos do framework e após ser salva a avaliação no banco de dados o arquivo prg é deletado. No quinto fluxo (Fluxo 5 na Figura 4.1) o framework trabalha com a classificação de um caso de sinistro por vez, todo o processo é síncrono, ou seja, a avaliação do próximo sinistro só é feita depois da avaliação corrente. O framework envia ao Mentor o caminho onde o arquivo prg correspondente ao caso de sinistro corrente está armazenado e solicita sua classificação ao Mentor, então o Mentor fica responsável pelos dois fluxos seguintes. No primeiro fluxo do Mentor (Fluxo 5.1 na Figura 4.1) ele busca e recebe o arquivo prg no caminho informado pelo framework, após ler o arquivo prg o Mentor classifica o caso de sinistro e no segundo fluxo (Fluxo 5.2 na Figura 4.1) ele cria um arquivo texto com a classificação e salva o arquivo no repositório de avaliações. Ao fim de cada processo, o Mentor retorna ao framework uma mensagem informando se a operação foi realizada com sucesso ou não. No sexto fluxo (Fluxo 6 na Figura 4.1) o framework busca e obtém a avaliação corrente no repositório de avaliações. Como o processo é síncrono, então o fluxo 6 só ocorre após a etapa de classificação do caso de sinistro corrente. No sétimo fluxo (Fluxo 7 na Figura 4.1) o framework lê o arquivo de avaliação do caso de sinistro corrente e salva no seu banco de dados a sua avaliação correspondente. No oitavo fluxo (Fluxo 8 na Figura 4.1) todas as classificações já foram realizadas, então o framework faz a consulta e obtém os casos de sinistros com suas avaliações. Por fim, no último fluxo (Fluxo 9 na Figura 4.1) o framework envia as avaliações para a seguradora, como o framework não tem acesso ao banco de dados da seguradora, então, ele gera um arquivo de dump para exportação apenas com os casos de sinistros avaliados da seguradora. Para facilitar a visualização de todos os processos que acontecem no framework foi criado o diagrama de seqüência (Figura 4.2), que apresenta cada processo sequencialmente como já foi descrito. 24

38 Figura 4.2 Diagrama de sequência do projeto. O último diagrama criado foi o diagrama de deployment (Figura 4.3), esse diagrama apresenta a estrutura física do projeto. Figura 4.3 Diagrama de deployment do projeto. Como já foi descrito, a ideia inicial era o framework ter acesso ao banco de dados da seguradora, no diagrama acima podemos ver o framework ter acesso ao banco de dados da seguradora por meio de API e criptografia, porém, como ele não tem acesso ao banco de dados da seguradora, a estrutura física passa a ser apenas o servidor. O acesso ao Mentor ocorre via comunicação socket com o protocolo TCP. Já o framework se comunica com o banco de dados pela API do Django. O acesso ao repositório, por sua vez, ocorre via chamada do sistema. 25

39 Em todos os diagramas apresentados está descrito que SQL Server é o SGBD do banco de dados interno do framework, o C# a linguagem de programação de desenvolvimento e o.net o framework web, isso ocorre, pois, os diagramas foram criados antes da mudança de plataforma de desenvolvimento. Como já foi apresentado, o SGBD utilizado foi o MySQL, a linguagem de programação de desenvolvimento foi o Python e o framework web foi o Django. Houve essas alterações, pois, a plataforma utilizada anteriormente para desenvolver o projeto foi o Windows em virtude de existir um servidor disponível nessa plataforma para o desenvolvimento do framework, porém, devido a imprevistos, não foi mais possível a utilização desse servidor, então foi alterada a plataforma de desenvolvimento para o Linux, motivando, então, as alterações das tecnologias utilizadas para serem compatíveis com a nova plataforma, facilitando o desenvolvimento e mantendo a qualidade. 4.2 Estrutura do projeto Com o auxílio do Django foi possível construir a estrutura do projeto de maneira organizada e clara. O projeto em si é uma app Django com duas apps menores dentro, conforme podemos ver na Figura 4.4. Figura 4.4 Estrutura base do framework. A app etl é responsável pela parte de ler o arquivo de dump, salvar os dados dos casos de sinistros no banco de dados interno do framework e listar os dados armazenados. Nessa app também é construída o modelo de dados. A app valuer é responsável pela parte de geração dos arquivos prgs, se comunicar com o Mentor, ler os arquivos de classificação e gerar a trilha de auditoria, ou seja, é responsável pelo processo de classificação dos casos de sinistro. 26

40 O diretório interno insurance_fraud_analysis_sytem é o projeto em si, onde são armazenados arquivos de configuração, alguns templates, arquivos estáticos, os repositórios de casos e avalições, os arquivos de dump da seguradora e os arquivos de dump com as avaliações que são exportados para a seguradora. 4.3 A app etl A estrutura da app etl é apresentada na Figura 4.5. Figura 4.5 Estrutura da app etl. Como pode ser observado, a estrutura possui arquivos comuns a apps Django, como os arquivos models.py, e views.py e outros específicos para a funcionalidade da app. Ao criar uma app com o Django alguns arquivos são gerados automaticamente. A seguir encontram-se descritos os propósitos de cada arquivo gerado pelo Django. O arquivo init.py é um arquivo em branco informando ao Python que esse diretório é um pacote. O arquivo admin.py é onde são registrados os modelos na administração do Django. O arquivo app.py é o arquivo de configuração da app. O arquivo models.py é o lugar onde são criados os modelos da aplicação. O arquivo tests.py é o lugar onde dão criados os testes da aplicação. Por fim o arquivo views.py é arquivo onde são criadas as views da aplicação. 27

41 Uma view é uma função Python que recebe uma requisição Web e retorna uma resposta Web. O arquivo views.py possui as duas views da app, são elas a add_dump_file e a list_request_analysis, sendo a view add_dump_file responsável por renderizar o formulário para inserção do arquivo de dump com os casos de sinistros e a view list_request_analysis responsável por renderizar uma página com uma tabela mostrando os dados dos casos de sinistros armazenados no banco de dados do framework. Na Figura 4.6 é mostrado o código fonte da view add_dump_file. Figura 4.6 Código fonte da view add_dump_file. Como pode ser observado na Figura 4.6 a view possui dois decorators Python, e Os decorators são utilizados para modificar o código em funções ou classes, os dois decorators são utilizados em todas as views do projeto. O restringe o uso da página HTML gerada pela view a usuários logados ao sistema, ou seja, a view só é renderizada se o usuário está logado com uma conta ativa. O restringe o uso da página HTML a usuários que possuem permissão de acesso, a permissão de acesso é passada por parâmetro para o decorator, se o usuário não possui a permissão de acesso exigida então ele não tem acesso a página HTML. A view recebe a requisição Web por parâmetro, verifica então se o usuário está autenticado, se o usuário está autenticado ele obtém o nome da seguradora pela função get_insurer, que retorna o nome de usuário se a seguradora está logada, ou nome 28

42 escolhido no formulário renderizado para usuário administrador. Em seguida obtém o formulário, que possui os campos para inserir o arquivo de dump e a descrição, então o formulário é adicionado no dicionário context. Se os campos inseridos no formulário forem válidos a função run_etl_process é chamada para armazenar o arquivo de dump da seguradora, lê-lo e salvar os casos de sinistros no banco de dados. Caso a função run_etl_process retorne uma mensagem de erro então a operação não foi realizada com sucesso e a mensagem de erro é adicionada ao dicionário de contexto para ser visualizada pelo usuário juntamente com o formulário para ser preenchido novamente. Se a não houver mensagem de erro a view redireciona o usuário para uma página apenas com uma mensagem de sucesso. Ao fim a view retorna a rendrização do contexto obtido no template descrito. A Figura 4.7 mostra o código fonte da view list_request_analysis. Figura 4.7 Código fonte da view list_request_analysis. Como pode ser observado a view apresenta os mesmos e que já foram descritos anteriormente. A view basicamente obtém uma lista com todos os casos de sinistros armazenados, se o usuário for um administrador, ou todos os casos de sinistros armazenados para a seguradora logada e renderiza essa lista na página no formato de uma tabela Persistindo os casos de sinistros Para auxiliar o processo de salvar os casos de sinistros no banco de dados do framework foi criado um banco de dados auxiliar chamado stage. O stage é utilizado para importar o arquivo de dump fornecido. Dessa forma os dados dos casos de sinistros 29

43 passam a estar armazenados em uma estrutura de banco de dados. Com os casos armazenados no stage é feito então o acesso a ele para obtê-los e armazená-los no banco de dados interno com o auxílio do ORM (mapeador objeto relacional) do Django. A Figura 4.8 ilustra como o corre o processo. Figura 4.8 Simples representação esquemática do processo de armazenar os casos de sinistros no banco de dados interno. Na Figura 4.8 vemos o _import() representando o método que importa o arquivo de dump em stage e o _transform() e o _load() representando respectivamente os métodos que fazem a consulta e transformação dos dados em stage e a persistência dos dados no banco de dados interno. Esses métodos pertencem a classe ETL. Para auxiliar o acesso ao banco stage foi criado a classe DatabaseConnection, que dispõe de métodos para se conectar com um banco de dados no MySQL e fazer consultas nele A classe ETL A sigla ETL [30] representa um processo de extração, transformação e carga, para a construção de um Data Warehouse ou de um Data Mart. Para o sistema foi criada uma classe que desempenha as funções desse processo. No arquivo etl_routines.py existem funções auxiliares para criar um objeto da classe ETL e realizar outras tarefas no sistema. Devido ao fato de cada seguradora possuir estruturas diferentes de armazenamento de dados, para cada seguradora foi criada uma classe filha da classe ETL com a finalidade de obter os dados de maneira customizada para cada seguradora. O arquivo etl.py é onde foi criada classe ETL e suas classes filhas. Na Figura 4.9 podemos observar a classe ETL e seus métodos. 30

44 Figura 4.9 Classe ETL. O método init é o construtor da classe, onde é criado o objeto de conexão com o banco stage. Os métodos _read_dump_file_to_string e _execute_sql são métodos utilizados pelo método _import_dump para importar o arquivo de dump para o banco de stage. O método _transform realiza a consulta e transformação dos dados em stage e o método _load realiza a carga de dados no banco de dados interno do framework. O método _clean_database apaga os dados armazenados em stage após os dados serem carregados no banco de dados. Por fim o método run_services é responsável por realizar todo o processo ETL fazendo uso dos demais métodos anteriores Modelo de dados do banco de dados interno Visando facilitar o tratamento do grande volume de dados dos casos de sinistros e a geração da tabela de auditoria, o modelo de dados utilizado foi no formato de Data Warehouse [31], que corresponde a uma fonte única e completa de dados. Portanto o modelo possui apenas uma tabela com muitas colunas armazenando de forma detalhada os dados dos casos de sinistros e dados obtidos das classificações dos mesmos. Na Figura 4.10 podemos visualizar o modelo. 31

45 Figura 4.10 O modelo do banco de dados do framework. A tabela dispõe de colunas para armazenamento dos dados obtidos pelos arquivos de dump e os dados gerados pelas operações de importar o arquivo de dump, gerar a classificação e exportar os dados dos casos de sinistros classificados. O modelo do banco de dados foi escrito no arquivo models.py e por meio do auxílio da ORM do Django a estrutura do banco foi criada no MySQL. 4.4 A app valuer Na Figura 4.11 é apresentado a estrutura da app valuer. 32

46 Figura 4.11 Estrutura da app valuer. A app valuer é responsável pelo processo de classificação dos casos de sinistros armazenados no banco de dados do framework e exportar os casos classificados para serem analisados pela auditoria de campo ou não, para auxiliar esse processo foram criadas duas views. A view responsável pelo processo de classificação chama-se show_ratings, onde além de realizar esse processo a view retorna ao usuário uma tabela com uma trilha de auditoria. Na Figura 4.12 podemos visualizar o código fonte da view show_ratings. 33

47 Figura 4.12 Código fonte da view show_ratings. A view inicialmente obtém uma lista dos casos de sinistros armazenados para seguradora escolhida, se o usuário for um administrador, ou uma lista dos casos de sinistros armazenados da seguradora logada. Com a lista obtida, cada caso de sinistro que não foi classificado será submetido ao classificador, para isso é criado um objeto chamado rating_generator da classe RatingGenerator que recebe como parâmetro o registro do caso de sinistro. O método generate_ratings do objeto rating_generator é o responsável pelo processo de classificação de um registro de caso de sinistro, se esse método retorna uma mensagem de erro, então essa mensagem é adicionada ao contexto e o processo de classificação é interrompido. Ao fim do processo de classificação a lista com os casos de sinistros classificados são adicionados ao contexto. Por fim o contexto é renderizado no template O processo de classificação No processo de classificação um caso de sinistro é classificado por vez e ele é dividido por etapas. A primeira etapa é a geração do arquivo prg, o arquivo prg é um arquivo texto contento os dados necessários do caso de sinistro e os comandos para o Mentor poder realizar a classificação, nessa etapa o arquivo prg é gerado e armazenado no repositório de casos. A segunda etapa é enviar ao mentor o comando para carregar o arquivo prg armazenado e solicitar a classificação, essa etapa ocorre via comunicação 34

48 socket com protocolo TCP, o Mentor então por sua vez realiza a classificação e salva a classificação num arquivo texto no repositório de avaliações e retorna uma mensagem de sucesso ao sistema. A última etapa é a leitura desse arquivo de texto gerado pelo Mentor e o armazenamento no banco de dados da classificação obtida na leitura desse arquivo texto. Tanto o arquivo prg, quanto o arquivo de classificação do Mentor são deletados após o seu uso. Todos as etapas do processo são automáticas e gerenciadas pela classe RatingGenerator. A primeira etapa é realizada pelo objeto da classe StorerCases a segunda etapa é realizada pelos métodos da própria classe RatingGenerator, sendo que para estabelecer a comunicação socket com o Mentor foi criada a classe MentorClient, que realiza as operações de comunicação socket com o Mentor. A terceira etapa é realizada pelo objeto da classe RatingsRecorder. Nas Figuras 4.13, 4.14, 4.15 e 4.16 podemos ver as estruturas das quatro classes citadas com seus métodos. Figura 4.13 Classe StorerCases. Na classe StorerCases o método generate_prg é o responsável pela geração e armazenamento do arquivo prg, se utilizando dos demais métodos auxiliares da classe para esse fim. O método delete_prg_file é responsável por deletar o arquivo prg. 35

49 Figura 4.14 Classe RatingGenerator. Pode-se observar que o objeto responsável pela comunicação socket é criado no construtor da classe RatingGenerator. No construtor da classe são criados também o objeto que gera o arquivo prg e o objeto que armazena a classificação no banco de dados. O método generate_ratings é o responsável pelo gerenciamento do processo de classificação. Figura 4.15 Classe MentorClient. 36

50 A classe MentorClient possui os métodos necessários para a comunicação socket com o Mentor, sendo o método communicate_with_the_server responsável por realizar as etapas de comunicação. Figura 4.16 Classe RatingsRecorder. A classe RatingsRecorder possui os métodos necessários para armazenar no banco de dados um caso de sinistro classificado A exportação das classificações Para exportar as classificações realizadas foi criada uma view chamada export_ratings. O código fonte da view se encontra na Figura Figura 4.17 Código fonte da view export_ratings. 37

51 Se o usuário solicitando a exportação for um administrador, então é renderizado para ele um formulário com as opções de seguradoras para exportação, ao selecionar uma das seguradoras o objeto export_file da classe ExportFileGenerator é criado com a seguradora escolhida. Porém se o usuário for uma seguradora o objeto export_file da classe ExportFileGenerator é criado com o nome de usuário. Com o objeto export_file criado, então o seu método chamado get_export_zip_file retorna o arquivo de exportação e o arquivo é adicionado ao contexto, caso ocorra algum erro na exportação ele retorna uma mensagem de erro e a mensagem é adicionada ao contexto. A Figura 4.18 mostra a classe ExportFileGenerator. Figura 4.18 Classe ExportFileGenerator. A classe ExportFileGenerator é responsável por gerar o arquivo de exportação com os dados dos casos dos sinistros classificados. 4.5 Administração do framework Para a administração do framework foi utilizado a própria app admin do Django, sem muitas alterações. A administração do framework é utilizada para criar novos usuários e permissões para o acesso ao framework. Foi criado uma permissão chamada Pode acessar a página, para que uma nova seguradora tenha acesso ao framework é necessário a criação de uma conta de usuário 38

52 com o nome da seguradora e com a permissão Pode acessar a página para que a seguradora tenha acesso aos serviços do framework. A Figura 4.19 apresenta a página de administração com a permissão criada e a Figura 4.20 apresenta a página de administração com os usuários criados para teste. Figura 4.19 Página de administração com a permissão criada. Figura 4.20 Página de administração com usuários criados para teste. O usuário ramon é o administrador do framework. O usuário Teste representa um usuário criado sem permissão de acessar as páginas do framework. O usuário Teste2 representa um usuário criado com a permissão de acessar as páginas do framework, porém não representa uma seguradora válida. Os usuários DPVAT e PS representam seguradoras válidas e possuem permissão de acessar as páginas do framework. 39

53 4.6 O framework em funcionamento A página inicial do framework é uma página de login customizada, que faz uso do sistema de gerenciamento de usuários próprio do Django. Para um usuário não logado, ao acessar qualquer rota url do framework automaticamente é feito um redirecionamento para a página de login. Se um usuário que não tem permissão para acessar as páginas ao fazer o login no framework aparece uma mensagem informando que o usuário não tem permissão de acesso. Nas Figuras 4.21 e 4.22 mostram as páginas de login e a página com a mensagem informando que o usuário não tem permissão de acesso. Figura 4.21 Página de login. Figura 4.22 Página com a mensagem informando que o usuário não tem permissão de acesso. 40

54 Quando um usuário com permissão de acesso faz o login no framework ele tem acesso a uma página de início com uma breve explicação da proposta do framework e um tópico de ajuda rápida. Já na página inicial é possível observar uma barra de navegação com as funcionalidades do framework e no canto superior direito da página aparece o nome do usuário logado e um link para sair do framework. A Figura 4.23 mostra a página de início do usuário logado. Figura 4.23 Página de início. Na barra de navegação temos as abas Início, Incluir, Listar, Classificar e Exportar. A aba Início corresponde a página inicial, a aba Incluir possui o formulário para inclusão do arquivo de dump, a aba Listar gera a listagem dos casos de sinistros armazenados, na aba Classificar é possível solicitar a classificação dos casos de sinistros ao framework, quando classificados o framework apresenta uma trilha de auditoria e por último a aba Exportar gera o arquivo de exportação compactado para download. Na Figura 4.24 podemos visualizar página correspondente a aba Incluir com o retorno de erro após ser inserido um arquivo de dump inválido. Caso o usuário insira arquivo inválido no campo de arquivo de dump o framework retorna o erro ao usuário no próprio formulário. 41

55 Figura 4.24 Página de incluir arquivos de dump com retorno de erro. Na Figura 4.25 é apresentado a listagem solicitada pelo usuário dos casos de sinistros armazenados no banco de dados, a listagem é mostrada em forma de tabela. Figura 4.25 Listagem dos casos de sinistros armazenados no banco de dados. 42

56 Após haver feita a solicitação de classificação dos casos de sinistros para a seguradora, o framework retorna uma tabela com os sinistros e suas classificações, podemos visualizar essa tabela na Figura Figura 4.26 Tabela com as classificações dos casos de sinistros. Ao fim do processo o usuário pode fazer o download do arquivo de exportação como pode ser visualizado na Figura

57 Figura 4.27 Página para download do arquivo de exportação. Um detalhe a mais das páginas Web do framework é que elas foram criadas para serem responsivas, ou seja, o design das páginas se adaptam ao tamanho da tela em que são vistas. Então as páginas mudam seu formato se forem visualizadas, por exemplo, na tela de um celular. 44

Tutorial Ambiente, instalação e começando um novo projeto Django

Tutorial Ambiente, instalação e começando um novo projeto Django Tutorial Ambiente, instalação e começando um novo projeto Django Vamos começar com Python Primeiro, vamos falar um pouco sobre o que o Python é. Python é uma linguagem de programação muito popular que

Leia mais

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Administração de Sistemas Operacionais. Prof. Marlon Marcon Administração de Sistemas Operacionais Prof. Marlon Marcon SGBD SGBD: Sistema de gerenciamento de banco de dados. é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de

Leia mais

Globo Photo Documentation

Globo Photo Documentation Globo Photo Documentation Versão 0.0.1 Gilson Filho 09/06/2014 Sumário 1 Documentação: 3 1.1 Arquitetura................................................ 3 1.2 Instalação.................................................

Leia mais

INTRODUÇÃO A SISTEMAS OPERACIONAIS

INTRODUÇÃO A SISTEMAS OPERACIONAIS INTRODUÇÃO A SISTEMAS OPERACIONAIS Prof. Me. Hélio Esperidião DEFINIÇÃO DE SISTEMA OPERACIONAL. O sistema operacional é uma camada de software colocada sobre o hardware para gerenciar todos os componentes

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Trabalho de Conclusão de Curso Ciências da Computação SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS AS Acadêmico: Fabricio

Leia mais

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

TECNOLOGIA EM REDES DE COMPUTADORES - 3º PERÍODO ADS - ADMINISTRAÇÃO DE SERVIDORES Grupo: Alexandre - Leonel - Mateus - Ricardo

TECNOLOGIA EM REDES DE COMPUTADORES - 3º PERÍODO ADS - ADMINISTRAÇÃO DE SERVIDORES Grupo: Alexandre - Leonel - Mateus - Ricardo TECNOLOGIA EM REDES DE COMPUTADORES - 3º PERÍODO ADS - ADMINISTRAÇÃO DE SERVIDORES Grupo: Alexandre - Leonel - Mateus - Ricardo SERVIDOR WEB O Servidor WEB é o programa responsável pela publicação de documentos,

Leia mais

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 104/360

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 104/360 1 DEMAIS SIMULADOS NO LINK ABAIXO CLIQUE AQUI REDE SOCIAL SIMULADO 104/360 INFORMÁTICA INSTRUÇÕES TEMPO: 30 MINUTOS MODALIDADE: CERTO OU ERRADO 30 QUESTÕES CURTA NOSSA PÁGINA MATERIAL LIVRE Este material

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS 1 ÍNDICE ÍNDICE... 2 1. INTRODUÇÃO... 3 2. REQUISITOS... 3 2.1 Requisitos mínimos para utilização do instalador... 3 2.2 Requisitos mínimos para instalação

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais

Assunto 2 - Software. Prof. Miguel Damasco

Assunto 2 - Software. Prof. Miguel Damasco Assunto 2 - Software UD 1 - FUNDAMENTOS DE INFORMÁTICA Prof. Miguel Damasco a. Gerações dos Softwares 1ª Geração: Linguagem de máquina notação numérica binária ou hexadecimal, linguagem de baixo nível,

Leia mais

Laboratório 01 NetBeans

Laboratório 01 NetBeans Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Atividade individual. Laboratório 01 NetBeans 1 Introdução Os

Leia mais

Gerenciamento de Redes. Alan Santos

Gerenciamento de Redes. Alan Santos Gerenciamento de Redes Alan Santos Ciclo de gerenciamento Quando falamos de gerenciamento de redes devemos primeiro estabelecer o que será gerenciado e o que se espera como resultado desse gerenciamento.

Leia mais

Gerência de Redes de Computadores Zabbix Instalação. Prof. Alex Furtunato

Gerência de Redes de Computadores Zabbix Instalação. Prof. Alex Furtunato Gerência de Redes de Computadores Zabbix Instalação Prof. Alex Furtunato alex.furtunato@ifrn.edu.br Introdução Sistema de monitoramento de rede enterprise open source, com solução de monitoramento distribuído

Leia mais

Estrutura do Sistema Operacional

Estrutura do Sistema Operacional Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional

Leia mais

Redes de Computadores

Redes de Computadores Instituto Superior Politécnico de Ciências e Tecnologia Redes de Computadores Prof Pedro Vunge I Semestre de 2017 SUMÁRIO I - Introdução às Redes de Computadores 1.4 Principais componentes de uma rede

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri FERRAMENTA VISUAL PARA GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri ROTEIRO Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento

Leia mais

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III Capacitação Sistema Operacional Linux Semana III A estrutura dos diretórios do sistema GNU/Linux Gerenciador de diretórios e arquivos Para quem está acostumado a operar o Windows, vai notar que existe

Leia mais

Guia de Segurança do Oracle Hardware Management Pack para Oracle Solaris 11.3

Guia de Segurança do Oracle Hardware Management Pack para Oracle Solaris 11.3 Guia de Segurança do Oracle Hardware Management Pack para Oracle Solaris 11.3 Número do Item: E76543-02 Março de 2017 Conteúdo Visão Geral da Segurança do Produto e do Aplicativo... 5 Sobre o Oracle Hardware

Leia mais

Plano de Testes VideoSystem

Plano de Testes VideoSystem Plano de Testes VideoSystem Versão Histórico das Revisões Data Versão Descrição Autor 02/10/2009 1.0 06/10/2009 1.0 05/11/2009 1.1 Início da Elaboração do Plano de Testes Revisão do Plano de Testes

Leia mais

CLUSTER DE ALTA DISPONIBILIDADE EM UM SISTEMA DE GESTÃO HOSPITALAR

CLUSTER DE ALTA DISPONIBILIDADE EM UM SISTEMA DE GESTÃO HOSPITALAR CLUSTER DE ALTA DISPONIBILIDADE EM UM SISTEMA DE GESTÃO HOSPITALAR REICHL, Jacob 1 jacobdeimling@gmail.com RESUMO Este artigo tem o objetivo de apresentar uma solução de cluster para o sistema de gestão

Leia mais

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 116/360

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 116/360 1 DEMAIS SIMULADOS NO LINK ABAIXO CLIQUE AQUI REDE SOCIAL SIMULADO 116/360 INFORMÁTICA INSTRUÇÕES TEMPO: 30 MINUTOS MODALIDADE: CERTO OU ERRADO 30 QUESTÕES CURTA NOSSA PÁGINA MATERIAL LIVRE Este material

Leia mais

Especificação Técnica Sistema de Acesso

Especificação Técnica Sistema de Acesso 1. Introdução O VW Acesso é um sistema 100% web, para controle de acesso de pessoas. O sistema possui arquitetura robusta e independente de plataforma, atendendo todos os segmentos e portes de empresa.

Leia mais

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha em várias aplicações nas quais são necessárias estabilidade

Leia mais

Arquiteturas. capítulo

Arquiteturas. capítulo Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos

Leia mais

Interface gráfica do linux

Interface gráfica do linux Interface gráfica do linux É possível instalar interfaces gráficas executando o comando apt-get install. Exemplos de interface gráfica: Gnome (vem instalada); XFCE; BLACKBOX; ICEWM; FLUXBOX; Exemplo de

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO

Leia mais

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de

Leia mais

Curso online de Fundamentos em Android. Plano de Estudo

Curso online de Fundamentos em Android. Plano de Estudo Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos

Leia mais

Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída.

Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída. Manual do ustorage Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída. Versão 1.0 Jessica Nunes jessica@usto.re

Leia mais

Informática básica SOFTWARE.

Informática básica SOFTWARE. Informática básica SOFTWARE isabeladamke@hotmail.com Software Formado por um conjunto de instruções (algoritmos) e suas representações para o computador (programas) Instruções codificadas necessárias para

Leia mais

Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX

Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX VIRTOS S.O.S BACKUP MATERIAL DE APOIO AO USUÁRIO Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX O S.O.S Backup

Leia mais

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Leia mais

Torne-se um Sysadmin Linux. Prof. Juliano Ramos

Torne-se um Sysadmin Linux. Prof. Juliano Ramos Torne-se um Sysadmin Linux Prof. Juliano Ramos O que é o Linux? Ao pé da letra: Kernel de várias distribuições GNU ou não-gnu Só o ubuntu tem mais de 25 milhões de usuários Linux em Servidores Mais do

Leia mais

Leia-me do Veritas System Recovery 16 Management Solution

Leia-me do Veritas System Recovery 16 Management Solution Leia-me do Veritas System Recovery 16 Management Solution Sobre este Leia-me Requisitos do sistema para políticas de entrega de software do Veritas System Recovery 16 Requisitos do sistema para o Veritas

Leia mais

PROJEDATA INFORMÁTICA LTDA. IRINEU TEZA NUNES. INSTALAÇÃO DO ORACLE ENTERPRISE LINUX 6.3

PROJEDATA INFORMÁTICA LTDA. IRINEU TEZA NUNES. INSTALAÇÃO DO ORACLE ENTERPRISE LINUX 6.3 PROJEDATA INFORMÁTICA LTDA. IRINEU TEZA NUNES. INSTALAÇÃO DO ORACLE ENTERPRISE LINUX 6.3 TUBARÃO 2012 PROJEDATA INFORMÁTICA LTDA. IRINEU TEZA NUNES. INSTALAÇÃO DO ORACLE ENTERPRISE LINUX 6.3 Manual técnico

Leia mais

FUNCIONALIDADES DO STCPCONSOLE

FUNCIONALIDADES DO STCPCONSOLE O QUE É O STCPCONSOLE Revisão: 1.01 - Data: 11 de outubro de 2016 O STCPConsole é um sistema que tem como principal funcionalidade permitir que sejam realizadas atividades de monitoração de um determinado

Leia mais

Requisitos do sistema para o Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Todos os direitos reservados.

Requisitos do sistema para o Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Todos os direitos reservados. Requisitos do sistema para o Qlik Sense Qlik Sense September 2017 Copyright 1993-2017 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2017 QlikTech International AB. Todos os direitos

Leia mais

O CMS JOOMLA! UM GUIA PARA INICIANTES

O CMS JOOMLA! UM GUIA PARA INICIANTES O CMS JOOMLA! UM GUIA PARA INICIANTES 25/04/2016 Daniel Picon dpicon@sc.usp.br 1 INTRODUÇÃO REDE DE COMPUTADORES E INTERNET O que acontece quando tentamos acessar um site da internet? Computadores se comunicam

Leia mais

Linha de Sistemas Folhamatic

Linha de Sistemas Folhamatic Manual de instalação Linha de Sistemas Folhamatic Procedimento Manual Americana 2014 1 ÍNDICE DOWNLOAD DO INSTALADOR/MIGRADOR CONSIDERAÇÕES IMPORTANTES REQUISITOS MÍNIMOS REQUISITOS ESSENCIAIS ARQUIVOS

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Instalando Apache Solr no Mac OSX

Instalando Apache Solr no Mac OSX Instalando Apache Solr no Mac OSX Apache Solr é um plataforma de busca(search engine) de código livre construída sobre o Lucene. Solr é considerada a plataforma de busca para web sites mais popular que

Leia mais

Introdução ao Zend Framework 2

Introdução ao Zend Framework 2 Introdução ao Zend Framework 2 #laryssa-muniz Graduada em Telemática - Estácio de Sá Especialista em Engenharia de Software - UECE Mestranda em Ciências da Computação - UECE Analista de Sistemas - Brain

Leia mais

INFORMÁTICA. 03. O Internet Relay Chat permite que diversas pessoas realizem comunicação on-line por meio da Internet.

INFORMÁTICA. 03. O Internet Relay Chat permite que diversas pessoas realizem comunicação on-line por meio da Internet. INFORMÁTICA Acerca de serviços e ferramentas da Internet, julgue os itens a seguir: 01. Atualmente, para que softwares de correios eletrônicos possam funcionar adequadamente, uma versão de um software

Leia mais

Tutorial Django e SVN na IDE Pycharm

Tutorial Django e SVN na IDE Pycharm Tutorial Django e SVN na IDE Pycharm Pré-requisitos para este tutorial: Estar com a versão 4.0.0 (ou superior) do PyCharm instalada. Caso não esteja, baixe e instale seguindo as instruções dependendo da

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 3 http://www.ic.uff.br/~bianca/introinfo/ Aula 3-12/09/2007 1 Objetivo da disciplina O objetivo dessa disciplina é dar ao aluno noções básicas de computação. Serão apresentados

Leia mais

Requisitos do sistema para o Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Todos os direitos reservados.

Requisitos do sistema para o Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Todos os direitos reservados. Requisitos do sistema para o Qlik Sense Qlik Sense February 2018 Copyright 1993-2018 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2018 QlikTech International AB. Todos os direitos

Leia mais

Informática I. Aula 2. Ementa

Informática I. Aula 2.  Ementa Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-29/08/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

Leia-me do Veritas System Recovery 16 Management Solution

Leia-me do Veritas System Recovery 16 Management Solution Leia-me do Veritas System Recovery 16 Management Solution Sobre este Leia-me Requisitos do sistema para políticas de entrega de software do Veritas System Recovery 16 Requisitos do sistema para o Veritas

Leia mais

Guia Técnico v6.1 SNMP TG Conteúdo

Guia Técnico v6.1 SNMP TG Conteúdo Manual Guia Técnico de Administração v6.1 - Conteúdo Introdução 3 Definições 3 Protocolos suportados 3 MIB suportadas 4 Configuração 4 Views e Communities 4 Acessos 6 Traps 6 Utilização 7 Download de configurações

Leia mais

Manual do Aplicativo de Configuração

Manual do Aplicativo de Configuração Manual do Aplicativo de Configuração INTRODUÇÃO Este manual visa explicar a utilização do software embarcado do equipamento Primme Super Fácil Ponto. De fácil utilização e com suporte a todos os navegadores

Leia mais

Oficina de django. 1º Dia - Introdução à ferramenta

Oficina de django. 1º Dia - Introdução à ferramenta Oficina de django 1º Dia - Introdução à ferramenta Objetivo A oficina terá seu foco em desenvolvimento back-end, utilizando o framework Django da linguagem Python. O que será abordado? Introdução a linguagem

Leia mais

Nova. Tecnologia em Atendimento. Manual do usuário

Nova. Tecnologia em Atendimento. Manual do usuário Nova Tecnologia em Atendimento Manual do usuário Índice Introdução Arquitetura e Requisitos de Software Tela de Login Página Principal Acesso Fácil Funções Básicas Utilizando Filtros Solicitação de Serviço

Leia mais

Curso de Banco de Dados Plataforma: MS SQL Server. Instalando o Microsoft SQL Server 2014 Express

Curso de Banco de Dados Plataforma: MS SQL Server. Instalando o Microsoft SQL Server 2014 Express Instalando o Microsoft SQL Server 2014 Express Sumário 1. Edição a ser baixada... 2 2. O porquê da edição... 2 3. Recomendações... 2 4. Link para Download (idioma: Inglês)... 2 5. Escolha o arquivo à ser

Leia mais

Noções de sistemas de computação

Noções de sistemas de computação Noções de sistemas de computação Software Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons

Leia mais

Integração com o Ambiente Virtual de Aprendizagem Moodle

Integração com o Ambiente Virtual de Aprendizagem Moodle Integração com o Ambiente Virtual de Aprendizagem Moodle Sumário 1. Apresentação... 3 1.1. O Moodle... 3 1.2. Objetivo da integração... 3 1.3. Recursos da integração... 3 2. plugins de integração no Moodle...

Leia mais

Instalação do IBM SPSS Modeler Entity Analytics

Instalação do IBM SPSS Modeler Entity Analytics Instalação do IBM SPSS Modeler Entity Analytics Índice IBM SPSS Modeler Entity Analytics Instalação.............. 1 IBM SPSS Modeler Entity Analytics (Lado do Cliente) 1 Requisitos de sistema..........

Leia mais

Aula 02. Prof. Diemesleno Souza Carvalho

Aula 02. Prof. Diemesleno Souza Carvalho Interface Homem-Máquina Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Unidade I - Introdução à Interface

Leia mais

Instalação do MySQL e da ferramenta MySQL- Front

Instalação do MySQL e da ferramenta MySQL- Front Instalação do MySQL e da ferramenta MySQL- Front 1. Introdução Este tutorial irá ensinar passo a passo como instalar o banco de dados totalmente grátis (muito utilizado na web) e também como instalar a

Leia mais

LINUX X SOFTWARE LIVRE

LINUX X SOFTWARE LIVRE LINUX X SOFTWARE LIVRE O COMPUTADOR E SEUS COMPONENTES Hardware Hardware são todos os componentes físicos do computador (aquilo que se pode tocar). Exemplos: monitor, teclado, mouse, gabinete, componentes

Leia mais

Executa em qualquer plataforma que possua o Java (JDK) da Oracle

Executa em qualquer plataforma que possua o Java (JDK) da Oracle Recurso Benefícios Multiplataforma Executa em qualquer plataforma que possua o Java (JDK) da Oracle Utiliza base de dados Oracle, Microsoft SQL ou MySql Utiliza os principais bancos de dados de mercado

Leia mais

Sistema de Informação e Coordenação - SIC

Sistema de Informação e Coordenação - SIC Sistema de Informação e Coordenação - SIC Tópicos 1- Sistema de Informação e Coordenação - SIC 2- Modelo 3- Tecnologias Usadas 4- Projeto Estrutura 5- Fluxo de Atividades 1- Sistema de Informação e Coordenação

Leia mais

X-RiteColor Master Web Edition

X-RiteColor Master Web Edition X-RiteColor Master Web Edition O presente documento contém instruções de instalação do X-RiteColor Master Web Edition. Favor seguir todas as instruções cuidadosamente na ordem fornecida. Antes de prosseguir,

Leia mais

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Estrutura do SO Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Usuários Aplicações Utilitários Linguagem de Comandos Núcleo do Sistema ou kernel Rotinas do Sistema Operacional Hardware

Leia mais

Guia de Instalação e Inicialização. Para DataPage+ 2012

Guia de Instalação e Inicialização. Para DataPage+ 2012 Para DataPage+ 2012 Última revisão: 29 de agosto de 2012 Índice Instalando componentes de pré-requisito... 1 Visão geral... 1 Passo 1: Execute o setup.exe e inicie o assistente... 1 Passo 2: Aceite os

Leia mais

STD SERVIÇO DE BACKUP EM NUVEM

STD SERVIÇO DE BACKUP EM NUVEM Select Soluções Manual de Instalação Windows SBackup STD SERVIÇO DE BACKUP EM NUVEM Sumário 1. REQUERIMENTOS DE HARDWARE E SOFTWARE... 3 1.1. SOFTWARE... 3 2. PRIMEIROS PASSOS... 4 3. DOWNLOAD E INSTALAÇÃO

Leia mais

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência Lista de Exercícios sobre Conceitos de Informática Exercício 1: Correspondência Relacione os termos da tabela 1 abaixo com as definições da tabela 2. Para facilitar, os termos da tabela 1 estão colocados

Leia mais

Sistema Operacional. Disciplina: Softwares, Aplicativos e Sistema Operacional. Professor: Thiago Silva Prates

Sistema Operacional. Disciplina: Softwares, Aplicativos e Sistema Operacional. Professor: Thiago Silva Prates Sistema Operacional Disciplina: Softwares, Aplicativos e Sistema Operacional Professor: Thiago Silva Prates Software e aplicativos Software é uma sequência de instruções à serem seguidas e executadas.

Leia mais

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Especificação da Projeto de Laboratório de Programação Parte 1 Salvador, 2009 Universidade Federal da Bahia Instituto

Leia mais

Sistemas Operacionais Abertos

Sistemas Operacionais Abertos Sistemas Operacionais Abertos Instalação de pacotes Na última aula... Instalação de pacotes Dpkg Apt-get Synaptic Porque? Quando você instala um sistema Linux, normalmente você instala uma grande seleção

Leia mais

Instrução de Trabalho: Instalar Client

Instrução de Trabalho: Instalar Client Instrução de Trabalho Instrução de Trabalho: Instalar Client 1. Objetivos Estabelecer procedimento para a atividade Instalar client. 2. Definições 3. Aplicação Aplicável á todos os envolvidos na Implantação

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus.

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus. PD07 1.OBJETIVO Este documento ter por objetivo auxiliar o no entendimento e utilização do Nexus. 2. VISÃO GERAL O Nexus é uma plataforma de integração de dados, onde é possível ligar a base de dados do

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO CONCEITO DE SOFTWARE PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO CONCEITO DE SOFTWARE PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ Software é um conjunto de programas de computador, que realiza procedimentos, dotado de regras, documentos e dados associados que fazem parte das operações

Leia mais

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI. PROTOCOLOS DE TRANSMISSÃO DE DADOS PROTOCOLO TCP/IP Trata-se da sigla da palavra inglesa Transmission Control Protocol / Internet Protocol ou, simplesmente Protocolo de Controle de Transmissão / Protocolo

Leia mais

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de

Leia mais

Sistemas Operacionais II. Linux - Introdução

Sistemas Operacionais II. Linux - Introdução Sistemas Operacionais II Linux - Introdução 2 Histórico Em 1991, um estudante de computação da Finlândia chamado Linus Torvalds desenvolveu um kernel compatível com o Unix para um processador 80386 que

Leia mais

Introdução à Sistemas Operacionais

Introdução à Sistemas Operacionais Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática IC (2018/02) Introdução Sistema Operacional serve como um intermediário entre o hardware e os softwares aplicativos

Leia mais

Manual. Instalação de arquivos e pacotes no. Linux Educacional. Gerenciando pacotes e arquivos. Produzido por: Rafael Nink de Carvalho

Manual. Instalação de arquivos e pacotes no. Linux Educacional. Gerenciando pacotes e arquivos. Produzido por: Rafael Nink de Carvalho Manual Instalação de arquivos e pacotes no Linux Educacional Gerenciando pacotes e arquivos Produzido por: Rafael Nink de Carvalho Manual Instalação de arquivos e pacotes no Linux Educacional Gerenciando

Leia mais

Manual de Instalação Flex

Manual de Instalação Flex Manual de Instalação Flex Sumário 1. Sobre este documento... 3 2. Suporte técnico... 3 3. Requisitos de hardware... 4 3.1. Estação... 4 3.2. Servidor... 4 4. Instalação... 5 4.1. Instalação do Group Cobrança

Leia mais

Aula 11 Introdução ao Java Script

Aula 11 Introdução ao Java Script Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se

Leia mais

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue Spectrum Miner Versão 8.0 Conteúdo 1 - Introdução Objetivo 4 Quem deve ler este manual 4 Documentação relacionada 4 2 - Visão geral da integração do Miner Visão geral da integração do Miner 6 3 - Instalação

Leia mais

Apostila - Desenvolvimento web com PHP

Apostila - Desenvolvimento web com PHP José Roberto Madureira Junior Adaní Cusin Sacilotti Reginaldo Sacilotti Apostila - Desenvolvimento web com PHP Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO PHP... 1 1.1 PREPARAÇÃO DO AMBIENTE

Leia mais

Sinai Sistema Integrado Administrativo de Igreja

Sinai Sistema Integrado Administrativo de Igreja Manual do usuário Instalação do Servidor SQLBase Versão Revisão 5.1 0.2 Site http://.tecnodados.com.br Suporte http://tecnodados.com.br/suporte Conteúdo Introdução Requisitos do Sistema Servidor Terminal

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Sophos SafeGuard Enterprise 8.0.1

Sophos SafeGuard Enterprise 8.0.1 Sophos SafeGuard Enterprise 8.0.1 Guia: Manual de instalação do Sophos SafeGuard Enterprise 8.0.1 Data do Documento: Novembro de 2016 Conteúdo 1. Sobre este manual... 3 2. Requisitos de Instalação... 4

Leia mais

2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)... 10

2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)... 10 Página 1 de 16 Sumário Apresentação... 1 Requisitos de Instalação... 2 1. Instalação do WinThor Anywhere (Windows/Linux ambiente gráfico)... 3 2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)...

Leia mais

DISTRIBUINDO SUA APLICAÇÃO

DISTRIBUINDO SUA APLICAÇÃO DISTRIBUINDO SUA APLICAÇÃO Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do cliente é que

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema Arquitetura do Sistema 22 3 Arquitetura do Sistema 3.1. Visão geral O sistema desenvolvido permite a criação de aplicações que possibilitam efetuar consultas em um banco de dados relacional utilizando

Leia mais

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01 Sistemas Operacionais II Prof. Gleison Batista de Sousa Aula 01 Sistemas Operacionais Livres Prof. Gleison Batista de Sousa Aula 01 Objetivos - Ter conhecimento sobre os diversos módulos que compõem um

Leia mais

Introdução ao Windows Server 2008

Introdução ao Windows Server 2008 Introdução ao Windows Server 2008 Bem vindo(a), Nesta primeira aula apresentaremos as características do Windows Server 2008, seus papeis e para que servem. Após essa aula você será capaz de: Identificar

Leia mais