50
SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva [email protected]

SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva [email protected]

Embed Size (px)

Citation preview

Page 1: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

SPEM (Software Process Engineering Metamodel)

Maria Jocelia [email protected]

Page 2: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 2

Roteiro

Introdução Visão geral de SPEM S-Tropos Conclusões

Page 3: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 3

Roteiro

Introdução Visão geral de SPEM S-Tropos Conclusões

Page 4: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 4

SPEM é um meta-modelo

Descreve a estrutura necessária para formalmente expressar processos de desenvolvimento.

Descreve uma linguagem e esquema de representação para conteúdo metodológico e processos.

Page 5: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 5

Processos de Software

Processos de software Desenvolvimento em cascata Processos ad-hoc Processos unificado Desenvolvimento de jogos Open source Processos ágeis

Page 6: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 6

Processos de Software

Documentados ou não Modelados ou não

Objetivos Facilitar o entendimento Facilitar a adaptação Facilitar a gerência

Page 7: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 7

Processos de Software

Page 8: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 8

Processos de Software Elementos comuns em um processo:

Atividades / Ações Pessoas / Atores / papeis. Artefatos / produtos de trabalho

Page 9: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 9

Modelagem Ao longo dos últimos anos surgiram diversas

linguagens com o propósito de modelar processos de software Exs: DYNAMITE, E3, SPEM

Estas linguagens possuem muitas semelhanças e no geral querem capturar a visão dinâmica e estrutural do processo de software. Dinâmica Comportamento do processo ao longo do

tempo Estrutural Inter-relacionamento entre os seus

elementos

Page 10: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 10

Roteiro

Introdução Visão geral de SPEM S-Tropos Conclusões

Page 11: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 11

SPEM – Especificações técnicas

SPEM surgiu com o propósito de criar um padrão para expressar qualquer processo de software.

Oficializada em: Novembro de 2002

Versão oficial: 1.1 (06/01/2005) Versão Draft: 2.0 (usa UML profile 2.0)

Especificação adotada pela OMG

Page 12: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 12

SPEM OMG (Object Management Group)

Consórcio internacional de “industrias de computadores”, aberta a membros e não lucrativo.

Fundada em 1989 Finalidade: estabelecer diretrizes e especificações

pra prover um framework comum para o desenvolvimento de aplicações orientada a objetos.

Suportada por 600 membros Membros: Fornecedores de sistemas,

desenvolvedores de software, usuários

Page 13: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 13

SPEM Resultou de 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 14: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 14

SPEM

Estruturado como um UML profile (1.4) e prover um metamodelo 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) é uma tecnologia adotada

pela OMG para definição de metadados. possui um conjunto de elementos de modelagem utilizados na construção dos metamodelos inclui regras para o seu uso.

Page 15: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 15

SPEM

M3

M2

M0

M1

MOF

SPEM, UML

RUP, XP, MSF

Project

MetaObject Facility

Performing process

Process Model

Process Definition Metamodel

Conj. mínimo de elementos para descrever um processo de desenvolvimento de software.

Arquitetura de modelagem definida pela OMG

Page 16: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 16

SPEM - Visão geral

O meta-modelo SPEM é composto por 2 pacotes SPEM_Foundation Estende um

subconjunto do meta-modelo da UML 1.4. (Data_Types, Core, Actions, State_Machines, Activity_Graphs, Model_management)

SPEM_Extensions Adiciona as construções e semânticas requeridas para a engenharia de processos de software

SPEM_Foundation<<metamodel>>

SPEM_Extensions<<metamodel>>

Page 17: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 17

SPEM – Extensões

Elementos Básicos (External Description, Guidance)

Dependências (Categorizes, Impacts, Import, Precedes, RefersTo, Trace)

Estrutura do processo (WorkProduct, WorkDefinition, Activity, Step, ProcessRole)

Componentes do processo (Package, ProcessComponent, Process, Discipline)

Ciclo de vida do processo (Lifecycle, Phase, Iteration, Precondition, Goal)

Page 18: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 18

SPEM – Extensões

