Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

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

Download "Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes"

Transcrição

1 Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia 1 1, Frederico Araujo Durão 1, Gibeon Soares de Aquino Júnior 1, Marcely Daniela Silva dos Santos 1, Eduardo Santana de Almeida 1, Daniel Lucrédio 3, Jones Oliveira de Albuquerque 2, Silvio Romero de Lemos Meira 1 1 Centro de Informática Universidade Federal de Pernambuco C.E.S.A.R. Centro de Estudos e Sistemas Avançados do Recife {vcg,esa2,srlm}@cin.ufpe.br {frederico.durao,gibeon.aquino,marcely.santos}@cesar.org.br 2 Dept. de Estatística e Informática, Universidade Federal Rural de Pernambuco joa@ufrpe.br 3 Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo lucredio@icmc.usp.br Resumo. Este artigo apresenta a especificação, o projeto e a implementação de uma arquitetura para um engenho de busca de componentes de software desenvolvido como um plug-in para a ferramenta Eclipse. O engenho permite o reuso dos componentes por meio de uma busca em repositórios de código fonte de projetos. A busca dos componentes é realizada por meio de técnicas de text mining, utilizando o mecanismo do Lucene. A arquitetura é capaz de fazer buscas em servidores CVS, carregar os componentes selecionados, indexá-los localmente e mostrá-los no workbench do Eclipse através do plug-in. 1. Introdução No processo de desenvolvimento de software, o reuso caracteriza-se pela utilização de produtos de software em uma situação diferente daquela para qual estes produtos foram originalmente construídos. Esta idéia, que não é nova [10], apresenta benefícios cruciais para as organizações, tais como, redução de custos e tempo de entrega das aplicações e aumento da qualidade. Dentre os fatores que favorecem o sucesso com programas de reuso, encontram-se os repositórios de componentes [2, 14]. Entretanto, a simples aquisição de um repositório de componentes não leva aos benefícios esperados, uma vez que outros fatores também devem ser combinados, como, por exemplo, gerenciamento, planejamento, processos de reuso, entre outros [11, 13]. Os atuais gerenciadores e repositórios de componentes [1] são, na sua maioria, produtos que permitem apenas o reuso de componentes black-box [17], ou seja, componentes empacotados onde não se tem acesso ao código fonte, o que dificulta tarefas como Financiado pela Fundação de Amparo à Pesquisa do Estado da Bahia (FAPESB) - Brasil

2 adaptação ou evolução. Além disso, a adoção deste tipo de repositório em organizações, muitas vezes, ocorre de forma intrusiva, uma vez que os componentes, para serem disponibilizados para o reuso, devem ser documentados e empacotados utilizando determinados critérios. Adicionalmente, esses repositórios representam soluções isoladas, não sendo associadas a ferramentas de desenvolvimento comumente utilizadas, como, por exemplo, o Eclipse R, o que aumenta a barreira para sua adoção e utilização. Assim, um modo inicial para estimular a cultura de reuso nas empresas e obter os seus benefícios iniciais [3], no que diz respeito a ferramentas, deve concentrar-se em oferecer subsídios para a reutilização de componentes white-box - com código fonte disponível - e código fonte já existentes, seja na própria organização, em projetos anteriores, ou em repositórios disponíveis na Internet 1. Neste contexto, este artigo apresenta a especificação, o projeto e a implementação de uma arquitetura para um engenho de busca de componentes, que objetiva auxiliar no reuso durante o desenvolvimento de software. O artigo está organizado como se segue: A Seção 2 apresenta a especificação da arquitetura proposta e discute seus requisitos iniciais. A Seção 3 discute o projeto da arquitetura e seus elementos. Na Seção 4 é apresentada a implementação da arquitetura. Trabalhos relacionados são discutidos na Seção 5, e, finalmente, a Seção 6 apresenta algumas considerações finais e trabalhos futuros. 2. Especificação da Arquitetura para um Engenho de Busca de Componentes As pesquisas atuais em busca e recuperação de componentes têm se concentrado em aspectos e requisitos chaves para os mercados de componentes, que buscam promover o reuso em larga escala [9]. Lucrédio et al. [9] apresentam um conjunto de requisitos para um eficiente engenho de busca e recuperação de componentes de software, dentre os quais pode-se destacar, de forma reduzida: a. Elevada precisão e recuperação. Elevada precisão significa que a maioria dos componentes recuperados são relevantes. Elevada recuperação significa que poucos elementos relevantes são identificados, sem ser recuperados. b. Segurança. Em um mercado de componentes global, a segurança deve ser considerada uma característica primordial, já que existe a possibilidade de que pessoas não autorizadas possam acessar o repositório. c. Formulação de consultas. Há uma natural perda de informação quando os usuários formulam consultas. Segundo [5], existe uma lacuna conceitual entre o problema e a solução, já que componentes são descritos em termos da sua funcionalidade ( como ) e as consultas em termos da solução ( o quê ). Assim, um engenho de busca deve prover meios de auxiliar o usuário na formulação das consultas, buscando reduzir esta lacuna. d. Descrição do componente. O engenho de busca é responsável por identificar os componentes relevantes para o usuário de acordo com a consulta formulada e executada em cima das descrições dos componentes. e. Familiaridade no repositório. O reuso ocorre mais freqüentemente através de componentes bem conhecidos [18]. Entretanto, um engenho de busca deve auxiliar o 1 O SourceForge, até 08 de Julho de 2005, disponibilizava projetos.

