2607
379 pág.

2607

Pré-visualização50 páginas
ODYSSEYPROCESSREUSE: UMA METODOLOGIA PARA ENGENHARIA DE 
LINHA DE PROCESSOS DE SOFTWARE BASEADA EM COMPONENTES 
 
 
 
 
Eldânae Nogueira Teixeira 
 
 
 
Tese de Doutorado apresentada ao Programa de 
Pós-graduação em Engenharia de Sistemas e 
Computação, COPPE, da Universidade Federal 
do Rio de Janeiro, como parte dos requisitos 
necessários à obtenção do título de Doutor em 
Engenharia de Sistemas e Computação. 
Orientadora: Cláudia Maria Lima Werner 
 
 
 
 
Rio de Janeiro 
Março de 2016 
 
 
 
ODYSSEYPROCESSREUSE: UMA METODOLOGIA PARA ENGENHARIA DE 
LINHA DE PROCESSOS DE SOFTWARE BASEADA EM COMPONENTES 
 
Eldânae Nogueira Teixeira 
 
TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ 
COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA 
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS 
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM 
CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO. 
 
Examinada por: 
 
________________________________________________ 
Profa. Cláudia Maria Lima Werner, D.Sc. 
 
 
 
________________________________________________ 
Prof. Toacy Cavalcante de Oliveira, D.Sc. 
 
 
 
________________________________________________ 
Prof. Uirá Kulesza, D.Sc. 
 
 
 
________________________________________________ 
Prof. Leonardo Gresta Paulino Murta, D.Sc. 
 
 
 
________________________________________________ 
Profa. Renata Mendes de Araujo, D.Sc. 
 
 
RIO DE JANEIRO, RJ - BRASIL 
MARÇO DE 2016
iii 
 
 
 
 
 
 
 
 
 
Teixeira, Eldânae Nogueira 
OdysseyProcessReuse: Uma Metodologia para 
Engenharia de Linha de Processos de Software baseada 
em Componentes/ Eldânae Nogueira Teixeira. \u2013 Rio de 
Janeiro: UFRJ/COPPE, 2016. 
XX, 359 p.: il.; 29,7 cm. 
Orientadora: Cláudia Maria Lima Werner. 
Tese (doutorado) \u2013 UFRJ/ COPPE/ Programa de 
Engenharia de Sistemas e Computação, 2016. 
 Referências Bibliográficas: p. 257-275. 
1. Reutilização de Processos de Software. 2. Linha 
de Processos de Software 3. Variabilidade de Processos de 
Software 4. Componentes de Processos de Software I. 
Werner, Cláudia Maria Lima. II. Universidade Federal do 
Rio de Janeiro, COPPE, Programa de Engenharia de 
Sistemas e Computação. III. Título. 
 
 
 
 
 
 
 
 
 
