Tarefa: Analisar os Requisitos Arquiteturais
Analisar os requisitos arquiteturalmente significantes e definir uma arquitetura candidata para o sistema. Definir os padrões arquiteturais, os principais mecanismos e as convenções de modelagem para o sistema.
Disciplinas: Análise e & Design
Objetivo

Fornecer orientação e sentido suficientes de forma que a equipe possa executar a análise e o design de forma consistentes e coerente.

Relacionamentos
Descrição Principal

Esta tarefa tem foco na definição de uma arquitetura candidata que guiará o desenvolvimento, teste e operação do sistema. Ela conta com a experiência adquirida em sistemas ou domínio de problemas similares para restringir e enfatizar a arquitetura tal que o esforço não seja desperdiçado na reinvenção da arquitetura.

Capturar as decisões arquiteturais nas Notas Arquiteturais. Assegure-se que este seja comunicado à equipe.

Etapas
Identifique as metas arquiteturais

Descreva as metas da arquitetura examinando a Visão e os requisitos do produto, incluindo os requisitos arquiteturalmente significantes. Fale também com os Stakeholder e Analistas do projeto. Essas metas irão guiar a sua abordagem para as decisões arquiteturais e de design importantes.

Identifique as restrições arquiteturais

 

Compreenda todas as restrições (ou oportunidades) na solução que forem inerentes ao ambiente ou a organização existente. Se disponível, examine os Requisitos Suplementares para todas as restrições que já foram identificadas. Discuta quaisquer restrições críticas de tempo e de recursos com o Gerente de Projetos, pois elas precisão ser consideradas quando chegar a hora de você tomar a sua decisão. Discuta as restrições em potenciais sobre a aquisição dos testes com o tester, a fim de identificar as áreas arquiteturais que possam dificultar o teste.

 

Analise, avalie e selecione os recursos disponíveis

 

Estabeleça as disponibilidades de quaisquer recursos de software existente como candidatos disponíveis para o reuso. Assegure-se que você tenha consultado outras pessoas que possuam conhecimento dos recursos existentes, particularmente os Desenvolvedores(s) e outras pessoas fora da equipe de projeto (tais como as equipes de suporte da produção) a fim de formar uma visão equilibrada da disponibilidade dos recursos existentes para reuso. A identificação de recursos reutilizáveis pode ser realizada com uma sessão de brainstorming da equipe.

 

Defina a abordagem para estruturar o sistema

Decida como estruturar o software em termos lógicos e físicos. No mínimo defina:

  • Como particionar o software ao gerenciar o desenvolvimento
  • Como o software será composto em tempo de execução.

Para cada partição do software, descreva brevemente

  • Seu nome e finalidade.
  • Seus relacionamentos com outras partições.

Estas definições irão construir a base para estruturar o Design e a Construção.

Defina a abordagem para implantar o sistema
Esboce como o software será distribuído nos nós da rede. Trabalhe com os Stakeholders tal como equipes de implantação e de suporte de rede para assegurar que a abordagem proposta seja uma boa opção para todo o ambiente técnico.
Identifique as principais abstrações

Identifique as principais abstrações que o sistema precisa tratar. Você pode normalmente encontra-las procurando pelos substantivos que os requisitos enfatizam ou repetem, porque eles ajudam a identificar o que é importante para o negócio. O Glossário é particularmente útil para isto. Trabalhe com o analista e os Stakeholders, porque eles terão conhecimento e materiais que serão relevantes para esta etapa. Trabalhe com os desenvolvedores para identificar as principais abstrações internas ao sistema.

Identifique os mecanismos arquiteturais

Catalogue os mecanismos arquiteturais que são necessários para atender aos requisitos. Neste estágio, é necessário capturar somente uma quantidade relativamente pequena de detalhes para cada mecanismo. Discuta os requisitos, (especialmente os Requisitos Suplementares) que estão sendo endereçados por cada mecanismo, com os analistas e os Stakeholders para certificar que os requisitos são inequívocos e bem entendíveis..

Capture as decisões arquiteturais

Capture decisões importantes sobre a arquitetura para referência futura. Considere o uso dos templates fornecidos para o Caderno de Arquitetura.

Principais Considerações

Esta tarefa é mais benéfica quando do desenvolvimento de sistemas novos e sem precedentes. Nos sistemas onde já haja uma arquitetura bem definida, esta tarefa pode ser omitida, ou executada rapidamente como uma revisão da arquitetura existente.

É crítico que esta tarefa seja executada de forma colaborativa com a participação ativa dos outros membros da equipe e dos Stakeholders do projeto de modo que o consenso e a compreensão comum sejam alcançados. É particularmente vital para o arquiteto envolver os desenvolvedores durante toda esta tarefa. O profissional de arquitetura deve fornecer liderança e coordenação do trabalho técnico ao invés de executar o trabalho sozinho.

Informações Adicionais