EH-Meter Uma Ferramenta para Coleta de Métricas de Tratamento de Exceções

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

Download "EH-Meter Uma Ferramenta para Coleta de Métricas de Tratamento de Exceções"

Transcrição

1 EH-Meter Uma Ferramenta para Coleta de Métricas de Tratamento de Exceções Júlio César Taveira 1, Fernando Castor 2, Sergio Soares 1,2 1 Departamento de Sistemas e Computação Universidade de Pernambuco (UPE) Recife PE Brasil 2 Centro de Informática Universidade Federal de Pernambuco (UFPE) Recife PE Brasil Resumo {jcft2, scbs}@dsc.upe.br, castor@cin.ufpe.br A maioria das ferramentas de coleta de métricas existentes não contemplam linguagens de programação orientadas a aspectos e adicionalmente, implementam métricas genéricas, nem sempre ideais para avaliar atributos de qualidade relativos a interesses específicos do sistema. Este trabalho apresenta uma ferramenta que coleta métricas referentes ao interesse de tratamento de exceções em sistemas escritos nas linguagens Java e AspectJ. A ferramenta proposta foi utilizada na coleta de métricas em vários sistemas escritos nessas duas linguagens. Abstract Most of the existing metrics collection tools do not cover aspect-oriented programming languages. In addition, these tools implement generic metrics, not always appropriate to evaluate quality attributes pertaining to specific system concerns. This work presents a metrics collection tools specifically targeting the exception handling concern and capable of working with both Java and AspectJ programs. The proposed tool was employed to measure a number of software systems written in both languages. 1. Introdução Métricas estáticas de código são amplamente utilizadas para avaliar atributos de qualidade de sistemas de software [Sommerville 2007]. Métricas de código podem fornecer desde informações básicas, como número de linhas de código e de módulos no sistema, até informações mais refinadas como as dependências entre os elementos do sistema e o quão focados esses elementos são [Ceccato e Tonella 2004, Eaddy et al. 2007]. Idealmente, métricas de código devem ser coletadas de maneira automática, a fim de acelerar o processo de medição, evitar os erros inerentes à coleta manual e garantir a uniformidade dos resultados, tornando possível a realização de comparações. Existem diversas ferramentas capazes de coletar métricas estáticas de código a partir de

2 programas escritos em diferentes linguagens de programação. Por exemplo, Metrics 1 e FindBugs 2 coletam diversas métricas a partir de programas escritos em Java. Apesar da crescente popularidade da programação orientada a aspectos (POA) [Kiczales et al. 1997], há poucas ferramentas de coleta de métricas capazes de medir programas escritos em linguagens de POA. Um exemplo de tais ferramentas é o AOPMetrics 3, que coleta métricas de programas em AspectJ [Laddad 2003], uma extensão orientada a aspectos da linguagem Java. Para que POA possa se consolidar como o próximo passo na evolução das linguagens de programação, essa técnica precisa ser avaliada exaustivamente, idealmente tanto qualitativa quanto quantitativamente. Até onde foi possível averiguar, todas as ferramentas de coleta de métricas existentes trabalham com métricas gerais, aplicáveis a todos os interesses (do inglês: concerns) de um sistema. Consequentemente, não é possível avaliar alguns atributos de qualidade no contexto de interesses específicos. Entretanto, alguns autores [Castor et al. 2009, Eaddy et al. 2008, Couto et al., 2009] acreditam que, para avaliar o impacto de novas abordagens de desenvolvimento, como POA, em atributos de qualidade como reuso, métricas focadas em interesses específicos são mais eficazes do que as independentes de interesse. Utilizar apenas métricas que se aplicam ao sistema como um todo, sem levar em conta os interesses que o compõem, pode fazer com que a avaliação de tais abordagens não reflita adequadamente seus benefícios e limitações. Este trabalho propõe uma ferramenta de coleta de métricas que visa preencher parcialmente essa lacuna. A ferramenta proposta, chamada de EH-Meter, é capaz de coletar 11 métricas descritas em diferentes trabalhos na literatura [Eaddy et al. 2007, Sant Anna et al. 2003] a partir de programas escritos em Java ou AspectJ. Dez dessas métricas lidam com um interesse específico, tratamento de exceções. O interesse de tratamento de exceções foi escolhido por dois motivos: (i) é o alvo de vários trabalhos realizados pelos autores no passado; e (ii) é um interesse demarcado sintaticamente no código do programa, o que evita dificuldades ligadas à mineração de interesses [Robillard e Murphy 2002] e permite que o foco se mantenha na atividade de medição. 2. Funcionalidades Nessa seção são descritas as métricas que foram implementadas e maneira como o EH- Meter pode ser utilizado na prática. Métricas Implementadas. O EH-Meter é capaz de colher diversas métricas relativas ao interesse de tratamento de exceções. As métricas escolhidas são divididas em dois grupos: métricas de tamanho e métricas de interesses. O primeiro grupo engloba diversas métricas que visam determinar a quantidade de código em um sistema relativa ao interesse de tratamento de exceções. Para tanto, inclui desde métricas tradicionais, como numero de linhas de código (tanto total quanto especificamente de tratamento de exceções) e outras menos comuns, como números de blocos catch e finally. Essas métricas são apresentadas e descritas na parte superior da tabela Tabela 1. Para as métricas NOT, NOC e NOF, caso o bloco try (catch, finally) apareça dentro de outro bloco catch ou finally (mas não try), ele não é levado em conta. A