3 usuário a explorar e recuperar componentes familiares ao que era o alvo inicial, facilitando futuras buscas e estimulando a concorrência entre os fornecedores de componentes. f. Interoperabilidade. Em um cenário envolvendo repositórios distribuídos, é inevitável não pensar em interoperabilidade. Deste modo, um engenho de busca que funciona neste cenário deve ser baseado em tecnologias que facilitem sua futura expansão e integração com outros sistemas e repositórios. g. Desempenho. Desempenho é usualmente medida em termos de tempo de resposta. Sistemas centralizados envolvem variáveis relacionadas ao poder de processamento e algoritmos de busca. Já em sistemas distribuídos outras variáveis devem ser consideradas, como, por exemplo, controle de tráfego da rede, distância geográfica e, claro, o número de componentes disponíveis. Entretanto, esses requisitos são referentes a um mercado de componentes utilizando componentes black-box. Para um engenho de busca, que recupera também componentes white-box e código fonte reutilizável, diferentes requisitos são necessários. A seguir são apresentadas as características e os requisitos macro para o engenho de busca Maracatu. O conjunto de requisitos não é definitivo, entretanto, nós acreditamos que eles constituem uma base sólida para trabalhos futuros Características e Requisitos Técnicos O Maracatu permitirá o reuso de componentes por meio de uma busca em repositórios de código fonte de projetos. A busca será feita através de palavras-chave e utilizará o engenho de busca Lucene [4]. O Lucene é responsável pela indexação dos componentes bem como o ranqueamento do resultado da busca. A arquitetura deverá ser capaz de fazer buscas em servidores CVS (Web ou em uma Intranet), carregar os componentes selecionados, indexá-los, ranqueá-los e exibir o resultado no workbench do Eclipse. Dois processos básicos são suportados pelo Maracatu: i) localização, check-out e indexação dos componentes; e ii) busca e recuperação de componentes. O primeiro processo é uma tarefa realizada automaticamente, em background, enquanto o desenvolvedor é responsável pelo segundo. Para a execução destes dois processos básicos foram identificados inicialmente alguns requisitos macros, conforme se segue: i. Repositórios CVS na Web ou na Intranet. O Maracatu deverá acessar inicialmente repositórios CVS. Após o check-out do componente, deverá ser feita uma análise qualitativa do código com o objetivo de eliminar os componentes que tenham baixo potencial de reuso. Especificamente, nesta versão, foi implementada apenas uma estratégia que avalia a densidade de documentação Javadoc no código (70% no mínimo). ii. Selecionar Repositórios. O desenvolvedor deverá incluir manualmente a lista dos repositórios para a busca dos componentes. Será possível a qualquer momento realizar uma busca nos repositórios cadastrados para encontrar novas versões dos componentes consumidos, ou novos componentes; iii. Armazenar Componentes Localmente. O Maracatu deverá fazer o checkout dos componentes localizados e candidatos ao reuso e armazená-los localmente em um cache (centralização do repositório de componentes para reuso); iv. Atualizar Repositórios. Periodicamente, os repositórios cadastrados devem

4 ser acessados para verificar a existência de novos componentes e/ou a atualização de componentes já existentes. Neste caso, estes dois tipos de componentes (novos e atualizados) devem ser baixados para o cache. Sempre que novos check-out forem feitos, deve ser refeito o índice dos componentes; v. Indexar os Componentes. Só devem ser consumidos os componentes que ainda não foram indexados e que forem aprovados no processo de verificação da potencialidade de reuso (item i); vi. Buscar por Palavra-Chave. A busca será realizada por meio do uso de palavras-chave. A busca deve aceitar como entrada uma string e irá interpretar operadores lógicos como E e OU ; vii. Exibir resultado da busca. O resultado da busca será exibido no workbench do Eclipse. A partir deste resultado, será possível acessar um determinado componente recuperado pela consulta, e inserí-lo em um projeto do Eclipse. De acordo com os conjuntos de requisitos apresentados anteriormente, tanto para um mercado de componentes quanto para um engenho de busca, foi projetado o engenho de busca Maracatu como um plug-in do Eclipse. 3. Projeto da Arquitetura do Engenho de Busca de Componentes A arquitetura do Maracatu foi projetada para ser extensível a diferentes tecnologias de componentes, provendo a capacidade de adição de novas características na indexação, ranqueamento, busca e recuperação dos componentes. Esta possibilidade é obtida através do particionamento do sistema em elementos menores, com responsabilidades bem definidas, baixo acoplamento e encapsulamento de detalhes de implementação. Durante a estratégia de projeto da arquitetura foram integrados à arquitetura do Maracatu alguns componentes já existentes: o Lucene foi adotado como mecanismo de busca e a API Javacvs [12] foi utilizada para acesso aos repositórios Figura 1. Arquitetura do Maracatu CVS. Além disso, foi adotada a API JavaNCSS [7] para a análise do código fonte, atuando como um filtro. De um modo geral, a arquitetura do Maracatu contém dois sub-sistemas principais: i) Eclipse Plug-in e ii) Maracatu Service, conforme mostra a Figura 1. A arquitetura do Maracatu está baseada no modelo cliente-servidor e utiliza a tecnologia de Web Services [16] para troca de mensagens entre os sub-sistemas. Esta estratégia de implementação permite que o serviço (Maracatu Service) possa estar disponível em qualquer lugar na Internet, ou até mesmo em Intranets corporativas, em situações onde os componentes são proprietários.

