SPEM Software Process Engineering Metamodel Maria Jocelia Silva


















































- Slides: 50

SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs 2@cin. ufpe. br 30/01/2007

Roteiro n Introdução n Visão geral de SPEM n S-Tropos n Conclusões 30/01/2007 2

Roteiro n Introdução n Visão geral de SPEM n S-Tropos n Conclusões 30/01/2007 3

SPEM é um meta-modelo n Descreve a estrutura necessária para formalmente expressar processos de desenvolvimento. n Descreve uma linguagem e esquema de representação para conteúdo metodológico e processos. 30/01/2007 4

Processos de Software n Processos de software n n n Desenvolvimento em cascata Processos ad-hoc Processos unificado Desenvolvimento de jogos Open source Processos ágeis 30/01/2007 5

Processos de Software n Documentados ou não n Modelados ou não n Objetivos n Facilitar o entendimento n Facilitar a adaptação n Facilitar a gerência 30/01/2007 6

Processos de Software 30/01/2007 7

Processos de Software n Elementos comuns em um processo: n Atividades / Ações n Pessoas / Atores / papeis. n Artefatos / produtos de trabalho 30/01/2007 8

Modelagem n Ao longo dos últimos anos surgiram diversas linguagens com o propósito de modelar processos de software n Exs: DYNAMITE, E 3, SPEM n Estas linguagens possuem muitas semelhanças e no geral querem capturar a visão dinâmica e estrutural do processo de software. n n Dinâmica Comportamento do processo ao longo do tempo Estrutural Inter-relacionamento entre os seus elementos 30/01/2007 9

Roteiro n Introdução n Visão geral de SPEM n S-Tropos n Conclusões 30/01/2007 10

SPEM – Especificações técnicas n SPEM surgiu com o propósito de criar um padrão para expressar qualquer processo de software. n Oficializada em: Novembro de 2002 n Versão oficial: 1. 1 (06/01/2005) n Versão Draft: 2. 0 (usa UML profile 2. 0) n Especificação adotada pela OMG 30/01/2007 11

SPEM n OMG (Object Management Group) n Consórcio internacional de “industrias de computadores”, aberta a membros e não lucrativo. n Fundada em 1989 n Finalidade: estabelecer diretrizes e especificações pra prover um framework comum para o desenvolvimento de aplicações orientada a objetos. n Suportada por 600 membros n Membros: Fornecedores de sistemas, desenvolvedores de software, usuários 30/01/2007 12

SPEM n Resultou de um esforço coletivo de pesquisadores e consultores, tais como: n n Empresas: IBM, Rational, Computer Associates, Toshiba, Siemens, etc. Pesquisadores: Philippe Kruntchen, Craig Lairman, e diversos outros. n As empresas focam-se agora em construir ferramentas para dar apoio a SPEM. 30/01/2007 13

SPEM n Estruturado como um UML profile (1. 4) e prover um metamodelo baseado em MOF n UML Profile n Variação de UML que usa mecanismos de extensão de uma forma padronizada para um fim particular n MOF (Meta-Object Facility) é uma tecnologia adotada pela OMG para definição de metadados. n possui um conjunto de elementos de modelagem n utilizados na construção dos metamodelos n inclui regras para o seu uso. 30/01/2007 14

SPEM Arquitetura de modelagem definida pela OMG Conj. mínimo de elementos para descrever um processo de desenvolvimento de software. 30/01/2007 15

SPEM - Visão geral n O meta-modelo SPEM é composto por 2 pacotes n SPEM_Foundation Estende um subconjunto do meta-modelo da UML 1. 4. (Data_Types, Core, Actions, State_Machines, Activity_Graphs, Model_management) n SPEM_Extensions Adiciona as construções e semânticas requeridas para a engenharia de processos de software 30/01/2007 16

SPEM – Extensões n Elementos Básicos (External Description, Guidance) n Dependências (Categorizes, Impacts, Import, Precedes, Refers. To, Trace) n Estrutura do processo (Work. Product, Work. Definition, Activity, Step, Process. Role) n Componentes do processo (Package, Process. Component, Process, Discipline) n Ciclo de vida do processo (Lifecycle, Phase, Iteration, Precondition, Goal) 30/01/2007 17

SPEM – Extensões n Basic Elements: n External Description: Descrição do elemento (conteúdo, nome, linguagem, formato) n Guidance: Informações detalhadas do elemento (UML Profile, Checklist, Tool mentor, Guideline, Template, Estimate) 30/01/2007 18

SPEM – Extensões n Estrutura do processo: n Work. Product: Partes tangíveis de informações produzidas, modificadas ou consumidas. n Ex: "Design Model", “Software development plan”, “Risk Plan” n n Work. Definition: Descreve o trabalho realizado no processo. n n Sinônimos: Artefatos, produtos. Ex: “Fluxo de trabalho do RUP” Activity and Step: Principal sub-classe de workdefinition n n 30/01/2007 Ex: “Find use case and actors” no RUP Sinônimo: Atividades (RUP), Tarefas (OPEN) 19

SPEM – Extensões n Estrutura do processo: n n Process. Performer: Executor em um conjunto de Workdefinition. Process. Role: Executor de atividades. n n 30/01/2007 Ex: Architect, Analyst, Technical Writer, and Project Manager Sinônimo: Worker (RUP), Role (OPEN) 20