3 justificativa para isso é que, para fins de separação de interesses, tal bloco não precisaria ser separado pois não está misturado a outros interesses. O outro grupo de métricas, relativas a separação de interesses, tem o intuito de medir o quanto o código está direcionado aos interesses analisados, que no caso desse trabalho é o tratamento de exceções, e separado do código relativo aos outros interesses do sistema. Essas métricas são também apresentadas na Tabela 1, na parte inferior. As três primeiras delas mostram valores absolutos, para os valores coletados. As duas últimas métricas relativas a interesses contabilizam de forma normalizadas os valores apresentados. Para todas as métricas, um valor menor implica em um resultado melhor. Execução e Resultados da Ferramenta. Do mesmo modo que a ferramenta AopMetrics, a ferramenta EH-Meter também funciona através de tasks do Apache Ant 4. Através de um arquivo de configurações XML é especificado quais serão os programas Java que a ferramenta vai analisar, quais as bibliotecas que devem ser utilizadas como referência, versão da linguagem e o nome do arquivo de saída. Arquivo de saída produzido pela ferramenta é uma planilha eletrônica no padrão do Microsoft Excel. Essa planilha contém, para cada componente do sistema, o valor de cada uma das métricas, descritas na Seção 2.1. Apenas a métrica DOS depende do sistema completo. 3. Implementação O EH-Meter é uma extensão da ferramenta AopMetrics. Para facilitar a implementação do EH-Meter, recursos como os parsers para Java e AspectJ o engenho de coleta de métricas do AopMetrics foram utilizados. Para a maior parte das métricas, foi necessário apenas implementar as classes responsáveis pelas novas métricas. Algumas delas, porém, exigem que a medição seja feita de um modo diferente do que tradicionalmente acontece no AopMetrics, levando em conta o sistema como um todo. Para estes casos, foi necessário modificar o engenho de medição do AopMetrics. Arquitetura e Modificações no Código Original. A arquitetura da ferramenta é simples, dividida em módulos (pacotes) com propósitos bem definidos. No pacote principal se encontram o código responsável por receber entradas do usuário para execução da ferramenta e outros recursos comuns a toda a ferramenta, como o engenho de coleta de métricas. Em outros pacotes, source e ajdt, são encontrados elementos que fazem referência a um projeto Java e AspectJ e transformações necessárias, respectivamente. O pacote metrics contém as classes que implementam as métricas a serem coletadas. A maior parte das alterações aplicadas ao AopMetrics resultaram em novas classes sendo incluídas neste pacote. Os últimos pacotes, export e results, contém o código responsável por exportar os resultados da medição para planilhas em formato XLS e como são as saídas das métricas. A Figura 1 mostra as dependências entre os pacotes do sistema. 4

