![Page 1: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/1.jpg)
SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software
Heron Vieira Aguiar“Seminário da disciplina MDA”
Julho de 2006
![Page 2: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/2.jpg)
Roteiro
Processo de Software Visão geral de Modelagem Visão geral de SPEM Processo definido usando SPEM Ferramentas CASE Limitações de SPEM
![Page 3: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/3.jpg)
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.
![Page 4: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/4.jpg)
Processo de Software
Elementos comum ao processo
Role
activity1(WorkProduct1) activity2(WorkProduct2)
Role
Activity 0..*
1
0..*
1
Performs
WorkProduct 0..* 1 0..* 1 IsResponsibleFor
0..*
0..*
0..*
input 0..*
Uses
0..*
0..*
0..*
output 0..*
Produces
![Page 5: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/5.jpg)
Modelagem de Processos de software
Objetivos Facilitar o entendimento do processo Facilitar a adaptação do processo Facilitar gerência do processo
![Page 6: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/6.jpg)
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
![Page 7: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/7.jpg)
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
![Page 8: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/8.jpg)
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.
![Page 9: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/9.jpg)
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
M3
M2
M1
M0
MOF
SPEM,UML
e.g., RUP,Open, XP
Process as really enacted on a given project
MetaObject Facility
Process Metamodel
Process Model
Performing Process
![Page 10: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/10.jpg)
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.
![Page 11: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/11.jpg)
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”
![Page 12: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/12.jpg)
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 SPEM_Foundation
<<metamodel>>
SPEM_Extensions<<metamodel>>
![Page 13: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/13.jpg)
Especificação de SPEM - Estrutura de Pacotes
![Page 14: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/14.jpg)
Especificação de SPEM Detalhamento do pacote ProcessStructure
![Page 15: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/15.jpg)
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
![Page 16: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/16.jpg)
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:
![Page 17: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/17.jpg)
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:
![Page 18: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/18.jpg)
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:
![Page 19: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/19.jpg)
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:
![Page 20: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/20.jpg)
Exemplo de SPEM
RUP definido com SPEM
![Page 21: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/21.jpg)
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
![Page 22: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/22.jpg)
Ferramentas CASE Apresentação de um exemplo de
modelagem processo usando SPEM na ferramenta
(Sparx Systems)
IRIS Process Author (Osellus) Rational Method Composer (IBM)
![Page 23: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/23.jpg)
Limitações de SPEM
Não aborda a execução do processo.
Pouco validado em casos reais.
![Page 25: SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software Heron Vieira Aguiar “Seminário da disciplina MDA”](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc15e497959413d8e57cc/html5/thumbnails/25.jpg)
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/