Estratégias e Perfis de Programadores Iniciantes na Identificação de Anomalias de Modularidade de Software

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

Download "Estratégias e Perfis de Programadores Iniciantes na Identificação de Anomalias de Modularidade de Software"

Transcrição

1 Estratégias e Perfis de Programadores Iniciantes na Identificação de Anomalias de Modularidade de Software João Marcelo Moraes Fernandes, Glauco de Figueiredo Carneiro Universidade Salvador (UNIFACS), Bahia, Brasil Rua Ponciano de Oliveira, 126 Salvador, BA , Brasil joao.moraes@unifacs.edu.br;gluaco.carneiro@unifacs.br Abstract. The way novice programmers perform software comprehension tasks in multiple view interactive environments (MVIE) is still an open question. The lack of experience can increase the dependency of these environments and it may even hinder its use. For this reason, there is room for empirical studies to characterize behavior profiles and strategies adopted by novice programmers during software comprehension tasks. This paper presents an observational study that aims at characterizing how visual resources can support novice programmers in code smells identification. The results uncover strategies and behavior profiles of novice programmers performing the asked tasks. Resumo. Uma questão de pesquisa ainda a ser investigada é como programadores iniciantes utilizam recursos dos ambientes interativos baseados em múltiplas visões (AIMVs) para a execução de atividades de compreensão de software. O fato de terem pouca experiência pode implicar na maior dependência do apoio ferramental e até dificultar o seu uso. Daí a necessidade de caracterização dos perfis e das estratégias utilizadas por estes programadores durante a execução de atividades de compreensão de software. Este artigo apresenta um estudo observacional com o objetivo de caracterizar como recursos de visualização de software apóiam programadores iniciantes na identificação de anomalias de modularidade de software. Os resultados revelaram estratégias e perfis de comportamento dos programadores iniciantes para a execução das atividades solicitadas. 1 Introdução A identificação de estratégias adotadas por programadores iniciantes na execução de atividades de compreensão de software pode revelar situações nas quais eles enfrentam maior dificuldade e também aquelas nas quais eles têm maior facilidade de atuação. O conhecimento deste cenário pode contribuir para o compartilhamento destas estratégias bem sucedidas e também para envidar esforços na busca de alternativas factíveis em atenuar as dificuldades encontradas. Ainda é reduzido o número de estudos que analisam estratégias utilizadas para a identificação de anomalias de modularidade de software, também conhecidas como bad smells (Fowler, 1999). Um exemplo de estudo nesta direção foi o conduzido por (Carneiro et al., 2010). Entretanto, não foram identificados estudos com foco na estratégia adotada especificamente por

2 programadores iniciantes com o apoio de ambientes integrados baseados em múltiplas visões (AIMVs). Como motivação para o tema deste artigo tem-se que programadores iniciantes podem se beneficiar do conhecimento prévio de estratégias bem sucedidas para identificação e correção de anomalias de modularidade de software em Ambientes Integrados Baseado em Múltiplas Visões (AIMV). Além disso, o conhecimento destas estratégias pode servir de referência para a customização de estruturas visuais integradas aos ADSs de acordo com o perfil do programador e também da atividade a ser executada. Isso pode servir de ponto de partida para a criação de perfis de uso do ADS de acordo com as atividades a serem realizadas combinadas com o nível de experiência do programador. Outra motivação para a identificação das estratégias adotadas por programadores iniciantes é que a partir de um perfil específico pode-se delegar atividades de forma mais adequada no contexto de um determinado projeto de software. Este artigo está organizado da seguinte forma. A seção 2 aborda a compreensão de software na perspectiva dos programadores iniciantes. A seção 3 apresenta o estudo exploratório com o objetivo de identificar as estratégias e os perfis de programadores iniciantes na identificação das anomalias de modularidade de software. A seção 4 apresenta as considerações finais. 2 Compreensão de Software na Perspectiva dos Programadores Iniciantes A compreensão de software consiste na obtenção de conhecimento das funcionalidades, estrutura e comportamento de um sistema de software (Mayrhauser e Vans, 1995). É um requisito fundamental nas atividades de desenvolvimento e manutenção de software (Carneiro, 2011). Para a maioria dos programadores iniciantes, a compreensão de software representa um desafio, pois a sua execução é muitas vezes complexa, árdua e cercada de dificuldades. Isto contribui para que o desempenho de suas atividades seja diferente daquele dos programadores considerados experientes. Uma evidência disto é a diferença significativa de tempo existente para a execução de uma mesma atividade por um programador experiente e por um programador iniciante (Riaz, et al., 2010). Dentre os fatores que podem dificultar a compreensão do software por programadores iniciantes podem ser citados, entre outros, o processo de aprendizagem de programação, a complexidade inerente tanto dos conceitos quanto do paradigma de programação, e a forma como são disponibilizadas as funcionalidades pelos próprios ambientes de desenvolvimento de software (ADSs). Estes últimos ainda precisam melhorar para apoiar de forma efetiva estes programadores. A literatura dispõe de estudos que relatam possibilidades de configuração e enriquecimento dos ADSs para melhor se ajustar aos perfis de tipos de programadores (Carneiro, et al., 2010) (Sillito et al., 2005) (Alwis e Murphy, 2006). Seguindo esta tendência, tem-se que os AIMVs também podem ser configurados e ajustados para melhor apoiar os programadores iniciantes. 3 O Estudo Exploratório Os resultados obtidos no estudo publicado em (Carneiro, Fernandes e Mendonça, 2011) permitiram constatar a viabilidade do AIMV SourceMiner para apoiar os programadores iniciantes na identificação de anomalias de modularidade de software.