4 Tabela 1. Resumo das métricas, grupos e respectivas descrições. Group Metric Description Métricas de Tamanho Métricas de Interesse s LOCC NOT NOC NOF LOCEH NEH CDC CDO CDLOC LOF Lines of Common Code: Linhas de código do sistema, excluindo-se comentários e linhas em branco. Number of Try blocks: Número de blocos try. Number of Catch blocks: Número de blocos catch. Number of Finally blocks: Número de blocos finally. Lines of Exception Handling Code: Linhas de código relativo ao o tratamento de exceções. Number of Exception Handlers: Número de blocos de código relativo ao tratamento de exceções. Concern Diffusion over Component [Sant Anna et al 2003]: Conta o número de componentes (classes, aspectos, interfaces) que incluem código de tratamento de exceções. Concern Diffusion over Operation [Sant Anna et al 2003]: Conta o número de operações (métodos, advices) que incluem código de tratamento de exceções. Concern Diffusion over Lines of Code [Sant Anna et al 2003]: Conta o número de pontos de transição para cada interesse através das linhas de códigos. O uso dessa métrica necessita do processo de sombreamento dentro do código, com áreas sombreadas e áreas não-sombreadas. Lack of Focus: Essa é a medição da perda de foco de cada componente, para todos os interesses. O resultado é normalizado entre 0 (completamento focado) e 1 (completamente sem foco). O resultado dessa métrica é obtido a partir do valor da métrica DOF (Degree of Focus) [Eaddy et al. 2007]. LOF = 1 DOF DOS Degree of scattering [Eaddy et al. 2007]: Essa métrica mede a variação de concentração de um interesse por todos os componentes. O resultado é normalizado entre 0 (completamento localizado) e 1 (completamente distribuído). A primeira modificação para dar suporte às novas métricas diz respeito a como é calculado o valor para cada uma. Normalmente, as medições são executadas individualmente para cada componente (classe, interface e aspecto). Assim, cada métrica é executada uma vez para cada componente, retorna o valor resultante e a execução prossegue para o próximo componente, sem um valor intervir no outro. A métrica DOS, porém, é calculada para todos os componentes do sistema. Logo, foi necessário levar em conta os valores relativos a cada componente do sistema para poder fazer o calculo da métrica. Esse comportamento precisou ser incorporado ao engenho de coleta do AopMetrics, já que este é construído partindo da suposição de que todas as métricas podem ser coletadas de forma independente, para cada componente. A segunda modificação diz respeito à listagem de todas as métricas. A classe Metrics contém todas as métricas que devem ser coletadas. Para o EH-Meter, foram adicionadas as novas métricas implementadas e suas respectivas strings de identificação. Ponto comum entre todas as métricas as métricas é a interface MetricsCalculator. Entretanto, essa interface é aplicável apenas para métricas que não precisam ser coletadas globalmente. Logo, a ultima modificação consistiu na criação de uma interface para abranger as métricas que sejam calculadas utilizando dados de todo o sistema. Essa interface foi denominada de MetricsCalculatorGeneral e pode ser usada na implementação de novas métricas com essa característica. Novas Métricas. Para as novas métricas implementadas na maioria dos casos foi extendida a classe ASTVisitor, para detectar ocorrências de trechos de código relativos ao tratamento de exceções. Esses trechos de código na maioria dos casos foram ocorrências de blocos try (catch, finally), declarações de método e blocos de código. Para as métricas de tamanho (mostradas na Tabela 1), os resultados foram são

