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

The software requirements selection is an important step in any software development software and bad decisions can cause the project to fail. This makes reasearches on techniques to aid the professionals on the decision making process also be important. One existing approach is to model the problem...

ver descrição completa

Autor principal: Basniak, Rodrigo
Formato: Dissertação
Idioma: Português
Publicado em: Universidade Tecnológica Federal do Paraná 2020
Assuntos:
Acesso em linha: http://repositorio.utfpr.edu.br/jspui/handle/1/4656
Tags: Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
id riut-1-4656
recordtype dspace
spelling riut-1-46562020-01-28T06:00:46Z Seleção de requisitos de software utilizando métodos meta-heurísticos Software requirements selection using meta-heuristic methods Basniak, Rodrigo Emer, Maria Claudia Figueiredo Pereira http://lattes.cnpq.br/8275326076771841 Bastos, Laudelino Cordeiro http://lattes.cnpq.br/1231141260610815 Seca Neto, Adolfo Gustavo Serra https://orcid.org/0000-0002-0260-5922 http://lattes.cnpq.br/0071119715272492 Lopes, Heitor Silvério http://lattes.cnpq.br/4045818083957064 Bastos, Laudelino Cordeiro http://lattes.cnpq.br/1231141260610815 Vergilio, Silvia Regina http://lattes.cnpq.br/0401470121643212 Heurística Software - Desenvolvimento Processo decisório Modelos matemáticos Inteligência coletiva Algorítmos genéticos Computação evolutiva Otimização matemática Otimização combinatória Solução de problemas Métodos de simulação Computação Heuristic Computer software - Development Decision making Mathematical models Swarm intelligence Genetic algorithms Evolutionary computation Mathematical optimization Combinatorial optimization Problem solving Simulation methods Computer science CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE Ciência Da Computação The software requirements selection is an important step in any software development software and bad decisions can cause the project to fail. This makes reasearches on techniques to aid the professionals on the decision making process also be important. One existing approach is to model the problem as an optimization problem an solve it using meta-heristic thecniques. A systematic literature review was done to help identify the problems existent in this research field. The review found that the proposed solutions interpret the problem as a binary problem and simplifies it removing all interdependencies that exists between the requirements and use randomly generated datasets. Just a few researches take the full set of interdependencies in account and when they do they use repair operators to fix invalid solutions. With a goal of proposing a more robust solution, the problem that is inherently binary, is treated as a continuous space problem and with all interdependencies between the requirements. Meta-heuristic techniques are then used to solve the requirements selection problem with the help of a new solution encoding, developed to solve exactly this type of problem. With this approach the search space surface gets smoother and the meta-heuristic techniques can find better solutions. Three algorithms were selected to solve the problem: differential evolution, particle swarm optimization and genetic algorithms. Results obtained with experiments using the proposed encoding were compared to the results obtained using the traditional binary encoding. The proposed technique is superior to the traditional one when the interdependencies between the requirements are considered, since in projects with more than 32 requirements the traditional approach can’t even find any valid solutions. The projects used in this paper were generated based on three real world software development projects. All these data were made publicly available together with a prototype software tool to run the algorithms developed in this paper. Using the proposed encoding the three algorithms performed similarly when comparing the quality of theirs results but, the differential evolution algorithmwas superior when observing the number of fitness evaluations needed to find the best solutions. 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. 2020-01-27T21:39:51Z 2020-01-27T21:39:51Z 2019-06-27 masterThesis BASNIAK, Rodrigo. Seleção de requisitos de software utilizando métodos meta-heurísticos. 2019. Dissertação (Mestrado em Computação Aplicada) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019. http://repositorio.utfpr.edu.br/jspui/handle/1/4656 por openAccess application/pdf Universidade Tecnológica Federal do Paraná Curitiba Brasil Programa de Pós-Graduação em Computação Aplicada UTFPR
institution Universidade Tecnológica Federal do Paraná
collection RIUT
language Português
topic Heurística
Software - Desenvolvimento
Processo decisório
Modelos matemáticos
Inteligência coletiva
Algorítmos genéticos
Computação evolutiva
Otimização matemática
Otimização combinatória
Solução de problemas
Métodos de simulação
Computação
Heuristic
Computer software - Development
Decision making
Mathematical models
Swarm intelligence
Genetic algorithms
Evolutionary computation
Mathematical optimization
Combinatorial optimization
Problem solving
Simulation methods
Computer science
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Ciência Da Computação
spellingShingle Heurística
Software - Desenvolvimento
Processo decisório
Modelos matemáticos
Inteligência coletiva
Algorítmos genéticos
Computação evolutiva
Otimização matemática
Otimização combinatória
Solução de problemas
Métodos de simulação
Computação
Heuristic
Computer software - Development
Decision making
Mathematical models
Swarm intelligence
Genetic algorithms
Evolutionary computation
Mathematical optimization
Combinatorial optimization
Problem solving
Simulation methods
Computer science
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Ciência Da Computação
Basniak, Rodrigo
Seleção de requisitos de software utilizando métodos meta-heurísticos
description The software requirements selection is an important step in any software development software and bad decisions can cause the project to fail. This makes reasearches on techniques to aid the professionals on the decision making process also be important. One existing approach is to model the problem as an optimization problem an solve it using meta-heristic thecniques. A systematic literature review was done to help identify the problems existent in this research field. The review found that the proposed solutions interpret the problem as a binary problem and simplifies it removing all interdependencies that exists between the requirements and use randomly generated datasets. Just a few researches take the full set of interdependencies in account and when they do they use repair operators to fix invalid solutions. With a goal of proposing a more robust solution, the problem that is inherently binary, is treated as a continuous space problem and with all interdependencies between the requirements. Meta-heuristic techniques are then used to solve the requirements selection problem with the help of a new solution encoding, developed to solve exactly this type of problem. With this approach the search space surface gets smoother and the meta-heuristic techniques can find better solutions. Three algorithms were selected to solve the problem: differential evolution, particle swarm optimization and genetic algorithms. Results obtained with experiments using the proposed encoding were compared to the results obtained using the traditional binary encoding. The proposed technique is superior to the traditional one when the interdependencies between the requirements are considered, since in projects with more than 32 requirements the traditional approach can’t even find any valid solutions. The projects used in this paper were generated based on three real world software development projects. All these data were made publicly available together with a prototype software tool to run the algorithms developed in this paper. Using the proposed encoding the three algorithms performed similarly when comparing the quality of theirs results but, the differential evolution algorithmwas superior when observing the number of fitness evaluations needed to find the best solutions.
format Dissertação
author Basniak, Rodrigo
author_sort Basniak, Rodrigo
title Seleção de requisitos de software utilizando métodos meta-heurísticos
title_short Seleção de requisitos de software utilizando métodos meta-heurísticos
title_full Seleção de requisitos de software utilizando métodos meta-heurísticos
title_fullStr Seleção de requisitos de software utilizando métodos meta-heurísticos
title_full_unstemmed Seleção de requisitos de software utilizando métodos meta-heurísticos
title_sort seleção de requisitos de software utilizando métodos meta-heurísticos
publisher Universidade Tecnológica Federal do Paraná
publishDate 2020
citation BASNIAK, Rodrigo. Seleção de requisitos de software utilizando métodos meta-heurísticos. 2019. Dissertação (Mestrado em Computação Aplicada) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
url http://repositorio.utfpr.edu.br/jspui/handle/1/4656
_version_ 1805303271152156672
score 10,814766