<< Chapter < Page Chapter >> Page >

Desvantagens das técnicas de operabilidade

Como já mencionamos anteriormente, a monitoração e a análise do estado atual do sistema podem consumir muitos recursos computacionais, impactando negativamente no desempenho. Por outro lado, ao possibilitarmos a análise do software em tempo de execução, podemos identificar problemas inicialmente desconhecidos na arquitetura, como gargalos de desempenho ou pontos únicos de falhas. Com estes problemas identificados, o arquiteto pode então corrigi-los na arquitetura, melhorando assim o desempenho e a tolerância a faltas do software.

Resumo

Este capítulo expôs o que um arquiteto deve saber em relação às técnicas e princípios de design arquitetural. Devemos admitir que seu objetivo é ambicioso, uma vez que que existem muitos livros e artigos de Design de Software sobre o mesmo assunto. No entanto, a maioria dos livros e artigos disponíveis não são explicitamente escritos sobre Arquitetura de Software ou não têm como público-alvo o leitor ainda inexperiente. Daí nossa tentativa de preencher esta lacuna.

Ao final deste capítulo, esperamos que o leitor conheça os seguintes princípios de design arquitetural:

  • uso da abstração ou níveis de complexidade;
  • separação de preocupações; e
  • uso de padrões e estilos arquiteturais.

Mas, além disso, esperamos que o leitor também reconheça algumas táticas que implementam os seguintes atributos de qualidade:

  • desempenho e escalabilidade;
  • segurança;
  • tolerância a faltas;
  • compreensibilidade e modificabilidade; e
  • operabilidade.

Para informações mais detalhadas sobre os princípios e técnicas apresentados, deixamos uma lista de referências para estudos posteriores.

Referências

Abstração e separação de preocupações

Sobre os benefícios e aplicação da abstração e separação de preocupações no design de software, recomendamos a leitura do livro Code Complete [link] , de McConnell. Além dele, podemos citar os seguintes artigos sobre o assunto: The Structure of The THE-multiprogramming System [link] , de Dijkstra , e o On The Criteria to Be Used in Decomposing Systems Into Modules [link] , de Parnas.

Padrões e estilos arquiteturais

Há diversos padrões e estilos arquiteturais, inclusive catalogados de acordo com seus objetivos. Apesar de termos citado apenas quatro padrões que foram inicialmente descritos por Buschmann, existem muito mais padrões descritos por este autor e outros autores na série de livros Pattern-Oriented Software Architecture [link] , [link] , [link] , [link] . Recomendamos também sobre o assunto os livros Patterns of Enterprise Application Architecture [link] , escrito por Fowler, e o Software Architecture in Practice [link] , escrito por Bass et al .

Técnicas arquiteturais

Sobre técnicas arquiteturais, podemos citar o livro Beautiful Architecture [link] , editado por Spinellis e Gousios. Ele mostra na prática a aplicação de diversas técnicas para o alcance de requisitos de qualidade por meio do design arquitetural. Sendo menos prático, porém mais abrangente na exposição de técnicas arquiteturais, podemos citar tanto o livro Software Architecture: Foundations, Theory, and Practice [link] , de Taylor et al , quanto o livro Software Systems Architecture [link] , de Rozanski e Woods. O livro The Art of Systems Architecting [link] , de Maier e Rechtin, descreve poucas (porém valiosas) técnicas de arquitetura de software. Neste livro, as técnicas são chamadas de heurísticas.

Podemos ainda mencionar alguns artigos sobre desempenho de software em geral: Performance Anti-Patterns [link] , de Smaalders; sobre replicação de dados: Optimistic Replication [link] , de Saito e Shapiro; e sobre segurança: In Search of Architectural Patterns for Software Security [link] , de Ryoo et al .

Por fim, mencionamos dois blogs que contêm muitas descrições de problemas arquiteturais reais e como foram resolvidos na indústria: o HighScalability.com [link] e o Engineering @ Facebook [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