Skip to content

Commit

Permalink
docs: Modelo do Documento Arquitetural #309
Browse files Browse the repository at this point in the history
  • Loading branch information
tacianosilva committed Apr 2, 2024
1 parent 95b2378 commit 5047862
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
Binary file added docs/django-arquitetura.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 58 additions & 0 deletions docs/doc-arquitetura.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Projeto Arquitetural do Software

Documento construído a partido do **Modelo BSI - Doc 005 - Documento de Projeto Arquitetual do Software** que pode ser encontrado no
link:https://docs.google.com/document/d/1i80vPaInPi5lSpI7rk4QExnO86iEmrsHBfmYRy6RDSM/edit?usp=sharing

## Descrição da Arquitetura do Projeto

Descrever de forma geral a arquitetura do projeto. Se será monolítico, cliente-servidor, REST, Microsserviço, etc. Descrever alguns requisitos não funcionais que impactem na arquitetura: Redundância e Réplicas, Cloud, Conexão com outros módulos e projetos, etc.

## Visão Geral da Arquitetura

Imagem com a organização geral dos componentes da arquitetura do projeto. Segue um exemplo da **Arquitetura Geral** de um Projeto usando **Django Framework**:

![Arquitetura Django Framework](django-arquitetura.jpg)

## Requisitos Não-Funcionais

Requisitos não-funcionais que impactam na arquitetura. Nesta seção do documento, é necessário listar os requisitos não funcionais encontrados no sistema, tais como: portabilidade, usabilidade, desempenho e etc. O objetivo é colocar o nome do requisito e descrever com detalhes suas características.

Segue um exemplo:

Requisito | Detalhes
---------- | --------------------------------------------
Desempenho | 1. A página principal tem que ser carregada em no máximo 3 segundos em uma conexão mínima de 256kbps. <br />2. As páginas que recuperam informações de sistemas legados, devem responder em dois segundos em uma conexão de 256kbps. <br />3. As páginas que recuperam informações de transações no banco de dados da própria aplicação, deve responder em um segundo usando paginação real (limit e offset), retornados em uma conexão de 256kbps. <br />4. O servidor deve suportar 100.000 conexões simultâneas sem perda de desempenho.
Interoperabilidade | 1. Deve ser desenvolvido no sistema linux, criando uma imagem docker do sistema e com banco de dados PostgreSQL 16.

## Mecanismos arquiteturais

Nesta seção do documento, devemos listar os mecanismos arquiteturais encontrados no sistema, ou seja, identificar todos os mecanismos de análise, mecanismo de design e mecanismo de implementação. O intuito desta etapa é verificar e garantir que todas as preocupações técnicas relativas à arquitetura do sistema tenham sido capturadas.

Exemplo:

| Mecanismo de Análise | Mecanismo de Design | Mecanismo de Implementação |
| -------------------- | -------------------- | -------------------------- |
| Persistência | Banco de dados relacional | PostgreSQL 16.2 |
| Camada de Dados | Mapeamento OR | Django ORM |
| Frontend | Interface Usuário | Django Templates, HTML5, JS, Bootstrap 5 |
| Backend | REST | Django REST Framework |
| Build | Imagem Docker | Docker e Dockerfile |
| Deploy | Container Docker | Docker compose |

# Implantação

O arquiteto deve descrever as configurações de distribuição dos componentes de software na área física em que serão implantados.

# Referências

Links utilizados como referência sobre Arquitetura de Software e documentação de Arquiteturas.

https://edisciplinas.usp.br/pluginfile.php/134335/mod_resource/content/1/Aula13_ArquiteturaSoftware_02_Documentacao.pdf

http://www.linhadecodigo.com.br/artigo/3343/como-documentar-a-arquitetura-de-software.aspx

http://diatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:1301182:disciplinas:arquitetura:exemplo-arquitetura-01.pdf

Peter Eeles; Peter Cripps. The Process of Software Architecting, Addison-Wesley Professional, 2009.

Paul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Paulo Merson; Robert Nord; Judith Stafford. Documenting Software Architectures: Views and Beyond, Second Edition, Addison-Wesley Professional, 2010.

0 comments on commit 5047862

Please sign in to comment.