5 O modelo de comunicação do Maracatu ocorre da seguinte forma: 1. Inicialmente, o plug-in Eclipse (cliente Web Service), após localizar o serviço remoto definido por um documento WSDL (Web Service Definition Language) invoca os serviços através de RPC (Remote Procedure Call). 2. Em seguida, o Maracatu Service (Web Service) recebe a chamada, processa a informação e envia a resposta (resultado da busca ou o arquivo para o desenvolvedor realizar o download). 3. O plug-in e o Maracatu Service comunicam-se usando o protocolo SOAP (Simple Object Access Protocol) sobre HTTP. O protocolo SOAP é um dos padrões para a troca de mensagens entre aplicações e Web Services. seguir. Para uma melhor compreensão, os sub-sistemas do Maracatu são apresentados a 3.1. Eclipse Plug-in Este sub-sistema é a interface visual com o desenvolvedor e é responsável por repassar as consultas para o sub-sistema Maracatu Service. Ele funciona totalmente integrado ao ambiente de desenvolvimento do desenvolvedor (nesta versão, apenas o Eclipse). O plugin se comporta como um cliente Web Service que consome os serviços disponíveis pelo Maracatu Service. Para garantir o acesso ao serviço, ele foi projetado utilizando o padrão de projeto ServiceLocator 2, com a finalidade de localizar o serviço remoto (definido pelo documento WSDL) e disponibilizá-lo para o plug-in Maracatu Service Este sub-sistema é responsável pela execução dos serviços requisitados pelo plug-in. Ele foi dividido em sub-módulos, onde cada um deles têm papel fundamental no funcionamento geral do sub-sistema Maracatu Service. Os sub-módulos são detalhados a seguir: i. CVS. Este sub-módulo é responsável por recuperar o código fonte dos repositórios CVS cadastrados pelo Administrador do Maracatu Service. Além disso, ele fica periodicamente, monitorando os repositórios com o objetivo de recuperar as atualizações. ii. Analyser. Este sub-módulo é responsável por realizar uma análise no código e avaliar se ele é adequado para ser reutilizado. Apenas os códigos aprovados nesta etapa do processo estão disponíveis para a próxima etapa de indexação. Para otimizar o processo, este sub-módulo só é disparado quando o módulo CVS realizar alguma atualização. iii. Indexer. Este sub-módulo é responsável por indexar os arquivos Java que passaram pela análise do módulo Analyser. Ele é otimizado para consumir apenas os arquivos que ainda não foram indexados. Além disso, ele está preparado para rever os índices criados quando os artefatos forem modificados ou acrescentados. iv. Download. Este sub-módulo auxilia o processo de download (check-out) do código fonte para a máquina do desenvolvedor, quando solicitado pelo mesmo. v. Search. Este sub-módulo recebe os parâmetros da consulta solicitada pelo desenvolvedor, interpreta (por exemplo, operadores E e OU ), busca no índice, e retorna um conjunto de entradas do índice. 2

6 4. Implementação da Arquitetura do Engenho de Busca de Componentes Um exemplo de busca pode ser visto na Figura 2, que mostra o plug-in Maracatu 3 sendo utilizado no ambiente de desenvolvimento do Eclipse (1). Figura 2. Maracatu em execução no ambiente do Eclipse A Figura mostra a janela do plug-in (2), onde é possível ao desenvolvedor digitar uma string para a busca por componentes. No exemplo, foi realizada a busca a partir da string Search & Retrieve, e retornou como resultado os seguintes componentes: AssigmentCommand, DBConnection, Assembler entre outros. A partir do resultado da busca, é possível identificar de qual projeto (repositório) esse componente faz parte( representado em Module ), bem como a opção de download do componente. Em seguida, o desenvolvedor pode importar o componente para o seu projeto no Eclipse (3). No exemplo da figura, o desenvolvedor escolheu o componente AssigmentCommand. O plug-in Maracatu foi implementado em 32 classes, divididas em 17 pacotes e com 955 linhas de código não comentadas. 5. Trabalhos Relacionados O Agora [15] é um protótipo desenvolvido pelo SEI/CMU 4. O objetivo do Agora é criar um banco de dados (repositório), gerado automaticamente, indexado e disponível na internet, de produtos de software classificados por tipos de componentes (por exemplo, Javabeans ou controles ActiveX). O Agora combina técnicas de introspecção com mecanismos de busca da Web para reduzir os custos de recuperar e localizar os componentes de software em um mercado de componentes. O Koders [8] foi o primeiro motor de busca Open Source desenvolvido. Ele se conecta diretamente nos sistemas de controle de versão (como CVS e Subversion) para identificar o código fonte, podendo reconhecer cerca de 30 linguagens de programação 3 O protótipo na versão 1.0 pode ser obtido no site do projeto 4 Software Engineering Institute at Carnegie Mellon University

