<< Chapter < Page Chapter >> Page >

Como já mencionamos anteriormente, existem técnicasde verificação de conformidade entre o documento de arquiteturae o software implementado a partir dele, que podem ajudar na manutençãoda consistência do documento com a realidade. No entanto, devemosnos lembrar que há também o esforço de se manter as diferentes visõesarquiteturais consistentes entre si. Isso pode até ser facilitadose usarmos algumas linguagens específicas e ferramentas para descrever asdecisões arquiteturais, como a ferramenta SAVE Software Architecture Visualization and Evaluation(SAVE): (External Link) . Por outro lado, estas linguagensnão são capazes de descrever todos os tipos necessários de decisõesarquiteturais e isso limita o processo de automação na manutenção de consistênciaentre visões, tornando-o custoso.

Consistência entre o design atual e o documento

A consistência entre a implementação e o documentoé condição fundamental para que o processo de desenvolvimento sebeneficie da arquitetura. Por isso, deve existir um esforço para amanutenção desta consistência, tanto durante a evolução da arquitetura,quanto durante a implementação do software. Se a manutenção daconsistência não é realizada, temos o chamado “deslize arquitetural”( architectural drift ).

O deslize arquitetural é a inconsistência entre implementaçãodo software e o design planejado. Esta inconsistência tem dois efeitos.O primeiro é que se a implementação não está seguindo o que foi planejado,ela pode também não estar alcançando os objetivos propostos. Já o segundo,como foi mencionado anteriormente, é que a inconsistência do documentocom a realidade do software, inutiliza o documento, pois o transformanuma fonte de informação inútil. Assim, considerando que é custosoo processo de criação do documento de arquitetura, todo o trabalhorealizado para tanto pode ter sido em vão.

Para a evitar o deslize arquitetural, recomenda-seque sejam periodicamente utilizadas durante todo o processo de desenvolvimentotécnicas de verificação de conformidade. Essas técnicas, quando aplicadas,indicam se a implementação está de acordo com o design. Há basicamentedois tipos de técnicas de verificação de conformidade: as técnicas manuais,que são baseadas em inspeções do código; e as técnicas automáticas,que só podem ser realizadas se a descrição da arquitetura utilizarlinguagens que permitam esse tipo de verificação. Assim como os tiposde análise arquitetural, as técnicas de verificação manuais são maiscustosas, mas têm um maior alcance, podendo verificar aspectos do software que não são formalizados. Já astécnicas de verificação automáticas, se beneficiam do baixo custo, massão limitadas aos aspectos que podem ser descritos pelas linguagensformais que utilizam.

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