Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

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

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

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

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 SPEM_Foundation

<<metamodel>>

SPEM_Extensions<<metamodel>>

Especificação de SPEM - Estrutura de Pacotes

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 Vieirahva@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/