7 e 20 licenças de software. O Koders é um projeto mantido pela Microsoft Architecture Resource Center 5. O Koders só pode ser utilizado na Web, via o seu site, já o Maractu pode atuar em uma Intranet, o que é ideal para empresas que não querem tornar públicos seus repositórios. Entretanto, ao contrário do Koders, o Maracatu conecta-se somente a repositórios CVS. Em [6], Holmes e Murphy apresentam o Strathcona, um plug-in para o Eclipse que localiza exemplos de códigos que auxiliam desenvolvedores no processo de codificação. Os exemplos são extraídos de repositórios através de pesquisa baseada em seis diferentes heurísticas. A escolha das classes é baseada na similaridade da estrutura do código que o desenvolvedor está escrevendo. Após a localização no repositório, o plug-in relaciona cada classe extraída com o código já desenvolvido, caso exista, e estrutura um modelo de aplicação das classes retornadas (pela busca). O Strathcona, diferente do Maracatu, não é um cliente web service, o que implica diretamente na questão da escalabilidade. Além disso, o Maracatu pode acessar diferentes repositórios distribuídos remotamente enquanto que o Strathcona apenas repositórios locais, com isso, caso o tamanho dos repositórios cresça, o desenvolvedor pode ter problemas de performance durante as buscas. Outro importante trabalho de pesquisa foi apresentado em [18], no qual Ye e Fischer propõem um novo mecanismo para localizar componentes. Este mecanismo localiza e apresenta para o desenvolvedor, de forma autônoma, informações sobre componentes que sejam relevantes para as atividades que estão sendo realizadas no momento, e personalizados de acordo com o conhecimento e ambiente do desenvolvedor. Tal mecanismo foi projetado, implementado e avaliado em um sistema que recebeu o nome de CodeBroker. Avaliações empíricas mostraram que este tipo de estratégia é realmente efetiva em promover o reuso. Do ponto de vista funcional, pode-se afirmar que o Maracatu e o CodeBroker são complementares. O CodeBroker realiza uma interação mais rebuscada com o usuário, de modo ativo, enquanto o Maracatu é passivo, pois somente responde à solicitações do usuário. Por outro lado, o back-end do Maracatu (parte do servidor) tem um comportamento mais complexo, localizando e coletando informações sobre componentes na rede de uma forma autônoma e sem intervenção direta do usuário. 6. Conclusões e trabalhos futuros Desde 1968 [10], quando Mcllroy propôs a idéia inicial de uma indústria de componentes de software, o tema vem sendo alvo de constantes pesquisas. Deste período, até os dias atuais [9], a área de busca e recuperação de componentes vem evoluindo, com mecanismos que, inicialmente, permitiam apenas a reutilização de rotinas matemáticas, até os mecanismos e repositórios de componentes mais robustos, que permitem a seleção e recuperação de componentes black-box em um contexto interno ou em um mercado global. Neste artigo foi apresentada a especificação, o projeto e a implementação de um engenho de busca que permite, não apenas a recuperação de componentes black-box, como também, componentes white-box e de trechos de código. Nós acreditamos que esta abordagem é o ponto inicial para empresas obterem os benefícios com a reutilização, no que diz respeito a ferramentas, uma vez que a mesma apresenta-se de forma não intrusiva, tanto no que diz respeito a novos métodos para documentar e empacotar componentes, como também, na familiarização do desenvolvedor com o seu ambiente de trabalho. 5

