Top Banner
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADE EM LINHAS DE PROCESSO DE SOFTWARE Trabalho de Conclusão de Curso - TCC 2012 Acadêmico: Maicon Giovane Pazin Orientador: Prof. Dr. Edson A. Oliveira Junior
27

Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software

Jul 04, 2015

Download

Education

Seminários do LES - 06.09.2012

Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Revisão Sistemática

• Trabalhos recuperados:

Page 19: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software

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

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

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

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

Abordagem• SMarty para Gerenciamento de Variabilidade

Page 24: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software

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

Abordagem• Modelagem do

Processo Unificado

em SPEM 2.0

Page 26: Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software

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

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?