-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch '#165-updated-version-of-crosscutting-concepts-map'
- Loading branch information
Showing
21 changed files
with
1,406 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
// header file for arc42-template, | ||
// including all help texts | ||
// | ||
// ==================================== | ||
|
||
// configure EN settings for asciidoc | ||
include::src/config.adoc[] | ||
|
||
= Modelo image:arc42-logo.png[arc42] | ||
:title: Modelo arc42 | ||
:revnumber: 8.2 PT | ||
:revdate: Setembro de 2024 | ||
:revremark: (baseado na versão AsciiDoc) | ||
:version-label: Versão | ||
// toc-title definition MUST follow document title without blank line! | ||
:toc-title: Sumário | ||
|
||
//additional style for arc42 help callouts | ||
ifdef::backend-html5[] | ||
++++ | ||
<style> | ||
.arc42help {font-size:small; width: 14px; height: 16px; overflow: hidden; position: absolute; right: 0; padding: 2px 0 3px 2px;} | ||
.arc42help::before {content: "?";} | ||
.arc42help:hover {width:auto; height: auto; z-index: 100; padding: 10px;} | ||
.arc42help:hover::before {content: "";} | ||
@media print { | ||
.arc42help {display:none;} | ||
} | ||
</style> | ||
++++ | ||
endif::backend-html5[] | ||
|
||
|
||
include::src/about-arc42.adoc[] | ||
|
||
// horizontal line | ||
*** | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
[NOTE] | ||
==== | ||
Esta versão do modelo contém algumas ajudas e explicações. | ||
É usada para familiarização com arc42 e compreensão dos conceitos. | ||
Para a documentação do seu próprio sistema, é melhor usar a versão _plain_. | ||
==== | ||
**** | ||
endif::arc42help[] | ||
|
||
// numbering from here on | ||
:numbered: | ||
|
||
<<<< | ||
// 1. Introduction and Goals | ||
include::src/01_introduction_and_goals.adoc[] | ||
|
||
<<<< | ||
// 2. Architecture Constraints | ||
include::src/02_architecture_constraints.adoc[] | ||
|
||
<<<< | ||
// 3. Context and Scope | ||
include::src/03_context_and_scope.adoc[] | ||
|
||
<<<< | ||
// 4. Solution Strategy | ||
include::src/04_solution_strategy.adoc[] | ||
|
||
<<<< | ||
// 5. Building Block View | ||
include::src/05_building_block_view.adoc[] | ||
|
||
<<<< | ||
// 6. Runtime View | ||
include::src/06_runtime_view.adoc[] | ||
|
||
<<<< | ||
// 7. Deployment View | ||
include::src/07_deployment_view.adoc[] | ||
|
||
<<<< | ||
// 8. Concepts | ||
include::src/08_concepts.adoc[] | ||
|
||
<<<< | ||
// 9. Architecture Decisions | ||
include::src/09_architecture_decisions.adoc[] | ||
|
||
<<<< | ||
// 10. Quality Requirements | ||
include::src/10_quality_requirements.adoc[] | ||
|
||
<<<< | ||
// 11. Technical Risks | ||
include::src/11_technical_risks.adoc[] | ||
|
||
<<<< | ||
// 12. Glossary | ||
include::src/12_glossary.adoc[] | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-introduction-and-goals]] | ||
== Introdução e Objetivos | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
Descreve os requisitos relevantes e as forças motrizes que os arquitetos de software e a equipe de desenvolvimento devem considerar. | ||
Isso inclui | ||
* objetivos de negócios subjacentes, | ||
* recursos essenciais, | ||
* requisitos funcionais essenciais, | ||
* objetivos de qualidade para a arquitetura e | ||
* partes interessadas relevantes e suas expectativas | ||
**** | ||
endif::arc42help[] | ||
|
||
=== Visão Geral dos Requisitos | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Descrição curta dos requisitos funcionais, forças motrizes, excerto (ou resumo) | ||
dos requisitos. Link para (esperançosamente existentes) documentos de requisitos | ||
(com número da versão e informações sobre onde encontrá-lo). | ||
.Motivação | ||
Do ponto de vista dos usuários finais, um sistema é criado ou modificado para | ||
melhorar o suporte e/ou melhorar a qualidade de uma atividade negocial. | ||
.Forma | ||
Descrição textual curta, provavelmente em formato tabular de casos de uso. | ||
Se existirem documentos de requisitos, esta visão geral deve se referir a esses documentos. | ||
Mantenha esses trechos o mais curtos possível. Equilibre a legibilidade deste documento com a redundância potencial em relação aos documentos de requisitos. | ||
.Mais informações | ||
Consulte https://docs.arc42.org/section-1/[Introduction and Goals] na documentação do arc42. | ||
**** | ||
endif::arc42help[] | ||
|
||
=== Objetivos de Qualidade | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Os três principais (máx. cinco) objetivos de qualidade para a arquitetura cujo cumprimento é de maior importância para as principais partes interessadas. | ||
Nós realmente queremos dizer objetivos de qualidade para a arquitetura. Não os confunda com objetivos de projeto. | ||
Eles não são necessariamente idênticos. | ||
Considere esta visão geral de tópicos potenciais (com base no padrão ISO 25010): | ||
image::01_2_iso-25010-topics-EN.drawio.png["Categorias de Requisitos de Qualidade"] | ||
.Motivação | ||
Você deve saber os objetivos de qualidade de suas partes interessadas mais importantes, pois elas influenciarão decisões arquiteturais fundamentais. | ||
Certifique-se de ser muito concreto sobre essas qualidades, evite chavões. | ||
Se você, como arquiteto, não sabe como a qualidade do seu trabalho será julgada... | ||
.Forma | ||
Uma tabela com objetivos de qualidade e cenários concretos, ordenados por prioridades | ||
**** | ||
endif::arc42help[] | ||
|
||
=== Partes Interessadas | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Visão geral explícita das partes interessadas do sistema, ou seja, todas as pessoas, funções ou organizações que | ||
* devem conhecer a arquitetura | ||
* precisam ser convencidas da arquitetura | ||
* precisam trabalhar com a arquitetura ou com código | ||
* precisam da documentação da arquitetura para seu trabalho | ||
* precisam tomar decisões sobre o sistema ou seu desenvolvimento | ||
.Motivação | ||
Você deve conhecer todas as partes envolvidas no desenvolvimento do sistema ou afetadas pelo sistema. | ||
Caso contrário, você pode ter surpresas desagradáveis mais tarde no processo de desenvolvimento. | ||
Essas partes interessadas determinam a extensão e o nível de detalhes do seu trabalho e seus resultados. | ||
.Forma | ||
Tabela com nomes de funções, nomes de pessoas e suas expectativas com relação à arquitetura e sua documentação. | ||
**** | ||
endif::arc42help[] | ||
|
||
[options="header",cols="1,2,2"] | ||
|=== | ||
|Função/Nome|Contato|Expectativas | ||
| _<Função-1>_ | _<Contato-1>_ | _<Expectativa-1>_ | ||
| _<Função-2>_ | _<Contato-2>_ | _<Expectativa-2>_ | ||
|=== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-architecture-constraints]] | ||
== Restrições Arquiteturais | ||
|
||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Qualquer requisito que restrinja arquitetos de software em sua liberdade de decisões de design e implementação ou decisão sobre o processo de desenvolvimento. Essas restrições às vezes vão além de sistemas individuais e são válidas para organizações e empresas inteiras. | ||
.Motivação | ||
Arquitetos devem saber exatamente onde são livres em suas decisões de design e onde devem aderir às restrições. | ||
Restrições devem sempre ser tratadas; elas podem ser negociáveis, no entanto. | ||
.Forma | ||
Tabelas simples de restrições com explicações. | ||
Se necessário, você pode subdividi-las em | ||
restrições técnicas, restrições organizacionais e políticas e | ||
convenções (por exemplo, diretrizes de programação ou controle de versão, convenções de documentação ou nomenclatura) | ||
.Mais informações | ||
Consulte https://docs.arc42.org/section-2/[Architecture Constraints] na documentação do arc42. | ||
**** | ||
endif::arc42help[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-context-and-scope]] | ||
== Contexto e Escopo | ||
|
||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Contexto e escopo - como o nome sugere - delimita seu sistema (ou seja, seu escopo) de todos os seus parceiros de comunicação | ||
(sistemas e usuários vizinhos, ou seja, o contexto do seu sistema). Ele especifica, portanto, as interfaces externas. | ||
Se necessário, diferencie o contexto de negócios (entradas e saídas específicas do domínio) do contexto técnico (canais, protocolos, hardware). | ||
.Motivação | ||
As interfaces de domínio e as interfaces técnicas para parceiros de comunicação estão entre os aspectos mais críticos do seu sistema. Certifique-se de entendê-las completamente. | ||
.Forma | ||
Várias opções: | ||
* Diagramas de contexto | ||
* Listas de parceiros de comunicação e suas interfaces. | ||
.Mais informações | ||
Consulte https://docs.arc42.org/section-3/[Context and Scope] na documentação do arc42. | ||
**** | ||
endif::arc42help[] | ||
|
||
=== Contexto Negocial | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Especificação de *todos* os parceiros de comunicação (usuários, sistemas de TI, ...) com explicações de entradas e saídas ou interfaces específicas do domínio. | ||
Opcionalmente, você pode adicionar formatos específicos do domínio ou protocolos de comunicação. | ||
.Motivação | ||
Todas as partes interessadas devem entender quais dados são trocados com o ambiente do sistema. | ||
.Forma | ||
Todos os tipos de diagramas que mostram o sistema como uma caixa preta e especificam as interfaces de domínio para os parceiros de comunicação. | ||
Como alternativa (ou adicionalmente), você pode usar uma tabela. | ||
O título da tabela é o nome do seu sistema, as três colunas contêm o nome do parceiro de comunicação, as entradas e as saídas. | ||
**** | ||
endif::arc42help[] | ||
|
||
**<Diagrama ou Tabela>** | ||
|
||
**<opcionalmente: Explicação das interfaces de domínio externo>** | ||
|
||
=== Contexto Técnico | ||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Interfaces técnicas (canais e mídias de transmissão) que vinculam seu sistema ao seu ambiente. Além disso, um mapeamento de entrada/saída específica de domínio para os canais, ou seja, uma explicação de qual E/S usa qual canal. | ||
.Motivação | ||
Muitas partes interessadas tomam decisões arquiteturais com base nas interfaces técnicas entre o sistema e seu contexto. Especialmente os designers de infraestrutura ou hardware decidem essas interfaces técnicas. | ||
.Forma | ||
Por exemplo, diagrama de implantação UML descrevendo canais para sistemas vizinhos, | ||
junto com uma tabela de mapeamento mostrando os relacionamentos entre canais e entrada/saída. | ||
**** | ||
endif::arc42help[] | ||
|
||
**<Diagrama ou Tabela>** | ||
|
||
**<opcionalmente: Explicação das interfaces técnicas>** | ||
|
||
**<Mapeamento de entrada/saída para canais>** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-solution-strategy]] | ||
== Estratégia de Solução | ||
|
||
|
||
ifdef::arc42help[] | ||
[role="arc42help"] | ||
**** | ||
.Conteúdo | ||
Um breve resumo e explicação das decisões fundamentais e estratégias de solução que moldam a arquitetura do sistema. Inclui | ||
* decisões de tecnologia | ||
* decisões sobre a decomposição de nível superior do sistema, por exemplo, uso de um padrão arquitetural ou _design pattern_ | ||
* decisões sobre como atingir as principais metas de qualidade | ||
* decisões organizacionais relevantes, por exemplo, selecionar um processo de desenvolvimento ou delegar certas tarefas a terceiros. | ||
.Motivação | ||
Essas decisões formam os pilares da sua arquitetura. Elas são a base para muitas outras decisões detalhadas ou regras de implementação. | ||
.Forma | ||
Mantenha as explicações dessas decisões-chave curtas. | ||
Motive o que foi decidido e por que foi decidido dessa forma, | ||
com base na declaração do problema, metas de qualidade e principais restrições. | ||
Consulte os detalhes nas seções a seguir. | ||
.Mais informações | ||
Consulte https://docs.arc42.org/section-4/[Solution Strategy] na documentação do arc42. | ||
**** | ||
endif::arc42help[] |
Oops, something went wrong.