8 Como trabalhos futuros, encontra-se em desenvolvimento um modulo extrator, que permitirá que os componentes existentes em organizações ou em repositórios distribuídos, possam ser recuperados e armazenados em facetas definidas pelo administrador. Com a utilização de facetas, as buscas poderão ser otimizadas, uma vez que parte dos componentes podem ser descartados de acordo com o critério do desenvolvedor. Esta versão ainda é parte de uma grande agenda de pesquisa e desenvolvimento, que inclui outras funcionalidades, como, por exemplo, a incorporação de conteúdo semântico no mecanismo de busca, melhorias nos algoritmos de ranqueamento do engenho de busca, além da definição de métricas. Além disso, um projeto piloto está sendo preparado para analisar a viabilidade de utilização da ferramenta no ambiente industrial. Referências [1] V. A. A. Burégio. Especificação e Implementação de uma Arquitetura de Repositório de Componentes. Dissertação de mestrado, Universidade Federal Pernambuco, Recife, [2] W. B. Frakes and S. Isoda. Success Factors of Systematic Software Reuse. IEEE Software, 11(01):14 19, [3] M. Griss. Making Software Reuse Work at Hewlett-Packard. IEEE Software, 12(01): , [4] E. Hatcher and O. Gospodnetic. Lucene in Action (In Action series). Manning Publications, [5] S. Henninger. Using Iterative Refinement to Find Reusable Software. IEEE Software, 11(5):48 59, [6] R. Holmes and G. C. Murphy. Using structural context to recommend source code examples. In Proceedings of the 27th ICSE, pages , New York, NY, USA, ACM Press. [7] JavaNCSS. A Source Measurement Suite for Java, URL: [8] Koders. Koders - Source Code Search Engine, URL: [9] D. Lucrédio, E. S. d. Almeida, and A. F. d. Prado. A Survey on Software Components Search and Retrieval. In R. Steinmetz and A. Mauthe, editors, 30th IEEE EUROMICRO Conference, Component-Based Software Engineering Track, pages , Rennes - France, IEEE/CS Press. [10] M. D. McIlroy. Software Engineering: Report on a conference sponsored by the NATO Science Committee. In NATO Software Engineering Conference, pages NATO Scientific Affairs Division, [11] M. Morisio, M. Ezran, and C. Tully. Success and Failure Factors in Software Reuse. IEEE Transactions on Software Engineering, 28(04): , [12] NetBeans. Javacvs, URL: [13] T. Ravichandran and M. A. Rothenberger. Software Reuse Strategies and Component Markets. Communications of the ACM, 46(8): , [14] D. Rine. Success factors for software reuse that are applicable across Domains and businesses. In ACM Symposium on Applied Computing, pages , San Jose, California, USA, ACM Press. [15] R. C. Seacord, S. A. Hissam, and K. C. Wallnau. Agora: A Search Engine for Software Components. Technical report, CMU/SEI - Carnegie Mellon University/Software Engineering Institute, [16] M. Stal. Web services: beyond component-based computing. Commun. ACM, 45(10):71 76, [17] C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison Wesley, [18] Y. Ye and G. Fischer. Supporting Reuse By Delivering Task-Relevant and Personalized Information. In Proceedings of the 24th ICSE, pages , Orlando, Florida, USA, 2002.

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes MARACATU A component search tool Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia July 29, 2005 Agenda Introdução Especificação

Leia mais

APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs

APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs João Eduardo Montandon, Marco Túlio Valente Departamento de Ciência da Computação, UFMG {joao.montandon,mtov}@dcc.ufmg.br Resumo. Exemplos

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas SOA e Web Services Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura

Leia mais

Reúso de Software: o cenário industrial brasileiro

Reúso de Software: o cenário industrial brasileiro Reúso de Software: o cenário industrial brasileiro Daniel Lucrédio, Kellyton S. Brito, Alexandre Alvaro, Vinicius C. Garcia, Eduardo S. Almeida, Renata P. M. Fortes e Silvio L. Meira Alunos: Milena Guessi

Leia mais

Projeto. Observatório Nacional de Clima e Saúde

Projeto. Observatório Nacional de Clima e Saúde Projeto Observatório Nacional de Clima e Saúde Coordenação Técnica Institucional: Fiocruz e INPE Coordenação Nacional CGVAM- Coordenação Geral de Vigilância Ambiental Secretaria de Vigilância em Saúde

Leia mais

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias

Leia mais

Reuso de Software. Aluna: Maria de Fátima F. Costa de Souza Profa.: Dra. Rossana M. C. Andrade

Reuso de Software. Aluna: Maria de Fátima F. Costa de Souza Profa.: Dra. Rossana M. C. Andrade Reuso de Software Aluna: Maria de Fátima F Costa de Souza Profa.: Dra. Rossana M. C. Andrade Sumário Definição Origem Benefícios Obstáculos Características Fatores de Sucesso e Falha O Grande Problema

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Aula 2: Planejamento da RS

Aula 2: Planejamento da RS Universidade de São Paulo Instituto de Ciências Matemática e de Computação SSC 5905 - Revisão Sistemática Aula 2: da RS Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2013 Processo de Revisão Sistemática

Leia mais

UNIVERSIDADE FEDERAL DE P ERNAMBUCO

UNIVERSIDADE FEDERAL DE P ERNAMBUCO UNIVERSIDADE FEDERAL DE P ERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA 2016.1 AutoTestPlan: Uma ferramenta para criação de planos de teste e seleção de casos de teste PROPOSTA DE

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare). 1 Introdução 1.1 Contextualização Recentemente, tem-se percebido um movimento de integração de comunidades físicas e comunidades virtuais. As pessoas utilizam cada vez mais a Internet para se comunicar

