Skip to content

Documento de Arquitetura

Felipe Osório edited this page Apr 17, 2018 · 6 revisions

Documento de Arquitetura

Sumário

  1. Introdução
    1.1. Finalidade
    1.2. Escopo
    1.3. Visão geral
  2. Representação da Arquitetura
  3. Metas e Restrições da Arquitetura
    3.1 Metas
    3.2 Restrições
  4. Visão Lógica
  5. Desempenho
  6. Qualidade

1. Introdução

1.1. Finalidade

Este documento fornece uma visão arquitetural abrangente do projeto UnB-Feelings, usando diversas visões de arquitetura para representar diferentes características do sistema. Assim como define e registra as decisões arquiteturais significativas tomadas em relação ao sistema.

1.2. Escopo

Este documento abrange assuntos relacionados as metas e restrições da arquitetur, uma visão lógica, descreve a estrutura geral do modelo de implementação, fornece uma perspectiva do modelo de classes do sistema, e por fim descreve características de desempenho e qualidade.

1.3. Visão Geral

Este artefato apresenta uma visão geral e detalhada da arquitetura do software que será desenvolvido. Para isso apresenta visões diferentes, são elas: lógica, de implementação e de dados, além de alguns requisitos de desempenho e qualidade.

2. Representação da Arquitetura

Para desenvolver o projeto serão utilizados dois modelos de arquitetura, um no desenvolvimento da API REST e outro no desenvolvimento da aplicação front-end. No desenvolvimento da API REST será utilizado o framework Django em conjunto com o Django REST framework. O Django é um framework que utiliza da arquitetura MTV (Model-Template-View). Porém, no projeto não utilizaremos a camada template do Django, pois o React fará esse papel. Essa ligação entre o React e a API REST, será feita através de métodos do protocolo HTTP através da URL.

3. Metas e Restrições da Arquitetura

3.1. Metas

O produto deverá ser capaz de manter as publicações anônimas e também deverá suportar o acesso de qualquer dispositivo com acesso a internet. O software deve possuir testes que validem suas funcionalidades e deve atender aos requisitos não funcionais.

3.2. Restrições

O desenvolvimento do sistema será dividido em back-end e front-end. O back-end será desenvolvido em python, versão 3.6, com a framework de Django Rest Framework, versão 3.3.7.
O front-end do projeto será desenvolvido em javascript, utilizado o framework React. Para utilização do sistema o usuário deverá possuir conexão com a internet.

4. Visão Lógica

4.1. Diagrama de classes

Diagrama de classes

5. Desempenho

O desempenho do sistema será afetado por fatores como a velocidade da conexão do usuário com a internet, a quantidade de requisições sendo realizadas a partir dos filtros utilizados durante as buscas das publicações.

6. Qualidade

O desenvolvimento do sistema deve estar em conformidade a arquitetura proposta pela equipe de desenvolvimento e também deverá respeitar as métricas de qualidade estabelecidas pela equipe de qualidade.
Clone this wiki locally