Conceito: UMA versus Metamodelo do RUP 2003
Este conceito descreve as diferenças principais entre a Unified Method Architecture e o metamodelo do Rational Unified Process / Rational Process Workbench 2003.
Descrição Principal

Plano de fundo

A UMA (Unified Method Architecture) foi desenvolvida com o objetivo de unificar o esquema e a termonologia de representação de todas as abordagens de engenharia do processo dentro da IBM, bem como suportar os padrões mais importantes na indústria.  Por isso, conforme mostrado na figura a seguir, a UMA foi desenvolvida em um esforço colaborativo entre os arquitetos do IBM RUP (Rational Unified Process), IBM GS Method (Global Services Method) e IBM Rational Summit Ascendant.  Além desse grupo principal de arquitetos, investidores de muitas outras iniciativas do processo de desenvolvimento dentro e fora da IBM, revisaram e contribuíram para a especificação.   A própria especificação foi enviada para o OMG como uma proposta para o SPEM 2.0 padrão.  Por que, o metamodelo do RUP 2003 foi desenvolvido baseado no SPEM 1.1 padrão atual, essa proposta de rascunho do SPEM 2.0 pode ser vista como significativa mas contínua evolução desse padrão.

Figura mostrando a evolução da Unified Method Architecture

A Meta principal dessa unificação surgiu com um conjunto de termos e estruturas de dados que permite que todos esses métodos e processos sejam expressos sem perder as características principais.   Por exemplo, a UMA precisa ser projetada para suportar vários modelos de ciclo de vida diferentes: o ciclo de vida de desenvolvimento repetitivo do RUP, os ciclos de vida do GS Method incrementais e os ciclos de vida em cascata e repetitivos do Summit Ascendant.   Além disso, as diferenças de terminologia necessárias a serem resolvidas: Qual RUP chamaria uma Atividade que foi chamada Tarefa em um GS Method, o RUP falaria de Artefatos onde o Summit Ascendant definiria Distribuíveis e assim por diante.

Alterações na UMA para Usuários do RUP 2003

Como resultado da definição de apenas uma estrutura de dados e, com mais importância, de uma terminologia para todas essas abordagens, acordos e alterações precisam ser aceitos por todos os investidores. Embora essas alterações possam estar incomodando o usuário RUP atual, na execução longa elas se beneficiarão de uma terminologia unificada amplamente utilizada e de uma forma padronizada de expressar o conteúdo do método e processos que aprimoram a comunicação sobre os processos e facilitam a reutilização.  A lista a seguir resume as alterações mais importantes para o metamodelo do RUP 2003.  A tabela no final dessa página fornece uma comparação de terminologia completa de todas as origens principais da UMA.

  • Atividades que foram renomeadas para a tarefa: Para fornecer um link mais rígido para execução do processo e gerenciamento do projeto, foram renomeadas as unidades de trabalho mais inferiores designáveis para a Tarefa, porque esse é o termo geralmente mais utilizado.
  • Detalhes do fluxo de trabalho renomeados para atividade: Os fluxos de trabalho geralmente são expressos em hierarquias de diagramas de atividades (por ex., diagramas de atividades definidos no UML 2.0).  Embora o RUP forneceu apenas um nível de interrupção de fluxo de trabalho, a UMA é projetada para fornecer múltiplos níveis de tal interrupção. Como a palavra Atividade foi geralmente mais utilizada para expressar os elementos de diagramas de atividades, e também o próprio diagrama de atividade, foi decidido substituir o nome Detalhe do Fluxo de Trabalho utilizado no RUP pelo nome Atividade.   Entende-se que o deslocamento no uso da palavra Atividade pode causar confusão com usuários do RUP existentes.   No entanto, uma meta importante o trabalho da UMA era utilizar os termos de forma que eles fossem geralmente mais utilizados em padrões e indústria. 
  • Tarefas (Atividades do RUP antigo) podem ser desempenhadas por muitas funções:  No RUP 2003, uma atividade foi modelada como uma operação de uma função.   Feedback do cliente, uma olhada em outras abordagens de modelagem do processo, bem como alterações apresentadas no UML 2.0 indicaram que essa era uma forma muito restrita de comportamento humano de modelagem.   Essa abordagem não permitia expressar que algum trabalho fosse desempenhado como uma colaboração de funções diferentes.   A UMA emite esse problema ao tornar a Tarefa um elemento de modelo independente, para o qual o desempenho de funções pode ser designado como recursos.  Conseqüentemente, a UMA permite agora que várias funções sejam designadas para uma tarefa.  Para retrocompatibilidade, ela ainda permite que uma função de desempenho principal seja identificada (sendo responsável para a tarefa), bem como vários executores adicionais.
  • Refinamento do conceito de artefato: O RUP utilizou apenas o conceito de artefato, para definir itens que são utilizados e produzidos em um projeto de desenvolvimento.   A UMA define uma taxonomia estendida para estes conceitos.  Define o conceito geral do produto de trabalho, o qual possui três especializações diferentes (tipos de produtos de trabalho específicos): Artefatos (produtos de trabalho gerenciados), Distribuíveis (produtos de trabalho empacotados que serão entregues para um investigador para revisão) e Resultado (produtos de trabalho não gerenciados e intangíveis).
  • Categorizações diferentes para produtos de trabalho e funções: No RUP, os artefatos e as funções foram todos categorizados por disciplina.  Porém, às vezes, os artefatos foram utilizados através de disciplinas e uma categorização apenas para uma disciplina que causou confusão.  Na UMA, categorias diferentes foram estabelecidas para definições de trabalho (disciplina para tarefas e atividades), produtos de trabalho (tipo de domínio e produto de trabalho) e funções (conjuntos de funções). 
  • Componentes do Processo renomeados para o Pacote de Métodos: Geralmente, o conceito de componente é utilizado em muitos padrões e tecnologias. A maioria dos aplicativos de componentes vinculam isso à abstração de encapsulamento, definindo um componente como uma caixa preta que pode ser utilizada através de interfaces bem definidas. Os componentes do RUP não preenchem esse critério de caixa preta. Além disso, o SPEM padrão definiu pacotes e também componentes. Para estar em conformidade com o SPEM e com o uso e segmento de mercado do componente de palavra, o Componente do Processo foi renomeado para Pacote do Método. (Tecnicamente, ele é um 'método' porque pode conter elementos de métodos ou de processos).
  • Separação de elementos de conteúdo do método dos elementos do processo: No RUP 2003 foi criado um novo processo, definindo uma nova configuração e documentando manualmente em alterações de um artefato de caso de desenvolvimento para o RUP padrão.  A UMA fornece conceitos estendidos, além do conceito de configuração para adaptar os processos.  Permite modelar concretamente para um processo que trabalha definido no conteúdo do método que você realmente deseja realizar em cada fase, porque você facilmente, inclui, remove e reordena elementos na estrutura de processos, reutilizando ou não o que quer que se deseja a partir do conteúdo do método. Realiza esses recursos através de uma separação mais nítida de conteúdo do método (por ex., tarefas definidas para disciplinas) e do aplicativo de conteúdo do método em processo (expresso com os diagramas de atividades e/ou estruturas de interrupção de trabalho), bem como a modelagem de processos (isto é, a criação de diagramas de atividades novos e adaptados ou de estruturas de interrupção novas ou adaptadas).  Apresenta alguns novos conceitos, como por exemplo o descritor que suporta essa separação e atinge novas capacidades para manutenção e reutilização de várias famílias diferentes de processos alternativos e processa partes de tudo dentro a mesma configuração.

