Detalhamento do Fluxo de Trabalho: Refinar a Arquitetura
A finalidade deste detalhamento do fluxo de trabalho é:
- Fornecer a transição da análise natural para o design, identificando:
- os elementos de design apropriados dos elementos de análise
- os mecanismos de design apropriados dos mecanismos de análise relacionados
- Manter 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.
- Descrever a organização do tempo de execução e da arquitetura de implantação do sistema
- Organizar o modelo de implementação para efetuar a transição entre o design e a implementação de forma contínua
Essas atividades são melhor realizadas por uma equipe pequena composta por participantes de várias funções. As questões que, em geral, são significativas em termos de arquitetura incluem o desempenho, o escalonamento, a sincronização de processos e threads, e a 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 implantaçã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 básica relativamente pequena com um grupo satélite composto por participantes 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 enfoque 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 Descrição da Arquitetura em Tempo de Execução e Descrição da Distribuição, respectivamente. Quando essas questões forem consideradas, talvez seja necessário efetuar alterações nos elementos de design para dividir o comportamento entre processos, threads ou nós.
Copyright
(c) 1987 - 2001 Rational Software Corporation
|