4. Modelo C4 e Visões Funcional e de Desenvolvimento - gentil-eilison/Ankit-Backend GitHub Wiki

4. Modelo C4 e Visões Funcional e de Desenvolvimento

Modelo C4

O modelo C4 é um modelo que prioriza a abstração no momento de desenvolver um diagrama que represente a arquitetura de um sistema de software. Ele recebe esse nome por conta dos 4 níveis: de Contexto, Contêiner, Componente e Código. Geralmente, o último nível é ignorado, pois representa muitos detalhes que muitas vezes são desnecessários. Dessa forma, neste projeto, foram concebidos o dos 3 primeiros níveis.

Modelo C4: Nível de Contexto

Ankit - Modelo C4 (C3) - Contexto drawio

Modelo C4: Nível de Contêiner

Ankit - Modelo C4 (C3) - Contêiner drawio

Modelo C4: Nível de Componente

Para o nível de componente, foram criados dois diagramas. O primeiro deles detalha o componente API Application. O segundo representa o componente Distributed Task Queue. Julgou-se necessário a criação de 2 diagramas -- e não apenas um -- porque é importante destacar quais features do Distributed Task Queue estão sendo usadas, já que ele possui muitas funcionalidades.

Componente API Application

Ankit - Modelo C4 - Componente API Application drawio

Componente Distributed Task Queue

Ankit - Modelo C4 - Component Celery drawio

Visão Funcional

O documento de visão funcional busca demonstrar quais são as funcionalidades, em alto nível, presentes em um sistema de software. Dessa forma, suas preocupações são: os componentes que realizam uma ação ou uma ação do sistema; as interfaces disponibilizadas pelos componentes para que haja comunicação entre eles; e conectores, que conectam os componentes.

Ankit - Visão Funcional drawio

Visão de Desenvolvimento

A visão de desenvolvimento aborda a organização do código sem se debruçar em seu detalhamento. Nesse documento, é necessário se preocupar com as questões arquiteturalmente significativas, sendo algumas delas a organização dos módulos e código-fonte e padronizações do projeto.

Ankit - Visão de Desenvolvimento drawio