3 As questões de pesquisa e as observações apresentadas naquele estudo serviram para o planejamento do estudo relatado neste artigo com o objetivo de caracterizar como programadores iniciantes identificam anomalias de modularidade de software. O objetivo deste estudo seguindo a abordagem GQM (Basili e Rombach, 1988) é analisar o uso do AIMV SourceMiner com o propósito de caracterizá-lo em relação à efetividade das estratégias adotadas para a identificação de anomalias de modularidade de software do ponto de vista dos programadores iniciantes no contexto de atividades de compreensão de software. As seguintes perguntas de pesquisa (PP) foram abordadas. PP1: Quais as principais estratégias adotadas por programadores iniciantes durante a identificação de anomalias de modularidade de software? PP2: Quais os perfis de comportamento dos programadores iniciantes durante a identificação de anomalias de modularidade de software? Quinze estudantes recém-egressos do curso de Tecnologia da Informação do IFBA (campus Dias D'Ávila/BA) foram selecionados como participantes do estudo. Estes estudantes foram considerados como programadores iniciantes. A justificativa para isto foi o fato de não terem qualquer tipo de experiência profissional com programação orientada a objeto nem com atividades de manutenção de software. O protocolo adotado foi adaptado de (Carneiro et al., 2010). Deste estudo foram selecionadas a lista de referência das anomalias de modularidade de software, a aplicação e as atividades solicitadas aos participantes. O local escolhido para a execução das atividades foi o laboratório do Instituto Federal da Bahia - IFBA (campus Dias D'Ávila/BA). O objeto de estudo selecionado foi o aplicativo MobileMedia. A maior versão deste aplicativo tem aproximadamente quatro mil linhas de código e está organizada em 18 pacotes, 50 classes e 200 métodos. A razão da sua escolha foi o fato do seu código fonte estar disponível publicamente e de ter servido de objeto de estudo de outros trabalhos como o realizado por (Carneiro et al., 2010) e também por (Figueiredo et al., 2008) e (Conejero et al., 2009). Foram selecionadas as versões de 3 a 7 do MobileMedia para a execução das atividades. Os quinze estudantes participaram de um tutorial realizado pelo primeiro autor deste artigo em um intervalo de cinco horas. No tutorial foram apresentadas as funcionalidades do SourceMiner, incluindo suas visões e recursos de interatividade. Também no escopo do tutorial foram apresentadas as definições das anomalias de modularidade de software, também conhecidas como code smells, God Class, Feature Envy e Divergent Change. As atividades do estudo foram descritas no questionário de atividades com as seguintes seções (i) descrição resumida das funcionalidades do objeto de estudo; (ii) descrição e exemplo com trechos em código Java das anomalias God Class, Feature Envy; (iii) instruções para registrar as classes e ou métodos afetados pelas duas anomalias de modularidade selecionadas para este estudo, assim como solicitação de registro de data e horário da sua identificação; (iv) solicitação de descrição das estratégias utilizadas incluindo o uso das visões e recursos de interatividade disponibilizados pelo SourceMiner.

4 3.1 Execução do Estudo O tempo disponível para a execução das atividades foi de quatro horas. A distribuição do tempo utilizado por cada participante é apresentada a seguir: PA1 (02:51 h); PA2 (02:59 h); PA3 (01:31 h); PA4 (03:33 h); PA5 (03:10 h); PA6 (04:00 h); PA7 (02:33 h); PA8 (02:52 h); PA9 (01:25 h); PA10 (01:30 h); PA11 (03:09 h); PA12 (02:23 h); PA13 (03:15 h); PA14 (02:00 h); PA15 (02:12 h). Não foi permitido o acesso ao código fonte para a execução das atividades. Todas as respostas foram baseadas nas representações visuais do SourceMiner configuradas e ajustadas por cada participante para a execução das atividades solicitadas. 3.2 Análise dos Resultados As métricas de precisão (p) e cobertura (c) adaptadas de (Moha et al., 2010) foram utilizadas para investigar as perguntas de pesquisa PP1 e PP2. A precisão quantifica a taxa de anomalias de modularidade corretamente identificadas pelo número de anomalias de modularidade detectadas. A cobertura quantifica a taxa de anomalias de modularidade corretamente identificadas pelo número de anomalia de modularidade da lista de referência. A Tabela 1 apresenta os valores médios de p e c para cada participante do estudo. O objetivo do uso de valores médios foi de descrever o desempenho de cada participante na execução das atividades solicitadas para cada anomalia. Os resultados de precisão e cobertura para a identificação do GC são os primeiros a serem analisados na Tabela 1. P9 utilizou o menor tempo disponível (85 minutos) e identificou 100% (c = 1) das ocorrências de GC nas versões de 3 a 7 do MobileMedia. Além disso, suas indicações para GC tiveram precisão de 100% (p = 1), ou seja, todas as suas indicações para esta anomalia foram corretas, P9 utilizou a visão mapa em árvores juntamente com a representação de interesses para a identificação das ocorrências de GC. Analisando-se os recursos verificou-se que todos os participantes deste estudo também utilizaram a visão de mapa em árvores para a identificação de GC. A diferença foi que nem todos tiveram o mesmo bom desempenho que P9. Seguindo a análise da eficiência com base no tempo, esse participante teve o melhor resultado da amostra. Por exemplo, P2 com p = 0,6 e c = 0,3, foi o participante com menor número de anomalias identificadas no estudo, por isto o valor relativamente baixo de c = 0,3. Já P8, com p = 0,5 e c = 0,8, foi o participante com maior número de indicações incorretas de GC, daí o valor de p = 0,5. Esse participante finalizou a atividade em aproximadamente três horas. Sete dos participantes conseguiram detectar pelo menos 80% (c >= 0,8) das ocorrências desta anomalia. Enquanto que para a anomalia FE, somente um dos participantes conseguiu identificar acima de 40% (c >= 0,4) das ocorrências, com uma precisão menor que 40% (p <= 0,4). A média de tempo desses participantes ficou entre duas e três horas para realização da atividade. Através dos registros de log coletados pelo SourceMiner verificou-se que diversas classes, principalmente a classe BaseController, foram identificadas como GC. A razão principal para que os participantes pudessem identificá-las como tal foi o fato de terem valores acima da média de tamanho em número de linhas e do número de interesses por elas implementados. Isto contribuiu para destacar estas classes na visão de mapa em árvores decoradas com interesses. Considerando a média de precisão e cobertura de todos os participantes, verifica-se que a identificação de GC foi a que mais

5 se destacou em relação aos demais. Por outro lado, a identificação da anomalia FE apresentou o pior resultado. O participante P9, por exemplo, não fez nenhuma indicação de candidatos para FE, daí os valores nulos para precisão e cobertura. De acordo com a informação fornecida pelo participante no questionário, ele declarou que não foi possível associar a definição de FE com as visões do SourceMiner. Por este motivo não indiquei nada para FE. Através da Tabela 1 pode-se constatar que apenas o participante P5 conseguiu acertar acima de 50% (c = 0,6) das identificações do FE. Mas obteve p = 0,4, demonstrando que não teve boas indicações para FE. Os participantes P2, P3, P6, P7, P8, P10, P11, P12, P13 e P15 não obtiveram nenhuma representatividade com os seus resultados. Os valores destes participantes variam entre 10% (c >=0,1) e 40% (c <= 0,4), sendo que apenas o participante P8 obteve uma precisão igual a 50% (p = 0,5). Os participantes P1, P4, P9 e P14 tiveram os piores resultados da amostra, ou seja, obtiveram valores nulos para p e c. Com base nestes dados, podem ser apresentadas as seguintes observações. Tabela 1 Precisão e Cobertura por Participante Participante Média de Feature Envy (FE) (V3-V7) Média de God Class (GC) (V3-V7) Média de Divergent Change (DC) (V3-V7) p c p c p c P1 0,1 0,1 0,6 0,4 0,3 0,3 P2 0,4 0,4 0,6 0,3 0,3 0,1 P3 0,1 0,2 0,9 0,9 0,9 0,4 P4 0,1 0,1 0,8 0,5 0,8 0,3 P5 0,4 0,6 0,9 0,8 0,5 0,3 P6 0,3 0,2 0,9 0,8 0,4 0,2 P7 0,2 0,2 1,0 0,7 0,4 0,1 P8 0,5 0,3 0,5 0,8 0,4 0,2 P9 0,0 0,0 1,0 1,0 1,0 0,6 P10 0,2 0,4 0,7 0,7 0,4 0,2 P11 0,3 0,2 0,8 0,6 0,0 0,0 P12 0,2 0,4 0,7 0,5 0,9 0,3 P13 0,2 0,2 0,8 0,7 0,8 0,3 P14 0,0 0,0 0,8 0,8 0,8 0,3 P15 0,4 0,2 0,8 1 0,2 0,0 Observação 1: Os valores de precisão e cobertura indicam que os programadores iniciantes alcançaram melhores resultados na identificação da anomalia de modularidade de software God Class (GC). Observação 2: Os resultados do estudo apresentam evidências de que a visão de mapa em árvores juntamente com a representação de interesses é uma estratégia efetiva para identificação da anomalia God Class pelos programadores iniciantes. Esta visão é efetiva para representar entidades de software que se destacam pelo elevado número de linhas de código e também pelo número de interesses que afetam estas entidades. Observação 3: Os valores de precisão e cobertura indicam que os programadores iniciantes não alcançaram bons resultados na identificação da anomalia de modularidade de software Feature Envy (FE).

6 Os valores médios de precisão e cobertura para DC (p = 0,5 e c = 0,2) indicam que esta anomalia teve melhores resultados na identificação que a FE, mas teve menor desempenho na identificação se comparada a GC. Analisando-se a Tabela 1, verifica-se que o maior valor de cobertura foi c = 0,6. Este valor é consideravelmente menor do que aqueles obtidos para GC. Já para a precisão, o maior resultado foi de p = 1,0. Já para a anomalia DC, os resultados de precisão e cobertura apresentam maior diferenciação. Analisando ainda os resultados da Tabela 1, percebe-se que o participante P11 não fez indicações para a identificação de DC. Os participantes P2, P7 e P15 obtiveram valores baixos de acertos com taxas menores de 20% para cobertura (c < 0,2) e precisão abaixo de 40% (p <= 0,4). O melhor resultado da amostra foi do participante P9 que conseguiu acertar 60% (c = 0,6) das anomalias com 100% (p = 1) de precisão. Importante salientar que este participante também obteve o resultado mais significativo para identificação do GC. Esse participante também foi o que realizou a atividade no menor tempo. Os outros participantes tiveram resultados que variam de 20% (c >= 0,2) a 40% (c < = 0,4), sendo que cinco desses participantes P3, P4, P12, P13 e P14 obtiveram taxas de precisão maiores ou iguais que 80% (p = 0,8). Os outros participantes obtiveram taxas de precisão que não ultrapassaram os 40% (p = 0,4). A partir dos valores obtidos e discutidos de precisão e cobertura podem ser feitas considerações a respeito dos perfis dos participantes do estudo. Para precisão acima de 50% ( ) e cobertura abaixo de 50% ( ) o perfil é conservador (C). Para precisão e cobertura acima de 50% ( ) o perfil é seguro (S). Para precisão e cobertura abaixo de 50% ( ) o perfil é inseguro (I). E, finalmente, para precisão abaixo de 50% ( ) e cobertura acima de 50% ( ) o perfil é otimista (O). A justificativa para estes perfis considerando precisão e cobertura é apresentada a seguir. Para os casos onde o programador obteve c < 0,5 ( ) e p >= 0,5 ( ), pode-se concluir que apesar de ter indicado poucas anomalias, este buscou errar pouco nas suas indicações. Daí o termo conservador. Por outro lado, se o programador obteve valores de c >=0,5 ( ) e p < 0,5 ( ), pode-se concluir que, diferentemente do perfil conservador, este buscou indicar e alcançar na aplicação mais anomalias sem necessariamente se preocupar com possíveis erros nas indicações. Daí o termo otimista. Já os programadores com bons resultados de cobertura (c >= 0,5) ( ) e de precisão (p >= 0,5) ( ) são programadores considerados mais equilibrados. Isto porque estes buscam indicar e alcançar mais anomalias com a preocupação de minimizar os erros nas indicações. Daí o termo seguro. Por último, aqueles programadores que não obtiveram bons resultados de cobertura (c < 0,5) ( ) e de precisão (p < 0,5) ( ) buscaram indicar e alcançar poucas anomalias sem a preocupação de minimizar os erros nas indicações. Daí o termo inseguro. A partir dos resultados registrados na Tabela 1 e considerando os perfis descritos anteriormente, buscou-se classificar o perfil de cada um dos quinze participantes do segundo estudo. Com base nesta classificação, treze dos quinze participantes demonstraram perfil inseguro (I) na identificação da anomalia FE. As estratégias desses participantes oscilaram entre as visões grafo de dependência, visão polimétrica e mapa em árvores. As exceções ficaram por conta dos participantes P5 que demonstrou perfil otimista (O) e de P8 que demonstrou perfil conservador (C). O participante P5 informou ter usado grafo de dependência e P8 informou ter usado grafo de dependência juntamente com mapa em árvores. Já na identificação do GC, treze dos quinze participantes, de P3 até P15, demonstraram perfil seguro (S). Somente dois

7 participantes, P1 e P2, demonstraram perfil conservador (C). Todos os participantes informaram ter usado a visão mapa em árvores para essa anomalia. Na identificação de DC, seis participantes demonstraram perfil conservador (C). Apenas o participante P9 demonstrou perfil seguro (S) na identificação de DC. Para essa anomalia a maioria dos participantes informou ter usado interesses juntamente com mapa em árvores. Com base nestes dados, podem ser apresentadas as seguintes observações. Observação 4: este estudo forneceu evidências iniciais de que os programadores iniciantes assumiram perfil inseguro (I) para identificar a anomalia Feature Envy. Já para a identificação de God Class apresentaram perfil seguro (S). No caso da anomalia Divergent Change não houve uma predominância significativa de perfil que pudesse caracterizá-lo como representativo para a execução da atividade solicitada. Observação 5: foram obtidas evidências iniciais de que os programadores iniciantes podem assumir diferentes perfis a depender da atividade. Por exemplo, o participante P9 apresentou um perfil inseguro (I) para identificação do FE, mas apresentou perfil seguro(s) para identificar as anomalias GC e DC. 3.3 Ameaças à Validade do Estudo As ameaças potenciais que podem ter afetado a validade deste estudo exploratório são apresentadas a seguir acompanhadas das respectivas justificativas. A primeira delas é relacionada ao número de participantes que pode ser considerado baixo e com a mesma formação. O fato de terem a mesma formação pode indicar que o conhecimento dos conceitos e as experiências podem ser parecidos. Com isso pode existir uma homogeneidade dos resultados. A literatura relata estudos realizados com quantidade de participantes na mesma ordem de grandeza do conduzido neste trabalho (Alwis e Murphy, 2006) (Sillito et al, 2005). Esta quantidade de participantes não tem o objetivo de testar a causalidades das hipóteses através de estatística inferencial obtendo dados quantitativos concretos para análise. A segunda ameaça está relacionada ao conhecimento em orientação a objetos que os programadores iniciantes deveriam ter. Estas informações foram constatadas por meio de formulário elaborado para tal finalidade. A terceira ameaça está relacionada ao entendimento do conceito de cada anomalia de modularidade de software utilizada nas atividades do estudo. Exemplos utilizando trechos de código de outras aplicações foram disponibilizados nos questionários para cada anomalia. Estas mesmas anomalias foram usadas nos estudos (Marinescu, 2004). A quarta ameaça está relacionada à possibilidade de acesso ao código fonte do objeto do estudo, uma vez que esta prática não fora permitida neste experimento. As ações registradas pelos registros de log do SourceMiner confirmaram que não foi feito nenhum acesso ao código fonte pelos participantes. 4 Conclusão Através deste estudo foi possível constatar que ambientes interativos baseados em múltiplas visões como o SourceMiner podem apoiar a adoção de estratégias efetivas para a identificação de anomalias de software para programadores iniciantes. Conforme discutido neste artigo, os participantes do estudo, mesmo sendo considerados iniciantes, conseguiram obter resultados satisfatórios para a identificação das anomalias God Class e Divergent Change. Além disso, pôde-se verificar que para a anomalia GC aproximadamente 87% dos participantes apresentaram perfil de programador seguro (S). Por outro lado, a maioria dos participantes, aproximadamente 87%, demonstrou

8 perfil inseguro (I) para a identificação da anomalia Feature Envy. Um percentual pequeno de participantes apresentou perfil conservador (C), sendo 7% para o FE, 13% para o GC e 40% para o DC. Já o perfil otimista (O) foi manifestado por somente um participante para a anomalia FE. Isto sinaliza a possibilidade de investigação futura em relação às condições em que o programador iniciante poderia assumir perfil otimista e também possibilidade de disponibilizar as estratégias efetivas para os programadores através do próprio AIMV. 5 Bibliografia Alwis, B. d., Murphy, G. Using Visual Momentum to Explain Disorientation in the Eclipse IDE. (pp ). IEEE Computer Society Carneiro, G. F. Sourceminer: um ambiente integrado para Visualização multi-perspectiva de software f. Tese (doutorado) Universidade Federal da Bahia, Instituto de Matemática, Doutorado Multiinstitucional em Ciência da Computação. Carneiro, G.F., Fernandes, J., Mendonça, M. Caracterizando Programadores Iniciantes na Identificação de Anomalias de Modularidade: Um Estudo Inicial. Publicado no Workshop de Manutenção Moderna de Software WMSWM Carneiro, G.; Silva, M.; Mara, L.; Figueiredo, E.; Sant anna, C.; Garcia, A.; Mendonça, M. Identifying Code Smells with Multiple Concern Views. Proceedings of the CBSOFT-SBES p Clarke, Steven. Why do programmer personality types matter. Psychology of Programming. Journal of Visual Languages & Computing, Fowler, M. Refactoring: Improving the Design of Existing Code. 1. ed. Addison-Wesley Professional, Mayrhauser, A. V.; Vans, A. M. Program Comprehension During Software Maintenance and Evolution. Journal of Computer, v. 28, p , Marinescu, R. Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. Proceedings of the 20th IEEE International Conference on Software Maintenance. IEEE Computer Society p Moha, N.; Gueheneuc, Y.; Leduc, P. Automatic Generation of Detection Algorithms for Design Defects. Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering p Riaz, M., Sulayman, M., Salleh, N. Mendes, E. Experiences Conducting Systematic Reviews from Novices' Perspective. Proc. of the Evaluation and Assessment in Software Engineering (EASE 2010) Keele University, UK, British Computer Society. Sillito, J., Volder, K., Fisher, B., Murphy, G. Managing software change tasks: an exploratory study. International Symposium on Empirical Software Engineering SourceMiner. Um Ambiente Interativo baseado em Múltiplas Visões. Disponível em Acesso em Maio de 2012.

DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY

DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY APRESENTADO POR: BRUNO LUAN DE SOUSA QUA L I DA DE E MEDIÇÃO DE SOFTWA R E U N I V E R S I DA D E F E D E R A L D E MINAS G E

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

Estudo de Caso COMPOOTIM Parte I Criação da Linha

Estudo de Caso COMPOOTIM Parte I Criação da Linha Estudo de Caso COMPOOTIM Parte I Criação da Linha Andréa Magalhães 19/03/2013 SUMÁRIO 1. PLANEJAMENTO DO ESTUDO... 3 1.1. Definição do Estudo... 3 1.1.1. Objetivos do Estudo... 3 1.2. Planejamento do Estudo...

Leia mais

Ferramentas, métodos e experiências no ensino de Engenharia de Software: um mapeamento sistemático

Ferramentas, métodos e experiências no ensino de Engenharia de Software: um mapeamento sistemático Ferramentas, métodos e experiências no ensino de Engenharia de Software: um mapeamento sistemático Ronnie E. S. Santos 1, Cleyton V. C. Magalhães 1, Jorge S. Correia-Neto³, Ellen P. R. Souza¹, ², Guilherme

Leia mais

Reengenharia, Refatoração e Bad Smell

Reengenharia, Refatoração e Bad Smell DCC / ICEx / UFMG Reengenharia, Refatoração e Bad Smell Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reengenharia de Sistemas Reestruturação ou reescrita de parte ou de todo um sistema legado

Leia mais

Avoiding Code Pitfalls in Aspect-Oriented Programming

Avoiding Code Pitfalls in Aspect-Oriented Programming Avoiding Code Pitfalls in Aspect-Oriented Programming A. Santos, P. Alves, E. Figueiredo, and F. Ferrari Science of Computer Programming (SCP, 2015) Apresentação: Aline Brito Programação Orientada a Aspecto

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

Um Método para Identificação de Bad Smells a partir de Diagramas de Classes

Um Método para Identificação de Bad Smells a partir de Diagramas de Classes Um Método para Identificação de Bad Smells a partir de Diagramas de Classes Henrique Gomes Nunes 1, Mariza A. S. Bigonha 1, Kecia A. M. Ferreira 2, Flávio Airjan Madureira 1 1 Departamento de Ciência da

Leia mais

Avoiding code pitfalls in Aspect-Oriented Programming

Avoiding code pitfalls in Aspect-Oriented Programming Avoiding code pitfalls in Aspect-Oriented Programming Adriano Santos, Péricles Alves, Eduardo Figueiredo, Fabiano Ferrari 18º Simpósio Brasileiro de Linguagens de Programação Maceió, 2014 Apresentação:

Leia mais

6.1 ANÁLISE DOS AJUSTES

6.1 ANÁLISE DOS AJUSTES 6 ESTUDO DE CASO Esse capítulo está dividido em três partes nas quais são apresentados os resultados obtidos na aplicação da metodologia. A primeira parte é dedicada a verificar o efeito do algoritmo de

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

Usando aprendizagem de máquina para identificar anomalias de design prejudiciais à manutenibilidade: um estudo preliminar

Usando aprendizagem de máquina para identificar anomalias de design prejudiciais à manutenibilidade: um estudo preliminar Usando aprendizagem de máquina para identificar anomalias de design prejudiciais à manutenibilidade: um estudo preliminar Fabrício F. Cardim 1, Cláudio Sant Anna 1 1 Departamento de Ciência da Computação

Leia mais

Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação

Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação Renato de M. Santos 1, Crediné Silva de Menezes 1, Davidson Cury 1 1 Programa de Pós-Graduação

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2012.1 Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum PROPOSTA DE TRABALHO

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

3 Trabalhos Relacionados

3 Trabalhos Relacionados 3 Trabalhos Relacionados O objetivo deste capítulo é situar o leitor quanto às características deste trabalho em relação ao que já está disponível na literatura, além de apontar possíveis vantagens e desvantagens

Leia mais

Profs. Rosana Braga e Paulo C. Masiero ICMC-USP 1º. 2017

Profs. Rosana Braga e Paulo C. Masiero ICMC-USP 1º. 2017 Profs. Rosana Braga e Paulo C. Masiero ICMC-USP 1º. 2017 1. Motivação 2. Conceitos Básicos 3. Engenharia de Software Experimental Revolução na tecnologia da informação: Software faz parte da maioria dos

Leia mais

Propondo uma Arquitetura para Ambientes Interativos baseados em Múltiplas Visões

Propondo uma Arquitetura para Ambientes Interativos baseados em Múltiplas Visões II Workshop Brasileiro de Visualização de Software Propondo uma Arquitetura para Ambientes Interativos baseados em Múltiplas Visões Arleson Nunes Silva, Glauco de Figueiredo Carneiro Programa de Pós Graduação

Leia mais

Modelagem de Interação e Navegação de Sistemas Interativos: Protocolo de um Mapeamento Sistemático da Literatura

Modelagem de Interação e Navegação de Sistemas Interativos: Protocolo de um Mapeamento Sistemático da Literatura Modelagem de Interação e Navegação de Sistemas Interativos: Protocolo de um Mapeamento Sistemático da Literatura Anna Beatriz Marques, Adriana Lopes, Ana Carolina Oran e Tayana Conte {anna.beatriz, adriana,

Leia mais

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

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

Leia mais

Avaliação de Processos de Software na Estação Taba

Avaliação de Processos de Software na Estação Taba Avaliação de Processos de Software na Estação Taba Augusto Gomes, Sômulo Mafra, Kathia Oliveira, Ana Regina Rocha COPPE/UFRJ - Programa de Engenharia de Sistemas e Computação agomes@cos.ufrj.br Resumo

Leia mais

5 Estratégias de Detecção Sensíveis à História

5 Estratégias de Detecção Sensíveis à História 5 Estratégias de Detecção Sensíveis à História O objetivo dessas estratégias é realizar a detecção de elementos do código considerando algum comportamento evolutivo do mesmo. Nesse sentido, estratégias

Leia mais

CRI Minas Indústria 4.0. Case Vallourec: Golden Batch na produção de tubos

CRI Minas Indústria 4.0. Case Vallourec: Golden Batch na produção de tubos CRI Minas Indústria 4.0 Case Vallourec: Golden Batch na produção de tubos 02 05 2018 G o l d e n B a t c h A n a l y s i s Case Vallourec Líder mundial em soluções tubulares premium, a Vallourec assegura

Leia mais

Introdução a Teste de Software

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

Leia mais

Visualização de Software com o KDevelop 4

Visualização de Software com o KDevelop 4 Live Blue (http://liveblue.wordpress.com) Visualização de Software com o KDevelop 4 Sandro Santos Andrade sandro.andrade@gmail.com http://liveblue.wordpress.com liveblue@googlegroups.com 1 Um desafio inicial

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

Revisão Sistemática da Literatura sobre Métodos de Localização de Características

Revisão Sistemática da Literatura sobre Métodos de Localização de Características Revisão Sistemática da Literatura sobre Métodos de Localização de Características Cleice Souza 14 de maio de 2014 Roteiro Introdução Característica ou Feature Planejamento da Revisão Sistemática Condução

Leia mais

JaBUTi/Crab: Ferramentas para Testes e Métricas de Software

JaBUTi/Crab: Ferramentas para Testes e Métricas de Software JaBUTi/Crab: Ferramentas para Testes e Métricas de Software Paulo R. M. Meirelles IME-USP 27 de Junho de 2009 FISL 10 Porto Alegre, Brasil 1 O que veremos... Agenda Software Livre é mais livre com Testes

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

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

Etc & Tal. Volume 1 - Número 1 - Dezembro 2008 SBC HORIZONTES 57

Etc & Tal. Volume 1 - Número 1 - Dezembro 2008 SBC HORIZONTES 57 Armazenando Dados em Aplicações Java Parte de : Entendendo o problema Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Metodologia: I Star Exemplo: Expert Committee

Metodologia: I Star Exemplo: Expert Committee Metodologia: I Star Exemplo: Expert Committee Disciplina: Engenharia de Requisitos Disciplina: Introdução a Engenharia de Software de Sistemas Multi-Agentes Antonio de Pádua Albuquerque Oliveira padua@inf.puc-rio.br

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA

UNIVERSIDADE FEDERAL DA BAHIA UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA E ESTATÍSTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO RECUPERAÇÃO DE ARQUITETURA DE SOFTWARE UTILIZANDO ALGORITMOS DE AGRUPAMENTO ALUNO: DENNIS LESSA

Leia mais

Diferença estrutural entre versões de um programa

Diferença estrutural entre versões de um programa Diferença estrutural entre versões de um programa @ UFCG 6 de agosto de 2008 Rodrigo Rocha Questão de Pesquisa A partir duas versões de um programa, como descobrir quais mudanças

Leia mais

VisminerTD: Uma Ferramenta para Identificação Automática e Monitoramento Interativo de Dívida Técnica

VisminerTD: Uma Ferramenta para Identificação Automática e Monitoramento Interativo de Dívida Técnica VisminerTD: Uma Ferramenta para Identificação Automática e Monitoramento Interativo de Dívida Técnica Thiago S. Mendes 1,2, David P. Gonçalves 1, Felipe G. Gomes 1, Renato Novais 2 Rodrigo O. Spínola 3,

Leia mais

As Disciplinas de Introdução à Programação na USP: um Estudo Preliminar

As Disciplinas de Introdução à Programação na USP: um Estudo Preliminar IV CBIE e X LACLO - I WAlgProg - 2015 As Disciplinas de Introdução à Programação na USP: um Estudo Preliminar Yorah Bosse Marco Aurélio Gerosa {yorah, gerosa}@ime.usp.br Introdução Disciplina que ensina

Leia mais

9 Seminário de Extensão

9 Seminário de Extensão 9 Seminário de Extensão SISTEMA DE COMPUTAÇÃO PARA ANÁLISE DE EVOLUÇÃO DOS INDICADORES DO ESTADO NUTRICIONAL E ALIMENTAR DE GRUPOS ESPECÍFICOS DA POPULAÇÃO DE PIRACICABA E REGIÃO Autor(es) ANA ESTELA ANTUNES

Leia mais

TEMPLATE PARA TCC IFFAR - SVS

TEMPLATE PARA TCC IFFAR - SVS MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FARROUPILHA - CAMPUS SÃO VICENTE DO SUL TEMPLATE PARA TCC IFFAR - SVS TRABALHO

Leia mais

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Medição de Sofware

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Medição de Sofware Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Medição de Sofware Prof. Dr. Renato L. Novais renato@ifba.edu.br Agenda Medição de software Por que medir? Exemplos

Leia mais

Implementação de um Modelo para Previsão de Evasão Escolar no IFSULDEMINAS

Implementação de um Modelo para Previsão de Evasão Escolar no IFSULDEMINAS 6ª Jornada Científica e Tecnológica e 3º Simpósio de Pós-Graduação do IFSULDEMINAS 04 e 05 de novembro de 2014, Pouso Alegre/MG Implementação de um Modelo para Previsão de Evasão Escolar no IFSULDEMINAS

Leia mais

15 Congresso de Iniciação Científica AVALIAÇÃO DA RELAÇÃO ENTRE EFICÁCIA E CUSTO NA ATIVIDADE DE TESTE DE SOFTWARE

15 Congresso de Iniciação Científica AVALIAÇÃO DA RELAÇÃO ENTRE EFICÁCIA E CUSTO NA ATIVIDADE DE TESTE DE SOFTWARE 15 Congresso de Iniciação Científica AVALIAÇÃO DA RELAÇÃO ENTRE EFICÁCIA E CUSTO NA ATIVIDADE DE TESTE DE SOFTWARE Autor(es) CAROLINA FONTANA Orientador(es) Waldo Luís de Lucca Apoio Financeiro FAPIC 1.

Leia mais

FATORES E MÉTRICAS DE QUALIDADE

FATORES E MÉTRICAS DE QUALIDADE FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE

Leia mais

Ficha de Registo de Tema e Orientador de Dissertação / Trabalho de Projecto

Ficha de Registo de Tema e Orientador de Dissertação / Trabalho de Projecto Departamento de Ciências e Tecnologias da Informação Ficha de Registo de Tema e Orientador de Dissertação / Trabalho de Projecto Mestrado: MIG/MEI/METI Ano Lectivo: 2014/2015 Nome: Título da Dissertação

Leia mais

REVISÃO SISTEMÁTICA APLICADA À ENGENHARIA DE RISCOS DE PROJETOS DE SOFTWARE.

REVISÃO SISTEMÁTICA APLICADA À ENGENHARIA DE RISCOS DE PROJETOS DE SOFTWARE. REVISÃO SISTEMÁTICA APLICADA À ENGENHARIA DE RISCOS DE PROJETOS DE SOFTWARE P, D. 1 ; SANTANDER, V. F. A. 2 1,2 Universidade Estadual do Oeste do Paraná/Colegiado de Ciência da Computação. Câmpus Cascavel-PR

Leia mais

Refatoração de Software

Refatoração de Software Refatoração de Software O que é? Atividade em que a estrutura interna de um software é modificada de modo que seu comportamento externo seja preservado; O objetivo é melhorar a qualidade do software; Cada

Leia mais

Aula 2: Planejamento da RS

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

Leia mais

UMA ABORDAGEM PARA OTIMIZAÇÃO DA QUALIDADE DE CÓDIGO FONTE BASEADO NA COMPLEXIDADE ESTRUTURAL

UMA ABORDAGEM PARA OTIMIZAÇÃO DA QUALIDADE DE CÓDIGO FONTE BASEADO NA COMPLEXIDADE ESTRUTURAL v.2, n.1 (2017): 13-21 UMA ABORDAGEM PARA OTIMIZAÇÃO DA QUALIDADE DE CÓDIGO FONTE BASEADO NA COMPLEXIDADE ESTRUTURAL Heleno de Souza Campos Junior 1, Luís Rogério Ventura Martins Filho 2, Marco Antônio

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto PARTE 1 REDES DEFINIDAS POR SOFTWARE (SDN) 2 Bibliografia Esta aula é baseada

Leia mais

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

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES 103 CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES "A verdadeira dificuldade não está em aceitar idéias novas, mas em escapar das antigas. John Maynard Keynes A pesquisa orientada à visualização cartográfica visa

Leia mais

Introdução à Revisão Sistemática

Introdução à Revisão Sistemática Introdução à Revisão Sistemática Rafael Leonardo Vivian rlvivian.uem [at] gmail [dot] com Universidade Estadual de Maringá Departamento de Informática Laboratório de Desenvolvimento Distribuído de Software

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

TÍTULO: OBJETO DE APRENDIZAGEM: DESENVOLVIMENTO DE UMA PROPOSTA PARA O ENSINO DO DIAGRAMA DE CASO DE USO

TÍTULO: OBJETO DE APRENDIZAGEM: DESENVOLVIMENTO DE UMA PROPOSTA PARA O ENSINO DO DIAGRAMA DE CASO DE USO TÍTULO: OBJETO DE APRENDIZAGEM: DESENVOLVIMENTO DE UMA PROPOSTA PARA O ENSINO DO DIAGRAMA DE CASO DE USO CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO:

Leia mais

MANGUE Métricas e Ferramentas para Avaliação Automática da Qualidade de Código-Fonte Paulo R. M. Meirelles IME-USP

MANGUE Métricas e Ferramentas para Avaliação Automática da Qualidade de Código-Fonte Paulo R. M. Meirelles IME-USP Métricas e Ferramentas para Avaliação Automática da Qualidade de Código-Fonte Paulo R. M. Meirelles IME-USP 01 de Junho de 2009 WTDQS-SBQS Ouro Preto-MG, Brasil 1 Projeto de Doutorado Ciência da Computação

Leia mais

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Presencial e à Distância Seiji Isotani Orientador: Leônidas de Oliveira Brandão Defesa de Mestrado Departamento de Ciência

Leia mais

Relacionando Refactorings e Métricas de Código Fonte - Um Primeiro Passo para Detecção Automática de Oportunidades de Refactoring

Relacionando Refactorings e Métricas de Código Fonte - Um Primeiro Passo para Detecção Automática de Oportunidades de Refactoring Relacionando Refactorings e Métricas de Código Fonte - Um Primeiro Passo para Detecção Automática de Oportunidades de Refactoring Glauco de Figueiredo Carneiro 1,2 e Manoel Gomes de Mendonça Neto 1 Núcleo

Leia mais

Uma Estratégia para Avaliação e Evolução de Especificações de Teste Funcional de Software

Uma Estratégia para Avaliação e Evolução de Especificações de Teste Funcional de Software Uma Estratégia para Avaliação e Evolução de Especificações de Teste Funcional de Software Gilmar Ferreira ARANTES; Plínio de Sá Leitão JÚNIOR Universidade Federal de Goiás Instituto de Informática gilmar.arantes@gmail.com;

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

A Preliminary Investigation Towards the Impact of Composition Properties on Code Anomalies

A Preliminary Investigation Towards the Impact of Composition Properties on Code Anomalies A Preliminary Investigation Towards the Impact of Composition Properties on Code Anomalies F. Torres and F. Dantas Abstract Software systems evolve through the composition of their modules. However, the

Leia mais

GQM. Goal Question Metric. 14 de agosto de Carlos Vinícius Pereira da Silva. Déborah Carvalho de Moura. Danylo de Castro Campos.

GQM. Goal Question Metric. 14 de agosto de Carlos Vinícius Pereira da Silva. Déborah Carvalho de Moura. Danylo de Castro Campos. 2009 GQM Goal Question Metric 14deagostode2009 CarlosViníciusPereiradaSilva DanylodeCastroCampos DéborahCarvalhodeMoura PauloNery SUMÁRIO GQM Goal Question Metric INTRODUÇÃO... 3 CARACTERÍSTICAS... 4 DESCRIÇÃODAPRÁTICA...

Leia mais

Ciclo de vida: fases x atividades

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

Sistema de Reconhecimento de Logotipos

Sistema de Reconhecimento de Logotipos Sistema de Reconhecimento de Logotipos Fellipe Duarte, Saulo T. Oliveira {duartefellipe,sto}@cos.ufrj.br Relatório Técnico, Introdução ao Processamento de Imagens Programa de Engenharia de Sistemas e Computação

Leia mais

Experimentos e Resultados

Experimentos e Resultados 6 Experimentos e Resultados Neste capítulo apresentamos os experimentos realizados e os resultados obtidos pelas heurísticas apresentadas. A primeira parte do capítulo aborda os experimentos e resultados

Leia mais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

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

4 Caso de Uso no Ambiente Oracle

4 Caso de Uso no Ambiente Oracle 4 Caso de Uso no Ambiente Oracle No capítulo anterior foi definido o processo para definição de uma estratégia de rastreabilidade. Neste capítulo será realizada uma instanciação do processo em um ambiente

Leia mais

Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV

Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV Izadora Aparecida RAMOS 1,3,4 ; Servílio Souza de ASSIS 1,3,4 ; Bruno Alberto Soares OLIVEIRA

Leia mais

Detectando Problemas de Design em Diagramas de Classes: Um Estudo Experimental

Detectando Problemas de Design em Diagramas de Classes: Um Estudo Experimental Detectando Problemas de Design em Diagramas de Classes: Um Estudo Experimental Isela Macía 1, Cláudio Sant Anna 2, Arndt von Staa 1 1 Departamento de Informática PUC-Rio Rio de Janeiro RJ Brazil {ibertran,

Leia mais

Trabalhos Futuros e Conclusões

Trabalhos Futuros e Conclusões 109 6 Trabalhos Futuros e Conclusões Sábio é aquele que conhece os limites da própria ignorância. (Sócrates) O objetivo deste capítulo é resumir a pesquisa apresentada nesta dissertação, enfatizando as

Leia mais

MAPEAMENTO COLABORATIVO DE EPIDEMIA

MAPEAMENTO COLABORATIVO DE EPIDEMIA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO MAPEAMENTO COLABORATIVO DE EPIDEMIA MARÍLIA 2016 FUNDAÇÃO DE

Leia mais

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA Guilherme de Souza Ferreira Discente do curso Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

4 Análise dos dados Perfil dos participantes

4 Análise dos dados Perfil dos participantes 4 Análise dos dados 4.1. Perfil dos participantes A Tabela 1 apresenta a distribuição dos participantes do experimento por grau de escolaridade, curso, gênero e faixa etária. Os participantes foram predominantemente

Leia mais

5 RNA para Diagnóstico de Falhas em Turbinas a Gás

5 RNA para Diagnóstico de Falhas em Turbinas a Gás 5 RNA para Diagnóstico de Falhas em Turbinas a Gás 5.1. Introdução Neste capítulo, a aplicação de RNAs para diagnosticar as falhas no caminho do gás de turbinas a gás foi investigada. As redes neurais

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA

UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA Uma análise sobre poder em ecossistemas de software Apple App Store e Google Play Store Proposta de Trabalho

Leia mais

UTILIZANDO MAPAS CONCEITUAIS NA AVALIAÇÃO DO CONTEÚDO DE TERMODINÂMICA

UTILIZANDO MAPAS CONCEITUAIS NA AVALIAÇÃO DO CONTEÚDO DE TERMODINÂMICA Concept Mapping to Learn and Innovate Proc. of Sixth Int. Conference on Concept Mapping Santos, Brazil, 2014 UTILIZANDO MAPAS CONCEITUAIS NA AVALIAÇÃO DO CONTEÚDO DE TERMODINÂMICA Ramon Teodoro do Prado,

Leia mais

Um estudo exploratório: Avaliando EPL

Um estudo exploratório: Avaliando EPL Um estudo exploratório: Avaliando EPL Benjamin Jakobus benjamin.jakobus@les.inf.pucrio.br LES DI PUC-Rio - Brazil OPUS Research Group Teoria Quanto mais complexo for um sistema, mais potencial que existe

Leia mais

Artigo: Preliminary Guidelines for Empirical Research in Software Engineering

Artigo: Preliminary Guidelines for Empirical Research in Software Engineering Artigo: Preliminary Guidelines for Empirical Research in Software Engineering Aluna: Bianca Couto Fortuna Disciplina: Qualidade e Medição de Software Departamento de Ciência da Computação UFMG Novembro

Leia mais

Um Processo de Análise de Cobertura alinhado ao Processo de Desenvolvimento de Software em Aplicações Embarcadas

Um Processo de Análise de Cobertura alinhado ao Processo de Desenvolvimento de Software em Aplicações Embarcadas Um Processo de Análise de Cobertura alinhado ao Processo de Desenvolvimento de Software em Aplicações Embarcadas Elifrancis R. Soares 1, Alexandre M. L. Vasconcelos 1 1 Centro de Informática Universidade

Leia mais

10/09/2012. Preliminary Guidelines for Empirical Research in Software Engineering

10/09/2012. Preliminary Guidelines for Empirical Research in Software Engineering Preliminary Guidelines for Empirical Research in Software Engineering Kitchenham, B.A., Pfleeger, S.L., Pickard, L. M., Jones, P.W., Hoaglin, D.C., El-Emam, K., and Rosenberg, J. Aluna: Erica Rodrigues

Leia mais

Ciência da Computação

Ciência da Computação Ciência da Computação TCC em Re vista 2009 33 CAMPOS, Fernando Antonio Barbeiro; SANTUCI, Leonardo Balduino 5. Estudo de aplicabilidade do padrão MVC. 2009. 111 f. Trabalho de Conclusão de Curso (Graduação

Leia mais

Aula 6. A pesquisa e suas classificações. METODOLOGIA

Aula 6. A pesquisa e suas classificações. METODOLOGIA Aula 6 A pesquisa e suas classificações. METODOLOGIA Nosso Blog... 1 Nome do Projeto 7 Objetivos 2 3 Título Nome do Orientador Introdução 8 9 Metodologia Cronograma 4 Problema de Pesquisa 10 Referências

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome: ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:

Leia mais

Referências bibliográficas

Referências bibliográficas Referências bibliográficas 108 Referências bibliográficas [Apache09] The Apache Software Foundation - Disponível em: http://www.apache.org. Acesso em: 02/02/2009. [Archermann00] Achermann F. Nierstrasz

Leia mais

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

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

Leia mais

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

Análise de Utilização de Recursos Computacionais pelos Controladores SDN

Análise de Utilização de Recursos Computacionais pelos Controladores SDN Análise de Utilização de Recursos Computacionais pelos Controladores SDN Igor Morais¹, Marcelo Santos¹, Petrônio Junior¹, Carlos Kamienski²,Stenio Fernandes¹ ¹Centro de Informática Universidade Federal

Leia mais

5 Estudo de Caso e Resultados

5 Estudo de Caso e Resultados 5 Estudo de Caso e Resultados 5.1. Introdução Finalizado o desenvolvimento da ferramenta, é indispensável testar suas funcionalidades e a eficácia da aplicação conjunta dos seus módulos de geração de experimentos

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

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais Universidade de São Paulo Biblioteca Digital da Produção Intelectual - BDPI Departamento de Ciências de Computação - ICMC/SCC Comunicações em Eventos - ICMC/SCC 2015 Identificação de Pontos Perceptualmente

Leia mais

6 Hist-Inspect: A Ferramenta de Medição e Avaliação

6 Hist-Inspect: A Ferramenta de Medição e Avaliação 6 Hist-Inspect: A Ferramenta de Medição e Avaliação Hist-Inspect 1 (Mara et al. 2010b) é a ferramenta que projetamos e implementamos para apoiar esta pesquisa. Ela visa principalmente disponibilizar recursos

Leia mais

Escalonamento de Aplicações BoT em Ambiente de Nuvem

Escalonamento de Aplicações BoT em Ambiente de Nuvem Escalonamento de Aplicações BoT em Ambiente de Nuvem Maicon Ança dos Santos 1 Fernando Angelin 1 Gerson Geraldo H. Cavalheiro 1 1 Universidade Federal de Pelotas {madsantos,fangelin,gerson.cavalheiro}@inf.ufpel.edu.br

Leia mais

(83)

(83) O USO DO APRENDIZADO BASEADO EM PROBLEMAS E M-LEARNING EM DIFERENTES CONTEXTOS SOCIAIS E ECONÔMICOS: PARA ALUNOS DO ENSINO FUNDAMENTAL Tarcisio Sanches¹; Miguel Mocbel²; Leonardo Martins³; William Rodrigues

Leia mais

Mineração de Textos na Web

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

Leia mais

Evolução de Software. Agenda a Aula. Evolução de Software. Evolução de Software. Atividades Comuns. Atividades de Desenvolvimento

Evolução de Software. Agenda a Aula. Evolução de Software. Evolução de Software. Atividades Comuns. Atividades de Desenvolvimento Engenharia de Software Aula 12 Atividades Comuns Evolução de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 16 Abril 2012 1. Especificação de requisitos 2. Projeto de Software

Leia mais

um estudo exploratório sobre a identificação de aglomerações de interesses em alto nível

um estudo exploratório sobre a identificação de aglomerações de interesses em alto nível um estudo exploratório sobre a identificação de aglomerações de interesses em alto nível thiago delgado pinto tpinto@inf.puc-rio.br inf2921 introdução à engenharia de software experimental puc-rio prof.

Leia mais

3 Medição de Software

3 Medição de Software 3 Medição de Software À medida que a engenharia de software amadurece, a medição de software passa a desempenhar um papel cada vez mais importante no entendimento e controle das práticas e produtos do

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Autor 1 Orientador: 1. dia de mês de ano

Autor 1 Orientador: 1. dia de mês de ano Título Autor 1 Orientador: 1 1 Laboratório de Sistemas de Computação Universidade Federal de Santa Maria dia de mês de ano Roteiro Introdução Fundamentação Desenvolvimento Resultados Conclusão e Trabalhos

Leia mais