Planejamento de releases de software através da aplicação de técnicas de busca multiobjetivas
Autor(es):
Brasil, Márcia Maria Albuquerque
Palavras Chaves:
Não informado
Ano de Publicação:
2011
Resumo:
O Planejamento de Releases é uma importante e complexa atividade no desenvolvimento de
Software que envolve diversos aspectos relacionados a decidir quais funcionalidades serão
desenvolvidas e disponibilizadas a cada release do sistema. Um planejamento adequado deve
satisfazer às necessidades dos clientes e demais stakeholders, assim como deve respeitar às
restrições existentes e níveis de informação disponíveis. Técnicas de Otimização,
notadamente as metaheurísticas, têm sido aplicadas com sucesso na resolução de problemas
difíceis da Engenharia de Software, incluindo o problema do Planejamento de Releases de
Software, e deram origem à recente área de pesquisa denominada Search-Based Software
Engineering (ou Otimização em Engenharia de Software). Nesse contexto e, considerando a
importância e dificuldade de realização dessa tarefa, esta Dissertação apresenta uma
abordagem semi-automatizada, baseada em otimização multiobjetivo, para o Planejamento de
Releases de Software visando auxiliar gerentes em um planejamento mais eficaz. A
abordagem leva em consideração importantes fatores presentes no contexto de projetos reais,
tais como satisfação de clientes, valor de negócio, gerenciamento de riscos, interdependências
entre requisitos e recursos disponíveis. A abordagem proposta é composta por quatro
estratégias, onde cada uma executa o planejamento de acordo com o nível de informação
disponível a respeito do número de releases. Desta forma, é possível trabalhar com apenas um
release – onde é feita uma seleção e priorização dos requisitos; com um número prédeterminado de releases – na qual os requisitos são alocados em releases conforme a
preferência dos clientes; com um número indeterminado de releases – onde é determinado o
número ideal de releases; ou ainda, com um número esperado de releases – o número de
releases não é conhecido inicialmente, mas representa uma expectativa entre os clientes.
Experimentos foram conduzidos para avaliar a viabilidade da abordagem proposta. Assim,
importantes metaheurísticas multiobjetivas baseadas em algoritmos genéticos foram aplicadas
na resolução de instâncias artificiais do problema. O comportamento dos algoritmos foi
analisado e comparado através de métricas de desempenho.
Palavras–Chave: Planejamento de releases de software. Otimização em engenharia de
software. Engenharia de requisitos. Otimização multiobjetivo. Algoritmos genéticos.
Abstract:
Release Planning is an important and complex activity in software development. It involves
several aspects related to which functionalities are going to be developed in each release of
the system. Consistent planning must meet the customers’ needs and comply with existing
constraints and information available. Optimization techniques, especially metaheuristics,
have been successfully applied to solve difficult problems in Software Engineering field,
including the Software Release Planning problem. This new research area is called SearchBased Software Engineering. In this context, considering the importance and difficulty of this
task, this Dissertation presents a semi-automated approach, based on multiobjective
optimization, for the planning of software releases in order to assist decision-makers in a more
effective planning. The approach takes into consideration important aspects existing in the
context of real projects, such as the customers’ satisfaction, business value, risk management
and available resources, as well as provides ways for handling requirements
interdependencies. The proposed approach consists of four strategies, where each of them
performs release planning according to the information available about the number of
releases. In the first strategy, the planning is done only for one release and the requirements
are selected and prioritized. The second strategy consists of a planning for a predetermined
number of releases and the requirements are allocated in releases according to customers’
preference. In the third strategy, the number of releases is not known in advance, but the
strategy will determine the optimal one. Finally, in the last strategy, the number of releases is
not known initially, but it represents an expectation among the customers. Experiments were
conducted to evaluate the feasibility and efficiency of the proposed approach. Metaheuristics
based on genetic algorithms were applied to solve artificial instances of the problem. The
behavior of the algorithms were analyzed and compared through performance metrics.
Keywords: Software release planning. Search-based software engineering. Requirements
engineering. Multiobjective optimization. Genetic algorithms.
Tipo do Trabalho:
Dissertação
Referência:
Brasil, Márcia Maria Albuquerque. Planejamento de releases de software através da aplicação de técnicas de busca multiobjetivas. 2011. 115 f. Dissertação (Mestrado Acadêmico ou Profissional em 2011) - Universidade Estadual do Ceará, , 2011. Disponível em: Acesso em: 21 de maio de 2024
Universidade Estadual do Ceará - UECE | Departamento de Tecnologia da Informação e Comunicação - DETIC
Política de Privacidade e Segurança Build 1