Trabalho de conclusão de curso apresentado à Faculdade de Informática do Centro Universitário Ritter dos Reis, como requisito parcial à obtenção do

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

Download "Trabalho de conclusão de curso apresentado à Faculdade de Informática do Centro Universitário Ritter dos Reis, como requisito parcial à obtenção do"

Transcrição

1

2 1 Trabalho de conclusão de curso apresentado à Faculdade de Informática do Centro Universitário Ritter dos Reis, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientador: Prof. Dr. Sidnei Renato Silveira.

3 2 Dedico este trabalho à minha esposa Daisy Kern, por seu amor, inspiração constante, e conhecimentos fornecidos como especialista neste projeto. Dedico este trabalho também a meu orientador, Prof. Dr. Sidnei Renato Silveira, por sua dedicação, disponibilidade e incentivo em todas as etapas deste trabalho.

4 3 RESUMO As técnicas da Inteligência Artificial têm estado em constante crescimento nos últimos anos. Em sites de comércio eletrônico, por exemplo, pode-se observar técnicas de Inteligência Artificial sendo utilizadas para recomendar produtos a seus clientes, de acordo com os tipos de produtos adquiridos recentemente. Dentre as diversas aplicações das técnicas da Inteligência Artificial, uma das mais importantes e úteis é na área da saúde, que vem sempre enfrentando desafios na cura de doenças e busca de tratamentos. Este trabalho apresenta um estudo sobre a aplicação de um Sistema Especialista para a área da Fisioterapia, que utiliza o conhecimento de um profissional humano inserido num sistema computacional, a fim de oferecer apoio à decisão aos profissionais da área e proporcionar mais agilidade e segurança às suas tarefas. Fisioterapia. Palavras-chave: Inteligência Artificial, Sistemas Especialistas,

5 4 ABSTRACT The Artificial Intelligence techniques have been in constant growth during the last recent years. In e-commerce web sites, for instance, Artificial Intelligence techniques have been used to recommend new products to their customers, based on their previous deals. Among several applications of Artificial Intelligence techniques, one of the most important is on the health area, which has been struggling to find cures or new treatments for diseases. This paper presents a study about the application of an Expert System, developed for the Physiotherapy area, which uses the knowledge of a human professional inserted into a computer-based system, meaning to offer decision making support for the professionals of Physiotherapy, and also improve agility and safety to their routines. Keywords: Artificial Intelligence, Expert Systems, Physiotherapy.

6 5 LISTA DE ABREVIATURAS CLR Common Language Runtime COFFITO Conselho Federal de Fisioterapia e Terapia Ocupacional E-R Entidade-Relacionamento FIFO First In, First Out IDE Integrated Development Environment MSIL Microsoft Intermediate Language ODBC - Open Database Connectivity OLEDb - Object Linking Embedding Database PUCPR Pontifícia Universidade Católica do Paraná RAD Rapid Application Development SAD Sistema de Apoio à Decisão SGBD Sistema Gerenciador de Bancos de Dados SQL Structured Query Language UML Unified Modeling Language UESB - Universidade Estadual do Sudoeste da Bahia VB.NET Visual Basic.NET

7 6 LISTA DE FIGURAS Figura 1.1: Exemplo de Estrutura de um Sistema Especialista Figura 2.1: Tela de edição e cadastro de regras Figura 2.2: Tela de simulação de diagnósticos Figura 2.3: Exemplo de pergunta ao usuário Figura 2.4: Exemplo de diagnóstico Figura 2.5: Tela inicial do Expert Sinta Figura 2.6: Exemplos de regras Figura 2.7: Exemplos de pergunta ao usuário Figura 2.8: Exemplos de resultados finais fornecidos pelo Expert Sinta Figura 2.9: Árvore de pesquisa percorrida pelo Expert Sinta Figura 2.10: Regras percorridas pela máquina de inferência Figura 3.1: Arquitetura geral do sistema especialista Figura 3.2: Diagrama E-R do banco de dados Figura 3.3: Diagrama de Casos de Uso Figura 3.4: Diagrama de Classes Figura 3.5: Diagrama de Seqüência do Login Figura 3.6: Diagrama de Seqüência de Consulta Figura 3.7: Diagrama de Seqüência de Cadastro Figura 3.8: Diagrama de Seqüência de Edição da Base de Conhecimento Figura 3.9: Diagrama de Seqüência de Pesquisa de Consultas Figura 4.1: Compilação e execução na plataforma.net Figura 4.2: Interface de Login do FisioExpert Figura 4.3: Tela Principal do FisioExpert Figura 4.4: Tela de cadastro de fisioterapeutas do FisioExpert Figura 4.5: Tela de cadastro de pacientes Figura 4.6: Tela de criação de consultas do FisioExpert Figura 4.7: Interface de entrevista com o paciente Figura 4.8: Interface com tratamentos sugeridos... 72

8 7 Figura 4.9: Interface de busca de consultas Figura 4.10: Tela exibindo resultado de busca de consultas Figura 4.11: Tela de edição da base de conhecimento... 76

9 8 SUMÁRIO RESUMO... 3 ABSTRACT... 4 LISTA DE ABREVIATURAS... 5 LISTA DE FIGURAS... 6 SUMÁRIO... 8 INTRODUÇÃO REFERENCIAL TEÓRICO Inteligência Artificial Conhecimento Humano e Artificial Representação do Conhecimento Sistemas Especialistas Aquisição do Conhecimento Identificação Conceituação Formalização Implementação Testes Metaconhecimento Componentes de um Sistema Especialista Funções de um Sistema Especialista Estrutura de um Sistema Especialista Base de Conhecimento Quadro-negro Mecanismo de Inferência Subsistema de aquisição do conhecimento Subsistema de explicações Interface com o usuário Categorias dos Sistemas Especialistas... 31

10 Tipos de Respostas de um Sistema Especialista Deficiências dos Sistemas Especialistas Aspectos finais sobre Sistemas Especialistas Fisioterapia Aspectos Gerais Aplicação da Informática na Fisioterapia Rotina do Especialista Solução Proposta ESTADO DA ARTE SAD em Fisioterapia para Auxílio na Simulação de Exames Ortopédicos da Coluna Vertebral O Shell de Sistemas Especialistas Expert Sinta Considerações Finais DESCRIÇÃO DO SISTEMA ESPECIALISTA FISIOEXPERT Levantamento de Requisitos Arquitetura do Sistema Modelagem do Banco de Dados Modelagem do Sistema Especialista Diagrama de Casos de Uso Casos de Uso Reais Diagrama de Classes Diagramas de Seqüência Diagrama de Seqüência 1: Login Diagrama de Seqüência 2: Consulta Diagrama de Seqüência 3: Cadastro Diagrama de Seqüência 4: Edita Base de Conhecimento Diagrama de Seqüência 5: Pesquisa de Consultas IMPLEMENTAÇÃO DO SISTEMA Tecnologias Empregadas Microsoft SQL Server Express Edition Plataforma Microsoft.NET Microsoft Visual Basic.NET Apresentação do Sistema... 65