iv 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 \u201cDigo o que penso, com esperança. Penso no que faço, com fé. Faço o que devo fazer, com amor. Eu me 
esforço para ser cada dia melhor, pois bondade também se aprende. Mesmo quando tudo parece desabar, cabe 
a mim decidir entre rir ou chorar, ir ou ficar, desistir ou lutar. Porque descobri, no caminho incerto da vida, que o 
mais importante é o decidir.\u201d 
Cora Coralina 
v 
 
 
AGRADECIMENTOS 
À energia suprema do universo, luz que me faz vencer os medos, representa o 
significado da minha trajetória, e me guia na consolidação do meu caráter, sabedoria e fé. 
A minha mãe, essa guerreira e eterna companheira, que sempre está ao meu lado e 
dedica todo amor e confiança em minha essência, na minha capacidade e na minha 
transformação para concretização dos meus objetivos. Agradeço a paciência pelos momentos 
de angústia e ansiedade, e pelo discernimento e ensinamento transmitidos para que eu possa 
persistir e buscar o verdadeiro significado que a vida representa para mim. 
Ao meu filhotinho e melhor amigo, Hachi, razão do meu sorriso e de cada alegria que 
me faz esquecer qualquer tristeza e a buscar sempre o melhor em tudo, inclusive em mim 
mesma. 
Ao meu avô, Nogueira, que sempre se orgulhou de cada conquista. 
À orientadora Cláudia Werner, pelos direcionamentos ao longo de minha formação 
acadêmica, desde a Iniciação Científica, que com a convivência e o tempo, me motivou a novos 
desafios, mas sem interferir no meu modo de ser \u201cintrospectivo\u201d. Agradeço à confiança, o 
incentivo e as diversas oportunidades que contribuíram de forma essencial para o meu 
amadurecimento profissional e pessoal. 
À Aline Vasconcelos, pela coorientação na elaboração deste trabalho. Agradeço pela 
parceria em diferentes momentos e pelas conversas com troca de ideias e experiências, e 
perspectivas de colaborações futuras. 
Aos professores da UFRJ e da COPPE que participaram do meu aprendizado e 
formação e confiaram em minha capacidade. 
À instituição como um todo, que viabilizou minha formação e deu todo suporte, em 
especial, ao CNPq, pelo apoio financeiro, e ao PESC. 
Aos antigos e novos colegas dessa trajetória, dos grupos de pesquisa da COPPE, da 
COPPETEC e, em especial, do grupo de Reutilização de Software da COPPE/UFRJ, por todas as 
contribuições para o desenvolvimento pessoal e troca de conhecimentos. 
Aos professores Leonardo Murta, Renata Araujo, Toacy Oliveira e Uirá Kulesza, por 
terem aceitado fazer parte desta banca. 
A todos que participaram das avaliações conduzidas ao longo do desenvolvimento 
deste trabalho. 
Por último, agradeço à vida. \u201cC\u2019ést La Vie!\u201d 
\u201cA beleza de ser um eterno aprendiz\u201d (Gonzaguinha) 
vi 
 
 
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários 
para a obtenção do grau de Doutor em Ciências (D.Sc.) 
 
ODYSSEYPROCESSREUSE: UMA METODOLOGIA PARA ENGENHARIA DE 
LINHA DE PROCESSOS DE SOFTWARE BASEADA EM COMPONENTES 
 
Eldânae Nogueira Teixeira 
 
Março/2016 
 
Orientadora: Cláudia Maria Lima Werner 
 
Programa: Engenharia de Sistemas e Computação 
 
 A definição de processo de software pode ser considerada uma tarefa complexa. 
Espera-se que tal atividade, quando suportada por uma abordagem sistemática de 
reutilização, forneça os mesmos benefícios alcançados em reutilização de software, 
como melhorias na produtividade e qualidade associadas com reduções de custos e 
esforços. A escolha de quais informações podem ser reutilizadas, garantindo que fatores 
específicos de projeto e da organização sejam atendidos, é um aspecto que pode ser 
melhor suportado dependendo dos mecanismos usados para representar e organizar um 
domínio de processos de software. Desta forma, o objetivo desta tese é definir uma 
metodologia que suporte o engenheiro de domínio de processos a definir uma estrutura 
de processos de software reutilizável combinando técnicas de reutilização. Essa tese 
envolve a definição de um processo para reutilização, de uma representação para 
modelagem de um domínio de processos de software por meio da definição de um 
metamodelo e notação, que trate as propriedades de variabilidade em diferentes níveis 
de abstração, e de procedimentos que direcionem a definição, mapeamento e 
agrupamento de artefatos do domínio. Um suporte ferramental está sendo desenvolvido 
e técnicas de verificação semântica dos modelos criados também foram concebidas. 
Foram realizados estudos para analisar a viabilidade da metodologia proposta. Os 
resultados dessas avaliações apresentaram indícios da viabilidade de aplicação dos 
diferentes elementos que compõem a metodologia proposta. 
vii 
 
 
 Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the 
requirements for the degree of Doctor of Science (D.Sc.) 
 
ODYSSEYPROCESSREUSE: A METHODOLOGY FOR COMPONENT BASED 
SOFTWARE PROCESS LINE ENGINEERING 
 
Eldânae Nogueira Teixeira 
 
March/2016 
 
Advisor: Cláudia Maria Lima Werner 
 
Department: Systems Engineering and Computer Science 
 
The software process definition can be considered a complex task. It is expected 
that this activity, if supported by a systematic reuse approach, can provide the same 
benefits reached in software reuse for products as improvements in productivity and 
quality, associated with effort and cost reductions. An important aspect to promote the 
reusability in process definition is the representation and organization of the software 
process domain. So, the goal of this PhD thesis is to define a methodology to support 
the process