• Nenhum resultado encontrado

Roberto Pepato Mellado Proposta Pesquisa Metodologias Ageis Engenharia Software Qualidade

N/A
N/A
Protected

Academic year: 2021

Share "Roberto Pepato Mellado Proposta Pesquisa Metodologias Ageis Engenharia Software Qualidade"

Copied!
7
0
0

Texto

(1)

MINISTÉRIO DA AERONÁUTICA

DEPARTAMENTO DE PESQUISAS E DESENVOLVIMENTO

CENTRO TÉCNICO AEROESPACIAL

Instituto Tecnológico de Aeronáutica

Programa de Pós-Graduação em

Engenharia Eletrônica e Computação - Informática

Proposta de Pesquisa em nível de Mestrado

Análise empírica da variação de qualidade de produtos de software

desenvolvidos por métodos tradicionais e ágeis

Roberto Pepato Mellado

Bacharel em Ciência da Computação

Prof. Dr. Adilson Marques da Cunha

Orientador Proposto

(2)

Índice

1

Introdução ... 2

2

Contexto ... 2

3

Objetivo da Proposta de Pesquisa ... 4

4

Redução do Escopo ... 4

5

Especificação de Requisitos ... 4

6

Calendário Proposto ... 5

7

Teste de Hipótese ... 5

8

Referências Bibliográficas ... 6

8.1

Trabalhos Científicos Publicados ... 7

Lista de Siglas

XP - Extreme Programming TDD - Test Driven Development FDD - Feature Driven Development

1 Introdução

As metodologias ágeis para desenvolvimento de software vêm obtendo grande adoção por parte da indústria [1][2][3]. Este assunto tem chamado também a atenção da área acadêmica, que tem produzido numerosos estudos sobre o tema[4].

As técnicas utilizadas nas metodologias ágeis surgem de uma combinação de metodologias já existentes com ideias e práticas do campo da engenharia de software[5].

Estudos recentes[6] apontam a flexibilidade dos modelos de design e a capacidade de rápida resposta à mudanças como o terceiro maior benefício percebido por praticantes de métodos ágeis. A melhora na qualidade é apontada como o quinto maior benefício percebido.

Essa proposta de pesquisa tem por objetivo principal entender os impactos na qualidade interna e externa de produtos de software, através de aplicação de métodos ágeis com ênfase em boas práticas da engenharia de software.

2 Contexto

Dentre os benefícios alcançados através da adoção de métodos ágeis estão a alta satisfação dos clientes, baixos índices de defeito nos produtos de software, alta usabilidade e uma solução para o problema de requisitos instáveis[2].

Diversos princípios regem as metodologias ágeis. O Agile Manifesto[8], documento de grande expressividade no contexto de metodologias ágeis e da comunidade de desenvolvimento que a suporta,

(3)

software em curtos períodos e com valor agregado. Para que essa prioridade seja atingida, uma série de outros princípios são descritos, entre eles, a atenção contínua à excelência técnica. Abordagens feitas por metodologias ágeis dão ênfase na qualidade dos modelos de design, pois essa é uma característica essencial para a manutenção da agilidade.

XP, uma das metodologias ágeis de maior relevância na indústria, descreve com grande ênfase[9] a

utilização de boas práticas de engenharia de software como a realização de integração contínua de código, a realização de revisões através da programação em pares, entregas em curto espaço de tempo, desenvolvimento dos testes antes do desenvolvimento do código, refactoring, etc[10]. Outras metodologias ágeis populares e que seguem os mesmos princípios de XP são: Scrum, Crystal Methods e

FDD.

Uma atividade chave encontrada na maioria das metodologias ágeis é a realização de refactoring[1].

Refactoring é uma técnica de mudança do design e do código-fonte do sistema sem alterar a

funcionalidade ou comportamento externo do software[9]. Os principais objetivos da aplicação desta técnica são manter a simplicidade do código fonte e garantir que o mesmo possua atributos que evidenciem sua qualidade[11].

A realização de testes automatizados ocupa um papel de destaque nas metodologias ágeis[9]. A realização de ciclos de testes automatizados oferece um rápido retorno sobre a assertividade do código da aplicação produzida, além de segurança adicional para que os desenvolvedores de software possam realizar atividades de refactoring. A utilização de práticas como TDD, que prescrevem a construção de testes automatizados antes mesmo da criação do código da aplicação oferecem alguns benefícios para a qualidade interna e externa do software como por exemplo: alta cobertura de testes, melhor detecção de defeitos e baixa complexidade do código fonte [12].

A utilização desses métodos ganha destaque sobre o desenvolvimento de software tradicional pela capacidade de acomodar mudanças frequentes de requisitos em cronogramas de curto período de tempo. Estudos apontam a geração de produtos de software de qualidade por organizações que fazem uso desses métodos[2].