5 obtidos apenas através da contagem das ocorrências do pedaço de código desejado. Para métricas de interesses, interfaces não foram consideradas por não incluírem comportamento, sendo apenas analisadas classes e aspectos. CDC e CDO foram bem simples, bastando apenas marcar para cada componente e operação, respectivamente, a existência de haver códigos tratadores de exceções. Para LOF (medida utilizando DOF) e DOS, apenas foi necessário utilizar informações de outras métricas e trabalhar corretamente com os valores. A Métrica CDLOC é a que apresenta a implementação mais complexa. Em todos os trabalhos anteriores dos quais temos conhecimento [Castor Filho et al. 2006, Castor et al. 2009, Garcia et al. 2005, Sant'Anna et al. 2003], essa métrica foi coletada manualmente. A Figura 2 mostra um exemplo de como é diferenciado as áreas de transições entre o interesse do tratamento de exceção (fundo amarelo) e o interesse de comportamento normal do sistema (fundo branco). Na implementação, foi necessário detectar e marcar essas áreas, a fim de calcular as transições. Para essa métrica, têm que ser levados em conta diversos casos de transição entre o código referente ao tratamento de exceções e o código relativo ao comportamento normal do sistema. Figura 1. Diagrama de Interação entre pacotes. public static void example() { System.out.println("Starting!"); try{...//código que pode levantar exceção }catch (Exception e){...//código que trata a exceção; } System.out.println("Step 1 end!"); try{...//código que pode levantar exceção }catch (Exception e2){...//código que trata a exceção; } } Figura 2. Exemplo de código com suas transições. 4. Um Estudo de Caso Atualmente, está sendo conduzido um estudo com o objetivo de identificar o efeito da modularização de tratamento de exceções usando POA no reuso do código desse interesse. Neste novo estudo, o EH-Meter é usado em todas as atividades de medição. Foram utilizados três sistemas, em versões Java e AspectJ, com diferentes características. No total, as medições foram aplicadas a nove versões distintas, 3 em AspectJ e 6 em Java. Enquanto a medição manual feita por dois desenvolvedores durou cerca de 16 horas para apenas uma das versões, a ferramenta coletou as informações em menos de um minuto. Além disso, a ferramenta foi empregada diversas vezes para refazer as medições de forma rápida. Adicionalmente, a contagem manual apresentou problemas de uniformidade que não ocorreram com a ferramenta. O emprego de métricas centradas em um interesse ressaltou que POA de fato promove o reuso de tratadores de exceções. Também deixou claro que o código de tratamento de exceções cresce de maneira não desprezível quando extraído para aspectos em um sistema não-trivial. A combinação dessas duas descobertas complementa estudos anteriores [Castor Filho et al. 2006, Lippert e Lopes 2000] sobre POA e tratamento de exceções. Mais informações sobre esse estudo podem ser obtidas em outro trabalho [Taveira et al. 2009].

6 5. Conclusão Neste trabalho foi apresentada a ferramenta EH-Meter, que implementa métricas específicas de tratamento de exceções. Foram descritas as métricas implementadas pela ferramenta, bem como sua arquitetura e as principais escolhas de projeto envolvidas no seu desenvolvimento. O EH-Meter é capaz de coletar métricas tanto a partir de programas escritos em Java quanto de programas em AspectJ. Até onde pudemos averiguar, o EH-Meter é a primeira ferramenta capaz de coletar métricas para um interesse específico de forma completamente automática. No Endereço, a ferramenta EH-Meter está disponível. No mesmo endereço também está disponível o código fonte e também outras informações. A licença do EH-Meter é a GPL. Referências Castor Filho, F. et al. (2006), Exceptions and aspects: The devil is in the details, In: 14th SIGSOFT FSE, pages Castor, F. et al. (2009), On the Modularization and Reuse of Exception Handling with Aspects. Submitted to Software Practice & Experience. Ceccato, M. and Tonella P. (2004), Measuring the Effects of Software Aspectization, In: 1st Workshop on Aspect Reverse Engineering (WARE 2004). Couto, C. F. M. et al. (2009), Estimativa de Métricas de Separação de Interesses em Processos de Refatoração para Extração de Aspectos., In: VI Workshop de Manutenção de Software Moderna, Ouro Preto. p. 1-8 Eaddy, M., Aho, A., Murphy, G. C. (2007), Identifying, Assigning, and Quantifying Crosscutting Concerns, In: Proceedings of the 1 st ACoM Workshop. Eaddy, M. et al. (2008), Do Crosscutting Concerns Cause Defects?, In: IEEE Transactions on Software Engineering (34):July 2008, pp Garcia, A. et al. (2005), Modularizing Design Patterns with Aspects: A Quantitative Study, In: 4th AOSD. Kickzales, G. et al. (1997), Aspect-Oriented Programming, In: 11 th ECOOP. Laddad, R. (2003), AspectJ in Action, 1 st ed., Manning. Lippert, M.;Lopes, C. (2000), A study on exception detection and handling using aspect-oriented programming, In: Proceedings of the 22nd ICSE, pages Robillard, M. P.; Murphy, G. C. (2002), Concern graphs: finding and describing concerns using structural program dependencies, In: Proc. of the 24 th ICSE. Sant'Anna, C. et al. (2003), On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework, In: XVII SBES, Manaus, Brazil. Sommerville, I. (2007), Software Engineering, 8 th ed., Addison-Wesley. Taveira, J. C. et al. (2009) Assessing Intra-Application Exception Handling Reuse with Aspects. Submitted to SBES'2009.

Estimativa de Métricas de Separação de Interesses em Processos de Refatoração para Extração de Aspectos

Estimativa de Métricas de Separação de Interesses em Processos de Refatoração para Extração de Aspectos Estimativa de Métricas de Separação de Interesses em Processos de Refatoração para Extração de Aspectos César Francisco de Moura Couto 1, Jaqueline Faria de Oliveira 2, Marco Tulio Valente 2 1 Departamento

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 2015.2 Programação Orientada a Aspectos com AspectJ nos frameworks Java atuais PROPOSTA DE TRABALHO DE GRADUAÇÃO

Leia mais

9 Conclusão e trabalhos futuros

9 Conclusão e trabalhos futuros 255 9 Conclusão e trabalhos futuros O aumento da complexidade das aplicações de software de hoje em dia e o advento de tecnologias inovadoras e recentes fazem com que os sistemas de software incorporem

Leia mais

3 Estado da Arte e Trabalhos Relacionados

3 Estado da Arte e Trabalhos Relacionados 29 3 Estado da Arte e Trabalhos Relacionados Neste capítulo resumimos alguns trabalhos existentes na literatura que se relacionam à abordagem de avaliação proposta nesta dissertação. O objetivo de todo

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas

Leia mais

By Gian Ricardo Berkenbrock & Eduardo Dockhorn da Costa

By Gian Ricardo Berkenbrock & Eduardo Dockhorn da Costa By Gian Ricardo Berkenbrock & Eduardo Dockhorn da Costa Problema; AOP; Aspect J; Proposta ao Problema; Conclusões; Referências. Desenvolver os tipos abstratos de dados: lista, fila, pilha e deque. Estes

Leia mais

18/10/2013. Resumo. Os mecanismos. Introdução. Padrões de projeto (OO) Compilação condicional

18/10/2013. Resumo. Os mecanismos. Introdução. Padrões de projeto (OO) Compilação condicional On the Use of Feature-Oriented Programming for Evolving Software Product Lines A Comparative Study Gabriel Coutinho Sousa Ferreira, Felipe Nunes Gaia, Eduardo Figueiredo and Marcelo de Almeida Maia {gabriel,

Leia mais

Extração de Aspectos. PUC Minas Instituto de Informática. Mestrado em Informática. Aluno: Marcelo Nassau Malta

Extração de Aspectos. PUC Minas Instituto de Informática. Mestrado em Informática. Aluno: Marcelo Nassau Malta Transformações de Código C para Extração de Aspectos PUC Minas Instituto de Informática Mestrado em Informática Aluno: Marcelo Nassau Malta Orientador: Prof. Marco Túlio de Oliveira Valente Sumário Motivação

Leia mais

Metamodelo para Integração de Ferramentas de Mineração de Interesses Transversais e de Visualização de Software

Metamodelo para Integração de Ferramentas de Mineração de Interesses Transversais e de Visualização de Software Metamodelo para Integração de Ferramentas de Mineração de Interesses Transversais e de Visualização de Software Oscar José Fernandes Tanner 1, Rosângela Aparecida Dellosso Penteado 1, Matheus Carvalho

Leia mais

5 Trabalhos Relacionados

5 Trabalhos Relacionados 5 Trabalhos Relacionados Este capítulo busca apresentar os trabalhos diretamente relacionados com a presente dissertação e as subseções seguintes apresentam os trabalhos focados em ferramentas (Seção 5.1)

Leia mais

4 O Framework de Avaliação

4 O Framework de Avaliação 4 O Framework de Avaliação O propósito central do uso de aspectos é melhorar a separação de concerns. Entretanto a orientação a aspectos pode afetar também outros atributos de software, tais como acoplamento,

Leia mais

Composição e Geração de Aplicações usando Aspectos

Composição e Geração de Aplicações usando Aspectos Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Rosana Teresinha Vaccare Braga 1 1 Programa de Mestrado em Ciências de Computação e Matemática Computacional

Leia mais

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1 Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/2013 - v0.1 Orientação a objetos Classe Métodos Visibilidade Tipo de retorno Tipo dos parâmetros Atributos Tipo Visibilidade

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

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

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA ANALISANDO A EVOLUÇÃO DAS MÉTRICAS DE MANUTENIBILIDADE DE UM SISTEMA DE SOFTWARE DE INTEGRAÇÃO: MULESOFT 1 ANALYZING THE EVOLUTION OF MANUTENIBILITY MEASURES FROM A SOFTWARE INTEGRATION SYSTEM: MULESOFT

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

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

Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos

Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos Eduardo Magno Lages Figueiredo Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título

Leia mais

Manipulação de excecões e manipulação de eventos

Manipulação de excecões e manipulação de eventos Manipulação de excecões e manipulação de eventos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze kelebelloze@gmail.com

Leia mais

JaTS. Java TransformationSystem. Parte 1 27/03/2008. Diêgo Santiago, Leila Soriano e Patrícia Lustosa

JaTS. Java TransformationSystem. Parte 1 27/03/2008. Diêgo Santiago, Leila Soriano e Patrícia Lustosa JaTS Java TransformationSystem Parte 1 27/03/2008 Diêgo Santiago, Leila Soriano e Patrícia Lustosa Sistema -JaTS 2 Ferramenta e linguagem de transformação de código Java Permite geração e transformação

Leia mais

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação

Leia mais

2. Trabalhos Relacionados

2. Trabalhos Relacionados 19 acase: Ambiente para Modelagem, Geração de Código e Engenharia Reversa de Software Orientado a Aspectos Thiago Silva-de-Souza¹, ², Wallace Santos Vialle Rettich², Danilo Ferreira Leite², Diego Cardozo

Leia mais

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001 PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018 Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

Seminário de aspectos: conceitos, características e exemplos

Seminário de aspectos: conceitos, características e exemplos Seminário de aspectos: conceitos, características e exemplos Daniel Bruno Conrado Thiago Gottardi Departamento de Computação Universidade Federal de São Carlos (UFSCar) São Carlos SP Brasil dbconrado@gmail.com,

Leia mais

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software.

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software. Engenharia de Software Aula 19 Disciplina 2012-2 Medições e Qualidade de Software Medição e Qualidade de Software Terças e quintas: 9:25 as 11:05 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com

Leia mais

UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO

UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO Anderson Carlos Lopes 1, Luiz Fernando Braga Lopes 1 Universidade Paranaense (UNIPAR) Paranavaí - PR Brasil andersoncarloslopes@hotmail.com,

Leia mais

Identifying thresholds for object-oriented software metrics

Identifying thresholds for object-oriented software metrics Identifying thresholds for object-oriented software metrics Kecia A.M. Ferreira 1 Mariza A.S. Bigonha 1 Roberto S. Bigonha 1 Luiz F.O. Mendes 1 Heitor C. Almeida 1 1 Dept. Computer Science, Federal University

Leia mais

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo. Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes

Leia mais

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Qualificação de Mestrado Instituto de Matemática

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

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVOS Compreender o processo de gerenciamento de qualidade e as principais atividades do processo de garantia, planejamento e controle

Leia mais

Medidas de Esforço de Desenvolvimento de Software

Medidas de Esforço de Desenvolvimento de Software Medidas de Esforço de Desenvolvimento de Software Unidade 1 Fundamentos de Métricas e Medidas Luiz Leão luizleao@gmail.com http://www.luizleao.com Unidade 1 Fundamentos de métricas e medidas Introduçã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

Mineração de Aspectos: Conceitos, Métodos e Ferramentas

Mineração de Aspectos: Conceitos, Métodos e Ferramentas Mineração de Aspectos: Conceitos, Métodos e Ferramentas Leandro Maciel Almeida, Thereza Patrícia Pereira Padilha Laboratório de Inteligência Computacional Centro Universitário Luterano de Palmas Caixa

Leia mais

6 A Ferramenta de Medição e Avaliação

6 A Ferramenta de Medição e Avaliação 77 6 A Ferramenta de Medição e Avaliação Neste capítulo é apresentada a ferramenta AJATO, acrônimo para Ferramenta de Avaliação AspectJ 11. Esta ferramenta permite medir e avaliar sistemas implementados

Leia mais

10/10/2012. Artigo: Autores:

10/10/2012. Artigo: Autores: Artigo: Apresentar um estudo sistemático sobre as métricas de acoplamento na Programação Orientada a Aspectos e seu impacto na manutenibilidade e estabilidade do projeto. Autores: Rachel Burrows, Alessandro

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 19 http://www.ic.uff.br/~bianca/engsoft2/ Aula 19-28/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de Graduação

Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de Graduação UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2017.1 Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014 Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

The Adaptive Pipeline Aspect Pattern

The Adaptive Pipeline Aspect Pattern MAC5715 - Tópicos Avançados em POO Professor: Fábio Kon The Adaptive Pipeline Aspect Pattern Raoni Kulesza e Eduardo Oliveira de Souza 20 de setembro de 2006 1. Objetivos O padrão Adaptive Pipeline Aspect

Leia mais

Reuso de Software Aula Maio 2012

Reuso 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 mais

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

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

Leia mais

!!!!! " #!!!! $ +!!!!!! *!! * -! %!! - %.! % - "!! ) $ $ / - %!!0$ 1 - '& 2( - *! * *!0$ - '&.( - *! #

!!!!!  #!!!! $ +!!!!!! *!! * -! %!! - %.! % - !! ) $ $ / - %!!0$ 1 - '& 2( - *! * *!0$ - '&.( - *! # " # $ $ % # & '( ) # * + * $ *, * - % - %. % - " ) $ $ / - % 0$ 1 - '& 2( - * * * 0$ - '&.( - * # 2 1 3 4 5 6 * 7 8 5 / # 7 4 9 &* 5 * # % * ) 7 &* : ; 5 - * < # - 7 4 = 6 5 # * - ) )- 3 $ 1 > 5 = 5 %

Leia mais

Apresentaçã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: 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 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

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes. DCC / ICEx / UFMG Técnicas de Reutilização Reutilização em Programação Orientada a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reuso de classes Bibliotecas Frameworks Considere três classes

Leia mais

6 Workshop do Projeto ATIFS INPE

6 Workshop do Projeto ATIFS INPE 6 Workshop do Projeto ATIFS INPE Doutoranda: Regina Lúcia de Oliveira Moraes Orientadora: Profa. Dra. Eliane Martins Estratégia para Testes de Componentes utilizando Injeção de Falhas 1 Índice Injeção

Leia mais

Métricas para análise de complexidade de programas orientados a objetos

Métricas para análise de complexidade de programas orientados a objetos Métricas para análise de complexidade de programas orientados a objetos Autor: João Marcelo Moraes Fernandes * Professor Orientador: Dra. Laís do Nascimento Salvador ** Resumo No contexto da Engenharia

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

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

UML. Modelando um sistema

UML. Modelando um sistema UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema

Leia mais

Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos

Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos Uma Abordagem Quantitativa para Desenvolvimento de Software Orientado a Aspectos Eduardo Figueiredo 1, 2,, Carlos Lucena 1, Alessandro Garcia 2 1 Departamento de Informática, PUC-Rio, Brasil 2 Computing

Leia mais

Combinação e Aplicação de Técnicas para o Desenvolvimento de Software Orientado a Aspectos

Combinação e Aplicação de Técnicas para o Desenvolvimento de Software Orientado a Aspectos Combinação e Aplicação de Técnicas para o Desenvolvimento de Software Orientado a Aspectos Gabriel Costa Silva, Munif Gebara Junior, Daniela Eloise Flor Curso de Sistemas de Informação, Universidade Paranaense

Leia mais

10 Lições Aprendidas ao Desenvolver um Estudo na Indústria

10 Lições Aprendidas ao Desenvolver um Estudo na Indústria 10 Lições Aprendidas ao Desenvolver um Estudo na Indústria Manuele Ferreira OPUS Research Group LES PUC-Rio {manueleferreira}@inf.puc-rio.br LES DI PUC-Rio - Brazil OPUS Group Método Pesquisa-ação Solução

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Uma 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 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

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

Arquitetura de Referência para Projeto Detalhado de Frameworks Transversais de Persistência

Arquitetura de Referência para Projeto Detalhado de Frameworks Transversais de Persistência Arquitetura de Referência para Projeto Detalhado de Frameworks Transversais de Persistência Aluno: Rogério Lazanha 1 Orientador: Valter Vieira de Camargo 2 ¹Centro Universitário Eurípedes Soares da Rocha

Leia mais

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é: Questões de Propósito, Tipo e Fronteira 1. Um dos objetivos da Análise de Pontos de Função é: Simulado para CFPS a) Ajudar no processo de depuração de um software. b) Estimar o tamanho de uma equipe de

