Desenvolvimento de Software para Sistemas Multiagentes
|
|
- Otávio Borges de Barros
- 6 Há anos
- Visualizações:
Transcrição
1 Desenvolvimento de Software para Sistemas Multiagentes Hyggo Oliveira de Almeida 1, Evandro Costa 2, Angelo Perkusich 1 1 Departamento de Engenharia Elétrica Universidade Federal de Campina Grande Av. Aprigio Veloso, 882, Bodocongó Campina Grande, PB, Brasil 2 Departamento de Tecnologia da Informação Universidade Federal de Alagoas {hyggo,perkusic}@dee.ufcg.edu.br, evandro@tci.ufal.br Abstract. A abordagem multiagentes tem sido apontada como adequada para o desenvolvimento de sistemas de software complexos. Investimentos em Engenharia de Software para dar suporte à utilização desta abordagem em larga escala têm sido realizados. Porém, nestes trabalhos não são levadas em conta características como dinamicidade do sistema e flexibilidade da solução. Neste trabalho, apresenta-se uma infra-estrutura de engenharia para o desenvolvimento de software utilizando a abordagem multiagentes denominada COMPOR. Trata-se de um conjunto de diretrizes e ferramentas para o desenvolvimento de software com foco na obtenção de flexibilidade e adaptabilidade da solução. Além disso, um estudo de casos no domínio de empresas virtuais é apresentado. Resumo. Many researchers have been claimed that the multiagent approach is suitable for the development of complex software systems. Many works have been proposed to apply the multiagent approach on large scale software development. However, the dynamic feature of the system and the flexibility and adaptability of the solution have not been considered. This work presents an engineering infrastructure for software development through a multiagent approach, named COMPOR. This infrastructure represents a set of guidelines and tools to develop software for complex, open and dynamic systems. In order to illustrate its usefulness, the development of a complex virtual enterprise application is presented. 1. Introdução: problemática, objetivo e contribuições Muitos pesquisadores têm apontado a abordagem multiagentes como adequada ao desenvolvimento de sistemas de software complexos [Jennings 2001, Zambonelli et al. 2003]. De acordo com esta abordagem, um sistema de software deve ser visto como uma organização de agentes autônomos como abstração para gerenciar a sua complexidade. Neste contexto, a Engenharia de Software baseada em Agentes [Jennings 2001] tem como objetivo disponibilizar metodologias, ferramentas e infra-estruturas gerenciáveis para permitir o desenvolvimento de sistemas multiagentes em larga escala. Contudo, em se tratando de software, os requisitos definidos em primeira instância de análise tendem a ser refinados ou alterados com a iteração do ciclo de desenvolvimento. Em relação à abstração multiagentes, isto se reflete na alteração dos relacionamentos dos Mestre pelo Departamento de Sistemas e Computação, Universidade Federal de Campina Grande (Suportado pela CAPES). O segundo e o terceiro autores foram orientadores do trabalho. XVIII CTD 80
2 agentes e na entrada ou saída de agentes no sistema. Muitos investimentos em Engenharia de Software para prover ferramentas e metodologias para a utilização da abordagem multiagentes em larga escala têm sido realizados. Porém, na maioria destes trabalhos, o impacto da alteração ou refinamento dos requisitos sobre o software não é levado em conta. Sendo assim, os relacionamentos entre os agentes do sistema não se alteram e novos agentes não podem passar a fazer parte do sistema ou, quando tais características são providas, isto não é refletido para as fases de projeto e implementação do software. Em resumo, o desenvolvimento do software não reflete a realidade de cenários evolutivos, cada vez mais presentes no contexto de engenharia de software. Neste trabalho tem-se como objetivo disponibilizar uma infra-estrutura de engenharia, denominada COMPOR, para o desenvolvimento de software para sistemas complexos, abertos e dinâmicos, através de uma abordagem multiagentes. Trata-se de um conjunto de diretrizes e ferramentas para o desenvolvimento de software com foco na obtenção de flexibilidade e adaptabilidade. Estas diretrizes devem guiar o desenvolvedor desde a análise do problema até a implementação do software, com o auxílio das ferramentas computacionais desenvolvidas no contexto do COMPOR. A integração das diretrizes com as ferramentas também representa uma contribuição relevante em relação aos diversos trabalhos relacionados, detalhados em [Almeida 2004], que focalizam apenas alguns aspectos específicos do desenvolvimento de software para sistemas multiagentes. Mais especificamente, pode-se dividir este objetivo principal nos seguintes objetivos específicos, os quais constituem as contribuições deste trabalho e que são apresentados nas próximas seções do artigo: 1. Disponibilização de um conjunto de diretrizes de análise, projeto, implementação e testes para o desenvolvimento de software para sistemas multiagentes, levandose em conta as características de dinamicidade destes sistemas, decorrente da alteração nos seus requisitos. 2. Disponibilização de um modelo de componentes para estabelecer regras sobre a composição de funcionalidades dos agentes. O modelo deve permitir a troca de funcionalidades e componentes com o mínimo de impacto sobre o restante do agente, garantindo assim uma maior flexibilidade na solução proposta. 3. Desenvolvimento de um arcabouço baseado em componentes que implemente as especificações do modelo de componentes definido anteriormente. 4. Desenvolvimento de um ambiente integrado para a construção de software para sistemas multiagentes utilizando como base o arcabouço definido anteriormente. O ambiente também deve contemplar ferramentas para monitoramento e execução do software desenvolvido. 5. Desenvolvimento de uma aplicação no contexto de empresas virtuais, enfatizando a utilidade da infra-estrutura definida anteriormente, como um estudo de caso. 2. Diretrizes metodológicas - COMPOR-M As diretrizes metodológicas COMPOR-M (Methodology) têm como objetivo reduzir a distância entre análise, projeto e a implementação do software multiagentes. Para tanto, são contempladas quatro fases clássicas do desenvolvimento de software: análise, projeto, implementação e testes. O desenvolvimento é iterativo/incremental e não está vinculado a nenhum modelo de desenvolvimento. As diretrizes determinam apenas as atividades de cada fase, com transições seguindo a seqüência clássica de desenvolvimento de software. XVIII CTD 81
3 Fase de Análise: as diretrizes de análise são baseadas na análise de domínio MATHEMA [Costa et al. 1998]. Suas diretrizes foram generalizadas para englobar os diversos domínios de aplicação de sistemas multiagentes. Em síntese, as diretrizes de análise guiam o desenvolvedor na análise do domínio do problema, particionado em contextos, em busca das habilidades necessárias para a resolução do problema. As habilidades, suas dependências e os contextos a que pertencem são descritas através de um Diagrama de Habilidades [Almeida 2004]. Fase de Projeto: uma vez identificadas as habilidades necessárias em cada contexto para a resolução do problema, pode-se então definir o projeto arquitetural da sociedade de agentes, assim como a arquitetura interna de cada agente. O resultado da aplicação das diretrizes de projeto são representados em um Diagrama de Agentes [Almeida 2004], apresentando uma visão da arquitetura de agentes, e em um Diagrama de Componentes [Almeida 2004], com o projeto interno de cada agente. Fase de Implementação: na fase de implementação, assim como acontece no Desenvolvimento Baseado em Componentes, os componentes identificados na fase de projeto, caso não existam, devem ser implementados. A implementação dos novos componentes deve ser feita com base no modelo de componentes descrito na Seção 3.. Após a implementação de todos os componentes definidos na fase de projeto, o componente Planejador de cada agente é definido. O Planejador é um script de execução de cada agente que coordenará as suas funcionalidades e suas ações em relação à sociedade. Fase de Testes: o investimento na fase de testes vem se tornando indispensável no desenvolvimento de software. Como visto anteriormente, as funcionalidades dos agentes são providas pelos componentes e, sendo assim, testes em cada um dos componentes tornamse independentes dos testes dos agentes e da sociedade como um todo. As diretrizes englobam os testes de serviços, testes de dependências dos componentes de um agente e testes de dependências entre os agentes da sociedade. 3. Modelo de componentes - COMPOR-CM Embora o modelo COMPOR-CM (Component Model) [Costa et al. 2003] tenha sido criado para dar suporte à arquitetura de agentes COMPOR, também é aplicável a outros tipos de sistemas. O modelo tem base no princípio de que a inexistência de referências explícitas, ou diretas, entre provedores de funcionalidades tem como conseqüência uma maior flexibilidade na inserção, remoção e alteração destes provedores, inclusive em tempo de execução. Sistemas que possuem esta flexibilidade como requisito podem utilizar o modelo COMPOR-CM, ainda que não se utilizem da abordagem de agentes. Dois tipos de entidade são definidas em COMPOR-CM: os contêineres e os componentes funcionais. Os componentes funcionais implementam as funcionalidades do sistema, disponibilizando-as em forma de serviços. Os componentes funcionais não são compostos por outros componentes, ou seja, não possuem componentes-filhos. Os contêineres, por sua vez, não implementam funcionalidades, apenas gerenciam o acesso aos serviços dos seus componentes-filhos. No modelo COMPOR-CM são definidos modelos de especificação e interação entre componentes, assim como um processo de disponibilização de componentes [Almeida 2004]. A seguir, apresenta-se o modelo de interação baseada em serviços. XVIII CTD 82
4 Modelo de interação baseada em serviços: após a inserção de um componente em um determinado contêiner, seus serviços tornam-se disponíveis a qualquer outro componente do sistema. Sendo assim, supondo a existência do serviço salvar implementado pelo componente K, pode-se solicitar a execução deste serviço a partir de um componente X, sem fazer referência a K. Este processo é apresentado na Figura 1, onde pode-se verificar que não há referência alguma entre o componente solicitante do serviço ( X ) e o componente provedor do mesmo ( K ). Desta forma, é possível alterar o componente que provê o serviço salvar sem modificar o restante da estrutura. 3 O Contêiner 2 então encaminha a solicitação ao seu contêiner-pai (Contêiner 1) 2 O Contêiner 2 verifica, de acordo com sua tabela de serviços, que nenhum dos seus componentes-filhos implementa o serviço salvar salvar? Serviço calcular imprimir Componente X Y 4 O Contêiner 1 verifica, de acordo com sua tabela de serviços, que um de seus componentes-filhos implementa o serviço salvar (Contêiner 3). Para o Contêiner 1, o Contêiner 3 é visto como um componente que implementa o serviço. Contêiner 2 Serviço Componente calcular Contêiner 2 imprimir Contêiner 2 salvar Contêiner 3 Contêiner 1 5 O Contêiner 1 então encaminha a solicitação de serviço para o Contêiner 3. Contêiner 3 6 O Contêiner 3 não implementa o serviço mas possui em sua tabela uma referência ao real implementador do serviço - componente K. Serviço Componente salvar K 1 O componente X solicita a execução do serviço salvar ao seu contêiner-pai X Y K Não há referência entre X e K 7 O Contêiner 3 então encaminha a solicitação de serviço para o componente funcional K, que executa o serviço salvar e retorna o resultado da execução. Figura 1. Interação baseada em serviços: localização e execução sem referência entre componentes funcionais 4. Arcabouço baseado em componentes - COMPOR-F O arcabouço COMPOR-F (Framework) [Almeida et al. 2004] implementa as especificações do modelo de componentes COMPOR-CM. COMPOR-F tem seu projeto baseado no padrão Composite [Gamma et al. 1995]. As classes FunctionalComponent e Container são instanciadas, respectivamente, em componentes funcionais e contêineres, os quais são conceitualizados no modelo COMPOR-CM. A interface ComponentIF garante a composição recursiva, permitindo que os contêineres desconheçam a implementação dos seus componentes-filhos, que podem ser tanto componentes funcionais como outros contêineres. A implementação da arquitetura de agentes é então definida como uma extensão das classes Container e FuncionalComponent. A classe Agent estende a classe Container gerenciando o acesso a seus componentes filhos e permitindo a troca de componentes em tempo de execução. Os modelos de classe da arquitetura de componentes e agentes são detalhados em [Almeida 2004]. 5. Ambiente de desenvolvimento - COMPOR-E Para automatizar o processo de desenvolvimento e tornar mais eficiente a utilização do arcabouço COMPOR-F, um ambiente integrado para o desenvolvimento de sistemas mul- XVIII CTD 83
5 tiagentes foi construído. O ambiente COMPOR-E (Environment) [Almeida et al. 2003] possui um conjunto de ferramentas para auxiliar o desenvolvedor nas diversas fases de concepção de um software utilizando a abordagem multiagentes (Ver Figura 2). Para isso, o ambiente se baseia nas diretrizes definidas na Seção 2., dando suporte às fases de análise, projeto, implementação, testes e gerência de execução [Almeida 2004]. Figura 2. Ambiente de desenvolvimento 6. Estudo de caso - Empresa virtual Para ilustrar a aplicabilidade da infra-estrutura de Engenharia de Software proposta neste trabalho, apresenta-se a utilização do COMPOR no desenvolvimento de um sistema de empresa virtual. Por restrições de espaço, a descrição do sistema e seu desenvolvimento usando a infra-estrutura COMPOR foram omitidos deste artigo, sendo detalhados em [Almeida 2004]. 7. Considerações finais Este trabalho constituiu-se em uma investigação sobre o tema Engenharia de Software para Sistemas Multiagentes, tendo como ponto de partida resultados obtidos no mencionado ambiente MATHEMA. Nesta perspectiva, foi proposta uma infra-estrutura de engenharia para o desenvolvimento de sistemas de software complexos. Os objetivos descritos foram alcançados tendo como contribuições principais as diretrizes, modelo de componentes, arcabouço e ambiente de desenvolvimento apresentados. Estas contribuições foram publicadas separadamente em congressos nacionais e internacionais, assim como a infra-estrutura como um todo, publicada em revista. Esta dissertação foi apresentada, a convite, no Workshop de Teses e Dissertações (WTES/SBES 2003) como um dos três melhores trabalhos do evento. As referências e demais detalhes sobre o trabalho podem ser encontradas no próprio documento da dissertação, disponível, em versão eletrônica, em hyggo/dissertacao.zip. Além disso, o trabalho deu origem a um projeto de pesquisa, denominado COM- POR. Dentro do contexto deste projeto, seja para utilização, validação ou formalização XVIII CTD 84
6 da infra-estrutura, tem-se: cinco trabalhos de conclusão de graduação (sendo quatro concluídos), três dissertações de mestrado (sendo três concluídos) e uma tese de doutorado, sendo realizada pelo autor deste trabalho. Referências Almeida, H. O. (2004). COMPOR - Desenvolvimento de Software para Sistemas Multi- Agentes. Dissertação de Mestrado, Universidade Federal de Campina Grande, Campina Grande, Brasil. Almeida, H. O., Loureiro, E., Ferreira, G. V., Paes, R. B., Perkusich, A., and Costa, E. B. (2003). Ambiente integrado para o desenvolvimento de sistemas multi-agentes. In Proceedings of Simpósio Brasileiro de Engenharia de Software - Sessão de ferramentas - SBES 2003, volume 17, páginas 55 60, Manaus, Brasil. Almeida, H. O., Perkusich, A., Costa, E. B., and Paes, R. B. (2004). COMPOR: a Methodology, a Component Model, a Component based Framework and Tools to Build Multiagent Systems. CLEI Electronic Journal, 7(1). Costa, E. B., Almeida, H. O., Paes, R. B., and Perkusich, A. (2003). COMPOR: a Component-based Framework for building Multi-agent Systems. In Proceedings of 2nd International Workshop on Software Engineering for Large-Scale Multi-agent Systems - on ICSE Portland - EUA, páginas Costa, E. B., Perkusich, A., and Ferneda, E. (1998). From a Tridimensional view of Domain Knowledge to Multi-agent Tutoring System. In Proceedings of 14th Brazilian Symposium on Artificial Intelligence - Lecture notes on artificial intelligence, LNAI 1515, volume 991, páginas 61 72, Porto Alegre, Brasil. Springer Verlag. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley. Jennings, N. R. (2001). An agent-based approach for building complex software systems. Commun. ACM, 44(4): Zambonelli, F., Jennings, N. R., and Wooldridge, M. (2003). Developing multiagent systems: The Gaia methodology. ACM Trans. Softw. Eng. Methodol., 12(3): XVIII CTD 85
Modelando sistemas Multiagentes Analisando Metodologias
Modelando sistemas Multiagentes Analisando Metodologias Ricardo Almeida Venieris Ricardo.almeida@les.inf.puc-rio.br Modelagem e Implementação OO de Sistemas Multi-Agentes Dissertação apresentada ao Departamento
Leia maisJADEX: 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 maisFerramenta 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 maisUm Arcabouço open source em Python para DBC com
Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal
Leia maisSID - Sistema Interativo Distribuído
SID - Sistema Interativo Distribuído Proposta de projeto Sistemas de Objetos Distribuídos Prof.: Fabio Kon IME/USP Maio 2002 Aluno: OBJETIVOS DESTE DOCUMENTO...1 OBJETIVOS DO PROJETO...1 FUNCIONALIDADES
Leia maisRequisitos para Ferramentas de Gestão de Projetos de Software
Requisitos para Ferramentas de Gestão de Projetos de Software Thiago S. F. Silva 1, Rodolfo F. Resende 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Av. Antônio
Leia maisProf. Esp. Fabiano Taguchi
UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer
Leia maisUma Abordagem para Engenharia de Requisitos no Domínio de Software Embarcado
Uma Abordagem para Engenharia de Requisitos no Domínio de Software Embarcado Milena R. S. Marques, Eliane Siegert, Lisane de Brisolara Ciência da Computação, Grupo de Arquiteturas e Circuitos Integrados,
Leia maisUma Linha de Produto de Software para Módulos de Aprendizagem Interativa
Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Defesa de Mestrado Instituto de Matemática e Estatística - Universidade
Leia maisRoni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,
Leia maisEngenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia
Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento
Leia maisUma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents
SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Agosto Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil Esta comunicação está sendo submetida
Leia maisUma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica
Uma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica Eldânae ogueira Teixeira Orientadora: Claúdia M. L. Werner PESC/COPPE Universidade Federal do Rio de Janeiro Caixa
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisINTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural
Leia maisUNIVERSIDADE 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 maisINSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE
INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMA MODELO DOS PROCESSOS DE SOFTWARE ALUNO SAMUEL BRAGA LOPES SUMÁRIO - AGENDA INTRODUÇÃO MODELO CASCATA
Leia maisProject Builder: Apoio a Gestão de Projetos do Nível G ao C do MPS.BR
Project Builder: Apoio a Gestão de Projetos do Nível G ao C do MPS.BR Bernardo Grassano 1, Analia Irigoyen Ferreiro Ferreira 2, Mariano Montoni 3 1 Project Builder Av. Rio Branco 123, grupo 612, Centro
Leia maisGuia do Processo de Teste Metodologia Celepar
Guia do Processo de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiaprocessoteste.odt Número de páginas: 11 Versão Data Mudanças Autor 1.0 26/12/07 Criação.
Leia maisEscolhendo um Modelo de Ciclo de Vida
Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo
Leia maisTítulo do trabalho: e-sciencenet 2.0: Uma Rede Ponto-a-Ponto Semântica; Nome do aluno: Tadeu Moreira de Classe; Nome do(s) orientador(es): Regina
Título do trabalho: e-sciencenet 2.0: Uma Rede Ponto-a-Ponto Semântica; Nome do aluno: Tadeu Moreira de Classe; Nome do(s) orientador(es): Regina Maria Maciel Braga Villela ; Área de Pesquisa do Mestrado:
Leia maisPrincí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 maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia maisUNIVERSIDADE REGIONAL DE BLUMENAU FERRAMENTA DE GERÊNCIA DE REQUISITOS DE SOFTWARE INTEGRADA COM ENTERPRISE ARCHITECT
UNIVERSIDADE REGIONAL DE BLUMENAU FERRAMENTA DE GERÊNCIA DE REQUISITOS DE SOFTWARE INTEGRADA COM ENTERPRISE ARCHITECT Raphael Marcos Batista Profa. Fabiane Barreto Vavassori Benitti, Drª Eng. Roteiro da
Leia maiscontidos 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 maisArquitetura de software
Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =
Leia maisENGENHARIA 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 Um conjunto estruturado
Leia maisReengenharia de Software
Reengenharia de Software Fernando F. N. Junior 12 1 Faculdade de Ciências Sociais e Aplicadas Campina Grande PB Brasil ²Instituto Federal da Paraíba Campina Grande PB Brasil fernandojr.ifcg@live.com Abstract.
Leia maisCORDIS-FBC: um Ambiente de Desenvolvimento de Software para Cardiologia
CORDIS-FBC: um Ambiente de Desenvolvimento de Software para Cardiologia Karina Villela 1,2, Káthia Oliveira 3, Gleison Santos 1, Fabio Zlot 1, Somulo Mafra 1 Claudio Bomfim 2,Beatriz Salvador,2, Guilherme
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maisProcessos de Software 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 mais1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs
1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas
Leia maisProf. 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 maisProcesso. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)
Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível
Leia maisIntrodução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
Leia maisInGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade
InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade Eduardo Guerra eguerra@ime.usp.br Orientador: Prof. Dr. Alfredo Goldman Proposta de dissertação apresentada ao IME-USP para qualificação
Leia maisO Fluxo de Requisitos
O Fluxo de 1 Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento
Leia maisUML. Rodrigo Leite Durães.
UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não
Leia maisComparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)
Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP) Fundamentos de Engenharia de Software PPGIA Carlos G. Vasco, Marcelo H. Vithoft, Paulo R. Estante Design and programming
Leia maisGerência Flexível de Processos de Software com o Ambiente WebAPSEE 1
Gerência Flexível de Processos de Software com o Ambiente WebAPSEE 1 Adailton Lima, Anderson Costa, Breno França, Carla A. L. Reis, Rodrigo Q. Reis Departamento de Informática - Laboratório de Engenharia
Leia maisMAPAS CONCEITUAIS NA EDUCAÇÃO: PROPONDO UMA NOVA INTERFACE PARA AMBIENTES DE APRENDIZAGEM BASEADOS NA PLATAFORMA MOODLE
1 MAPAS CONCEITUAIS NA EDUCAÇÃO: PROPONDO UMA NOVA INTERFACE PARA AMBIENTES DE APRENDIZAGEM BASEADOS NA PLATAFORMA MOODLE Rio de Janeiro - RJ - 05/2012 Categoria: C Setor Educacional: 5 Classificação das
Leia maisAdriano Medeiros dos Santos. Suporte a Componentes Compostos Para o Middleware SCS. Dissertação de Mestrado
Adriano Medeiros dos Santos Suporte a Componentes Compostos Para o Middleware SCS Dissertação de Mestrado Dissertação apresentada ao Programa de Pós graduação em Informática do Departamento de Informática
Leia maisUm Framework Baseado em Sistemas Multiagentes para Simulação de Estratégias de Investimento no Mercado Financeiro
Um Framework Baseado em Sistemas Multiagentes para Simulação de Estratégias de Investimento no Mercado Financeiro Diêgo Bispo Conceição diego.bispo@gmail.com Orientador CARLOS J. P. LUCENA Agenda Introdução
Leia maisRational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Leia maisModelagem De Sistemas
Modelagem De Sistemas UNIP Tatuapé - SP Aplicações em Linguagem de Programação Prof.Marcelo Nogueira Uma empresa de software de sucesso é aquela que consistentemente produz software de qualidade que vai
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia maisVisão Geral do Trabalho de Pesquisa
Visão Geral do Trabalho de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Etapas do Trabalho de Pesquisa Escolha do
Leia maisIntrodução Introdução
Introdução 13 1 Introdução Sistemas multi-agentes [Jennings and Wooldridge, 1999] [Wooldridge and Ciancarini, 2000] são sociedades com agentes autônomos e heterogêneos que podem trabalhar em conjunto para
Leia maisReunião de boas vindas
Reunião de boas vindas Coordenação Programa de Pós-graduação em Sistemas e Computação Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemáica
Leia maisPDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados
Leia maisMo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language)
Mo#vação Esta disciplina mostra como construir um bom alicerce para desenvolver so9ware orientado pelos objectos Ensina técnicas de análise e desenho para ajudar a produzir so9ware orientado pelos objectos
Leia maisComo Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia maisAs Visões. Visões arquiteturais (revisão)
As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.
Leia mais3 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 maisPADRÕES DE PROJETO: DESIGN PATTERNS
PADRÕES DE PROJETO: DESIGN PATTERNS Jaime William Dias 1, Danilo Venturini 1, William Macxuel Muniz 1, Rodrigo Niehues Chagas 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil danilo_tr98@hotmail.com,
Leia maisTipos para uma Linguagem de Transformação
Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto
Leia maisVisões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual
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 maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisDESENVOLVIMENTO DE UM LABORATÓRIO DIDÁTICO PARA ELETRÔNICA USANDO PLATAFORMA DE INSTRUMENTAÇÃO VIRTUAL COM ACESSO VIA WEB
DESENVOLVIMENTO DE UM LABORATÓRIO DIDÁTICO PARA ELETRÔNICA USANDO PLATAFORMA DE INSTRUMENTAÇÃO VIRTUAL COM ACESSO VIA WEB OBJETIVOS Jéssica Mariella de Carvalho Oliveira (Bolsista) Ricardo Brandão Sampaio/IFAM
Leia maisComunicado 125 Técnico
Comunicado 125 Técnico ISSN 1677-8464 Dezembro, 2016 Campinas, SP Uso de DSL para implementação de regras de autorização em sistemas de informação na arquitetura Java EE Fonte: http://alissonpedrina.blogspot.com.br
Leia maisEngenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Engenharia Reversa e Reengenharia Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Testes Manutenção
Leia maisProcesso Unificado (PU) Unified Process
Processo Unificado (PU) Unified Process 10 de junho de 2011 Adonai Canêz One comment Introdução O Processo Unificado (PU) surgiu para realizar o desenvolvimento de software visando a construção de sistemas
Leia maisIntroduçã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 maisParadigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES
Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
Leia maisAnálise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.
Análise Estruturada Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso com os modelos orientados a objetos Entretanto...
Leia maisCICLO DE VIDA DE SOFTWARE
WESLLEYMOURA@GMAIL.COM CICLO DE VIDA DE SOFTWARE ANÁLISE DE SISTEMAS Introdução ao ciclo de vida de software Qualificar um produto é muito bom para que tenhamos certeza de que há seriedade e preocupação
Leia maisAinda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:
Prof. Edson dos Santos Cordeiro 1 Tópico: Objetivo: Introdução a Ciclo de Vida do Software Conhecer os principais conceitos relacionados a ciclo de vida do software. Bibliog. Base: McCONNEL, Steve. Rapid
Leia maisMANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO
MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO
Leia maisProcessos de Software
Riscos Processos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Muitos problemas no desenvolvimento de software provêm de riscos Seriam problemas potenciais que poderão ocorrer em um futuro próximo
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw
Leia maisQualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa
Qualidade de : Visão Geral SSC 121-Engenharia de 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Qualidade de Qualidade é um termo que pode ter diferentes interpretações Existem muitas definições
Leia maisENGENHARIA 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 mais1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010
1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil
Leia maisEngenharia de Software
Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e
Leia maisResumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.
Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: PROJETOS I Aluno: Cleosvaldo G. Vieira Jr cgvjr@inf.ufsc.br Resumo parcial da Tese de Doutorado Um modelo de Sistema de Gestão do Conhecimento
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisElementos Fundamentais para a Melhoria da Qualidade de Software nas Organizações de TI
Elementos Fundamentais para a Melhoria da Qualidade de Software nas Organizações de TI Ana Cervigni Guerra Eduardo Paulo de Souza Projeto Reconhecido na Categoria Serviços Tecnológicos Brasília, 31 de
Leia mais2
ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina
Leia maisXP EXTREME PROGRAMMING. AGO106 - Gestão
XP EXTREME PROGRAMMING AGO106 - Gestão de Processos de Desenvolvimento de Software DESENVOLVIMENTO TRADICIONAL Sequencial: Análise, Design, Implementação, Teste, Implantação e Manutenção Características:
Leia maisFA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes
FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes Fábio Nicácio de Medeiros, Flávio Mota Medeiros, Arturo Hernández Domínguez Instituto de Computação Universidade Federal de Alagoas
Leia maisCiclo de Vida de Sistemas de Informação
Ciclo de Vida de Sistemas de Informação PROCESSO DE DESEN. DE SIs Todo desenvolvimetno de SI pode ser caracterizado como um ciclo de solução de problema. Definição do Problema Situação atual Desenvolvimento
Leia maisDe Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software
AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura
Leia maisFábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias
Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas
Leia maisRUP 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 maisArquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo
Leia maisObjetos e Componentes Distribuídos: EJB
: EJB 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
Leia maisOrientador Prof. Marcel Hugo
A visualização de consultas de um Sistema de Informação Gerencial em um Sistema de Informação Geográfica avançando a Inteligência de Negócios Rodrigo Alves Orientador Prof. Marcel Hugo 1 Roteiro da Apresentação
Leia maisConteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 3. Especificação e Análise de Requisitos
Leia maisSistemas de Banco de Dados
Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática
Leia maisAtividades de Desenvolvimento. Desenvolvimento de Software. Especificação de Requisitos. Atividades de Desenvolvimento. Especificação de Requisitos
DCC / ICEx / UFMG Desenvolvimento de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Especificação de Requisitos Um sistema de software deve satisfazer as necessidades de seus usuários Tais
Leia maisUnidade 4 Projeto de Banco de Dados
Unidade 4 Projeto de Banco de Dados Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José
Leia mais