11 Tela de Login Tela Principal Telas de Cadastro de Fisioterapeutas e Pacientes Telas de Consulta Inferência Tela de Pesquisa de Consultas Tela de Edição da Base de Conhecimento Testes e Validação do FisioExpert CONSIDERAÇÕES FINAIS REFÊRENCIAS ANEXO 1: DICIONÁRIO DE DADOS ANEXO 2: DECLARAÇÃO DO ESPECIALISTA E FISIOTERAPEUTAS... 87

12 11 INTRODUÇÃO A Informática tem prestado serviços úteis à sociedade há vários anos, beneficiando os mais variados setores. Atividades rotineiras do nosso dia-a-dia são mais rápidas e seguras, graças à aplicação dos Sistemas de Informação em nossas vidas. Uma das áreas que vem recebendo mais benefícios pela Informatização é a da saúde; existem atualmente vários sistemas que auxiliam os profissionais em suas tomadas de decisões, agilizando e dando maior segurança ao seu trabalho. Este trabalho apresenta um estudo sobre Inteligência Artificial, suas técnicas e aplicações. O objetivo do trabalho é a aplicação destas técnicas na área da Fisioterapia, criando assim um Sistema Especialista que possa servir de apoio à profissionais dessa área. Dentre as técnicas de Inteligência Artificial estudadas neste trabalho, enfatizou-se a técnica dos Sistemas Especialistas, que utilizam o conhecimento de um profissional de qualquer área, representado num sistema computacional, para auxiliar profissionais daquela área a tomar decisões, ou mesmo para questões didáticas de apoio a estudantes. Um Sistema Especialista pode ajudar Fisioterapeutas a tomar decisões a respeito de tratamentos ou exercícios mais adequados a seus pacientes, de uma forma mais ágil. O fator motivacional principal deste estudo é a criação de um Sistema Especialista capaz de oferecer aos profissionais da Fisioterapia um apoio embasado em experiências profissionais de especialistas na sua área, desenvolvendo um Sistema que tenha a capacidade de sugerir tratamentos aos seus pacientes, e ainda, capaz de adquirir novos conhecimentos inseridos pelo Fisioterapeuta. Dentre os objetivos deste trabalho, destaca-se o estudo de Sistemas Especialistas, a fim de buscar as melhores formas de aplicação das suas técnicas, a realização de entrevistas com profissionais Fisioterapeutas, a fim de criar uma base de conhecimentos adequada ao sistema, modelar um banco de

13 12 dados capaz de armazenar essa base de conhecimento, e modelar um sistema desktop, capaz de sugerir possíveis tratamentos a pacientes de Fisioterapia, através da interação do usuário com o conjunto de regras da base de conhecimento. Este trabalho está dividido em quatro capítulos. O primeiro apresenta um referencial teórico sobre Inteligência Artificial, suas técnicas, tipos, e formas de funcionamento. Esse capítulo apresenta também um estudo sobre os Sistemas Especialistas, que foi a principal fonte de estudo deste trabalho. Por fim, é apresentado um breve referencial sobre a Fisioterapia, com algumas definições e as rotinas básicas de um profissional dessa área. O segundo capítulo apresenta o Estado da Arte, onde foram coletados dados sobre sistemas semelhantes ao implementado, e analisadas as formas de implementação dos sistemas, área de atuação na Fisioterapia, entre outras características. O terceiro capítulo apresenta a modelagem inicial do Sistema Especialista desenvolvido, destacando-se o modelo do banco de dados que armazena a base de conhecimento do sistema e a modelagem básica de todo o aplicativo. O quarto capítulo descreve a implementação do Sistema, oferecendo um breve referencial sobre as tecnologias utilizadas na implementação, bem como uma descrição do sistema em si, mostrando as principais interfaces gráficas utilizadas.

14 13 1. REFERENCIAL TEÓRICO Este capítulo apresenta um breve referencial teórico sobre as áreas envolvidas no presente trabalho. São apresentados conceitos de Inteligência Artificial, abrangendo principalmente as técnicas dos Sistemas Especialistas, e noções sobre a área da Fisioterapia. 1.1 Inteligência Artificial A Inteligência Artificial é um tipo de inteligência criada pelo homem, implementada em máquinas, para que estas possam simular ou imitar a inteligência humana. O ramo da Inteligência Artificial tem procurado compreender este comportamento envolvendo diversos campos da inteligência humana, a fim de poder simulá-la. Questões como de onde vem o pensar, como o homem toma decisões, de onde surgem as idéias que temos, de onde vem o conhecimento e como este é armazenado, são questões estudadas pela Inteligência Artificial (Fernandes, 2005). Ainda segundo Fernandes (2005, apud Simon, 1988), existem duas abordagens da Inteligência Artificial, baseadas em diferentes campos de estudo: Abordagem cognitiva: enfatiza os processos cognitivos, ou como o homem raciocina. Esta abordagem procura explicar comportamentos inteligentes através da psicologia e processos algorítmicos. Também conhecida por Inteligência Artificial Forte. Abordagem conexionista: esta abordagem se concentra no funcionamento do cérebro, neurônios e conexões entre estes. Também conhecida por Inteligência Artificial Fraca.

15 14 Segundo Fernandes (2005, apud Ganascia, 1993), Rezende (2003), e Silveira (2006), a Inteligência Artificial envolve as seguintes áreas: Aquisição de Conhecimento, Aprendizado de Máquina, Algoritmos Genéticos, Programação Evolutiva, Lógica Fuzzy, Agentes e Multiagentes, Mineração de Dados, Sistemas Especialistas ou Baseados em Conhecimento (ou Regras), Raciocínio Baseado em Casos, Programação Genética, Redes Neurais, Sistemas de Recomendação, Vida Artificial (Bioinformática) e Robótica. Por não fazerem parte do objetivo principal deste trabalho, estes modelos não serão aprofundados, à exceção de Sistemas Especialistas Conhecimento Humano e Artificial Segundo Rezende (2003), para que se possa entender o conhecimento humano é importante diferenciar dado, informação e conhecimento. Dados representam valores atribuídos a acontecimentos, eventos, que informam estado, quantidade, etc., mas não dizem tudo o que é necessário. Informação é o que se obtém após a análise dos dados dentro de um contexto definido, e após as interpretações e comparações entre conjuntos de dados. O estabelecimento de referências sobre os dados nos permite obter informações sobre estes. O conhecimento, por sua vez, se refere à capacidade humana de analisar dados, informações, e com base nestes, indicar soluções inteligentes sobre situações diversas. Um dos melhores exemplos de uso do conhecimento humano é o ato de tomar decisões. O conhecimento utiliza uma combinação de estruturas de dados que são interpretados e resultam em comportamento inteligente, que permite ao ser humano decidir sobre fatos (Rezende, 2003). O tipo de problema que se tem, entretanto, determina qual tipo de conhecimento deve ser utilizado para resolvê-lo. Na prática isso demonstra que o conhecimento humano vem de várias fontes, e a solução dos problemas pode seguir uma linha de pensamento lógica, que analisa dados conhecidos para a tomada de decisão, ou uma linha intuitiva, que é baseada em dados heurísticos e intuitivos

16 15 para chegar à solução do problema. Para tornar possível o entendimento do comportamento inteligente, segundo Fernandes (2005, apud Rich, 1993), deve-se analisar todos os aspectos da aquisição e desenvolvimento da inteligência. Para isso, deve-se compreender as principais características do conhecimento, como por exemplo, seu grande volume, sua difícil caracterização, seu aspecto mutável (o conhecimento está sempre se expandindo ou mudando), e a individualidade do conhecimento (mesmo que duas pessoas adquiram o mesmo conhecimento, este não será idêntico para ambas, cada uma o verá da sua forma). Entretanto, para que se possa inserir este conhecimento em uma máquina, faz-se necessária uma forma adequada de representá-lo, e esta representação do conhecimento possui algumas características distintas das demonstradas anteriormente, referentes ao conhecimento humano: a representação do conhecimento é generalizável, e não individual como o conhecimento em si, pois necessita de vários pontos de vista para ser construído; deve ser utilizável, mesmo que limitadamente, sem abordar todas as situações possíveis; sua representação é dinâmica, pois uma vez que o conhecimento é mutável, sua representação deve acompanhar esta mudança; e finalmente, esta representação deve ser compreensível ao homem, para possibilitar que este avalie o conhecimento inserido na máquina. As técnicas de Inteligência Artificial existentes procuram representar o conhecimento com as características acima, e dentre essas técnicas temos a busca heurística. A busca heurística procura resolver os problemas de uma forma intuitiva e racional, que leve a uma solução satisfatória (FERNANDES, 2005). Rezende (2003) define heurísticas como regras práticas que reduzem esforços na busca de uma solução. A seguir apresentam-se as principais técnicas da busca heurística: Busca em profundidade: também chamada de 'primeiro em profundidade' ou 'depth first', se concentra na busca do objetivo, é utilizada quando se buscam soluções, ou quando se encontram direções errôneas na busca do objetivo.

17 16 Busca em largura: também conhecida por 'busca em amplitude', em nível ou 'breadth first'. É oposta à busca em profundidade e utiliza a lógica FIFO (Fist In First Out); durante a busca em uma árvore, todos os nós de um nível são examinados antes de passar para o próximo nível (abaixo). Isso requer grande poder computacional para árvores grandes, e todos os operadores são tratados com a mesma importância. Gera e Testa: funciona como a busca em profundidade, porém sua natureza aleatória não garante que se encontre alguma solução. Recomenda-se aplicar a busca em profundidade e depois um backtracking (voltar um nível para procurar uma solução alternativa). Busca em feixe: semelhante à busca em largura, implementando, porém, um número máximo de nós a serem analisados num determinado nível. Pode oferecer bons resultados se o critério de verificação dos nós for eficiente. Subindo o morro: também conhecida como 'subida de encosta', 'subida da montanha', ou 'hill climbing'. Procura atingir o seu objetivo no menor número de passos possível, é semelhante à técnica 'gera e testa', adicionando informações sobre qual caminho prosseguir. Sustenta que o número de passos até um objetivo é inversamente proporcional ao seu tamanho Representação do Conhecimento O trabalho envolvendo Inteligência Artificial implica em aquisição, armazenamento e inferência do conhecimento (FERNANDES, 2005). A tarefa de representar o conhecimento é bastante complexa, a representação deve mostrar a estrutura desse conhecimento. Deve-se ter consciência, ainda, das

18 17 diferenças entre o que se quer representar e o que é efetivamente representado. Segundo Fernandes (2005), os fatos devem ser distintos de suas verdadeiras representações; os fatos são as verdades incontestáveis que se quer representar num sistema, enquanto a representação dos fatos é o que efetivamente se conseguiu representar, com suas limitações, e é o que será realmente manipulado. Para Rezende (2003), a representação do conhecimento deve possuir as seguintes características: deve ser de fácil compreensão ao ser humano, para que a representação possa ser interpretada; não deve conter detalhes sobre o funcionamento do processador de conhecimento que o interpretará; ser robusta, ou seja, capaz de executar suas funções mesmo sem o conhecimento de todas as situações possíveis; ser generalizável, para que possa ser associada a várias situações e interpretações; esta característica contraria o conhecimento humano, que é pessoal e individualizado; A representação do conhecimento possui conceitos formais que permitem a sua representação, entendimento e manipulação, e esta representação tem como algumas de suas características o seu escopo, que define o domínio deste conhecimento, sua divisão em módulos, que permite sua melhor compreensão, e sua explicitude, que garante que todo o conhecimento necessário em determinado domínio está localizado naquela base de conhecimento e em nenhum outro lugar. Estes conceitos geraram alguns modelos de representação do conhecimento, de acordo com Fernandes (2005), Silveira (2006) e Rezende (2003): Conhecimento procedural: representado como funções ou procedimentos.

19 18 Redes ou Redes Semânticas: o conhecimento é representado por grafos rotulados e direcionados, formados por um conjunto de nós que representam objetos, e arcos, que representam a relação entre os objetos. Uma das vantagens das redes semânticas é a representação gráfica das estruturas de conhecimento com suas relações. Frames: semelhantes às redes semânticas, porém os nós representam conceitos ou situações, e estes contêm propriedades. Os Frames designam um conjunto de conhecimentos relevantes a uma coisa, situação ou conceito (REZENDE, 2003, apud Maida, 1987; Minsky, 1975). O Frame é uma estrutura de dados complexa, semelhante a registros em bancos de dados, porém mais complexo e expressivo. Cada Frame possui um nome relacionado ao conceito que define e é constituído de atributos. Orientação a Objetos: engloba características de redes semânticas e frames. Sua semelhança com frames está na forma de representação dos objetos, e sua estrutura hierárquica assemelha-se às das redes semânticas. A principal característica da orientação a objetos é representar o conhecimento como objetos com comportamentos, e possui características da programação orientada a objetos, como o encapsulamento, onde o conhecimento encapsulado é escondido dos outros objetos. É deficiente no estabelecimento de formas de como o conhecimento armazenado deve ser utilizado. Orientação a Objetos Associada a Regras: utiliza as regras de produção para resolver a deficiência da representação orientada a objetos, utilizando as vantagens dos dois métodos de representação. Lógica: modo declarativo de representação do conhecimento, que

20 19 contrasta com métodos mais intuitivos e heurísticos. Utiliza lógica matemática e dedução automática, que podem ser definidas como o comportamento de qualquer programa que realiza inferências a partir da lógica matemática. Árvores de Decisão: o conhecimento é representado em forma de árvore, com raiz e seus nós, implementando uma hierarquia. Conhecimento Estático: utiliza fatores de certeza, Redes Bayeseanas, Teoria de Dempster-Shaper, Lógica Fuzzy. Regras ou Regras de Produção: representação que utiliza sentenças definindo condições e ações conseqüentes. Procura imitar o processo de tomada de decisão humano por regras condicionais, criando relacionamentos lógicos, que podem levar a outras regras, até que se chegue à solução. Segundo Rezende (2003, apud Hayes-Roth, 1987), esta é uma forma natural de representação do conhecimento humano. Processamento Paralelo Distribuído ou Conexionista: usa modelos conexionistas, imitando o funcionamento do cérebro humano. Esquemas híbridos: qualquer esquema formal que combine formas de representação. Casos: modelo que utiliza casos anteriores e os utiliza para tentar descobrir soluções para problemas semelhantes. As principais características de um Sistema Inteligente, segundo Rezende (2003), são a habilidade de utilizar conhecimento para resolver problemas e utilizar-se de associações para trabalhar com problemas complexos. Os Sistemas Inteligentes devem ainda ter capacidade de armazenar e recuperar grande quantidade de informações, para que os conjuntos de dados ou idéias sejam conectados de modo associativo. Outra

21 20 implicação do comportamento inteligente é a capacidade de adaptação às mudanças, com base no bom senso, e empregar o conhecimento necessário em cada situação específica. Um sistema computacional, para ser considerado inteligente, deve possuir pelo menos uma das características acima, e saber criar tarefas a partir dessas habilidades (REZENDE, 2003). 1.2 Sistemas Especialistas Os Sistemas Especialistas são aqueles criados a partir do conhecimento de um ou mais profissionais da área de domínio do sistema proposto, como por exemplo, Engenharia, Medicina, ou a própria Informática. Desta forma, Sistemas Especialistas, que também são conhecidos como Sistemas Baseados em Conhecimento, são destinados a resolver problemas que seriam resolvidos apenas por profissionais da área específica do sistema (FERNANDES, 2005). Para que estes sistemas consigam atingir seus objetivos, então, é preciso que todo o conhecimento do especialista humano seja inserido, de alguma forma, no sistema computacional, proporcionando, assim, benefícios a seus usuários, como maior velocidade na solução dos problemas, segurança de se obter uma solução baseada em conhecimentos sedimentados, estabilidade, e uma interpretação segura das regras operacionais. Assim, pode-se dizer que o elemento mais importante de um Sistema Especialista é o conhecimento humano. Este conhecimento teórico do problema é utilizado conjuntamente com regras heurísticas, que auxiliam na busca de uma solução para o problema (SILVEIRA, 2006). Segundo Fernandes (2005), quando um especialista deve tomar uma decisão sobre um problema, ele pesquisa em sua memória todo o conhecimento adquirido em sua vida, analisa os fatos ligados ao problema, elabora hipóteses, e baseado em seu conhecimento, toma uma decisão. Conforme o nível de conhecimento do especialista, a decisão pode ser equivocada, porém o erro é justificado pelo conhecimento atual do especialista

22 21 e pelos fatos inerentes ao problema. Com o erro, entretanto, o profissional irá somar conhecimentos, aprender sobre o novo tipo de problema, e guardar esses dados em sua experiência, de forma que quando um problema semelhante lhe for apresentado, uma solução mais acertada será tomada, baseada em conhecimentos atualizados Aquisição do Conhecimento A parte mais importante e mais complexa de um Sistema Especialista é a busca do conhecimento do especialista humano, pois este gerará toda a base de conhecimentos do sistema. Este processo de construção do sistema é chamado de Engenharia do Conhecimento, e envolve o Engenheiro do Conhecimento, que é o profissional de Informática responsável pelo Sistema Especialista, e o especialista na área de domínio, que irá transmitir seus conhecimentos para que o sistema tenha um bom funcionamento e forneça respostas corretas a seus usuários. Cabe ressaltar que os usuários de um Sistema Especialista geralmente serão também profissionais da área de domínio do sistema, uma vez que os objetivos desses sistemas são auxiliar na tomada de decisões, e não substituir os profissionais, deixando para estes o poder decisório em cada caso específico. As dificuldades encontradas na aquisição e construção da base de conhecimento residem nas dificuldades de comunicação entre o Engenheiro do Conhecimento e o especialista, pois a tarefa de transmitir um conhecimento a outra pessoa é bastante complexa, tanto para quem o transmite como para quem o recebe. A aquisição do conhecimento pode ser dividida em cinco fases, segundo Rezende (2003): identificação, conceituação, formalização, implementação e testes. As fases de aquisição do conhecimento formam um processo iterativo e evolucionário, e mesmo embora suas fases sejam mostradas em uma forma seqüencial, as etapas se repetem continuamente, com as reformulações e melhorias sempre necessárias ao sistema.

23 Identificação Nessa fase o engenheiro do conhecimento deve identificar que tipo de conhecimento ele deve buscar, de acordo com o escopo do sistema, sobre quais dados o sistema irá operar, os critérios de classificação das soluções do problema, e a forma que deve ser utilizada para solucionar o problema. Durante essa fase deve-se realizar entrevistas informais com o especialista, bem como efetuar pesquisas em materiais bibliográficos sobre o domínio do sistema. Entrevistas com futuros usuários do sistema também são importantes, para que possa se modelar a interação entre o sistema e os usuários Conceituação Nessa fase o engenheiro do conhecimento deve, a partir das entrevistas e levantamentos bibliográficos da fase anterior, formular os conceitos e relações entre esses conceitos do problema. É a fase onde se deve decidir o que representar e o que não representar, definindo-se assim o que é relevante para a base de conhecimento. O engenheiro deve, nesta fase, entrevistar novamente o especialista, desta vez com perguntas formuladas de acordo com o material já obtido, buscar casos dentro do domínio para auxiliarem na modelagem, e se possível, observar o especialista durante seu trabalho. A partir do material estudado, o engenheiro do conhecimento pode começar a elaborar hipóteses sobre os tipos de dados de entrada requeridos, os dados de saída requeridos e o tipo de raciocínio que predominará no sistema Formalização

24 23 O engenheiro deve, nessa fase, modelar o problema do Sistema Especialista. Ele deve concentrar-se nas formas de busca de informações na base de conhecimento, e de que forma as buscas serão realizadas. Durante essa fase surge a dificuldade em transformar o conhecimento adquirido informalmente em uma representação formal e consistente. São responsabilidades do engenheiro do conhecimento nessa fase: escolher a linguagem de representação para modelagem do sistema, definir os espaços de busca e soluções do sistema, definir os métodos de busca que serão utilizados, e identificar as limitações do Sistema Especialista Implementação Deve-se definir nessa fase a linguagem de representação do conhecimento do sistema. O engenheiro do conhecimento deve orientar a codificação do modelo do sistema em alguma linguagem de programação, ou utilizar uma ferramenta de Inteligência Artificial. Ao final dessa fase deve-se chegar a um protótipo do sistema, que deve ser validado pelo especialista Testes Nesse momento deve-se verificar se o Sistema Especialista atende aos requisitos solicitados. O engenheiro do conhecimento, juntamente com o especialista, avaliam o desempenho do sistema, testando neste alguns casos de teste e observando se os resultados obtidos são satisfatórios. Uma dificuldade encontrada nessa fase é identificar a quantidade aceitável de erros. Uma resposta para isso poderia ser: o Sistema Especialista pode errar tanto quanto um profissional humano erra; porém isto é muito subjetivo. Geralmente, para amenizar esta questão, pode-se deixar o sistema em testes em seu próprio ambiente de operação, por um tempo maior, até que

