<Nome do Projeto> Caderno de Arquitetura Data: <dd/mm/yyyy> <Nome do Projeto> Caderno de arquitetura 1. Propósito / Objetivo Este documento descreve a filosofia, decisões, limitações, elementos significantes, e qualquer outro aspecto dominante do sistema que modela o projeto/design e implementação. [Sempre enderece as seções 2 a 6 deste template. Outras seções são recomendadas, dependendo da quantidade de arquitetura desconhecida, da quantidade de manutenção esperada, das habilidades da equipe de desenvolvimento , e da importância de outras preocupações arquiteturais.] 2. Objetivos arquiteturais e filosofia [Descreve a filosofia da arquitetura. Identifica assuntos que vão levar a filosofia, como: O sistema será conduzido por interesses de distribuição complexa, adaptando-se aos sistemas legados, ou questões de execução? Ele precisa ser robusto para manutenções de longo prazo? Formula um conjunto de objetivos que a arquitetura necessita satisfazer em sua estrutura e comportamento. Identifica questões críticas que devem ser endereçadas pela arquitetura, como: Há dependências de hardware que devem ser isoladas do resto do sistema? O sistema precisa funcionar eficientemente sob condições incomuns?] 3. Hipóteses e dependências [Lista as hipóteses e dependências que levam as decisões arquiteturais. Isto pode incluir áreas criticas ou sensíveis, dependências de interfaces de sistemas legados, a habilidade e experiência da equipe, a disponibilidade de recursos, e assim por diante] 4. Requisitos arquiteturalmente significantes [Insere a referência ou link aos requisitos que devem ser implementados para realizar a arquitetura.] 5. Decisões, limitações e justificativas [Lista as decisões que devem ser feitas relacionadas ao acesso arquitetural e as limitações sendo colocadas no caminho que o criador cria o sistema. Eles servirão de guias para definir partes do sistema arquiteturalmente significantes. Justifique cada decisão ou limitação para que os criadores entendam a importância da construção do sistema de acordo com o contexto criado por aquelas decisões e limitações. Isso pode incluir um guia de faça ou não faça para guiar criadores na construção do sistema.] Decisões ou limitações e justificativas Decisões ou limitações e justificativas 6. Mecanismos arquiteturais [Lista os mecanismos arquiteturais e descreve o estado atual de cada um deles. Inicialmente, cada mecanismo pode ser apenas nome e uma breve descrição. Eles serão desenvolvidos até que o mecanismo seja uma colaboração ou padrão que pode ser aplicado diretamente em algum aspecto do design.] Mecanismo arquitetural 1 [Descreve o propósito, atributos, e a função do mecanismo arquitetural.] Mecanismo arquitetural 2 [Descreve o propósito, atributos, e a função do mecanismo arquitetura2.] Confidencial <Company Name>, 2017 Pag 1 <Nome do Projeto> Caderno de Arquitetura Data: <dd/mm/yyyy> 7. Abstrações chave [Lista e descreve brevemente as abstrações chave do sistema. Pode ser uma lista relativamente curta dos conceitos críticos que definem o sistema. As abstrações chave geralmente irão traduzir para classes de analise inicial e padrões importantes.] 8. Camadas ou estrutura arquitetural [Descreve o padrão arquitetural que você irá utilizar ou como a arquitetura será consistente e uniforme. Isto pode ser uma simples referência para um padrão arquitetural existente ou bem conhecido, como uma Layer Framework, uma referência ao modelo de alto nível da framework, ou uma descrição de como os componentes do sistema principal devem ser postos juntos.] 9. Visões arquiteturais [Descreve as visões arquiteturais que você utilizará para descrever a arquitetura do software. Ilustra as diferentes perspectivas que você disponibilizará para revisar e documentos de decisões arquiteturais.] Visões recomendadas Lógica: Descreve a estrutura e comportamento das porções arquiteturalmente significantes do sistema. Isto pode incluir pacotes de estrutura, interfaces críticas, importantes classes e subsistemas, e as relações entre estes elementos. Pode também incluir visões físicas e lógicas dos dados persistente, se a persistência for usada no sistema. Também é um subsistema do design Operacional: Descreve os nós físicos do sistema e os processos, processos de execução, e componentes que rodam nestes nós físicos. Esta visão não é necessária se o sistema roda em um único processo e processo de execução. Caso de uso: Uma lista ou diagrama os casos de uso que contém requisitos arquiteturalmente significantes Confidencial <Company Name>, 2017 Pag 2