<< Chapter < Page Chapter >> Page >

Em casos assim, realmente, os custos de planejar, documentar e mantera arquitetura seriam maiores que os benefícios proporcionados por ela.

No entanto, quando os sistemas crescem, pensar em arquitetura – nos atributosde qualidade e nas múltiplas visões e interessados envolvidos –, e documentá-la se tornamnecessários. Observaremos essa necessidade nos dois exemplos seguintes: apesar deserem exemplos de sistemas funcionalmente semelhantes ao do exemplo anterior, elestêm requisitos não-funcionais que impõem a necessidade de uma arquitetura bem pensadae documentada.

O sistema de locadoraagora tem que servir para mais duas filiais. Assim, o sistema deve estarrodando nas três lojas e deve existir um cadastro único de novos filmes,novos DVDs e novos clientes, e tanto a locação quanto a devolução podemser feitas em qualquer loja da rede de locadoras. O sistema se torna multiusuário,por agora mais de um balconista usá-lo ao mesmo tempo, e distribuído, porter que manter seu estado consistente entre as diversas lojas físicas existentes.Surgem agora preocupações de desempenho, tolerância a falhas e backup e consistênciade dados. Outras dúvidas também surgem: Será um banco de dados central paraas três lojas? Será um banco distribuído? Se for central, o que fazer caso nãoseja possível se comunicar com ele? Se for distribuído, como manter a consistênciaentre os dados? Um balconista de uma loja pode acessar o sistema de outraloja? O que um balconista de uma loja tem permissão para fazer na instânciado sistema executando em outra loja? A reserva de um filme está restritaa uma loja física, ou será válida para todas? E assim por diante.

Assim, podemos perceber que uma simples visão de decomposiçãode classes deixa de ser o único artefato necessário para entender o sistema.Precisamos agora de um artefato que represente os estados do sistema durantea execução, seja em condições normais de operação (e.g., como funciona oprocedimento de reserva de filmes entre as lojas da rede de locadoras) , ouseja quando surgem problemas (e.g., o link de comunicação entre as lojascaiu), apenas para exemplificar algumas poucas preocupações.

Podemos notar que todas essas perguntas afetarão como o sistemaestará organizado internamente, mas não afetarão suas funcionalidades, que continuarãosendo as do exemplo anterior. Inferimos também que a arquitetura desse sistemae sua documentação serão mais complexas que a do [link] .

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