<Nome do Projeto>
Documento de Arquitetura de Software
Versão <1.0>
[Nota: O gabarito a seguir é fornecido para utilização com o Rational Unified Process. O texto em azul, exibido entre colchetes e em itálico (style=InfoBlue), foi incluído para orientar o autor e deve ser excluído antes da publicação do documento. Um parágrafo inserido após esse estilo será definido automaticamente como normal (style=Body Text).]
Histórico da Revisão
Data |
Versão |
Descrição |
Autor |
---|---|---|---|
<dd/mmm/aa> |
<x.x> |
<detalhes> |
<nome> |
Índice Analítico
9. Visualização de Dados (opcional)
11.Qualidade
Documento de Arquitetura de Software
[A introdução do Documento de Arquitetura de Software deve fornecer uma visão geral de todo o Documento de Arquitetura de Software. Ela deve incluir a finalidade, o escopo, as definições, os acrônimos, as abreviações, as referências e a visão geral do Documento de Arquitetura de Software.]
Este documento fornece uma visão arquitetural abrangente do sistema, usando diversas visões de arquitetura para representar diferentes aspectos do sistema. Ele pretende capturar e transmitir as decisões arquiteturas significativas que foram tomadas em relação ao sistema.
[Esta seção define a finalidade do Documento de Arquitetura de Software, na documentação do projeto como um todo e descreve resumidamente a estrutura do documento. Os públicos específicos do documento devem ser identificados, com uma indicação de como devem usá-lo.]
[Faça uma breve descrição da aplicação do Documento de Arquitetura de Software; o quê é afetado ou influenciado por este documento.]
[Esta subseção deve fornecer as definições de todos os termos, os acrônimos e as abreviações necessários à interpretação apropriada do Documento de Arquitetura de Software. Essas informações podem ser fornecidas mediante referência ao Glossário do projeto.]
[Esta subseção deve fornecer uma lista completa dos documentos mencionados em outra parte do Documento de Arquitetura de Software. Cada documento deve ser identificado por título, número do relatório (se aplicável), data e organização da publicação. Especifique as origens a partir das quais as referências podem ser obtidas. Essas informações podem ser fornecidas por um anexo ou outro documento.]
[Esta subseção descreve o que o restante do Documento de Arquitetura de Software contém e explica como o Documento de Arquitetura de Software é organizado.]
[Esta seção descreve qual é a arquitetura de software do sistema atual e como ela é representada. Das Visualizações de Implementação, Implementação, Processo, Lógica e Casos de Uso, ela enumera as visualizações necessárias e, para cada uma, explica que tipos de elementos de modelos a mesma contém.]
[Esta seção descreve os requisitos de software e os objetivos que têm um impacto significativo na arquitetura, como proteção, segurança, privacidade, uso de um produto desenvolvido internamente e adquirido pronto para ser usado, portabilidade, distribuição e reutilização. Ela também captura as restrições especiais que podem ser aplicáveis, como design e estratégia de implementação, ferramentas de desenvolvimento, estrutura de equipe, planejamento, códigos de legado e assim por diante.]
[Esta seção lista os casos de uso ou cenários do modelo de casos de uso se eles representam uma funcionalidade central e significativa do sistema final ou se têm uma ampla cobertura de arquitetura, ou seja, se experimentam muitos elementos arquiteturais ou se enfatizam ou ilustram um determinado ponto frágil da arquitetura.]
[Esta seção descreve as partes significativas do ponto de vista da arquitetura do modelo de design, como sua divisão em subsistemas e pacotes. Além disso, para cada pacote significativo, ela mostra sua divisão em classes e utilitários de classe. Você deve apresentar as classes significativas do ponto de vista da arquitetura e descrever suas responsabilidades, bem como alguns relacionamentos, operações e atributos de grande importância.]
[Esta subseção descreve toda a decomposição do modelo de design em termos de camadas e de hierarquia de pacotes.]
[Para cada pacote significativo, inclua uma subseção com o respectivo nome, uma breve descrição e um diagrama com todos os pacotes e classes significativos nele contidos.
Para cada classe significativa no pacote, inclua o respectivo nome, uma breve descrição e, opcionalmente, uma descrição de algumas de suas responsabilidades, operações e atributos mais importantes.]
[Esta seção ilustra como o software funciona de fato, apresentando algumas realizações (ou cenários) de casos de uso selecionadas e explica como os diversos elementos do modelo de design contribuem para a respectiva funcionalidade.]
[Esta seção descreve a decomposição do sistema em processos leves (encadeamentos simples de controle) e processos pesados (agrupamentos de processos leves). Organize a seção em grupos de processos que se comunicam ou interagem. Descreva os modos principais de comunicação entre processos, como transmissão de mensagens e interrupções.]
[Esta seção descreve uma ou mais configurações da rede física (hardware) na qual o software é implantado e executado. Ela é uma visão do Modelo de Implantação. Para cada configuração, ela deve indicar no mínimo os nós físicos (computadores, CPUs) que executam o software e as respectivas interconexões (barramento, LAN, ponto a ponto e assim por diante.) Inclue também um mapeamento dos processos da Visualização do Processo nos nós físicos.]
[Esta seção descreve a estrutura geral do modelo de implementação, a divisão do software em camadas e em subsistemas no modelo de implementação e descreve todos os elementos de implementação significativos do ponto de vista da arquitetura.]
[Esta subseção nomeia e define as diversas camadas e o seu conteúdo, as regras que determinam a inclusão em uma camada específica e as fronteiras entre as camadas. Inclua um diagrama de componentes que mostre os relacionamentos entre as camadas. ]
[Para cada camada, inclua uma subseção com o respectivo nome, uma lista dos subsistemas localizados na camada e um diagrama de componentes.]
[Uma descrição da perspectiva de armazenamento de dados persistentes do sistema. Esta seção será opcional se os dados persistentes forem poucos ou inexistentes ou se a conversão entre o Modelo de Design e o Modelo de Dados for trivial.]
[Uma descrição das principais características de dimensionamento do software que têm um impacto na arquitetura, bem como as restrições do desempenho desejado.]
[Uma descrição de como a arquitetura do software contribui para todos os recursos (exceto a funcionalidade) do sistema: capacidade de extensão, credibilidade, portabilidade e assim por diante. Se essas características tiverem significado especial, como, por exemplo, implicações de proteção, segurança ou privacidade, elas devem ser claramente delineadas.]