SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br
Roteiro Introdução Visão geral de SPEM S-Tropos Conclusões 30/01/2007
Roteiro Introdução Visão geral de SPEM S-Tropos Conclusões 30/01/2007
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
Processos de Software Processos de software Desenvolvimento em cascata Processos ad-hoc Processos unificado Desenvolvimento de jogos Open source Processos ágeis 30/01/2007
Processos de Software Objetivos Facilitar o entendimento Documentados ou não Modelados ou não Objetivos Facilitar o entendimento Facilitar a adaptação Facilitar a gerência 30/01/2007
Processos de Software 30/01/2007
Processos de Software Elementos comuns em um processo: Atividades / Ações Pessoas / Atores / papeis. Artefatos / produtos de trabalho 30/01/2007
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
Roteiro Introdução Visão geral de SPEM S-Tropos Conclusões 30/01/2007
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
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
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
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
SPEM Arquitetura de modelagem definida pela OMG Conj. mínimo de elementos para descrever um processo de desenvolvimento de software. 30/01/2007
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 30/01/2007
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
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
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
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
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
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
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
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
SPEM – Notação Diagramas de Classes 30/01/2007
SPEM – Notação Diagramas de Pacotes 30/01/2007
SPEM – Notação Diagramas de Casos de uso 30/01/2007
SPEM – Notação Diagramas de Atividades 30/01/2007
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
Roteiro Introdução Visão geral de SPEM S-Tropos Conclusões 30/01/2007
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
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
S-Tropos 30/01/2007
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
S-Tropos - Disciplinas Early Requirements Late Requirements Achitectural Design Detailed Design Development Validation Deployment Risk an PM 30/01/2007 Diagrama de pacotes
S-Tropos – Fases e WorkDefinitions 30/01/2007 Diagrama de caso de uso
S-Tropos – Fases e WorkDefinitions 30/01/2007
S-Tropos – Early Requirements Package ProcessRoles WorkProducts Guideline 30/01/2007
S-Tropos – Early Requirements WorkDefinition 30/01/2007 Diagrama de atividades
S-Tropos – Early Requirements WorkFlow 30/01/2007
S-Tropos – Early Requirements WorkFlow 30/01/2007
S-Tropos – Early Requirements WorkProduct 30/01/2007
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
Roteiro Introdução Visão geral de SPEM S-Tropos Conclusões 30/01/2007
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
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
Comparação de SPEM 1.0 e SPEM 2.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.0 1. 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 alternativos 3. Diferentes modelos de ciclos de vida 4. Processo mais flexível e mecanismos de extensibilidade 5. Múltiplas visões do conteúdo do processo 6. 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
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
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) 30/01/2007
SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs2@cin.ufpe.br