![Page 1: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/1.jpg)
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADE EM LINHAS DE PROCESSO DE SOFTWARE
Trabalho de Conclusão de Curso - TCC 2012
Acadêmico: Maicon Giovane PazinOrientador: Prof. Dr. Edson A. Oliveira Junior
![Page 2: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/2.jpg)
Tópicos• Introdução
• Linha de Produto de Software
• Linha de Processo de Software
• Objetivos do Trabalho
• Etapas do Trabalho
• Revisão Sistemática
• Proposta de Abordagem
• Conclusões Parciais
![Page 3: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/3.jpg)
Motivação• Demanda crescente pela definição e melhoria contínua
de processos para promover o desenvolvimento produtivo de software de qualidade.
• Demanda pela rápida e efetiva customização de processos de software atuais para endereçar a variedade de projetos, tecnologias, cultura e escala existentes.
![Page 4: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/4.jpg)
Motivação• Evolução da área de processos de software:
o Modelos de maturidade: CMMi, MPS.BR, PMBok
o Frameworks de processos: EPF, RUP
o Metodologias e práticas agéis: UP, Scrum, XP
• Existência de inúmeras informações, técnicas e mecanismos que auxiliam na definição e avaliação de processos de software.
![Page 5: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/5.jpg)
Linha de Produto de Software• Conjunto de sistemas de softwares em um domínio que
compartilham funcionalidades comuns e variáveis.
• Reúso sistemático de artefatos em nível de código e de projeto: features, arquitetura, componentes, etc.
• Vantagens: Produtividade, Custos, Tempo, Risco e Qualidade do Produto.
![Page 6: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/6.jpg)
Linha de Produto de Software• Atividades Essenciais:
1. Desenvolvimento do Núcleo de Artefatos (Engenharia de Domínio): Análise do domínio, projeto do domínio, implementação do domínio.
2. Desenvolvimento do Produto (Engenharia de Aplicação): Analise dos requisitos, configuração do produto, customização e desenvolvimento do projeto.
3. Gerenciamento de Linha de Produto: Garantia do processo e evolução da linha de produto.
![Page 7: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/7.jpg)
Linha de Produto de Software• Variabilidade: Uma feature que varia de um produto
para outro.
• Pontos de Variação: Um ponto/lugar onde uma variabilidade ocorre em um artefato da linha de produto de software.
• Variantes: As diferentes possibilidades que existem para satisfazer um dado ponto de variação.
![Page 8: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/8.jpg)
Linha de Processo de Software (LPS)
• Definição: Uma família de processos de software com um conjunto gerenciado de características que satisfazem necessidades específicas de uma organização e que são desenvolvidos a partir de um conjunto de processos básicos comuns (Armbrust et al, 2009).
![Page 9: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/9.jpg)
Linha de Processo de Software (LPS)
• Preocupação: criar um conjunto de processos genéricos, capturar as similaridades e controlar as variabilidades sobre um domínio.
• Vantagens: Aumentar a previsibilidade, diminuir prazo e custo, minimizar riscos (abordagem de reuso).
![Page 10: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/10.jpg)
Linha de Processo de Software (LPS)Variabilidade em LPS
• Elementos de Processos: Atividades, tarefas, artefatos e papéis
• Variabilidade: Elemento de processo que varia entre diferentes domínios/projetos.
• Pontos de Variação: Ponto/local onde elementos de processo podem ser instanciados em diferentes formas.
• Variantes: Elementos de processo permitidos para serem inseridos em um ponto de variação.
![Page 11: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/11.jpg)
Linha de Processo de Software (LPS)Notações e Ferramentas para Gerência Variabilidade em LPS
•Software Process Engineering Metamodel (SPEM) 2.0
•EPF Composer
•UML
•Feature Models
•Orthogonal Variability Modeling (OVM)
![Page 12: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/12.jpg)
Objetivos• Realizar uma revisão sistemática sobre gerenciamento
de variabilidade em LPS.
• Identificar e analisar as abordagens recuperadas mais relevantes.
• Propor/Estender uma abordagem para gerenciamento de variabilidade em LPS apoiada pela UML e linguagens relacionadas.
• Apresentar um exemplo de aplicação da abordagem proposta.
• Analisar os resultados obtidos.
![Page 13: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/13.jpg)
Etapas• Estudo dos conceitos (OK)
• Revisão sistemática (OK)
• Análise dos resultados obtidos (OK)
• Proposta/extensão de uma abordagem para gerenciar variabilidade em LPS (Em andamento)
• Aplicação e análise da abordagem proposta/extendida
![Page 14: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/14.jpg)
Revisão Sistemática
• Kitchenham (2004)
• Objetivo da pesquisa:
1. Identificar e analisar estudos sobre linha de processo de software (LPS), gerenciamento de variabilidade em LPS, modelagem de artefatos e derivação automática de processos a partir de uma LPS.
2. Apresentar uma análise crítica sobre os estudos recuperados e identificar as abordagens que poderão ser utilizadas para propor uma nova abordagem para gerenciamento de variabilidade em LPS.
![Page 15: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/15.jpg)
Revisão Sistemática• Parâmetros de busca:Fontes: bases de dados eletrônicas indexadas (IEEE, ACM, ScienceDirect,
Scopus e Compendex), máquinas de busca eletrônica (Scirus (Elsevier) e Google Scholar) e consultas a especialistas.
Idioma dos trabalhos: inglês.
Tipos de documentos: artigos de conferência, anais de congresso, artigos de periódicos, capítulos de teses e dissertação e relatórios técnicos.
Ano de publicação: estudos que foram publicados a partir do ano de 2005.
![Page 16: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/16.jpg)
Revisão Sistemática
• Palavras-Chave: "software", "process line" e "variability"
• String de Busca:
"software "
AND
("process line" OR "process lines" OR "process-line" OR "process-family" OR
"process family" OR "family of process" OR "process families" OR "families
of process")
AND
("variability" OR "variant" OR "variation" OR "variation point" OR "commonality")
![Page 17: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/17.jpg)
Revisão Sistemática• Processo de seleção preliminar:
1. Consulta nas bases de dados indexadas e máquinas de busca.
2. Leitura dos títulos e resumos dos resultados obtidos.
3. Aplicação dos critérios de inclusão e exclusão pré-estabelecidos.
• Processo de seleção final:
1. Leitura na íntegra dos trabalhos pré-selecionados.
2. Elaboração de um resumo destacando a abordagem apresentada e os conceitos envolvidos nos trabalhos.
![Page 18: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/18.jpg)
Revisão Sistemática
• Trabalhos recuperados:
![Page 19: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/19.jpg)
Revisão Sistemática
Números obtidos:
•36 Trabalhos recuperados
•17 Trabalhos selecionados para a leitura na íntegra
•13 Trabalhos considerados relevantes
![Page 20: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/20.jpg)
Revisão Sistemática
Trabalhos considerados relevantes:Id. Título Autor(es) Ano
1 Business Process Lines to deal with the Variability Rolland et al 2010
2 Deriving Project-Specific Processes from Process Line Architecture with Commonality and Variability
Washizaki 2006
3 Variability Mechanism Centric Process Family Architectures Schnieders 2006
4 Modeling and Implementing Variability in State Machine Based Process Family Architectures for Automotive Systems
Schnieders 2006
5 A Component Abstraction for Business Processes Barat et al. 2011
6 Building Software Process Line Architectures from Bottom Up Washizaki 2006
7 Representing Process Variation with a Process Family Simidchieva et al.
2007
8 Modeling Variability in Software Process Lines Simmonds 2011
9 Variability Mechanisms in E-Business Process Families Schnieders e Puhlmann
2006
10 Variability Modeling and Product Derivation in E-Business Process Families Schnieders e Puhlmann
2007
11 Supporting the Definition of Software Processes at Consulting Organizations via Software Process Lines
Barreto et al. 2010
12 A Model-Driven Approach to Managing and Customizing Software Process Variabilities Aleixo et al. 2010
13 Automating the Variability Management, Customization and Deployment of Software Processes: A Model-Driven Approach
Aleixo et al. 2010
![Page 21: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/21.jpg)
Revisão Sistemática
• Extração de informações dos trabalhos relevantes: Autor(es), título do documento, fonte, ano da publicação, volume, quantidade de páginas, resumo, palavras-chave e propriedades ou características abordadas nos trabalhos.
![Page 22: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/22.jpg)
Abordagem• Passos concluídos:
1. Análise das abordagens para gerenciamento de variabilidade em LPS baseadas na notação UML.
2. Análise da abordagem SMarty para gerenciamento de variabilidade em linha de produto.
![Page 23: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/23.jpg)
Abordagem• SMarty para Gerenciamento de Variabilidade
![Page 24: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/24.jpg)
Abordagem• Próximos passos:
1. Modelagem dos Core Workflows do Processo Unificado (UP) utilizando as ferramentas EPF Composer e Enterprise Architect baseadas na linguagem de modelagem SPEM versão 2.0. (Em andamento)
2. Proposta/extensão de uma abordagem baseada na notação UML.
3. Exemplo de aplicação da abordagem proposta.
4. Analise da abordagem proposta.
![Page 25: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/25.jpg)
Abordagem• Modelagem do
Processo Unificado
em SPEM 2.0
![Page 26: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/26.jpg)
Conclusões Parciais• A adoção de técnicas e conceitos da engenharia de
linhas de produto para processos de software parece gerar bons resultados.
• Foi possível constatar que ainda não existem muitas abordagens na literatura que tratam especificamente do assunto.
• Existe uma carência de métodos e ferramentas apropriadas para a gerencia da LPS e derivação automática de processos customizados.
![Page 27: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software](https://reader031.vdocuments.com.br/reader031/viewer/2022020123/55980ceb1a28ab352c8b4788/html5/thumbnails/27.jpg)
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADE EM LINHAS DE PROCESSO DE SOFTWARE
Maicon Giovane Pazin - [email protected]ção: Prof. Dr. Uirá Kulesza
Prof. Fellipe Aleixo
Perguntas?