Leia mais

5 Arquitetura de implementação

5 Arquitetura de implementação Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo

Leia mais

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Bacharelado em Ciências da Computação Estágio supervisionado de Conclusão de Curso PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

Leia mais

ANÁLISE DO MOTOR DE EXECUÇÃO DA TECNOLOGIA GUARANÁ 1 ANALYSIS OF THE RUNTIME ENGINE OF GUARANÁ TECHNOLOGY

ANÁLISE DO MOTOR DE EXECUÇÃO DA TECNOLOGIA GUARANÁ 1 ANALYSIS OF THE RUNTIME ENGINE OF GUARANÁ TECHNOLOGY ANÁLISE DO MOTOR DE EXECUÇÃO DA TECNOLOGIA GUARANÁ 1 ANALYSIS OF THE RUNTIME ENGINE OF GUARANÁ TECHNOLOGY Ivan E. M. Kühne 2, Rafael Z. Frantz 3 1 Projeto de Iniciação Científica desenvolvido no Grupo

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Tarefas de Gerenciamento de Configuração

Tarefas de Gerenciamento de Configuração Tarefas de Gerenciamento de Configuração 1- Tarefas Preliminares 2- Identificação 3- Controle de Mudanças 4- Controle de Versão 5- Auditoria de Configuração 6- Relato de Situação 7- Controle de Interface

Leia mais

Modelagem/Arquitetura de Software

Modelagem/Arquitetura de Software Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Objetivo do Curso Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em componentes, oferecendo uma visão conjunta das

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso Objetivo do Curso Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em, oferecendo uma visão conjunta das tecnologias

Leia mais

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RA2 - Relatório de acompanhamento trimestral

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RA2 - Relatório de acompanhamento trimestral GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos RA2 - Relatório de acompanhamento trimestral Período: 02/2013 a 04/2013 Sand Luz Corrêa Kleber Vieira Cardoso 30/04/2013

Leia mais

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Invocação Remota. Prof. Leonardo Barreto Campos.   1/29 Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os

Leia mais

Curso Online de E-commerce. Plano de Estudo

Curso Online de E-commerce. Plano de Estudo Curso Online de E-commerce Plano de Estudo Descrição do programa O programa oferece metodologias e técnicas necessárias para a implementação de soluções web baseadas no CMS para o suporte, estratégias

Leia mais

UM SISTEMA DE RECUPERAÇÃO DE

UM SISTEMA DE RECUPERAÇÃO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM SISTEMA DE RECUPERAÇÃO DE DOCUMENTAÇÃO HISTÓRICA PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno: Marcos José de Menezes

Leia mais

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013 DCC / ICEx / UFMG CBSE Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A CBSE foi proposta na década de 90 Foi motivado pelo limitado suporte

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Webmedia 06 Diego Fiori de Carvalho Júlio Cézar Estrella Renata Pontin de Mattos Fortes Rudinei Goularte

Webmedia 06 Diego Fiori de Carvalho Júlio Cézar Estrella Renata Pontin de Mattos Fortes Rudinei Goularte Interoperabilidade XML com Web Services para modelo de arquitetura em Sistemas de Informação Geográfico Webmedia 06 Diego Fiori de Carvalho Júlio Cézar Estrella Renata Pontin de Mattos Fortes Rudinei Goularte

Leia mais

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru 1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna

Leia mais

Lições Aprendidas no Processo de Manutenção do Ambiente WebAPSEE 1

Lições Aprendidas no Processo de Manutenção do Ambiente WebAPSEE 1 Lições Aprendidas no Processo de Manutenção do Ambiente WebAPSEE 1 Adailton Magalhães Lima, Breno Bernard N. de França, Anderson Costa, Ernani de Oliveira Sales, Carla A. Lima Reis, Rodrigo Quites Reis

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador

Leia mais

PMR3507 Fábrica digital

PMR3507 Fábrica digital LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Do EDI ao SOA Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas

Leia mais

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática

Leia mais

Repositório. de Componentes em Delphi. Josiane Gianisini Orientador Marcel Hugo

Repositório. de Componentes em Delphi. Josiane Gianisini Orientador Marcel Hugo Repositório de Componentes em Delphi Josiane Gianisini Orientador Marcel Hugo Roteiro de Apresentação Introdução Reutilização de Software Reutilização de Componentes de Software Repositório Componentes

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS Modelos: Para que um sistema, ao ser projetado, alcance as características de um sistema distribuído, esse deve ser desenvolvido em cima de algum modelo de computação

Leia mais

3 Uma Arquitetura Distribuída via WEB

3 Uma Arquitetura Distribuída via WEB 24 3 Uma Arquitetura Distribuída via WEB Neste capítulo será apresentada a Arquitetura de Ambiente Distribuído no qual está implementado o Gerador VRML (VRMLGer) e o fluxo de dados que há entre as diferentes

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

