Postagens

Mostrando postagens de Abril, 2017

Documento de arquitetura

Hoje, o assunto é a documentação arquitetural. Entendo que documentar a arquitetura tem duas grandes funções: comunicar formalmente as decisões tomadas, para nortear o desenvolvimento do software, e registrar para consultas futuras, resgatando o racional empregado.

A forma de documentar pode variar bastante, mas me agrada mais os formatos publicáveis em portais de documentação, exportando o conteúdo em HTML puro ou na modalidade WIKI, com marcações - que não deixa de ser uma variação do hipertexto tradicional. Essas formas são fáceis de se consultar e indexáveis.

O que colocar em um documento de arquitetura?

1- Eu gosto de começar com uma visão geral do problema e um diagrama, com o que é chamado de Big Picture, que mostra um panorama da solução técnica, comentando as principais características da arquitetura proposta. Normalmente se mostra um desenho com as camadas lógicas da aplicação, incluindo as ortogonais (cross cutting concerns), que tipicamente são resolvidas por injeção de có…

Um pouco mais sobre arquitetura

Vamos discutir um pouco mais sobre arquitetura? Bem, logo depois de ter entendido o problema e traduzido as necessidades do cliente em requisitos (vide posts anteriores sobre esses assuntos), é hora de definir a solução técnica.
Importante: pode existir solução técnica preliminar, normalmente feita antes de vender o projeto, ainda em fase de negociação com o cliente, com o objetivo de fazer estimativas de prazo e custo. Para o escopo deste post, focaremos na solução técnica da fase de projeto mesmo, quando o negócio já foi fechado. 
Primeiro ponto importante: normalmente há mais de uma solução técnica candidata. Por isso, é preciso decidir qual dessas opções será a implementada. Para isso recomendo montar uma tabela de decisão, em que são colocados critérios objetivos, com uma escala numérica e pesos para os critérios. A solução que obtiver mais pontos, segundo esses critérios ponderados será a escolhida. Não há uma receita para os critérios, mas posso dar exemplos: conhecimento do ti…