Leia mais

Um Estudo Quantitativo das Implementações Orientadas a Aspectos do Padrão Data Access Object

Um Estudo Quantitativo das Implementações Orientadas a Aspectos do Padrão Data Access Object Um Estudo Quantitativo das Implementações Orientadas a Aspectos do Padrão Data Access Object André L. de Oliveira 1, André L. A. Menolli 2, Ricardo G. Coelho 2, Valter V. de Camargo 3, Ricardo A. Ramos

Leia mais

ENGENHARIA DE SOFTWARE MEDIÇÃO E QUALIDADE DE SW

ENGENHARIA DE SOFTWARE MEDIÇÃO E QUALIDADE DE SW ENGENHARIA DE SOFTWARE MEDIÇÃO E QUALIDADE DE SW How do Programmers learn AOP? Péricles Alves, Alcemir Santos, Eduardo Figueiredo e Fabiano Ferrari Aluno: Adriano Lages dos Santos Toda descoberta da ciência

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA 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

Leia mais

Estudo de Visualizações da Evolução de Códigos Fonte de Software

Estudo de Visualizações da Evolução de Códigos Fonte de Software Estudo de Visualizações da Evolução de Códigos Fonte de Software Marcello Henrique Dias de MOURA Hugo Alexandre Dantas do NASCIMENTO Instituto de Informática Universidade Federal de Goiás Goiânia, Goiás,

Leia mais

Tipos para uma Linguagem de Transformação

Tipos 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 mais

Aspect Oriented Programming (AOP) Uma visão geral da programação orientada a aspectos. Usando AspectJ

Aspect Oriented Programming (AOP) Uma visão geral da programação orientada a aspectos. Usando AspectJ Aspect Oriented Programming (AOP) Uma visão geral da programação orientada a aspectos. Usando AspectJ Objetivos O objetivo dessa apresentação é proporcionar uma visão geral sobre a programação orientada

Leia mais

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:

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

Metodologia Simplified. António Rocha

Metodologia Simplified. António Rocha Metodologia Simplified António Rocha - 2003 Metodologias As empresas precisam de uma metodologia simples e eficaz para realizarem o seu primeiro projecto OO Uma metodologia tem mais probabilidades de ser

Leia mais

RAFAEL HENRIQUE DE MORAES AUGUSTO

RAFAEL HENRIQUE DE MORAES AUGUSTO FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO RAFAEL HENRIQUE DE MORAES AUGUSTO UMA COMPARAÇÃO ENTRE APLICAÇÕES ORIENTADAS

Leia mais

Rational Unified Process (RUP)

Rational 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 mais

CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER

CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 16 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar, discutir o conceito de métricas de software. DESENVOLVIMENTO Métricas

