Seleção de requisitos de software utilizando métodos meta-heurísticos

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Basniak, Rodrigo lattes
Orientador(a): Emer, Maria Claudia Figueiredo Pereira lattes
Banca de defesa: Seca Neto, Adolfo Gustavo Serra lattes, Lopes, Heitor Silvério lattes, Bastos, Laudelino Cordeiro lattes, Vergilio, Silvia Regina lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Tecnológica Federal do Paraná
Curitiba
Programa de Pós-Graduação: Programa de Pós-Graduação em Computação Aplicada
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://repositorio.utfpr.edu.br/jspui/handle/1/4656
Resumo: A seleção de requisitos de software é muito importante para qualquer projeto de software e decisões ruins nesta etapa podem atrapalhar ou até mesmo impedir seu sucesso. Isto faz com que estudos sobre a aplicação de técnicas para auxiliar na tomada de decisão na seleção de requisitos também sejam importantes. Uma das abordagens utilizadas na literatura é modelar a seleção de requisitos como um problema de otimização e utilizar métodos meta-heurísticos para resolvê-lo. Um mapeamento sistemático de literatura foi realizado com o objetivo de identificar os problemas existentes nas soluções já propostas e as lacunas desta área de pesquisa. Este mapeamento constatou que as soluções propostas tratam o problema de forma binária e simplificado, ignorando as interdependências entre os requisitos e utilizando dados de problemas gerados aleatoriamente. Poucos trabalhos consideram todos os tipos de interdependências existentes entre os requisitos e quando o fazem, a solução é utilizar operadores de reparação. Com o intuito de propor uma solução mais robusta, o problema que é inerentemente binário, é tratado como um problema de variáveis contínuas e com interdependências entre os requisitos. Técnicas meta-heurísticas são utilizadas para a encontrar a solução e com auxílio de uma codificação desenvolvida especificamente para o problema de seleção de requisitos com interdependências. Desta forma, a superfície do espaço de busca fica mais suave e as meta-heurísticas conseguem chegar nas melhores soluções mais facilmente. Três algoritmos foram selecionados para o estudo: otimização por enxame de partículas, evolução diferencial e algoritmos genéticos. Experimentos foram realizados com a codificação proposta e com uma codificação binária, que é mais comum na literatura. Os resultados mostram que a abordagem proposta é superior à tradicional quando são consideradas as interdependências entre os requisitos, pois em projetos com mais 32 requisitos a abordagem tradicional não consegue resolver os problemas utilizados neste trabalho. Os dados dos problemas foram gerados a partir de projetos reais de desenvolvimento de software e foram disponibilizados publicamente, juntamente com uma ferramenta protótipo para execução dos algoritmos. Com a codificação proposta, os três algoritmos tiveram uma performance parecida em relação à qualidade dos resultados, mas o algoritmo de evolução diferencial se mostrou superior em relação ao número de avaliações da função de fitness.