Basic Elements: External Description: Descrição do elemento

(conteúdo, nome, linguagem, formato)

Guidance: Informações detalhadas do elemento (UML Profile, Checklist, Tool mentor, Guideline, Template, Estimate)

Page 19: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 19

SPEM – Extensões

Estrutura do processo: WorkProduct: Partes tangíveis de informações

produzidas, modificadas ou consumidas. Ex: "Design Model", “Software development plan”, “Risk

Plan” Sinônimos: Artefatos, produtos.

WorkDefinition: Descreve o trabalho realizado no processo.

Ex: “Fluxo de trabalho do RUP” Activity and Step: Principal sub-classe de

workdefinition Ex: “Find use case and actors” no RUP Sinônimo: Atividades (RUP), Tarefas (OPEN)

Page 20: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 20

SPEM – Extensões

Estrutura do processo: ProcessPerformer: Executor em um conjunto de

Workdefinition. ProcessRole: Executor de atividades.

Ex: Architect, Analyst, Technical Writer, and Project Manager

Sinônimo: Worker (RUP), Role (OPEN)

Page 21: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 21

SPEM – Extensões

Componentes do processo: Package: É um recipiente que

pode possuir e importar elementos do processo

ProcessComponent: É um componente do processo.

Process: O processo em si. Discipline: Categoriza

atividades de acordo com um tema comum.

Sinônimo: Core WorkFlow, category, phase, activity, domain.

Page 22: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 22

SPEM – Extensões

Ciclo de vida do processo Lifecycle: Comportamento de um processo

completo Phase: Divide o tempo entre dois marcos

(milestones)

Iteration: Conjunto de atividades (workdefinition) com um marco menor.

Precondition and Goal: expressos em termos de estados do workproduct.

Ex: Modelo de design no estado PRONTO (Pré-Cond) Ação de Revisão no estado PRONTO (Goal)

Page 23: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 23

SPEM – Extensões

Dependências: Impacts: Entre WorkProducts Precedes: Entre WorkDefinitions Trace: Entre WorkDefinition para rastrear

requisitos Import: Adiciona conteúdo de um package ao

espaço de outro. Categorizes: Associa um elemento simples com

um package. RefersTo: Elementos do processo podem estar

contidos no mesmo processo

Page 24: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 24

SPEM – Notação

Diagramas da UML podem ser usados para apresentar diferentes perspectivas de um modelo de processos Diagramas de classes Diagramas de pacotes Diagramas de atividades Diagramas de casos de uso Diagrama de sequência

Page 25: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 25

SPEM – Notação

Diagramas de Classes

Page 26: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 26

SPEM – Notação

Diagramas de Pacotes

Page 27: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 27

SPEM – Notação

Diagramas de Casos de uso

Page 28: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 28

SPEM – Notação

Diagramas de Atividades

Page 29: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 29

SPEM

O objetivo de SPEM é suportar a definição de um processo de desenvolvimento de software incluindo aqueles processo que envolvem ou permitem o uso de UML, assim como o RUP.

É possível usar em um processo de desenvolvimento de software orientado a agentes?

Page 30: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 30

Roteiro

Introdução Visão geral de SPEM S-Tropos Conclusões

Page 31: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 31

S-Tropos Tropos é uma metodologia de desenvolvimento de

software multiagentes (MAS). 2001, Toronto Castro, J., Kolp, M. and Mylopoulos

Um agente é um sistema de computador situado em um ambiente, capaz de ações autônomas para atingir um dado objetivo.

Um MAS é um conjunto de agentes que interagem entre si. agentes, organizações, comunicação, negociação

and coordenação.

Page 32: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 32

S-Tropos Tropos:

Early Requirements Late Requirements Architectural Design Detailed Design

Tropos adota os conceitos oferecidos pelo i*, um framework baseado em conceitos, tais como Atores (agente, papel ou posição) e dependências entre os atores (Goal, softgoal, planos e recursos)

Page 33: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 33

S-Tropos

Page 34: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 34

S-Tropos

S-Tropos: É uma formalização de um processo de desenvolvimento em espiral para desenvolvimento de softwares multiagente extendendo a metodologia Tropos.

Page 35: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 35

S-Tropos - Disciplinas

Early Requirements Late Requirements Achitectural Design Detailed Design Development Validation Deployment Risk an PM

Diagrama de pacotes

Page 36: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 36

S-Tropos – Fases e WorkDefinitions

Diagrama de caso de uso

Page 37: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 37

S-Tropos – Fases e WorkDefinitions

Page 38: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 38

S-Tropos – Early Requirements

Package

ProcessRoles

WorkProducts

Guideline

Page 39: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 39

S-Tropos – Early Requirements

WorkDefinition

Diagrama de atividades

Page 40: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 40

S-Tropos – Early Requirements

WorkFlow

Page 41: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 41

S-Tropos – Early Requirements

WorkFlow

Page 42: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 42

S-Tropos – Early Requirements

WorkProduct

Page 43: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 43

S-Tropos – Comentários

Metodologias orientada a agentes ainda estão em fase de estabilização.

É uma metodologia usada para ambientes complexos.

Necessita urgentemente de padronizações, ganho de produtividade, eficiência, frameworks de desenvolvimento bem projetados, etc.

A aplicação do SPEM à metodologia Tropos permitiu a abstração da complexidade da metodologia e uma melhor compreensão das fases.

Page 44: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 44

Roteiro

Introdução Visão geral de SPEM S-Tropos Conclusões

Page 45: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 45

SPEM

Ferramentas IBM Rational Process Workbench: é uma

ferramenta construída como um Rational Rose add-in.

IRIS Process automation suite (www.osellus.com): 100% compatível com SPEM

Eclipse Process framework

Page 46: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 46

O futuro

SPEM 2.0 RFP está em processo de aprovação Alinhamento com UML 2.0 Identificação de um conjunto de elementos

UML padrão Melhorias para aplicações em projetos

específicos e automação Alinhamento com o Business Process

Definition Metamodel.

Page 47: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 47

Comparação de SPEM 1.0 e SPEM 2.0

SPEM 1.0- Poucas implementações- Não foi reconhecido pelos analistas da industria- A semântica ambígua e difícil de entender e aplicar na prática

SPEM 2.01. Separação mais clara da definição do conteúdo metodológico do

processo de desenvolvimento 2. Manutenção consistente de muitos processo de desenvolvimento

alternativos3. Diferentes modelos de ciclos de vida4. Processo mais flexível e mecanismos de extensibilidade5. Múltiplas visões do conteúdo do processo6. Padrões reusáveis de melhores práticas para montagem de

processos rápidos 7. Componentes de processos reusáveis e substituíveis

Page 48: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 48

Estudos de caso no SPEM 2.0 Fujitsu DMR Macroscope Microsoft Solution Framework Agile case study Eclipse Process Framework OpenUP/Basic MDA process (OpenUP/MDD) IBM Tivoli Unified Process (ITIL-based process) PMBOK (Sierra System Process Interface Portals) SOA Governance Lifecycle and Management Method OnDemand Process Asset Library (CMM-based

Application Services Process) E&TS Application Specific Integrated Circuits Method ISPW-6 Software Process Example Money-Lover (Process for Investment Clubs)

Page 49: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

30/01/2007 49

Referências

OMG (http://www.omg.org) SPEM 1.1 (http://www.omg.org/docs/formal/05-01-06.pdf) Wautelet Y., Kolp M. and Achbany Y.: S-Tropos, An Iterative

SPEM-Centric Software Project Management Process, Working Paper IAG (2005).

Wooldridge, M.: An Introduction to MultiAgent Systems. John Wiley and sons, LTD, Chichester, England (2002).

Eclipse Modeling Project (http://www.eclipse.org/modeling) Eclipse Process Framework Project (

http://www.eclipse.org/epf/) Osellus (http://www.osellus.com/) SPEM 2.0 RFP ad/2004-11-04: 3rd Revised Submission (2006)

Page 50: SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br

SPEM (Software Process Engineering Metamodel)

Maria Jocelia [email protected]