Leia mais

Metrics for Evaluation of Aspect-Oriented Middleware

Metrics for Evaluation of Aspect-Oriented Middleware 2009 XXIII Brazilian Symposium on Software Engineering Metrics for Evaluation of Aspect-Oriented Middleware Tássia A. V. Freitas, Thaís V. Batista, Flávia C. Delicato, Paulo F. Pires Departamento de Informática

Leia mais

6 Mecanismo de Tratamento de Exceções Sensível ao Contexto

6 Mecanismo de Tratamento de Exceções Sensível ao Contexto 6 Mecanismo de Tratamento de Exceções Sensível ao Contexto Este capítulo apresenta a proposta de nosso mecanismo de tratamento de exceções sensível ao contexto. Tal mecanismo foi desenvolvido de acordo

Leia mais

MetricMiner: uma ferramenta web de apoio à mineração de

MetricMiner: uma ferramenta web de apoio à mineração de MetricMiner: uma ferramenta web de apoio à mineração de repositórios de software Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Instituto de Matemática e Estatística Universidade

Leia mais

3 Ferramenta Proposta 3.1. Objetivos

3 Ferramenta Proposta 3.1. Objetivos 3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

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

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008 Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet Kleber Taffarel Novembro de 2008 klebertaffarel@yahoo.com.br Palestrante Especialista em Engenharia de Websites pela

