Documento de Arquitetura - GetGather/GetGatherApp GitHub Wiki

Documento de Arquitetura

Histórico de Revisões

Versão Data Descrição Autor
1.0 23/06/2016 Criação do documento Levi Moraes

1. Objetivo

A finalidade do “Documento de Arquitetura de Software – DAS” é definir um modelo
arquitetural para ser aplicado ao desenvolvimento de projetos de software, bem como
reunir todas as informações necessárias ao controle das atividades de Arquitetura, oferecendo
uma visão macro dos requisitos arquiteturais e não funcionais para suportar o
desenvolvimento dos projetos e seu posterior acoplamento a outras plataformas 1 – http://www.facima.edu.br/instituto/arquivos/Anexo_I_DAS-%20Documento_de_Arquitetura_de_Software.pdf.

2. Introdução

Estão contidos no DAS padrões de software, ambientes de desenvolvimento, modelagem de infraestrutura, frameworks, APIs e qualquer informação que ajude na construção e manutenção do projeto de software. Também estão descritos todas as decisões arquiteturais e os motivos para tais decisões. Este documento serve como orientação no desenvolvimento do projeto GetGather onde são mostrados diretrizes que devem ser aplicadas durante o desenvolvimento

3. Descrição da Arquitetura

A linguagem adotada pela equipe utiliza de uma arquitetura baseada em Cliente-Servidor cujo principal atrativo é a reatividade como pode ser visto na imagem abaixo.

Meteor Architecture

3.2 Restrições e Tecnologias utilizadas

Meteor é um framework JavaScript full-stack. Ele é executado no cliente eo servidor. O cliente se comunica com o servidor usando um protocolo chamado DDP.DDP é uma pequena protocolo, que é otimizada para comunicação em tempo real. Ele pode ser implementado em qualquer transporte duplex. A implementação atual é construído em cima de SockJS, que é um transporte de emulação WebSocket 2 – (https://meteorhacks.com/journey-into-meteors-reactivity/).

4. Visão de Implementação

A visão da implementação é uma das cinco visões de arquitetura de um sistema. As outras visões de arquitetura são a visão lógica, a visão de caso de uso, a visão de processos e a visão de implantação. A finalidade da visão de implementação é captar as decisões de arquitetura tomadas para a implementação.3 – http://www.wthreex.com/rup/process/workflow/implemen/co_impvw.htm

4.1 Diagrama de Pacote

5. Visão de Casos de Uso

A visão de caso de uso como o próprio nome explica esta ligado diretamente as funcionalidades do sistema por um lado mais voltado para requisitos funcionais.

Diagrama de Classe

5. Visão de Implantação

Na visão de implantação são descritos todos os ambientes em que será implementado o software, sejam servidores, devices, se é somente uma aplicação Client Side entre outros. No caso do GetGather por se tratar de uma aplicação móvel, existe um servidor para nossa aplicação onde ficam armazenados contextos de negócio do aplicativo, existe um servidor para a disponibilização do app seja ele Android (Play Store) ou iOS (App Store), e por ultimo é lado cliente da aplicação que está ligado ao device do usuário.

Diagrama de Implantação

6. Visão Lógica

A visão lógica descreve requisitos comportamentais do sistema em um conjunto de abstrações. Os diagramas levantados pelo grupo se encontram abaixo. Não se viu a necessidade da elaboração de um diagrama de colaboração.

6.1 Modelo de Banco de Dados

MER

6.2 Diagrama de Classes

Class Diagram

⚠️ **GitHub.com Fallback** ⚠️