Upload
wilson-vidal-barroso
View
216
Download
0
Embed Size (px)
Citation preview
SPEM (Software Process Engineering Metamodel)
Maria Jocelia [email protected]
30/01/2007 2
Roteiro
Introdução Visão geral de SPEM S-Tropos Conclusões
30/01/2007 3
Roteiro
Introdução Visão geral de SPEM S-Tropos Conclusões
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.
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
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
30/01/2007 7
Processos de Software
30/01/2007 8
Processos de Software Elementos comuns em um processo:
Atividades / Ações Pessoas / Atores / papeis. Artefatos / produtos de trabalho
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
30/01/2007 10
Roteiro
Introdução Visão geral de SPEM S-Tropos Conclusões
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
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
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.
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.
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
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>>
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)
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)
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)
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)
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.
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)
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
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
30/01/2007 25
SPEM – Notação
Diagramas de Classes
30/01/2007 26
SPEM – Notação
Diagramas de Pacotes
30/01/2007 27
SPEM – Notação
Diagramas de Casos de uso
30/01/2007 28
SPEM – Notação
Diagramas de Atividades
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?
30/01/2007 30
Roteiro
Introdução Visão geral de SPEM S-Tropos Conclusões
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.
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)
30/01/2007 33
S-Tropos
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.
30/01/2007 35
S-Tropos - Disciplinas
Early Requirements Late Requirements Achitectural Design Detailed Design Development Validation Deployment Risk an PM
Diagrama de pacotes
30/01/2007 36
S-Tropos – Fases e WorkDefinitions
Diagrama de caso de uso
30/01/2007 37
S-Tropos – Fases e WorkDefinitions
30/01/2007 38
S-Tropos – Early Requirements
Package
ProcessRoles
WorkProducts
Guideline
30/01/2007 39
S-Tropos – Early Requirements
WorkDefinition
Diagrama de atividades
30/01/2007 40
S-Tropos – Early Requirements
WorkFlow
30/01/2007 41
S-Tropos – Early Requirements
WorkFlow
30/01/2007 42
S-Tropos – Early Requirements
WorkProduct
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.
30/01/2007 44
Roteiro
Introdução Visão geral de SPEM S-Tropos Conclusões
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
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.
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
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)
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)
SPEM (Software Process Engineering Metamodel)
Maria Jocelia [email protected]