Conceito: Mecanismo de Análise
Um mecanismo de Análise é uma representação conceitual de um Mecanismo Arquitetural.
Relacionamentos
Descrição Principal

Um Mecanismo de Análise é uma representação conceitual de um Mecanismo Arquitetural. Mais a frente, os Mecanismos de Análise serão refinados em Mecanismos de Design e, posteriormente, em Mecanismos de Implementação.

Os Mecanismos de Análise permitem que o desenvolvedor se concentre no entendimento dos requisitos sem que se distraia com as especificidades de uma implementação complexa. Eles permitem abstrair a complexidade da solução, tal que as pessoas possam entender melhor o problema.

Os Mecanismos de Análise são descritos em termos simples:

  • Nome: Identifica o mecanismo.
  • Atributos básicos: Define os requisitos do mecanismo.

Você pode identificar de forma top-down os Mecanismos de Análise, a partir de conhecimentos anteriores, ou de forma bottom-up, tendo em vista que você os descobre conforme você progride.

No modo top-down,  a experiência guia o Arquiteto, o qual conhece certos problemas que estão presentes no domínio e que exigirão certos tipos de soluções. Exemplos de problemas arquiteturais comuns que podem ser expressos como mecanismos durante a análise são: persistência, gerenciamento de transação, gerenciamento de falhas, transferência de mensagens e máquinas de inferência. O aspecto comum de todos eles é que todos representam uma capacidade genérica para uma ampla classe de sistemas, e cada um fornece funcionalidade que interage com, ou apóia, a funcionalidade básica da aplicação. Os Mecanismos de Análise apóiam as capacidades requeridas pelos requisitos funcionais básicos do sistema, independentemente da plataforma em que ele será implantado ou da linguagem de implementação. Os Mecanismos de Análise podem, também, serem projetados e implementados de várias formas. Geralmente, existirá mais de um mecanismo de design correspondente a cada Mecanismo de Análise. Pode também existir mais de uma maneira de implementar cada mecanismo de design.

A abordagem bottom-up está no lugar onde os Mecanismos de Análise se originam. Eles são criados quando o Arquiteto vê, talvez um leve indício, de um tema comum emergindo de um conjunto de soluções para vários problemas. Por exemplo: existe a necessidade de fornecer uma maneira de sincronizar os relógios de elementos executados em diferentes linhas de execução (threads), e existe uma necessidade de alocar recursos de maneira comum. O Mecanismo de Análise, o qual simplifica a linguagem da análise, emerge desses padrões.

Quando se identifica um Mecanismo de Análise significa que você identificou um subproblema comum, talvez implícito, e que você lhe deu um nome. Inicialmente, o nome pode ser tudo o que você precisa. Por exemplo, o sistema exige um mecanismo de persistência. No final, este mecanismo será implementado através da colaboração de várias classes, sendo que algumas dessas classes não liberarão diretamente a funcionalidade da aplicação, mas existirão para apoiá-las. Com muita freqüência, essas classes de apoio estarão localizadas nas camadas intermediárias ou inferiores de uma arquitetura em camadas, através das quais fornecem um serviço de apoio comum à todas as classes no nível da aplicação.

Se o subproblema que você identificou é suficientemente comum, talvez exista um padrão a partir do qual o mecanismo possa ser instanciado, provavelmente pela reunião de classes existentes e de novas classes, quando exigido pelo padrão. Um Mecanismo de Análise produzido desta maneira irá ser abstrato, e exigirá refinamentos posteriores através do design e trabalho de implementação.

Você pode ver exemplos de como os Mecanismos Arquiteturais podem ser representados nas Descrições do Mecanismo de Análise do Exemplo.

Informações Adicionais