250 likes | 326 Views
SPEM ( Software Process Engineering Metamodel ): Uma Linguagem para Modelagem de Processos de Software. Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006. Roteiro. Processo de Software Visão geral de Modelagem Visão geral de SPEM Processo definido usando SPEM
E N D
SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006
Roteiro • Processo de Software • Visão geral de Modelagem • Visão geral de SPEM • Processo definido usando SPEM • Ferramentas CASE • Limitações de SPEM
Processo de Software • Conjunto de Atividades executadas para desenvolver, manter e gerenciar sistemas de software. • Elementos comuns a um processo de Software: atividades, papéis e artefatos.
Processo de Software • Elementos comum ao processo
Modelagem de Processos de software • Objetivos • Facilitar o entendimento do processo • Facilitar a adaptação do processo • Facilitar gerência do processo
Modelagem de Processos • Um processo pode ser descrito textualmente ou através da utilização de modelos. • Ao longo dos últimos anos surgiram diversas linguagens com o propósito de modelar processos de software • Exs: DYNAMITE, E3, SPEM
SPEM • Em Novembro de 2002 a meta-linguagem Software Process Engineering Metamodel (SPEM) foi oficializada como um padrão da OMG e encontra-se atualmente na versão 1.1. • SPEM é um meta-modelo que define estereótipos UML para a modelagem de processos de software
Origem do SPEM • Foi um esforço coletivo de pesquisadores e consultores, tais como: • Empresas: IBM Rational, Computer Associates, Toshiba, Siemens, etc. • Pesquisadores: Philippe Kruntchen, Craig Lairman, e diversos outros. • As empresas focam-se agora em construir ferramentas para dar apoio a SPEM.
Como SPEM foi definida • SPEM adota uma abordagem OO com base na UML para modelar processos de Software • Sua definição se baseia em uma arquitetura de 4 níveis de modelagem definida pela OMG
Características de SPEM • O Meta-Object Facility (MOF) é a tecnologia adotada pela OMG para definir metadados. • SPEM usa um subconjunto da UML para representar seus elementos como um meta-modelo MOF. • Uso de OCL.
Descrição dos níveis • A especificação de SPEM está estruturada como um perfil UML (UML profile). • “Um UML-profile é um conjunto de uma ou mais extensões da semântica de UML com a intenção de customizá-la para um domínio ou propósito particular, como, por exemplo, para modelagem de processos no caso de SPEM”
Especificação de SPEM • O meta-modelo SPEM é composto por 2 pacotes • SPEM_Foundation Estende um subconjunto do meta-modelo da UML 1.4. • SPEM_Extensions Adiciona as construções e semânticas requeridas para a engenharia de processos de software
Especificação de SPEM Detalhamento do pacote ProcessStructure
Modelando com SPEM • Como os usuários de SPEM (Engenheiros de Processo) usam SPEM? • Através de diagramas UML Estereotipados • SPEM define estereótipos para seus elementos de modelagem
Alguns estereótipos de SPEM • WorkProduct: É uma descrição de algo que contém informação ou é uma entidade física produzida ou usada por atividades do processo. Ex: modelos, planos, documentos, etc. Estereótipo:
Alguns estereótipos de SPEM • Activity: Descreve uma determinada atividade que um papel realiza dentro de um processo Estereótipo: • ProcessRole: Descreve os papéis, responsabilidades e competências que um determinado indivíduo tem dentro do processo Estereótipo:
Alguns estereótipos de SPEM • Discipline: É um agrupamento coerente de elementos do processo (artefatos, papéis, atividades) cujas atividades são organizadas segundo algum ponto de vista ou tema comum (Ex: Análise e Projeto, teste, implementação, etc.). Estereótipo:
Alguns estereótipos de SPEM • Guidance: É um elemento do modelo que se associa a outros elementos para ajudar ou instruir na sua realização. Pode representar técnicas, “guidelines”, “templates”,etc. Estereótipo:
Exemplo de SPEM • RUP definido com SPEM
SPEM 2.0 • A caminho!!! • RFP submetida a OMG em nov/2004 • Requisitos: • Alinhamento com a UML 2.0 • Revisão do conceito de componente • Reescrever de forma que um usuário com pouca experiência em UML possam entender • Estender para Processo de Execução
Ferramentas CASE • Apresentação de um exemplo de modelagem processo usando SPEM na ferramenta (Sparx Systems) • IRIS Process Author (Osellus) • Rational Method Composer (IBM)
Limitações de SPEM • Não aborda a execução do processo. • Pouco validado em casos reais.
Fim Obrigado !!! Heron Vieira hva@cin.ufpe.br
Referências • Especificação de SPEM • http://www.omg.org/ • RFP SPEM 2.0 (OMG) • http://www.omg.org/cgi-bin/doc?ad/2004-11-4 • Enterprise Architec • http://www.sparxsystems.com/