<< Chapter < Page Chapter >> Page >

No atributo fundamentação, registramos a justificativa dadecisão para que haja um registro histórico das motivações e consideraçõesfeitas pelo arquiteto para chegar à solução de design. Este registroé essencial para que este tipo de informação não seja esquecidoao longo do ciclo de vida do software, pois é importante para o seu processo de evolução.

Por exemplo, durante uma atividade de refatoração docódigo, um novo desenvolvedor pode se interessar pelo motivo de ummódulo ter sido criado aparentemente de forma desnecessária. Se nãoexistir algum tipo de registro do motivo para existência do móduloem questão, o novo desenvolvedor pode, simplesmente, modificá-loou mesmo removê-lo ignorante dos efeitos que pode causar no design.

A fundamentação é normalmente feita por meio deuma descrição textual, mas deve possuir referências a outros documentose a outras decisões arquiteturais relacionadas. O exemplo a seguirilustra a fundamentação de uma decisão arquitetural.

(continuação da [Decisão Arquitetural 001])

Motivação: Projetar os elementos internos do sistema de modo que cadaum pertença a apenas uma camada lógica ajuda a aumentar a coesãoe diminuir o acoplamento. A coesão aumenta, pois cada elementoserá desenvolvido com o objetivo de ser parte da apresentação,da lógica ou da persistência do sistema. Dessa maneira,cada elemento terá sua responsabilidade bem definida, mesmo que emalto nível. Como a comunicação entre as camadas é pré-definida,a de seus elementos também é: elementos da camada de apresentaçãonão se comunicarão com elementos da camada de persistência,por exemplo. Assim, o acoplamento entre elementos internos seráanálogo ao acoplamento entre camadas. Com o baixo acoplamento,o desenvolvimento e a manutenção dos elementos também é facilitado,seja por possibilitar o desenvolvimento independente, seja por mudançasem um elemento terem menor impacto nos outros.

É importante observar que uma decisão arquitetural podeestar relacionada a mais de um atributo de qualidade e, como veremosa seguir, a mais de uma categoria. Isso ocorre porque decisões arquiteturaisse interrelacionam da mesma forma que os atributos de qualidade eos requisitos impostos pelos stakeholders. Portanto, é na fundamentação quedevemos também descrever as relações entre as decisões arquiteturais,ou seja, se uma decisão restringe, proíbe, possibilita, conflita,sobrepõe, compõe ou é composta de, depende de, ou é uma alternativaa outras decisões.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask