Your SlideShare is downloading. ×
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

404
views

Published on

Seminários do LES - 06.09.2012 …

Seminários do LES - 06.09.2012

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

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
404
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UM ESTUDO SOBRE GERENCIAMENTO DEVARIABLIDADE EM LINHAS DE PROCESSO DESOFTWARETrabalho de Conclusão de Curso - TCC 2012 Acadêmico: Maicon Giovane Pazin Orientador: Prof. Dr. Edson A. Oliveira Junior
  • 2. 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
  • 3. 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.
  • 4. 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.
  • 5. Linha de Produto deSoftware• 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.
  • 6. Linha de Produto deSoftware• 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.
  • 7. Linha de Produto deSoftware• 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.
  • 8. Linha de Processo deSoftware (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).
  • 9. Linha de Processo deSoftware (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).
  • 10. Linha de Processo deSoftware (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.
  • 11. Linha de Processo deSoftware (LPS)Notações e Ferramentas para GerênciaVariabilidade em LPS•Software Process Engineering Metamodel (SPEM) 2.0•EPF Composer•UML•Feature Models•Orthogonal Variability Modeling (OVM)
  • 12. 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.
  • 13. 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
  • 14. 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.
  • 15. 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.
  • 16. 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")
  • 17. 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.
  • 18. Revisão Sistemática• Trabalhos recuperados:
  • 19. Revisão SistemáticaNúmeros obtidos:•36 Trabalhos recuperados•17 Trabalhos selecionados para a leitura na íntegra•13 Trabalhos considerados relevantes
  • 20. Revisão SistemáticaTrabalhos considerados relevantes: Id. Título Autor(es) Ano1 Business Process Lines to deal with the Variability Rolland et al 20102 Deriving Project-Specific Processes from Process Line Architecture with Commonality and Washizaki 2006 Variability3 Variability Mechanism Centric Process Family Architectures Schnieders 20064 Modeling and Implementing Variability in State Machine Based Process Family Schnieders 2006 Architectures for Automotive Systems5 A Component Abstraction for Business Processes Barat et al. 20116 Building Software Process Line Architectures from Bottom Up Washizaki 20067 Representing Process Variation with a Process Family Simidchieva 2007 et al.8 Modeling Variability in Software Process Lines Simmonds 20119 Variability Mechanisms in E-Business Process Families Schnieders e 2006 Puhlmann10 Variability Modeling and Product Derivation in E-Business Process Families Schnieders e 2007 Puhlmann11 Supporting the Definition of Software Processes at Consulting Organizations via Software Barreto et al. 2010 Process Lines12 A Model-Driven Approach to Managing and Customizing Software Process Variabilities Aleixo et al. 201013 Automating the Variability Management, Customization and Deployment of Software Aleixo et al. 2010 Processes: A Model-Driven Approach
  • 21. 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.
  • 22. 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.
  • 23. Abordagem• SMarty para Gerenciamento de Variabilidade
  • 24. 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.
  • 25. Abordagem• Modelagem doProcesso Unificadoem SPEM 2.0
  • 26. 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.
  • 27. UM ESTUDO SOBRE GERENCIAMENTO DEVARIABLIDADE EM LINHAS DE PROCESSO DESOFTWAREMaicon Giovane Pazin - maiconpazin@gmail.comColaboração: Prof. Dr. Uirá Kulesza Prof. Fellipe Aleixo Perguntas?