3 Trabalhos relacionados

3 Trabalhos relacionados 3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns

Leia mais

Sistema de Informação Geográfica

Sistema de Informação Geográfica Sistema de Informação Geográfica Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Arquiteturas SIG 2 1 Tipos de Implementação 3 Tipos de Implementação Em geral, um

Leia mais

Prof. Me. Sérgio Carlos Portari Júnior

Prof. Me. Sérgio Carlos Portari Júnior Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade

Leia mais

Domínio Personalizado 1 Não aplicável. Largura de Banda

Domínio Personalizado 1 Não aplicável. Largura de Banda Serviço Cloud SAP Fiori Serviço Cloud SAP Fiori, edição premium Termos e Condições Suplementares Estes termos e condições suplementares ("Suplemento") fazem parte de um contrato de aquisição de certos

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 de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA.

CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA. CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE) Bolsista: Jeremias Ponciano da Silva E mail: jeremiason2911@gmail.com

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Prof. Ms. Ronaldo Martins da Costa

Prof. Ms. Ronaldo Martins da Costa Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral

Leia mais

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO Edilene de Fátima Vetorato 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Fatec, Botucatu, SP, Brasil. E-mail: edilenefv@hotmail.com

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

Mineração de Textos na Web

Mineração de Textos na Web Mineração de Textos na Web Luciano Antonio Digiampietri Escola de Artes Ciências e Humanidades da Universidade de São Paulo digiampietri@usp.br Resumo: Com o crescimento das informações disponíveis na

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

5º Congresso de Pós-Graduação

5º Congresso de Pós-Graduação 5º Congresso de Pós-Graduação UMA FERRAMENTA PARA GERAÇÃO AUTOMÁTICA DE DIAGRAMA DE CLASSES A PARTIR DA ESPECIFICAÇÃO DE REQUISITOS EM LINGUAGEM NATURAL Autor(es) WILSON CARLOS DA SILVA Orientador(es)

Leia mais

Firewall - Inspeção com estado. (Stateful Inspection)

Firewall - Inspeção com estado. (Stateful Inspection) Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores

Leia mais

Figura 16 Niagara - Visão de grupos de notas.

Figura 16 Niagara - Visão de grupos de notas. Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade

Leia mais

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO 6ª Jornada Científica e Tecnológica e 3º Simpósio de Pós-Graduação do IFSULDEMINAS 04 e 05 de novembro de 2014, Pouso Alegre/MG INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA

Leia mais

5 Arquitetura Proposta

5 Arquitetura Proposta 5 Arquitetura Proposta Neste capítulo detalhamos a arquitetura proposta que provê acesso a fontes de dados autônomas, heterogêneas e distribuídas, as quais podem ser desde sistemas gerenciadores de bancos

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

Sistemas da Informação. Banco de Dados I. Edson Thizon

Sistemas da Informação. Banco de Dados I. Edson Thizon 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

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

Arquiteturas. Capítulo 2

Arquiteturas. Capítulo 2 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas Híbridas Arquiteturas e Middleware Sistemas Distribuídos

Leia mais

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo Introdução Geral Prof. Vicente Paulo de Camargo Web e Internet A Internet é uma rede de computadores que conecta milhões de computadores Se comunicam através do protocolos específicos A Web é uma forma

Leia mais

Programação Distribuída. Metas de um Sistema Distribuído

Programação Distribuída. Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Um S.D. deve oferecer: 1. fácil acesso a seus recursos; 2. ocultar onde estão esses recursos,

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Sumário ARQUITETURA Arquitetura Gerenciamento Arquitetura - API Arquitetura - Interface

Sumário ARQUITETURA Arquitetura Gerenciamento Arquitetura - API Arquitetura - Interface Sumário... 1 1 ARQUITETURA... 3 1.1 Arquitetura Gerenciamento... 3 1.1.1 Arquitetura - API... 4 1.1.2 Arquitetura - Interface... 4 1.1.3 Arquitetura Dados... 5 1.1.4 Arquitetura Serviços... 5 1.1.5 Arquitetura

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade

Leia mais

SUPORTE ATLASSIAN 2017 SUPORTE ATLASSIAN

SUPORTE ATLASSIAN 2017 SUPORTE ATLASSIAN SUPORTE ATLASSIAN 2017 1 Se as ferramentas Atlassian são de alto nível de importância dentro da sua organização, considere nosso Suporte Platinum. Mantenha sua equipe focada no que realmente interessa

Leia mais

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services Universidade Federal de Santa Catarina DSOOII Web Services Web Services - Introdução Havia inconsistência de plataformas, sistemas operacionais e/ou linguagens de programação; Acadêmicos: Ariane Talita

Leia mais

Manual do Módulo do Fabricante

Manual do Módulo do Fabricante PROJETO SAT-ISS SISTEMA DE AUTENTICAÇÃO E TRANSMISSÃO DE DOCUMENTOS FISCAIS ELETRÔNICOS Manual do Módulo do Fabricante Versão: 1.01 (27/05/2014) Para baixar a versão mais atualizada deste documento, acesse:

