SPEM / EPF Composer Audrey Bezerra de Vasconcelos [email protected] Qualidade de Software Prof. Alexandre Vasconcelos Agenda • • • • Contextualização SPEM EPF Composer Atividade Prática Contextualização • Processos de Software – Conjunto de atividades executadas para desenvolver, manter e gerenciar sistemas de software – Tais atividades são executadas por pessoas (atores) que possuem um determinado papel no processo – As atividades podem atualizar, criar e usar artefatos durante a sua execução – Elementos comuns a um processo de Software: atividades, papéis e artefatos – Como descrever o processo e a interrelação entre estes elementos? • Uma opção é usar modelagem! Contextualização • SPEM (Software Process Engineering Metamodel) – É uma linguagem de modelagem, denominada de metamodelo, ou seja, um conjunto de construtores e regras para definir e modelar processos de software, sendo mantido pela OMG. • EPF (Eclipse Process Framework) – É uma iniciativa open-source do Eclipse, em parceria com organizações com grande experiência na área de elaboração de processos de desenvolvimento de software SPEM • SPEM surgiu com o propósito de criar um padrão para expressar qualquer processo de software • Sua definição se baseia em uma arquitetura de 4 níveis de modelagem definida pela OMG SPEM • Estruturado como um UML profile e provê um meta-modelo baseado em MOF – UML Profile: Variação de UML que usa mecanismos de extensão de uma forma padronizada para um fim particular – MOF (Meta-Object Facility): Tecnologia adotada pela OMG para definição de metadados, que possui um conjunto de elementos de modelagem utilizados na construção dos meta-modelos; inclui regras para o seu uso SPEM - Ferramentas • Uma ferramenta que utiliza SPEM deve ser uma ferramenta de criação e customização de processos • Exemplos: – Promodeller - Ferramenta de Modelagem de Processo de Software – Odyssey-CCS - Ferramenta que auxilia na realização de tarefas relacionadas ao controle de modificações de software – EPF Composer – Framework que possibilita produzir um processo de software customizado, suportando uma ampla variedade de tipos de projetos e estilos de desenvolvimento EPF Composer • Acrônimo de Eclipse Process Framework Composer • Um ecossistema colaborativo e aberto para processos de desenvolvimento de software evolutivos • Provê exemplos práticos e ferramentas de engenharia de processos fundamentada em um meta-modelo EPF Composer - Arquitetura Disciplinas x Processos Perspectiva de disciplinas (ou sub-processos) Perspectiva de execução (esforço de disciplinas ao longo do tempo) Elementos Básicos Framework Perspectiva temporal (ciclos de vida, fluxos de atividades etc.) Elementos básicos de um processo (compõem as disciplinas) Dúvidas? ATIVIDADE PRÁTICA Referências • • • • • • • OMG (http://www.omg.org) SPEM 2.0 (http://www.omg.org/docs/formal/08-04-01.pdf) Jacinto, Shirley da Silva, “Modelagem dos processos de Gerenciamento de Tempo do PMBok utilizando SPEM e BPMN”, Centro de Informática, UFPE, 2008. Eclipse Process Framework Project ( http:///www.eclipse.org/epf) CORDEIRO, Edson dos Santos. Modelagem de Processo de Software. Disponível em: http://www.cordeiro.pro.br/aulas/engenharia/processoDeSoftware/modelagem.p df, Janeiro, 2009. Santos, Daniele P; Vasconcelos, Alexandre M. L, “Utilizando EPF para modelagem de processo e diminuição da curva de aprendizado numa equipe multidisciplinar”. Genvigir, Elias C; Borrego Filho, Fernando F, “Modelagem de Processos de Software Através do SPEM - Software Process Engineering Metamodel Conceitos e Aplicação”. Disponível em: http://mtcm18.sid.inpe.br/col/lac.inpe.br/worcap/2003/10.31.14.46/doc/artigo_worcap_elia s_2003.PDF