SPEM – Extensões n Componentes do processo: n n Package: É um recipiente que pode possuir e importar elementos do processo Process. Component: É um componente do processo. Process: O processo em si. Discipline: Categoriza atividades de acordo com um tema comum. n 30/01/2007 Sinônimo: Core Work. Flow, category, phase, activity, domain. 21

SPEM – Extensões n Ciclo de vida do processo n n 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. n n 30/01/2007 Ex: Modelo de design no estado PRONTO (Pré-Cond) Ação de Revisão no estado PRONTO (Goal) 22

SPEM – Extensões n Dependências: n n n Impacts: Entre Work. Products Precedes: Entre Work. Definitions Trace: Entre Work. Definition para rastrear requisitos Import: Adiciona conteúdo de um package ao espaço de outro. Categorizes: Associa um elemento simples com um package. Refers. To: Elementos do processo podem estar contidos no mesmo processo 30/01/2007 23

SPEM – Notação n Diagramas da UML podem ser usados para apresentar diferentes perspectivas de um modelo de processos n n n Diagramas de classes Diagramas de pacotes Diagramas de atividades Diagramas de casos de uso Diagrama de sequência 30/01/2007 24

SPEM – Notação n Diagramas de Classes 30/01/2007 25

SPEM – Notação n Diagramas de Pacotes 30/01/2007 26

SPEM – Notação n Diagramas de Casos de uso 30/01/2007 27

SPEM – Notação n Diagramas de Atividades 30/01/2007 28

SPEM n 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. n É possível usar em um processo de desenvolvimento de software orientado a agentes? 30/01/2007 29

Roteiro n Introdução n Visão geral de SPEM n S-Tropos n Conclusões 30/01/2007 30

S-Tropos n Tropos é uma metodologia de desenvolvimento de software multiagentes (MAS). n 2001, Toronto n Castro, J. , Kolp, M. and Mylopoulos n Um agente é um sistema de computador situado em um ambiente, capaz de ações autônomas para atingir um dado objetivo. n Um MAS é um conjunto de agentes que interagem entre si. n agentes, organizações, comunicação, negociação and coordenação. 30/01/2007 31

S-Tropos n Tropos: n n Early Requirements Late Requirements Architectural Design Detailed Design n 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 32

S-Tropos 30/01/2007 33

S-Tropos n S-Tropos: É uma formalização de um processo de desenvolvimento em espiral para desenvolvimento de softwares multiagente extendendo a metodologia Tropos. 30/01/2007 34

S-Tropos - Disciplinas n n n n 30/01/2007 Diagrama de pacotes Early Requirements Late Requirements Achitectural Design Detailed Design Development Validation Deployment Risk an PM 35

S-Tropos – Fases e Work. Definitions 30/01/2007 36 Diagrama de caso de uso

S-Tropos – Fases e Work. Definitions 30/01/2007 37

S-Tropos – Early Requirements Package Process. Roles Work. Products Guideline 30/01/2007 38

S-Tropos – Early Requirements Work. Definition 30/01/2007 39 Diagrama de atividades

S-Tropos – Early Requirements Work. Flow 30/01/2007 40

S-Tropos – Early Requirements Work. Flow 30/01/2007 41

S-Tropos – Early Requirements Work. Product 30/01/2007 42

S-Tropos – Comentários n Metodologias orientada a agentes ainda estão em fase de estabilização. n É uma metodologia usada para ambientes complexos. n Necessita urgentemente de padronizações, ganho de produtividade, eficiência, frameworks de desenvolvimento bem projetados, etc. n 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 43

Roteiro n Introdução n Visão geral de SPEM n S-Tropos n Conclusões 30/01/2007 44

SPEM n Ferramentas n IBM Rational Process Workbench: é uma ferramenta construída como um Rational Rose add-in. n IRIS Process automation suite (www. osellus. com): 100% compatível com SPEM n Eclipse Process framework 30/01/2007 45

O futuro n SPEM 2. 0 RFP está em processo de aprovação n Alinhamento com UML 2. 0 n Identificação de um conjunto de elementos UML padrão n Melhorias para aplicações em projetos específicos e automação n Alinhamento com o Business Process Definition Metamodel. 30/01/2007 46

Comparação de SPEM 1. 0 e SPEM 2. 0 n 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 n 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 47

Estudos de caso no SPEM 2. 0 Fujitsu DMR Macroscope Microsoft Solution Framework Agile case study Eclipse Process Framework Open. UP/Basic MDA process (Open. UP/MDD) IBM Tivoli Unified Process (ITIL-based process) PMBOK (Sierra System Process Interface Portals) SOA Governance Lifecycle and Management Method On. Demand Process Asset Library (CMM-based Application Services Process) n E&TS Application Specific Integrated Circuits Method n ISPW-6 Software Process Example n Money-Lover (Process for Investment Clubs) n n n n 30/01/2007 48

Referências n 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 Multi. Agent 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/) n SPEM 2. 0 RFP ad/2004 -11 -04: 3 rd Revised Submission (2006) n n n 30/01/2007 49

SPEM (Software Process Engineering Metamodel) Maria Jocelia Silva mjs 2@cin. ufpe. br 30/01/2007