Made available in DSpace on 2015-05-14T12:36:49Z (GMT). No. of bitstreams: 1
arquivototal.pdf: 4670372 bytes, checksum: 4a27df26b20a2ccb05b5f1cbbcc66103 (MD5)
Previous issue date: 2014-02-11 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / Due to the current needs and high demand for software products with more quality, various approaches for software development have been proposed. Among such approaches, Software Product Line has emerged as a promising approach for improving software quality and reducing costs and development time due to its high capacity for promoting software reuse. As another promising approach, Distributed Software Development has been adopted by organizations as a consequence of globalization, making possible to find skilled software professionals and more attractive costs in organizations spread throughout the world. By adopting such approaches together, domain experts can be found in several outsourcing or even insourcing software development teams around the world. However, even adopting such approaches to improve the software quality, is not possible to guarantee the software quality if software development teams do not have the necessary and specific knowledge to implement each module. So, a key question arises: which teams are more technically qualified to develop each module identified in a software project? Considering only ten software development teams and ten software modules, it is possible to identify 1010 combinations of modules and teams, in other words, 10.000.000.000 possible arrangements. Clearly, this is a complex process to be done by project managers based on their experience, since a large number of combinations can be identified with a relatively small number of teams and software modules. Thus any ad-hoc decision making can be complex, inefficient and error-prone.
In order to provide support for recommending qualified global software teams in Software Product Line projects, this dissertation presents a decision support approach that identifies a set of technically qualified software development teams for each software module. To achieve such a goal, the proposed approach is based on technical requirements of software modules and technical capabilities of software development teams. The proposed approach is structured in four stages. The first stage is intended to produce an artifact that represents the technical requirements expected to develop each software module. Based on such requirements, the second stage is intended to represent the technical capabilities of all candidate software development teams. Then, the third stage aims to define a policy that guides the selection of such teams. Finally, the fourth stage maps the information collected in earlier stages into a fuzzy logic algorithm and performs the selection of technically qualified teams. As output, for each software module, a recommendation is generated that indicates a set of candidate teams that have the most appropriate technical skills to implement the software module / Devido às necessidades atuais e grande demanda de produtos de software com cada vez mais qualidade, várias abordagens para desenvolvimento de software foram desenvolvidas. Entre estas, as Linhas de Produtos de Software surgiram como uma abordagem promissora para a melhoria da qualidade de software e redução de custos e prazos devido a sua alta capacidade de reúso. Outra abordagem promissora que tem sido adotada pelas organizações, como consequência da globalização, é o Desenvolvimento Distribuído de Software, pois a partir dela é possível encontrar mão de obra qualificada e custos mais atrativos em empresas espalhadas pelo mundo. Ao adotar conjuntamente essas abordagens, especialistas de domínio podem ser encontrados em várias equipes terceirizadas ou mesmo equipes de subsidiárias ou filiais de todo o mundo. Todavia, mesmo utilizando-se de abordagens que visam melhorar a qualidade dos produtos de software criados, não se pode garantir a qualidade dos mesmos se as equipes não possuírem os conhecimentos necessários e específicos para implementação dos diversos módulos de software. Assim, surge uma questão primordial: quais equipes são tecnicamente mais qualificadas para desenvolver cada módulo identificado num projeto de software? Considerando apenas dez equipes e dez módulos de software, é possível identificar 1010 combinações entre módulos e equipes, ou seja, 10.000.000.000 de arranjos possíveis. Claramente, esse é um processo complexo para ser realizado pelo gerente de projetos utilizando apenas sua experiência, uma vez que um grande número de combinações pode ser identificado com um número relativamente pequeno de equipes e módulos de software. Assim, qualquer decisão ad-hoc tomada pode ser complexa, ineficiente e sujeita a erros.
A fim de fornecer suporte para escolha de equipes distribuídas de desenvolvimento de software, podendo inclusive o projeto estar integrado em um cenário de Linha de Produtos de Software, este trabalho apresenta uma abordagem de apoio à decisão que identifica um conjunto de equipes qualificadas tecnicamente para o desenvolvimento de cada módulo de software, baseado em requisitos técnicos dos módulos e capacidades técnicas das equipes. A abordagem proposta está estruturada em quatro etapas. A primeira tem a intenção de produzir um artefato que representa os requisitos técnicos esperados para desenvolver cada módulo de software. Com base em tais exigências, a segunda etapa tem por objetivo representar as capacidades técnicas de todas as equipes candidatas. Em seguida, a terceira etapa visa à definição de uma política que rege a seleção de equipes. Por fim, a quarta etapa cruza as informações coletadas nas fases anteriores em um algoritmo de lógica fuzzy e realiza a seleção das equipes. Como saída, para cada módulo de software é gerado uma recomendação que indica o conjunto de equipes candidatas que possuem as qualificações técnicas mais adequadas para implementar os módulos de softwares segundo a política de seleção adotada
Identifer | oai:union.ndltd.org:IBICT/oai:tede.biblioteca.ufpb.br:tede/6124 |
Date | 11 February 2014 |
Creators | Santos, Vinicius Souza dos |
Contributors | Silveira, Glêdson Elias da |
Publisher | Universidade Federal da Paraíba, Programa de Pós-Graduação em Informática, UFPB, BR, Informática |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFPB, instname:Universidade Federal da Paraíba, instacron:UFPB |
Rights | info:eu-repo/semantics/openAccess |
Relation | 4679641312648529202, 600, 600, 600, 600, 7879657947546587587, 3671711205811204509, 2075167498588264571 |
Page generated in 0.1651 seconds