25 24 os usuários estabeleçam confiança em seu funcionamento, ou que se definam alterações necessárias no sistema Metaconhecimento Metaconhecimento pode ser definido de maneira simples como o conhecimento sobre o conhecimento (REZENDE, 2003). O metaconhecimento pode ser ainda específico sobre o domínio, como por exemplo, se o paciente relata dor na região lombar da coluna, investigue se ele sente dormência nas pernas, ou pode ser um metaconhecimento generalizado, como por exemplo: procure respostas nos caminhos mais curtos, antes de procurar nos mais complexos. Pode-se observar que o primeiro exemplo é aplicado estritamente ao domínio da fisioterapia, enquanto o segundo serve para qualquer domínio (REZENDE, 2003). Barone (2003), define metaconhecimento como a representação do conhecimento sobre o domínio no próprio Sistema Especialista, com o objetivo de oferecer métodos de raciocínio mais eficientes, eficazes e colaborativos. É a técnica utilizada em sistemas denominados pelo autor de autocontrolados, pois estes são responsáveis, além do raciocínio comum sobre o domínio do sistema, pelo domínio extra que controla o domínio anterior, central. De maneira mais clara, o autor define metaconhecimento como conhecimento sobre o próprio sistema (BARONE, 2003, p. 138) Componentes de um Sistema Especialista

26 25 São partes integrantes de um Sistema Especialista, segundo Silveira (2006): Base de conhecimento: ou base de dados, que armazena a representação do conhecimento obtido do especialista; Conjunto de operadores: mecanismos que operam sobre a base de conhecimento, buscando associações; Estratégia de controle: formas utilizadas para chegar a uma solução. Pode ser do tipo Raciocínio para a frente bottom up, onde os operadores são aplicados sobre a base de conhecimento com o objetivo de chegar a uma solução, ou do tipo Raciocínio para trás top down, onde os operadores são aplicados sobre os resultados, e então buscam na base de conhecimento argumentos que justifiquem esse resultado. A estratégia Raciocínio para a frente é também conhecida por Forward Chaining, pois de um ponto inicial, busca uma solução, enquanto a estratégia Raciocínio para trás é também chamada de Backward Chaining, porque a partir de um resultado ou hipótese, busca razões que os confirmem Funções de um Sistema Especialista Um Sistema Especialista bem desenvolvido, que realize suas funções de forma eficaz deve, principalmente, explicar ao usuário o seu raciocínio, ou seja, mostrar a ele como uma determinada solução foi encontrada, quais foram as associações feitas; o sistema deve, ainda, ser capaz de modificar a sua base de conhecimentos existente, acompanhando as atualizações da área de domínio do sistema e poder incluir novos conhecimentos em sua base, sendo que estas últimas funções, preferencialmente, devem ser possíveis de realização pelo usuário, através de uma interface do sistema destinada a essa

27 26 tarefa (SILVEIRA, 2006). Outra alternativa para atualização da base de conhecimentos é a inserção, na base, de casos já resolvidos, com suas respectivas regras que levaram à solução do caso. Externamente, para o usuário, as principais funções esperadas de um Sistema Especialista são as seguintes, segundo Silveira (2006): resolver problemas de grande porte com a mesma eficiência ou melhor que humanos; possuir raciocínio heurístico, utilizando regras práticas; interagir com os usuários pelos meios que forem possíveis, como linguagem escrita ou falada; ser capaz de raciocinar sobre descrições simbólicas; executar suas funções mesmo que os dados estejam incorretos, como também pode ocorrer com humanos; manipular uma série de hipóteses ao mesmo tempo; fornecer ao usuário a explicação sobre uma solução encontrada, justificando suas decisões; aceitar seus erros, uma vez que estes ocorrerão tal como ocorrem com um especialista humano, possuindo, porém, um desempenho que compense as falhas (REZENDE, 2003). Segundo Rezende (2003), as características acima não são suficientes para distinguir um Sistema Especialista de um convencional; embora raro, é possível desenvolver um sistema convencional com estas características. Na prática, as qualidades que realmente distinguem um Sistema Especialista dos convencionais são: todo o conhecimento sobre o domínio deve estar incluído na base de conhecimento, e em nenhum outro local;

28 27 a base de conhecimento deve ser interpretada por um agente capaz, que é a máquina de inferência; os problemas resolvidos por um Sistema Especialista são aqueles que não possuem um procedimento algorítmico que garanta uma solução efetiva, usando, em seu lugar, a busca heurística. Pode-se destacar, ainda, como diferenciação entre os dois tipos de sistemas, o fato de um sistema convencional armazenar o conhecimento sobre o seu domínio diretamente no seu código, misturando assim, a base de conhecimento e a máquina de inferência Estrutura de um Sistema Especialista A estrutura de um Sistema Especialista é composta basicamente por sua base de conhecimentos e a máquina de inferência, que são os módulos principais de qualquer Sistema Especialista. Esta estrutura, entretanto, pode variar em cada sistema. Outros autores, como Barone (2003), Fernandes (2005) e Silveira (2006), citam outros componentes como quadro-negro, subsistema de aquisição de conhecimento, subsistema de explicações, e a interface com o usuário. Na figura 1.1 pode-se visualizar um exemplo de estrutura de Sistema Especialista:

29 28 Figura 1.1: Exemplo de Estrutura de um Sistema Especialista (BARONE, 2003) Base de Conhecimento A base de conhecimento de um Sistema Especialista é um banco de dados que armazena as informações fornecidas pelo especialista. Estas informações são organizadas conforme a representação do conhecimento escolhida para a modelagem do domínio do sistema (BARONE, 2003). Ela contém a descrição do conhecimento do especialista dentro do domínio. Internamente, a base é como um conjunto de representações e ações representadas por sentenças, que estabelecem relações de causa e efeito no domínio. Estas sentenças são representadas por uma linguagem específica, chamada de linguagem de Representação de Conhecimento (REZENDE, 2003, apud RUSSEL & NORVIG, 2005). Estas linguagens são baseadas em diferentes técnicas de representação, como regras de produção, redes semânticas, frames ou lógica. No caso de representação do conhecimento por regras, é nessa base que elas são armazenadas. Nesse caso, as informações do especialista são transformadas em fatos e regras sobre o domínio em questão na base de conhecimento, que auxilia o sistema na busca de soluções de problemas.

30 29 Muitas vezes o conhecimento existente não é suficiente para a resolução de alguns problemas. Neste caso, o sistema deve tentar contornar o problema e buscar uma solução razoável que se aplique ao caso. O fato da base de conhecimento ser separada da máquina de inferência, explicada adiante, facilita a manutenção e alteração dessa base, por ser uma entidade independente do resto do sistema Quadro-negro O quadro-negro, também conhecido como memória de trabalho, é um local na memória física do computador onde informações são armazenadas para compartilhamento com outros sistemas, caso seja necessário, possibilitando, assim, comunicação de informações entre Sistemas Especialistas cooperativos. As informações armazenadas no quadro negro têm uma vida útil curta, e duram somente durante o processo de consulta. Os dados são armazenados e removidos até que se chegue a uma conclusão. Neste componente ficam armazenadas, também, as perguntas já respondidas pelo usuário, bem como possíveis soluções intermediárias. Desta forma, o quadro-negro evita que o usuário responda a uma mesma pergunta duas vezes, por exemplo. A linha de raciocínio utilizada na busca da solução de um problema também é armazenada no quadro-negro, para utilização pelo subsistema de explicação Mecanismo de Inferência O mecanismo de inferência, ou máquina de inferência, examina o conteúdo da base de conhecimentos, escolhendo a ordem de análise das inferências. Ao fazer isso, transfere os fatos e as regras para o quadro-negro, para que possam ser consultados pelo usuário (BARONE, 2003). É o

31 30 responsável por buscar as regras na base de conhecimentos, colocá-las no quadro negro, ordenando-as de maneira lógica, e então avaliá-las, direcionando a inferência em busca da solução. Deve interpretar o conhecimento, sendo nesse caso muito importante a ordem de armazenamento do mesmo. O mecanismo de inferência analisa as regras iniciando pelas mais recentes, e obedece a ordenação do tipo pilha. Enquanto a regra analisada resultar em resultados verdadeiros, ela continuará a ser analisada; caso contrário, a regra é retirada da pilha, uma nova regra é buscada na base de conhecimento, empilhada no quadro-negro e analisada. A máquina de inferência toma decisões com base nos dados representados na base de conhecimento. Suas principais funções são a inferência e o controle. Ela opera através de algoritmos que definem a busca e associação de regras, realizando comparações entre os dados inseridos pelo usuário com as regras buscadas na base de conhecimento. Os métodos Forward Chaining e Backward Chaining, citados anteriormente, são métodos de validação de regras na máquina de inferência Subsistema de aquisição do conhecimento É o subsistema responsável pela introdução de novos conhecimentos ou alteração dos existentes, através de interface própria, disponibilizada ao usuário. É utilizado para alimentação da base de conhecimento, devendo assim mantê-la constantemente atualizada. Este subsistema é vinculado à ferramenta de construção, que auxilia na construção do Sistema Especialista Subsistema de explicações Esse subsistema, especialmente útil para debbuging de sistemas em desenvolvimento ou para o aprendizado, é o responsável por fornecer ao usuário uma explicação sobre os porquês e como uma decisão foi tomada,

32 31 detalhando o caminho feito para se chegar à solução, mostrando quais regras ou associações foram aceitas. Com o objetivo de oferecer um subsistema de explicações mais rico, pode-se utilizar recursos de metaconhecimento, a fim de mostrar sua capacidade de raciocínio em relação ao domínio do sistema (BARONE, 2003) Interface com o usuário É o meio de comunicação entre o usuário e o sistema. Exibe as perguntas a serem respondidas ao usuário, fornecendo a este os meios de indicar as respostas de forma adequada Categorias dos Sistemas Especialistas Dependendo de suas funções ou objetivos principais, os Sistemas Especialistas podem ser utilizados nos seguintes tipos de aplicações, segundo Silveira (2006) e Rezende (2003): Interpretação: são os sistemas que devem analisar situações provenientes da observação de fatos, buscando uma solução através de interpretações e associações; Diagnóstico ou Classificação: sistemas destinados a buscar falhas na interpretação de dados; Monitoramento: monitoram o comportamento de outros sistemas, baseados em limites estabelecidos, informando quando algum limite for ultrapassado; Predição: são sistemas com capacidade de fazer previsões sobre o futuro, com base em dados do passado e presente; buscam

33 32 uma tendência provável para o futuro a partir dos dados de entrada; Planejamento: esses sistemas buscam chegar a um objetivo principal, através de conjuntos de decisões tomadas em etapas intermediárias; assemelha-se aos sistemas de predição, sendo que nesta categoria a responsabilidade maior em escolher a melhor solução é do especialista; Projeto: sistemas semelhantes aos de planejamento, justificam o uso de certas alternativas para chegar ao resultado final; Depuração: oferecem soluções a problemas causados por distorções de dados, tomam decisões por etapas, onde cada uma é validada antes do prosseguimento até a solução; Reparo: mais utilizados na área de robótica, são sistemas que complementam o trabalho realizado pelos sistemas de diagnóstico, realizando os reparos onde se determinou necessário; são sistemas menos comuns, considerando a complexidade da realização de consertos em objetos reais, por outra máquina; Instrução: mais utilizados em educação, esses sistemas são capazes de auxiliar no aprendizado de estudantes, utilizando em alguns casos subsistemas de diagnóstico e reparo. Estes sistemas interagem com o estudante, e a complexidade do sistema vai aumentando ou diminuindo de acordo com o desempenho do aluno; Controle: sistemas cuja tarefa é controlar outros sistemas, sendo para isso mais completos que os de outras categorias, pois devem analisar fatos reais, verificar dados do passado, e fazer uma predição de fatos que sejam prováveis no futuro.

34 Tipos de Respostas de um Sistema Especialista Um Sistema Especialista pode fornecer três tipos distintos de respostas a seus usuários (SILVEIRA, 2006): Primeiro modo: neste tipo o sistema indica o domínio onde se situa resposta; é uma resposta ampla, apenas limita a sua busca ao domínio indicado; Segundo modo: método mais preciso, onde o sistema indica uma resposta ou um número pequeno de respostas para ser analisado; Terceiro modo: neste caso o sistema não oferece resposta alguma, realizando apenas uma interação com o usuário, apresentando fatos e informações para que este reflita sobre o problema e encontre uma solução Deficiências dos Sistemas Especialistas Além das limitações dos Sistemas Especialistas já citadas, que até o momento assemelham-se às limitações humanas, por considerarem limitações de conhecimento e dificuldades de interpretação, os Sistemas Especialistas enfrentam ainda outros problemas: dificuldade em absorver todo o conhecimento necessário do especialista, devido à grande complexidade de representação deste; falta de flexibilidade do sistema; impossibilidade de fornecer explicações detalhadas aos usuários, sendo limitado ao conhecimento representado no sistema;