Comparação de Terminologia

A tabela a seguir mostra como a terminologia da UMA é mapeada para termos utilizados em outras abordagens de engenharia de processo.

  UMA/RMC RUP 2003 SUMMIT IGSM SPEM 1.1
Elementos Básicos do Método        
  Função Função Função Função Função do Processo
Produto de Trabalho   Distribuível    
Produto de Trabalho/Artefato Artefato   Descrição do produto do trabalho Produto de Trabalho
Produto de Trabalho/Resultado     Resultado da Tarefa  
Produto de Trabalho/Distribuível     Descrição de Conteúdo Distribuível  
Tarefa Atividade Atividade Tarefa Atividade
Etapa Etapa Etapa Subtarefa Etapa
         
Relacionado ao Processo        
  Atividade Detalhamento do Fluxo de Trabalho Tarefa Atividade Definição de Trabalho
Iteração Iteração     Iteração
Fase Fase Fase Fase Fase
Padrão de Recurso     Padrão de Recurso (Componente do Processo)
Processo de Entrega Ciclo de Vida/Configuração Mapa da Rota Modelo de Compromisso (Processo)
         
Categorização        
  Disciplina Disciplina Módulo   Disciplina
Domínio (Conjunto de Artefatos)   Domínio Tipo de Produto de Trabalho
Definição de Função (Conjunto de Funções)      
Ferramenta Ferramenta      
         
Pacote de Métodos        
  Plug-in de Método Plug-in de Modelo do Processo     Processo
Pacote de Método Processar Componente     Pacote
Pacote do Método/Pacote do Conteúdo        Pacote
Pacote do Método/Pacote do Processo       Pacote
Pacote do Processo/Componente do Processo       Processar Componente
         
Tipos de Orientações        
  Diretriz Diretriz Documento de Referência Documento Técnico Diretriz
Conceito Conceito Documento de Referência    
Whitepaper Whitepaper Documento de Referência    
Lista de Verificação Lista de Verificação   Documento Técnico (V&V) Lista de Verificação
Mentor de Ferramentas Mentor de Ferramentas   Guia de Ferramentas Mentor de Ferramentas
Modelo Modelos Modelo Modelo Modelo
Relatório Relatório      
Estimativa   Estimativa Considerações sobre Estimativas Estimativa
Exemplo Exemplo   Item de Referência/Exemplo  
Roteiro  Roteiro Descrição do Mapa da Rota    
Definição de Termo (Glossário) (Glossário)    
Prática