O metamodelo da UMA (Unified Method Architecture) foi desenvolvido como uma unificação idiomas de engenharia de
método e de processo diferentes, como por exemplo a extensão SPEM para a UML para engenharia de processo de software,
os idiomas utilizados para RUP v2003, Unified Process, IBM Global Services Method, bem como IBM Rational Summit
Ascendant. Como tal, fornece conceitos e capacidades de todos os modelos de origem, unificando-os de forma consistente,
porém, permitindo ainda expressar cada um desses métodos de origem com suas características específicas. Esse
conceito fornece uma visão geral para capacidades da UMA.
Separação de Conteúdo do Método e Processo
A UMA fornece uma separação clara de definições de Conteúdo do Método de seu aplicativo em Processos. Isso é realizado
definindo separadamente
-
o Conteúdo do Método de núcleo reutilizável, em forma de descrições de conteúdos gerais, como por exemplo
aplicativos
-
específicos de tipo de projeto de Funções, Tarefa, Produtos de Trabalho e Guidance do Conteúdo do Método no
contexto em forma de descrições de processo que fazem referência ao Conteúdo do Método
O Conteúdo do Método fornece explicações etapa por etapa, descrevendo como metas de desenvolvimento específicas são
atingidas, independentemente do posicionamento dessas etapas dentro de um ciclo de vida de desenvolvimento. Os
processos obtêm esses elementos de Conteúdo do Método e os organiza em uma seqüência que pode ser customizada para
tipos específicos de projetos. Por exemplo, um projeto de desenvolvimento de software que desenvolve um aplicativo a
partir do zero, desempenha etapas de desenvolvimento semelhantes a um projeto que estende um sistema de software
existente. No entanto, os dois projetos desempenharão etapas semelhantes em horários específicos com uma ênfase
diferente e, talvez, variações individuais.
Reutilização de Conteúdo
A UMA permite que cada Processo faça referência de Conteúdo do Método comum a partir de um conjunto de Conteúdos do
Métodos comuns. Em decorrência dessas referências, as alterações nos Conteúdos dos Métodos serão automaticamente
refletidas em todos os Processos que as utilizam. No entanto, a UMA ainda permite sobrescrever determinado conteúdo
relacionado ao método dentro de um Processo, bem como definir relacionamentos específicos do processo individual para
cada Elemento do Processo (como por exemplo, incluir um Produto de Trabalho de entrada adicional em uma Tarefa,
renomeando uma Função ou removendo as Etapas que não devem ser desempenhadas a partir de uma Tarefa).
Famílias de Processos
A meta da UMA não é apenas suportar a representação de um processo de desenvolvimento específico ou a manutenção de
vários processos não relacionados, mas fornecer aos engenheiros do processo um conjunto de ferramentas para gerenciar
de forma consistente e efetiva, todas as famílias de Processos relacionados. A UMA realiza isso, definindo os conceitos
de Padrões de Capacidade e Processos de Entrega, bem como relacionamentos de reutilização específicos entres esses
tipos de processos. Esses conceitos permitem a um engenheiro de processo, manter famílias consistentes de
Processos de Entrega que são específicos do tipo de projeto e são variações do mesmo Conteúdo do Método e Padrões de
Capacidade de base. O resultado são variantes diferentes de processos específicos construídos pela reutilização
dinâmica do mesmo Conteúdo do Método e Padrões, mas aplicadas com diferentes níveis de detalhes e escala; por exemplo,
variantes de Processo para projetos de desenvolvimento de escala pequena versus grande.
Múltiplos Ciclos de Vida
Uma arquitetura de método geral deve suportar variedades diferentes e até combinações de modelos de ciclos de vida para
definições de processos. Incluem Em Cascata, Repetitivo, Incremental, Evolutivo e assim por diante. O metamodelo da UMA
é projetado para acomodar várias abordagens. Fornece um rico conjunto de conceitos e atributos de customização para
especificação de semânticas temporais para Elementos do Processo, como por exemplo fases, iterações, dependências,
trabalho em andamento ou orientado por evento e assim por diante.
Mecanismos de Extensibilidade e Plug-in Flexíveis
Os Plug-Ins de Método da UMA fornecem uma única forma de customizar o Conteúdo do Método e Processos, sem modificar
diretamente o conteúdo original. Em vez disso, eles apenas descreveram as diferenças (inclusões mencionadas como
contribuições e substituições) relativas ao original. Esse conceito de Plug-in permite aos usuários fazer upgrade
facilmente para versões recentes do Conteúdo do Método, sem perder suas customizações.
Múltiplas 'Visualizações' do Processo
A UMA define múltiplas visualizações e consistentemente mantidas em processos. Essas visualizações permitem aos
engenheiros do processo, abordar a autoria do processo com base em suas preferências pessoais. Um engenheiro de
processo pode optar por definir seus Processos com foco em qualquer um dos seguintes itens:
-
Interrupção de Trabalho - essa é uma visualização central de trabalho, a qual define as Tarefas associadas a uma
Atividade de alto nível específica
-
Uso do Produto de Trabalho - essa é uma visualização baseada em resultados, a qual define o estado de certos
Distribuíveis e Artefatos em vários pontos no processo
-
Alocação de Team - essa é uma visualização baseada em responsabilidade, a qual define as Funções necessárias e suas
responsabilidades do produto de trabalho
A UMA oferece consistência entre todas essas visualizações, porque todas são baseadas em uma estrutura de objeto
integrada. As alterações em uma visualização serão imediatamente refletidas em outras visualizações.
Padrões Reutilizáveis do Processo
Os Padrões de Capacidades da UMA são blocos de construção reutilizáveis para criação de novos Processos de
desenvolvimento. A seleção e a aplicação de um Padrão de Capacidade podem ser feitas de uma das duas formas flexíveis:
-
Um padrão pode ser aplicado em uma operação de cópia e modificação sofisticada, a qual permite ao engenheiro do
processo customizar individualmente o conteúdo do padrão para suas necessidades, durante o aplicativo padrão.
-
Um padrão pode ser aplicado por meio de ligação dinâmica. Essa nova forma exclusiva de reutilização de conhecimento
de processo, geralmente permite a recorrência de Atividades a serem fatoradas em padrões, os quais podem ser
aplicados repetidamente em um Processo. Quando o padrão estiver sendo revisado ou atualizado, todas as alterações
serão automaticamente refletidas em todos os Processos que aplicaram esse padrão.
|