35 34 limitada capacidade de aprendizado de novas regras. Mesmo com estas dificuldades, porém, os Sistemas Especialistas oferecem um grande auxílio a seus usuários e especialistas, principalmente no que se refere às qualidades inerentes aos sistemas computacionais, como velocidade de processamento e consistência na tomada de decisões (REZENDE, 2003) Aspectos finais sobre Sistemas Especialistas Apesar de toda a tecnologia existente, das várias técnicas de aquisição do conhecimento e representação deste, os Sistemas Especialistas nem sempre encontrarão uma solução para certos problemas. Em outros casos, podem chegar a uma solução equivocada. Tais fatos têm sua justificativa no próprio sistema: o conhecimento ali inserido é proveniente de humanos, que também não possuem solução para todos os problemas, e são também passíveis de erros. Os Sistemas Especialistas processam conhecimento, e não dados; estes últimos são ajustados e analisados com a base de conhecimento. O processo de inferência é efetuado sobre a base de conhecimentos, não existindo assim processamento de dados (SILVEIRA, 2006). 1.3 Fisioterapia Aspectos Gerais A Fisioterapia é uma ciência da área da saúde que estuda, previne e trata os distúrbios cinéticos funcionais em órgãos e sistemas do corpo humano, causados por problemas genéticos, traumas ou doenças adquiridas. Possui mecanismos terapêuticos próprios, sistematizados por diversos estudos, como

36 35 da Biologia, ciências morfológicas, ciências fisiológicas, e sistemas do corpo humano (COFFITO, 2006). O Fisioterapeuta é o profissional da Fisioterapia, com formação superior, com habilidade para construir diagnósticos dos distúrbios funcionais, prescrever tratamentos terapêuticos, aplicá-los no paciente, acompanhar a evolução deste e verificar se o paciente tem condições de receber alta do tratamento fisioterápico. Seus objetivos são recuperar, desenvolver e manter a capacidade física do paciente. A atividade profissional do fisioterapeuta é regulamentada pelo Decreto-Lei 938/69, Lei 6.316/75, Resoluções do COFFITO, Decreto 9.640/84, Lei 8.856/94 (COFFITO, 2006). A área de atuação do Fisioterapeuta abrange a Fisioterapia Clínica, Saúde Coletiva e Educação, entre outras. O profissional competente para encaminhar pacientes para o tratamento fisioterápico é o médico, porém é o fisioterapeuta que define a forma de tratamento, utilizando o diagnóstico prévio e realizando uma avaliação do paciente, a fim de determinar o seu estado real, permitindo assim a prescrição do tratamento adequado Aplicação da Informática na Fisioterapia A Fisioterapia vem evoluindo constantemente, desenvolvendo novos métodos de tratamento e instrumentos que auxiliam na busca do diagnóstico. Segundo Cardoso (s.d.b), o desenvolvimento de áreas como a ortopedia e traumatologia, mais especificamente, tornou os seus domínios muito complexos para os profissionais, causando o aparecimento de subespecialidades ortopédicas, como mão, ombro, coluna, quadril, joelho, tornozelo e pé. Para que o fisioterapeuta tenha sucesso em um tratamento é preciso um conhecimento amplo de várias áreas, interpretação de exames de imagem e laboratoriais, que lhe fornecerão dados para um diagnóstico verdadeiro. Outros fatores que influenciam no diagnóstico são o histórico do paciente e detalhado

37 36 exame físico. Neste aspecto, a Informática representa uma ferramenta importantíssima para o profissional da Fisioterapia, bem como para os acadêmicos desta área, pois oferece diversas formas de auxílio no aprendizado, diagnóstico, simulações e sistemas especialistas, entre outras, bem como para a coleta, armazenamento, e análise de informações. Na área da saúde, tem sido cada vez mais comum o uso de sistemas computacionais, especialmente os Sistemas Especialistas. Entre estes, uma de suas principais aplicações são os sistemas de diagnóstico, que são capazes de definir um problema a partir de dados observados e sintomas (CARDOSO, s.d.b) Rotina do Especialista Na rotina de trabalho de um fisioterapeuta clínico, que será o especialista que utilizará o Sistema Especialista proposto neste trabalho, é seguida uma série de procedimentos para iniciar o tratamento de um novo paciente. Ao procurar o fisioterapeuta, o paciente já deve possuir um diagnóstico médico prévio. Na primeira visita do paciente, o fisioterapeuta realiza sua avaliação, através da anamnese, exame físico, testes especiais aplicáveis em certas modalidades, como ombro, hérnia de disco, meniscos, etc., testes funcionais para verificação da amplitude de movimentos, testes de força muscular, entre outros. A partir dos testes, o fisioterapeuta planeja o tratamento adequado ao paciente, que é dividido em etapas, visando, nesta ordem: alívio da dor; recuperação funcional (amplitude de movimentos); ganho de força muscular; capacidade de retorno às atividades cotidianas.

38 37 Durante o tratamento, o paciente permanece em constante avaliação pelo fisioterapeuta, até que seja dada alta do tratamento fisioterápico, quando o fisioterapeuta geralmente reencaminha o paciente ao médico para nova avaliação. 1.4 Solução Proposta O Sistema Especialista desenvolvido é baseado em regras, utilizando um banco de dados para armazenar a base de conhecimento, mantendo assim, a máquina de inferência em um módulo separado do conhecimento. A base de conhecimento foi construída a partir de entrevistas com um profissional da área da Fisioterapia, e esta poderá ser alterada pelos usuários do sistema especialista através de uma interface específica para esse fim. A base de conhecimento abrange inicialmente uma área específica da Fisioterapia, a fim de buscar uma especialização naquela área, a princípio. De acordo com os dados inseridos no sistema, este deve fornecer um pequeno grupo de respostas, que devem então ser analisadas pelo especialista para sua aprovação ou não.

39 38 2. ESTADO DA ARTE Este capítulo apresenta um estudo sobre sistemas computacionais semelhantes ao proposto neste trabalho, a fim de avaliar o que esses sistemas oferecem, como são desenvolvidos e que ensinamentos podem ser retirados desta comparação. Atualmente, as técnicas da Inteligência Artificial são largamente utilizadas na área da saúde, sendo que a maioria das aplicações são específicas para algumas das especialidades da medicina. A área da Fisioterapia, escopo deste trabalho, oferece também uma ampla gama para possíveis aplicações que utilizam as técnicas da Inteligência Artificial para auxiliar estudantes e profissionais nas suas tarefas. 2.1 SAD em Fisioterapia para Auxílio na Simulação de Exames Ortopédicos da Coluna Vertebral Na Pontifícia Universidade Católica do Paraná (PUCPR), foi desenvolvido o Sistema de Apoio à Decisão (SAD) em Fisioterapia para Auxílio na Simulação de Exames Ortopédicos da Coluna Vertebral através de Regras de Produção. Este Sistema de Apoio à Decisão, semelhantemente a um Sistema Especialista, é formado por uma base de conhecimento - construída utilizando o conhecimento de profissionais da área - e uma máquina de inferência, e seus objetivos são auxiliar alunos e profissionais da fisioterapia nos diagnósticos fisioterapêuticos de exames ortopédicos da coluna vertebral, para as regiões cervical e lombar. Através de sua base de conhecimento, o sistema pode encontrar possíveis diagnósticos fisioterapêuticos com base em observações e análise de sintomas, obtidos a partir de respostas às perguntas dirigidas ao aluno ou ao profissional. A base de conhecimento foi construída a

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

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

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO CST ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo desde a

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas. UTILIZAÇÃO DA UML NO DESENVOLVIMENTO DE SISTEMA DE CONTROLE DE VENDAS E ESTOQUE GILBERTO FRANCISCO PACHECO DOS SANTOS Discente da AEMS Faculdades Integradas de Três Lagoas JACKSON LUIZ ARROSTI Discente

Leia mais

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

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

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane

Leia mais

Estrutura de um Sistema Especialista

Estrutura de um Sistema Especialista Sistemas Especialistas Difusos Estrutura de um Sistema Especialista Prof. Max Pereira http://paginas.unisul.br/max.pereira Áreas de Aplicação da IA SISTEMAS Sistemas Especialistas (Baseados em Conhecimento)

Leia mais

Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de

Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de 1 Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de relatórios dos sistemas de informação gerencial. Descrever

Leia mais

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

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

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

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011 Revisão Inteligência Artificial ENADE Prof a Fabiana Lorenzi Outubro/2011 Representação conhecimento É uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação (Rezende,

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware 1. A nova infra-estrutura de tecnologia de informação Conectividade Mede a capacidade de comunicação de computadores e dispositivos Sistemas abertos Sistemas de software Operam em diferentes plataformas

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Módulo 07 Gestão de Conhecimento

Módulo 07 Gestão de Conhecimento Módulo 07 Gestão de Conhecimento Por ser uma disciplina considerada nova dentro do campo da administração, a gestão de conhecimento ainda hoje tem várias definições e percepções, como mostro a seguir:

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

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

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

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Empresas e outras organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus

Leia mais

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

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

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS

MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS Dr. André Ricardo Magalhães andrerm@gmail.com Universidade do Estado da Bahia Brasil Modalidade: Comunicação Breve Nível

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

2. O que informatizar?

2. O que informatizar? A INFORMÁTICA NO CONSULTÓRIO MÉDICO No fascículo anterior, comentamos como a gestão de custos, mesmo sendo feita de maneira simplista, auxilia o consultório a controlar e avaliar seus resultados, permitindo

Leia mais

Processos Gerenciais

Processos Gerenciais UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA Projeto Integrado Multidisciplinar III e IV Processos Gerenciais Manual de orientações - PIM Curso Superior de Tecnologia em Processos Gerenciais. 1.

Leia mais

Módulo 6: Inteligência Artificial

Módulo 6: Inteligência Artificial Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas

Leia mais

Orientações para o Planejamento e Realização do Projeto Final

Orientações para o Planejamento e Realização do Projeto Final Orientações para o Planejamento e Realização do Projeto Final Simone Diniz Junqueira Barbosa Versão: 1.0.4 Orientações para o Planejamento e Realização do Projeto Final Sumário 1 Introdução... 3 2 Projeto

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Introdução Por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685 Gerenciamento de Dados e Informação - Prof. Robson

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São

Leia mais

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2 Modelo de domínio Introdução! 1 Modelos de Domínio! 1 Identificação de classes conceituais! 2 Estratégia para identificar classes conceituais! 2 Passos para a elaboração do modelo de domínio! 2 Passo 1

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO DE GRADUAÇÃO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO A disciplina aborda o estudo da área de Informática como um todo, e dos conceitos fundamentais,

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO EDUCAÇÃO A DISTÂNCIA (EAD) SISTEMAS PARA INTERNET INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais

Banco de Dados. Prof. Dr. Rogério Galante Negri

Banco de Dados. Prof. Dr. Rogério Galante Negri Banco de Dados Prof Dr Rogério Galante Negri Tradicionalmente O armazenamento dos dados utilizava arquivos individuais, sem nenhum relacionamento Cada programa utilizava seu próprio sistema de arquivo

Leia mais

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 1 OBJETIVOS 1. Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento? 2. Quais são as aplicações

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAL

SISTEMAS DE INFORMAÇÃO GERENCIAL SISTEMAS DE INFORMAÇÃO GERENCIAL 2015 Sabemos que as empresas atualmente utilizam uma variedade muito grande de sistemas de informação. Se você analisar qualquer empresa que conheça, constatará que existem

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL Capítulo 10 GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 10.1 2003 by Prentice Hall OBJETIVOS Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento?

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

UNIVERSIDADE PAULISTA

UNIVERSIDADE PAULISTA UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA Projeto Integrado Multidisciplinar III e IV Marketing Manual de orientações - PIM Curso Superior de Tecnologia em Marketing. 1. Introdução Os Projetos

Leia mais

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Consultas... 5 3. Relatórios... 8 4. Conclusões... 11

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

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

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

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante 1 - Q193183 ( Prova: FCC - 2011 - TRT - 19ª Região (AL) - Analista Judiciário - Tecnologia da Informação / Engenharia de Software / Análise de Requisitos; Engenharia de Requisitos; ) De acordo com Sommerville,

Leia mais

SISTEMAS DE APOIO À DECISÃO SAD

SISTEMAS DE APOIO À DECISÃO SAD SISTEMAS DE APOIO À DECISÃO SAD Conceitos introdutórios Decisão Escolha feita entre duas ou mais alternativas. Tomada de decisão típica em organizações: Solução de problemas Exploração de oportunidades

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Sistema de Informação Gerencial SIG

Sistema de Informação Gerencial SIG Sistema de Informação Gerencial SIG O SIG abrange a empresa Estratégico Tático Operacional Conceitos Básicos: DADO: Qualquer elemento identificado em sua forma bruta que, por si só, não conduz a compensação

Leia mais

Assistentes Virtuais Inteligentes

Assistentes Virtuais Inteligentes Assistentes Virtuais Inteligentes Excelência e Redução de Custo Operacional WHITEPAPER OFERECEMOS RECORDAÇÕES E EXPERIÊNCIAS ENCANTADORAS We offer amazing memories and experiences Ofrecemos preciosos recuerdos

Leia mais

FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS

FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS 25 a 28 de Outubro de 2011 ISBN 978-85-8084-055-1 FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS Marcos Mitsuo Ashihara 1, Nelson Tenório Jr 2, Rita Cristina Galarraga

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Tecnologia da Informação. Visão Geral sobre Informática

Tecnologia da Informação. Visão Geral sobre Informática 9/18/2014 1 Tecnologia da Informação Visão Geral sobre Informática Trabalho compilado da internet Prof. Claudio Passos 9/18/2014 2 PROBLEMAS ADMINISTRATIVOS Volume de Informação Tempo de Resposta Aumento

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais