Conceito: Mecanismo Arquitetural 

Os Mecanismos Arquiteturais são soluções comuns para problemas comuns que podem ser utilizadas durante o desenvolvimento para minimizar a complexidade.

Relacionamentos
Descrição Principal

Os Mecanismos Arquiteturais são usados para satisfazer requisitos arquiteturalmente significativos. Quando totalmente descritos, os Mecanismos Arquiteturais mostram padrões de estrutura e comportamento no software. Eles formam a base comum do software que será aplicada consistentemente através do produto que está sendo desenvolvido. Eles também formam a base para padronizar a forma que o software trabalha; conseqüentemente, são elementos importantes de toda arquitetura de software. A definição dos mecanismos de arquitetura permite também decidir se os componentes de software existentes podem ser aprimorados para fornecer o comportamento necessário ou se um novo software deve ser comprado ou construído.

O ponto chave à considerar quando da discussão dos mecanismos de arquitetura é que a sua definição reside somente em fazer escolhas sobre *qual* tecnologia será usada para satisfazer os requisitos arquiteturalmente significativos. Não é a produção do software ou de design detalhado. Este é um engano comum. A criação do design detalhado e do software que mostram *como* mecanismos específicos são satisfeitos é uma tarefa do desenvolvimento.

O valor da definição de mecanismos de arquitetura é que ela

  1. mostra explicitamente aspectos dos mecanismos da solução que são comuns em todo o sistema, e isto ajuda no planejamento.
  2. coloca marcadores para que os desenvolvedores construam os aspectos do sistema uma vez e reusem-os. Isto reduz a carga de trabalho.
  3. promove o desenvolvimento de um conjunto consistente de serviços, e isto faz com que o sistema fique mais fácil de manter.

Um Mecanismo Arquitetural pode ter três estados: Análise, Design e Implementação. Estas categorias refletem o estado do mecanismo arquitetural no tempo. O estado muda a medida que os níveis sucessivos de detalhe são descobertos durante o refinamento dos requisitos arquiteturalmente significantes no software trabalhado. As categorias estão resumidas na tabela a seguir.

Estados de um Mecanismo Arquitetural
Estado Descrição
Análise Uma solução conceitual para um problema técnico comum. Por exemplo, a persistência é uma solução abstrata para o requisito  comum de armazenar dados. A finalidade desta categoria é simplesmente identificar a necessidade de um Mecanismo Arquitetural ser projetado e implementado; e capturar atributos básicos para esse mecanismo.
Design Um refinamento de um Mecanismo de Análise em uma tecnologia concreta (por exemplo RDBMS). A finalidade desta categoria é permitir que especificações iniciais de design sejam produzidas e guiar a seleção precisa do produto ou da tecnologia.
Implementação

Um refinamento adicional de um Mecanismo de Design em uma tecnologia ou produto específico que implemente o Mecanismo Arquitetural necessário. Por exemplo, o MySQL como um produto de banco de dados implementa o Mecanismo de Análise Persistência e o Mecanismo de Design RDBMS.

Isto representa essencialmente o ponto em que a decisão é tomada para reúso, compra ou construção do software específico para fornecer os serviços definidos pelo mecanismo.


Esteja ciente que estes estados freqüentemente se referenciam como mecanismos de Análise, Design e Implementação. São sinônimos e representam meramente os mecanismos de arquitetura em diferentes estados de desenvolvimento. A transição de um estado para outro pode ser óbvia ou intuitiva. Conseqüentemente, pode acontecer em poucos segundos. Pode também necessitar de maiores considerações de análise e design, por muito tempo. O diagrama a seguir ilustra a transição de Mecanismos Arquiteturais de um estado a outro.

Máquina de estado para Mecanismos Arquiteturais

Architectural Mechanism States 


Informações Adicionais