Artefato: Documento de Arquitetura de Software
Esse produto de trabalho é uma visão arquitetural abrangente do sistema, usando diversas visões de arquitetura para representar diferentes aspectos do sistema.
Domínios: Análise e Design
Tipos de Produto de Trabalho: Especificação
Objetivo

O documento de arquitetura de software fornece uma visão geral de arquitetura abrangente do sistema de software. Serve como um meio de comunicação entre o arquiteto de software e outros membros de equipe de projeto, com relação a decisões arquiteturalmente significativas tomadas sobre o projeto.

Relacionamentos
Ilustrações
Adaptação
Opções de RepresentaçãoRepresentação UML: Um conjunto de visualizações arquiteturais relevantes: Caso de Uso, Lógica, Processo, Implementação, Dados.

Você deve ajustar o esboço do Documento da Arquitetura de Software para adaptação à natureza do software:

  • Algumas visões de arquitetura podem ser irrelevantes:
    • A Visão de Implementação não é necessária para sistemas de uma única CPU.
    • A Visão de Processos não será necessária se o sistema usar apenas um único encadeamento de controle.
    • A Visualização de Dados não é necessária, a menos que a persistência de objeto seja um aspecto significativo do sistema e o mecanismo de persistência requeira um mapeamento entre objetos persistentes e não persistentes.
  • Alguns aspectos específicos do software podem necessitar de uma seção própria; por exemplo, os aspectos relacionados às questões de gerenciamento de dados ou de usabilidade.
  • Apêndices adicionais podem ser necessários para explicar determinados aspectos, como os fundamentos de algumas escolhas críticas junto com as soluções que foram eliminadas, ou para definir acrônimos ou abreviações, ou para apresentar princípios gerais de design.
  • A ordem das várias seções pode variar, dependendo do foco ou do interesse dos envolvidos no negócio.

Veja a seguir as vantagens e as desvantagens de cada visão de arquitetura:

Visualização de Casos de Uso

Esta visualização é obrigatória.

Visão Lógica

Esta visualização é obrigatória.

Visão de Processos

Esta visualização é opcional. Utilize esta visualização apenas se o sistema tiver mais de um encadeamento de controle e os encadeamentos separados interagirem ou dependerem uns dos outros.

Visão de Implementação

Esta visualização é opcional. Utilize esta visualização apenas se o sistema estiver distribuído em mais de um nó. Até mesmo nesses casos, somente use esta visão no local em que a distribuição acarretar implicações na arquitetura. Por exemplo, nos casos em que há um único servidor e vários clientes, a visão de implementação apenas precisaria definir as responsabilidades do servidor e dos clientes como uma classe de nós; não haveria necessidade de mostrar cada nó de cliente se todos tivessem as mesmas capacidades.

Visão da Implementação

Esta visualização é opcional. Utilize esta visualização apenas em casos em que a implementação não for rigorosamente baseada no design, ou seja, onde houver uma distribuição diferente de responsabilidades entre pacotes correspondentes nos modelos de Design e Implementação. Se os empacotamentos dos modelos de design e implementação forem idênticos, esta visão poderá ser omitida.

Visão de Dados

Esta visualização é opcional. Utilize esta visualização apenas se a persistência for um aspecto significativo do sistema e a conversão do Modelo de Design para o Modelo de Dados não for feita automaticamente pelo mecanismo de persistência.



Informações Adicionais