Leia mais

SDiff: Uma ferramenta para comparação de documentos com base nas suas estruturas sintáticas

SDiff: Uma ferramenta para comparação de documentos com base nas suas estruturas sintáticas Thiago Pinheiro de Araújo SDiff: Uma ferramenta para comparação de documentos com base nas suas estruturas sintáticas Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

Um Perfil UML para Frameworks Transversais

Um Perfil UML para Frameworks Transversais Um Perfil UML para Frameworks Transversais Aluno: José Uetanabara Júnior 1 Orientador: Valter Vieira de Camargo 2 ¹Instituto de Informática Univem Centro Universitário Eurípides de Marília Marília, São

Leia mais

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos 5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos Este capítulo apresenta a ferramenta desenvolvida para apoiar a aplicação, em diagramas de classes, de mecanismos de análise da qualidade

Leia mais

26 a 29 de novembro de 2013 Campus de Palmas

26 a 29 de novembro de 2013 Campus de Palmas Um Sistema para o Gerenciamento de Documentos e Processos das Coordenações de Curso Nome dos autores: Francisco Glaubos Nunes Clímaco 1 ; Marcelo Leineker Costaor 2 1 Aluno do Curso de Ciência da Computação;

Leia mais

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

4 ALBATROZ : Um ambiente para desenvolvimento de SMA 41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.

Leia mais

3.1 Reflexão Computacional

3.1 Reflexão Computacional 3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente

Leia mais

Uma ferramenta para expansão do vocabulário com base em coocorrência

Uma ferramenta para expansão do vocabulário com base em coocorrência Resumos Expandidos: XI Mostra de Estagiários e Bolsistas... 11 Uma ferramenta para expansão do vocabulário com base em coocorrência Exupério Lédo Silva Júnior 1 Roberta Akemi Sinoara 2 Solange Oliveira

Leia mais

Ambientes de Desenvolvimento Avançados

Ambientes de Desenvolvimento Avançados Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav Aula 1 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 Aula de Apresentação e de Introdução 2 1

Leia mais

2 Desenvolvimento de Software Orientado a Aspectos

2 Desenvolvimento de Software Orientado a Aspectos 20 2 Desenvolvimento de Software Orientado a Aspectos A divisão em partes é um importante instrumento para se reduzir a complexidade de sistemas de software. É muito difícil para o ser humano compreender

Leia mais

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos

Leia mais