As características que definem a qualidade de um produto de software podem ser divididas em dois conjuntos: qualidade interna e qualidade externa[13]. As métricas da qualidade interna focam em atributos que podem ser medidos puramente em termos do produto de software examinando o produto alvo da medição. Alguns exemplos de métricas da qualidade interna são: complexidade ciclomática, número de linhas de código e percentual de linhas de código cobertas por testes automatizados [13].

As métricas da qualidade externa indicam o grau de qualidade referente ao comportamento do sistema percebido pelo usuário. Alguns exemplos desse tipo de métrica são: usabilidade, desempenho e interface com o usuário.

A extração de métricas internas da qualidade pode ser realizada de forma automatizada[14], sistematicamente e com baixo custo[13].

(4)

A extração de métricas externas da qualidade pode ser realizada através de avaliação heurística por especialistas, medidas de desempenho e também pela percepção do usuário do software em relação as métricas avaliadas.

Esse trabalho busca investigar quais são as características e dimensões da qualidade interna e externa em produtos de software construídos utilizando metodologias ágeis, que são impactadas positiva ou negativamente quando comparadas a outras abordagens para desenvolvimento de software.

3 Objetivo da Proposta de Pesquisa

Investigar métricas de qualidade interna e externa de produtos de software construídos com a utilização de metodologias e práticas tradicionais e ágeis, visando determinar a potencialidade de aplicação de determinadas metodologias aos processos de construção de software para obtenção de produtos de maior qualidade interna e externa.

4 Redução do Escopo

A adoção de uma determinada metodologia ou a mudança de uma metodologia em uso para uma nova metodologia pode provocar impactos em diversos aspectos organizacionais. Do ponto de vista da qualidade, a adoção de uma nova metodologia pode provocar impactos na qualidade de processos, de projetos e de produto. Este trabalho pretende analisar os aspectos relativos à qualidade interna e externa de produtos de software, após a implementação de uma metodologia ágil.

5 Especificação de Requisitos

Este trabalho de pesquisa deverá ser capaz de propiciar:

 Um conjunto de métricas adequado para suportar a comparação de atributos de qualidade para produtos de software gerados por metodologias distintas;

 Amostras de métricas da indústria para conclusões sobre os impactos gerados na qualidade interna e externa de produtos de software gerados através da utilização de metodologias ágeis; e  Investigação sobre os impactos na qualidade externa através de melhoria nas métricas da

(5)

6 Calendário Proposto

Atividade

Início

Fim

Domínio de Métodologias Ágeis para Desenvolvimento de Software

ago/10

out/10

Definição das Questões-Chave para Avaliação de Impcatos na Qualidade

out/10

fev/11

Definição das Métricas da Qualidade

out/10

fev/11

Obtenção de métricas de projetos desenvolvidos usando metodologias ágeis

fev/11

jan/12

Obtenção de métricas de projetos desenvolvidos usando metodologias tradicionais

fev/11

jan/12

Análise dos Resultados

jan/12

mar/12

Formalização e defesa de tese de mestrado

mar/12

nov/12

7 Teste de Hipótese

Este trabalho busca, além dos objetivos descritos no item três deste documento, validar a hipótese, considerando:

Hipótese Nula ou H0: Aspectos indicativos de boa qualidade interna e externa de software estão

relacionados à utilização de métodos e modelos prescritivos de desenvolvimento;

Hipótese Alternativa ou H1: Software construído através de métodos e modelos empíricos, com ênfase

em inspeção e adaptação, possui maior qualidade interna e externa quando comparado a software produzido através de métodos e modelos prescritivos.

(6)

8 Referências Bibliográficas

[1] DUMKE R. R., SCHMIETENDORF A., KUNZ M., GORGIEVA K., “Software metrics for agile software

development”, Software Engineering Group, University of Magdeburg, Disponível em: http://www.smlab.de/DumkeSQSpaper09.pdf, Acesso em: Julho de 2010.

[2] BHALERAO S., PUNTAMBEKAR D., INGLE M., “Generalizing agile software development life cycle ”, Acropolis Institute of Technology and Research, Disponível em: http://www.enggjournals.com/ijcse/doc/IJCSE09-01-03-19.pdf, Acesso em: Julho de 2010.

[3] WEST D., GRANT T., “Agile development: Mainstream adoption has changed agility”, Disponível em: http://www.ca.com/files/IndustryAnalystReports/agile_development_mainstream_232616.pdf, Acesso em: Julho de 2010.

[4] GOLDMAN A., KATAYAMA E., “Retrato da comunidade acadêmica de métodos ágeis no Brasil ”, Disponível em: http://www.agilcoop.org.br/files/pesquisadores.de_.metodos.ageis_.pdf, Acesso em: Julho de 2010.

[5] STRODE D., HUFF S., TRETIAKOV A., “The impact of organizational culture on agile methods use”, 42nd Hawaii International Conference on System Sciences – 2009, Disponível em: csdl2.computer.org/comp/proceedings/hicss/2009/3450/00/10-01-02.pdf, Acesso em: Julho de 2010. [6] BEGEL A., NAGAPPAN N., “Usage perceptions of agile software development in an industrial context:

an exploratory study”, Microsoft Research, Disponível em: http://research.microsoft.com/pubs/56015/AgileDevatMS-ESEM07.pdf, Acesso em: Julho de 2010.

[8] FOWLER M., HIGHSMITH J.., “The agile manifesto”, Disponível em: http://www.drdobbs.com/184414755, Acesso em: Julho de 2010.

[9] BECK K., “Extreme programming explained: embrace change”, Addison-Wesley, 2004.

[10] LIVERMORE J., “Factors that significantly impact the implementation of an agile software

development methodology”, Journal Of Software, Vol. 3, No. 4, Abril de 2008, Disponível em:

http://www.academypublisher.com/ojs/index.php/jsw/article/viewFile/03043136/972, Acesso em: Julho de 2010.

[11] FOWLER M., “Refactoring: improving the design of existing code”, Addison-Wesley, 2000.

[12] GUERRA E., SILVEIRA F., FERNANDES C., “ClassMock: a testing tool for reflective classes which

consume code annotations”, ITA – Instituto Tecnológico de Aeronáutica, Conferência Brasileira Sobre

Métodos Ágeis de Desenvolvimento de Software, 22-25 de Junho, 2010, Porto Alegre.

[13] STAVRINOUDIS D., XENOS M., “Comparing internal and external software quality measurements”, Proccedings of the 8th Joint Conference on Knowledge-Based Software Engineering, IOS Press, pp. 115-124, Piraeus, Greece, August 25-28, 2008, Disponível em:

http://quality.eap.gr/Publications/XM/Conferences%20English/C53%20-%20Comparing%20Int%20and%20Ext%20Sw%20Q%20Measurements.pdf, Acesso em: Julho de 2010. [14] MOREIRA G. S. P., Mellado R. P., Montini D. A., Dias L. A. V., CUNHA A. M.,“Software product

measurement and analysis in a continuous integration environment ”, Information Technology: New

Generations, Third International Conference on, pp. 1177-1182, 2010 Seventh International Conference on Information Technology, 2010, Disponível em: http://www.computer.org/portal/web/csdl/doi/10.1109/ITNG.2010.85, Acesso em: Julho de 2010.

(7)

8.1 Trabalhos Científicos Publicados

O autor desta proposta de pesquisa vêm atuando em pesquisa e produção de trabalhos científicos, envolvendo as Etapas de Pesquisa, objetivando produzir uma base de conhecimento sólida para desenvolvimento de dissertação de Mestrado..

[14] MOREIRA G. S. P., MELLADO R. P., MONTINI D. A., DIAS L. A. V., CUNHA A. M.,“Software product

measurement and analysis in a continuous integration environment ”, Information Technology: New

Generations, Third International Conference on, pp. 1177-1182, 2010 Seventh International Conference on Information Technology, 2010.

Referências

Documentos relacionados

Resumo O presente artigo tem como objetivo analisar a importância do brincar para o desenvolvimento afetivo da criança de 0 a 6 anos, como também identificar as concepções

Kulčar 40 , encontrou benefícios semelhantes (Tabela 3) e, além disso, ao acompanhar os membros permanentes do grupo por um período de 10 anos, constatou uma

Em relação ao Respondente4 ele já havia usado a ferramenta em outra instituição antes de iniciar suas atividades na UTFPR Campus Pato Branco e é possível creditar sua

Neste trabalho foram analisados os dados coletados em perímetro urbano e rural no município de Serranópolis do Iguaçu com a finalidade de investigar e avaliar o

A origem do nome Açaí é que nós justamente tivemos o trabalho né, foi o processo foi feito com o SEBRAE né, foi dado as aulas pra nós, aí então, lá no curso ela pediu pra

Obtivemos as respostas listadas a seguir: Sujeito 1: “Brincar na educação infantil é muito importante para o desenvolvimento da criança que nessa fase tem o lúdico como elemento

A função gerente de obras torna-se cada vez mais necessária na construção civil, pois o setor está cada vez mais desenvolvendo e aprimorando a área de coordenação

Na Nova Zelândia em sistemas pastoris as vacas produzem em média 17 litros de leite ao dia, enquanto nos produtores analisados neste estudo a média de