Tive que fazer um resumo sobre ADD, e novamente me fundamentei em referências da internet:

http://tombarta.wordpress.com/2006/09/12/attribute-driven-design-vs-object-oriented-programming/

http://www.sei.cmu.edu/architecture/tools/define/add.cfm

Porém, desta vez, quero colocar um ponto de vista meu e peço que sinta-se livre para comentar contra ou a favor:

O ADD é um método que vai dar suporte ao QAW, porém eu vejo uma questão que na minha opinião é um defeito: será que um requisito precisa mesmo ser fatorado exaustivamente e recursivamente? Isto não vai acabar aumentando a complexidade da implementação e da arquitetura desnecessariamente? Acaba exigindo um profissional muito mais qualificado para saber qual é o momento de interromper grandes “viagens” e manter um nível de qualidade e riqueza de detalhes satisfatório, além de possivelmente aumentar prazo e custo. Fica aí meu questionamento…

O método Attribute-Driven Design (ADD) é um método sistematico passo-a-passo para projetar a arquitetura de um sistema. É uma maneira de definir a arquitetura do software baseando o processo de criação nos requisitos de atributos de qualidade. Segue um processo de decomposição onde, em cada estágio, táticas e padrões arquiteturais são escolhidos para satisfazer um conjunto de cenários de atributos de qualidade.

As entradas necessárias para o ADD inclui requisitos funcionais, requisitos de atributos de qualidade e restrições. Requisitos funcionais podem ser especificados em lista de funcionalidades ou casos de uso. Requisitos de atributos de qualidade podem ser especificados usando cenários de atributos de qualidade, assim como o Quality Attribute Workshop do SEI. Restrições são decisões de design que são forçadas por fatores externos.

Desafios

Como você projeta a arquitetura de um sistema para que atenda as necessidades do usuário?
Como você atende requisitos de atributos de qualidade que imaginou?
Como você determina quais estratégias arquiteturais são apropriadas para seus requisitos de atributos de qualidade?
Como você avalia o custo e benefício dos atributos de qualidade enquanto você projeta a arquitetura de um software?

Aplicar ADD resulta na decomposição da arquitetura, documentada usando visões arquiteturais. É um método recursivo que tem duas partes:

Parte 1: Usando táticas para atingir requisitos de qualidade

1. Confirme que tem informações suficientes de requisitos
2. Escolha um elemento do sistema para decompor
3. Identifique condutores arquiteturais candidatos
4. Escolha um conceito de projeto que satisfaça os condutores arquiteturais

Parte 2: Documentando a decomposição

1. Instancie elementos arquiteturais e aloque responsabilidades
2. Defina interfaces para elementos instanciados
3. Verifique e melhore requisitos e torne-os restrições para elementos instanciados
4. Repita esses passos para o próximo elemento

O método ADD tem sido usado por domínios de aplicação indo de sistemas de informação a sistemas embarcados. Faz parte parte do contexto do Evolutionary Delivery Life Cycle (EDLC), um ciclo de vida software baseado em arquitetura.

Benefícios

O método ADD permite que arquitetos entendam custo e benefício dos atributos de qualidade logo no início do processo de criação da arquitetura, guiando-os a projetar uma arquitetura que irá satisfazer tanto requisitos funcionais quanto de qualidade.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *