forked from tacianosilva/eng-software-2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Modelo do Documento Arquitetural tacianosilva#309
- Loading branch information
1 parent
33cc3d2
commit e4528ac
Showing
2 changed files
with
58 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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,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. |