Leia mais

Módulo III Camada de Persistência

Módulo III Camada de Persistência Módulo III Camada de Persistência Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III Camada de Persistência Persistência de Objetos Mecanismo de

Leia mais

Protocolo HTTP. Professor Leonardo Larback

Protocolo HTTP. Professor Leonardo Larback Protocolo HTTP Professor Leonardo Larback Protocolo HTTP No final da década de 1980, Tim Berners-Lee criou o protocolo HTTP (HyperText Transfer Protocol) e o padrão de arquivo HTML (HyperText Markup Language)

Leia mais

Avaliação e Integração de Ferramentas de Análise Estática de Código

Avaliação e Integração de Ferramentas de Análise Estática de Código Avaliação e Integração de Ferramentas de Análise Estática de Código Programa de Pós-graduação em Informática Aluno: Sílvio José de Souza Orientador: Marco Túlio de Oliveira Valente 1 Introdução Ferramentas

Leia mais

Felipe de Andrade Batista. Microservice Architecture: A Lightweight Solution for Large Systems in the Future

Felipe de Andrade Batista. Microservice Architecture: A Lightweight Solution for Large Systems in the Future Arquitetura de Microserviços: Uma Solução Leve para Grandes Sistemas no Futuro Felipe de Andrade Batista Universidade Santa Cecília (UNISANTA), Santos-SP, Brasil Email: feandrade.it@gmail.com Resumo: Este

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Sistemas de Computação e de Informação

Sistemas de Computação e de Informação Sistemas de Computação e de Informação SLIDE 9 Professor Júlio Cesar da Silva juliocesar@eloquium.com.br site: http://eloquium.com.br/ twitter: @profjuliocsilva Linguagens de Programação Os computadores

Leia mais

6 Conclusão. 6.1 Contribuições

6 Conclusão. 6.1 Contribuições 91 6 Conclusão O uso dos padrões da Web Semântica, como o RDF e RDFa, na publicação de informações na Web vêm demonstrando ser a única forma viável de garantir a interoperabilidade [34][53][80-83] de dados

Leia mais

6 Conclusão Contribuições da Dissertação

6 Conclusão Contribuições da Dissertação 6 Conclusão Neste trabalho, foi apresentado um sistema colaborativo capaz de controlar as versões das edições de um vídeo no formato MPEG-2, sem que os editores estejam no mesmo local, ao mesmo tempo.

Leia mais

ISO/IEC Processo de ciclo de vida

ISO/IEC Processo de ciclo de vida ISO/IEC 12207 Processo de ciclo de vida O que é...? ISO/IEC 12207 (introdução) - O que é ISO/IEC 12207? - Qual a finalidade da ISO/IEC 12207? Diferença entre ISO/IEC 12207 e CMMI 2 Emendas ISO/IEC 12207

Leia mais

Metodologia da Pesquisa em Sistemas de Informação. Aula 3. Projeto de Pesquisa. Revisão Sistemática. Profa. Fátima L. S. Nunes

Metodologia da Pesquisa em Sistemas de Informação. Aula 3. Projeto de Pesquisa. Revisão Sistemática. Profa. Fátima L. S. Nunes Metodologia da Pesquisa em Sistemas de Informação Aula 3 Projeto de Pesquisa Revisão Sistemática Profa. Fátima L. S. Nunes Metodologia Pesquisa SI- 1 Como elaborar um projeto? Roteiro 1) Escolha do tema

Leia mais

6 Trabalhos Relacionados

6 Trabalhos Relacionados 6 Trabalhos Relacionados Existem vários projetos, tais como DILLEO e ILUMINA, que constroem Bibliotecas Digitais de LOs, mas não integram os repositórios nem os ambientes. Portanto, eles retratam abordagens

Leia mais

Portal Capes www.periodicos.capes.gov.br Universidade Federal do Rio Grande do Sul Pró-Reitoria de Pesquisa Seminário Temático Portal de Periódicos da CAPES Porto Alegre, 25 de maio de 2011 O Portal Capes

Leia mais

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA INTEGRAÇÃO DE APLICAÇÕES APLICADA À EXTRAÇÃO E QUALIFICAÇÃO AUTOMÁTICA DE PUBLICAÇÕES DE PESQUISADORES: UM CASO BASEADO NO CURRÍCULO LATTES 1 APPLICATION INTEGRATION APPLIED TO AUTOMATIC EXTRACTION AND

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Infor LN Guia do usuário para estatísticas

Infor LN Guia do usuário para estatísticas Infor LN Guia do usuário para estatísticas Copyright 2017 Infor Todos os direitos reservados. As marcas e logomarcas definidas aqui são marcas comerciais e/ou marcas comerciais registradas da Infor. Todos

Leia mais

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Definição de Banco de Dados De uma forma genérica, um banco de dados é definido como uma coleção de dados relacionados. Os dados são

Leia mais