Detalhe do Workflow: Refinar a Arquitetura
A finalidade deste
detalhe do workflow é concluir a arquitetura para uma iteração. |
Tópicos
|
|
Este Detalhe do Workflow:
- Fornece a transição natural das atividades de análise para as atividades de design,
identificando:
- os elementos de design apropriados dos elementos de análise
- os mecanismos de design apropriados dos mecanismos de análise relacionados
- Descreve a organização da arquitetura de tempo de execução e de
implementação do sistema
- Organiza o modelo de implementação para efetuar a transição total entre o
design e a implementação
- Mantém a consistência e a integridade da arquitetura, assegurando
que:
- os novos elementos de design identificados para a iteração atual são integrados aos elementos de design preexistentes.
- a reutilização máxima dos componentes e elementos de design disponíveis é obtida o mais cedo possível no esforço de design.
Esta seção fornece fornece links para informações adicionais relacionadas a este detalhe do workflow.
Inicia na fase de Elaboração, passa pelas fases de Construção e Transição.
Obrigatório.
Essas atividades são melhor executadas por uma equipe pequena formada
por membros com várias funções. As questões que, em geral, são significativas em termos de
arquitetura incluem usabilidade, desempenho, escalação, sincronização de processos e encadeamentos
e distribuição. A equipe deve também incluir participantes que tenham experiência em domínio e que possam identificar as principais abstrações.
Além disso, a equipe deve ter experiência na organização do modelo e na disposição em camadas.
Ela precisará reunir todos esses threads discrepantes em uma arquitetura coesa e coerente (embora preliminar).
Como o enfoque do esforço de arquitetura está se deslocando para questões de implementação, é necessário centrar mais a atenção nas questões de tecnologia específicas.
Isso forçará a equipe de arquitetura a mudar os participantes ou a expandir-se para incluir pessoas que tenham experiência em distribuição e implementação (se essas questões forem significativas em termos de arquitetura).
Para compreender o possível impacto da estrutura no modelo de implementação na facilidade da integração, será útil ter experiência no processo de gerenciamento da criação de softwares.
Ao mesmo tempo, é essencial que a equipe de arquitetura não seja demasiadamente grande.
Uma estratégia de oposição a essa tendência é manter uma equipe de núcleo relativamente
pequena com um grupo satélite composto por membros de uma equipe grande que serão
considerados os "consultores" de questões-chave. Essa estrutura também funciona bem em projetos menores em que a experiência específica pode ser solicitada a ou contratada de outras organizações. Elas podem ser consideradas questões específicas que precisam ser tratadas.
O trabalho é melhor realizado em várias sessões, talvez em alguns dias (ou em semanas e meses, no caso de sistemas grandes).
O foco inicial será as
atividades Identificar Mecanismos de Design
e Identificar Elementos de Design, com uma
grande quantidade de iterações na atividade Incorporar
Elementos de Design Existentes para certificar-se de que novos elementos não
duplicarão a funcionalidade dos elementos existentes.
Quando o design começar a ser desenvolvido, as questões de simultaneidade e distribuição
serão introduzidas nas atividades Descrever a Arquitetura de
Tempo de Execução e Descrever a Distribuição,
respectivamente. Quando essas questões forem consideradas, talvez seja necessário efetuar
mudanças nos elementos de design para dividir o comportamento entre processos, encadeamentos
ou nós.
Como os modelos individuais são refinados para incorporar as decisões arquiteturais,
os resultados são documentados nas respectivas seções de visualização no Documento de
Arquitetura de Software (por exemplo, como o Modelo de Design é refinado, a Visualização
Lógica do Documento de Arquitetura de Software também é refinada). A arquitetura resultante é revisada.
|