Uma Abordagem para Recomendação de Módulos para Projetos de Desenvolvimento Distribuído de Linhas de Produto de Software
Ano de defesa: | 2011 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal da Paraíba
BR Informática Programa de Pós Graduação em Informática UFPB |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | https://repositorio.ufpb.br/jspui/handle/tede/6050 |
Resumo: | Software Product Line (SPL) has been adopted by software industry in recent years, mainly by promoting software reuse in a systematic and predictable way, and supporting product development for global markets. Despite the benefits, SPL requires a high initial effort and the involvement of domain experts, which are not always available in a local team. In such a scenario, Global Software Development (GSD) approaches would be applied to find domain experts and more qualified teams for SPL projects. Moreover, such work strategy reinforces some of the benefits already offered by SPL approach, such as reducing development cost and increasing product quality. Nonetheless, GSD approaches also present some obstacles, which are mainly related to communication between dispersed development teams. Assuming that dependencies between software components greatly influence the need for communication between their respective development teams, in this work it is presented an approach to identify candidates for modules to be developed in a (partially) independent manner by geographically dispersed teams, in which a module is a clustering of components. To do so, the approach defines: quantitative measures that describe the dependence between software components in SPL projects; an algorithm based on metaheuristics for clustering components into modules, dealing with clustering as an optimization problem; and a quantitative measure that describe the dependencies between modules, which must be employed to guide the allocation of the development teams to the modules. |