Skip to content

Commit

Permalink
Merge pull request #135 from UnBArqDsw2023-2/119-docs-das-implementação
Browse files Browse the repository at this point in the history
119 docs das implementação
  • Loading branch information
ArthurFerreiraRodrigues authored Dec 1, 2023
2 parents b5a6c6c + 64e0a87 commit 288f397
Show file tree
Hide file tree
Showing 3 changed files with 226 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# DAS de implementação

## O que é DAS?

Documentos de Arquitetura de Software (DAS)a são conjuntos de informações detalhadas sobre a estrutura, componentes, módulos, interfaces e padrões utilizados em um sistema de software. Eles servem como guias abrangentes para a equipe de desenvolvimento, destacando as decisões arquitetônicas e as justificativas por trás delas.

## Por que utilizar DAS?

- Compreensão Global do Sistema: Os DAS oferecem uma visão clara e abrangente da arquitetura do software, permitindo que todos os membros da equipe entendam a estrutura e a lógica por trás do sistema.

- Tomada de Decisões Informada: Ao documentar decisões arquitetônicas, os desenvolvedores podem tomar decisões informadas sobre modificações, melhorias ou expansões no sistema.

- Colaboração Eficaz: Facilitam a comunicação entre membros da equipe, stakeholders e outros envolvidos no projeto, promovendo uma colaboração mais eficaz.

- Manutenção e Evolução: Os DAS ajudam a facilitar a manutenção do software ao longo do tempo, garantindo que as futuras mudanças estejam alinhadas com a visão arquitetônica original.

Documentação de Arquitetura de Software (DAS) de Implementação: Elementos Essenciais e Diagrama de Componentes

## Elementos Necessários em um DAS de Implementação:

- **Contexto**: Uma breve descrição do contexto do projeto, identificando os principais objetivos e restrições.

- **Cenários-Chave**: Documentos da parte de requisitos, como modelagem, elicitação e validação.

- **Representação Gráfica**: Diagramas que ilustremos diferentes componentes do sistema e suas interações.

- **Estrutura do Código**: Uma visão geral da estrutura do código-fonte, destacando módulos principais, pacotes ou camadas.

## Contexto

A Amazon é uma plataforma e-commerce que oferece diversos serviços para o clientea. Através do site da Amazon, é possível fazer compras diante de um extenso catálogo de produtos e serviços oferecidos pela empresa.
O nosso grupo, da matéria de Arquitetura e desenho de software, ficou responsável por analisar a Amazon com foco no perfil comprador e fluxos compreendidos do cadastro na plataforma até visualização/compra/pagamento de produtos.

## Cenários-chave

### 5W2H

Essa abordagem deriva de sete perguntas simples, "What" (O quê), "Why" (Por quê), "Where" (Onde), "When" (Quando), "Who" (Quem), "How" (Como) e "How much" (Quanto custa). No caso do projeto da Amazon, foi utilizado para compreender melhor o escopo do projeto, quais eram os requisitos necessários. O documento pode ser acessado nesse [link](../../Entregas/Um/5W2H.md).

### Storyboard

Um Storyboard é uma representação gráfica que utiliza uma sequência de imagens ou quadros para representar uma série de eventos ou ações de um cenário específico. No contexto do grupo 1, foi utilizado na hora de elicitar requisitos. O documento e as imagens podem ser acessadas nesse [link.](../../Entregas/Um/StoryBoard.md).

### Rich Picture

O Rich Picture é uma ferramenta visual para expressar ideias e analisar problemas. Os artefatos elaborados são construídos de maneira informal, visando o fácil entendimento. Os rich pictures elaborados pela equipe podem ser vizualizados nesse [link](../../Entregas/Um/RichPicture.md).

### Mapa mental

Um mapa mental é uma representação visual que condensa conceitos e pensamentos de maneira gráfica, estabelecendo vínculos entre palavras e imagens que irradiam de um ponto central. O mapa mental elaborado pela equipe pode ser encontrado nesse [link](../../Entregas/Um/MapaMental.md).

### Protótipo

O protótipo é utilizado na validação dos requisitos elicitados por meio das técnicas acima. O documento desenvolvido na disciplina, relacionado a disciplina, pode ser acessado nesse [link](../../Entregas/Um/Prototipo.md).

### Entrevista

A entrevista foi utilizada na tecnica de elicitação e tem como objetivo realizar conversas estruturadas com stakeholders para entender melhor as necessidades e requisitos do sistema. O documento referente a esse artefato pode ser acessado nesse [link](../../Entregas/Um/Entrevista.md)

### BPMN

O BPMN (Business Process Model and Notation), é uma linguagem gráfica padronizada para representar processos de negócios. O BPMN pode ser acessado nesse [link](../../Entregas/Um/BPMN.md)

## Diagramas

<details>
<summary>Diagrama de Classes</summary>
<h3>O Diagrama de Classes é uma ferramenta fundamental na UML (Unified Modeling Language) que oferece uma perspectiva
abrangente da estrutura de um sistema orientado a objetos. O artefato referente a esse diagrama pode ser encontrado neste <a href="../../Entregas/Dois/DiagramaDeClasses/DiagramaDeClasses.html">link</a>.</h3>
<img src="../../Entregas/Dois/DiagramaDeClasses/Classe UML - Amazon_v2.1.png" alt="Diagrama de Classes"/>
<center>
<p> Diagrama 1 (Fonte: Ana e Beatriz, 2023).</a></p>
</center>
</details>

<details>
<summary>Diagrama de Pacotes</summary>
<h3>É um diagrama estrutural e estático que tem como objeto mostrar a disposição de pacotes (conjunto de elementos) dentro do projeto. O artefato referente a esse diagrama pode ser encontrado neste <a href="../../Entregas/Dois/DiagramaDePacotes/DiagramaDePacotes.html">link</a>.</h3>
<img src="../../Entregas/Dois/DiagramaDePacotes/DiagramaDePacotesVF.png" alt="Diagrama de Pacotes"/>
<center>
<p> Diagrama 2 (Fonte: Kauã e Mylena, 2023).</a></p>
</center>
</details>

<details>
<summary>Diagrama de Estados</summary>
<h3> É um diagrama comportamental e dinâmico. O diagrama de estados consiste em estados, transições, eventos e atividades. Eles são importantes na modelagem de comportamentos de interface, classe ou colaboração. Ele enfatiza a ordem dos eventos do comportamento de um objeto. O artefato referente a esse diagrama pode ser encontrado neste <a href="../../Entregas/Dois/DiagramaDeEstados/DiagramaDeEstados.html">link</a>.</h3>
<img src="../../Entregas/Dois/DiagramaDeEstados/EstadosProdutoVF.png" alt="Diagrama de Estados"/>
<center>
<p> Diagrama 3 (Fonte: Kauã, Ana e Mylena 2023).</a></p>
</center>
</details>

<details>
<summary>Diagrama de Atividades</summary>
<h3>O Diagrama de Atividade é uma variação do Diagrama de Estado, que contém essencialmente os comportamentos a serem realizados no sistema. O artefato referente a esse diagrama pode ser encontrado neste <a href="../../Entregas/Dois/DiagramaDeAtividade/DiagramaDeAtividade.html">link</a>.</h3>
<h2>Diagrama de Atividades - Cadastro</h2>
<img src="../../Entregas/Dois/DiagramaDeAtividade/assets/Atividade UML Cadastro.png" alt="Diagrama de Atividades - Cadastro"/>
<center>
<p> Diagrama 4 (Fonte: Bruno e Gabriel, 2023).</a></p>
</center>
<h2>Diagrama de Atividades - Compras</h2>
<img src="../../Entregas/Dois/DiagramaDeAtividade/assets/UML_Compras.png" alt="Diagrama de Atividades - Compras"/>
<center>
<p> Diagrama 5 (Fonte: Bruno e Gabriel, 2023).</a></p>
</center>
<h2>Diagrama de Atividades - Gestão</h2>
<img src="../../Entregas/Dois/DiagramaDeAtividade/assets/UML_Gestao.png" alt="Diagrama de Atividades - Gestão"/>
<center>
<p> Diagrama 6 (Fonte: Bruno e Gabriel, 2023).</a></p>
</center>

</details>

## Diagrama de Componentes

Sendo o Diagrama de Componentes uma das principais representações visuais no Documento de Arquitetura de Implementação, ele desempenha um papel crucial ao oferecer uma visão clara da organização e interconexões dos elementos-chave identificados no sistema. Cada componente é cuidadosamente representado, destacando suas responsabilidades específicas e as interações entre eles.

Essa representação, além de simplificar a compreensão da estrutura do sistema, também fornece uma base sólida para a tomada de decisões ao longo do ciclo de vida do projeto, permitindo que a equipe de desenvolvimento e manutenção atue de maneira informada e eficaz.

O artefato completo referente a esse diagrama esta disponível neste [link](../../Entregas/Dois/DiagramaDeComponentes/DiagramaDeComponentes.md).

<br>


<img src="../../Entregas/Dois/DiagramaDeComponentes/v3.png"/>
<center>
<p> Diagrama 7 (Fonte: Guilherme Puida, 2023).</a></p>
</center>


## Estrutura do código

A estrutura do código é uma parte essencial para compreender a implementação prática da reutilização de software interno. Nesta seção, apresentamos uma visão geral dos principais elementos da estrutura do código relacionado, com foco na reutilização de componentes específicos. Mais informaçẽos sobre a arquitetura utilizada no projeto pode ser acessada nos links abaixo.

## Fontes:

- [Arquitetura](../../ArquiteturaReutilizacao/reutilizacao/Arquitetura.md)
- [Reutilização de software interno](../../ArquiteturaReutilizacao/reutilizacao/Interna.md)
- [Reutilização de software externo](../../ArquiteturaReutilizacao/reutilizacao/Externa.md)

## Concideraçẽos Gerais

- Linguagem de Programação: Python.
- Arquitetura de Software: MVC.
- Padrão de proejto utilizado: Strategy e Proxy


## Referências

> [1] Documentos elaborados durante o semestre pelo grupo. Disponível em: <docs/>. Acesso em: 28 nov. 2023.
> [2] Arquitetura de software: Documentação. Disponível em: <https://edisciplinas.usp.br/pluginfile.php/134335/mod_resource/content/1/Aula13_ArquiteturaSoftware_02_Documentacao.pdf>. Acesso em: 28 nov. 2023
> [3] Vídeos aulas. Disponível no moodle da disciplina. Acesso em: 29. nov. 2023
> [4] Slide Arquitetura e Desenho de Software AULA - ARQUITETURA & DAS – PARTE II. Disponivel em: Aprender3. Acesso em 30 nov. 2023
## Histórico de versão

| Versão | Data | Descrição | Autor(es) | Revisor(es) |
| ------ | ---------- | ---------------------------------------------- | ----------- | ----------- |
| `1.0` | 28/11/2023 | Criação do documento | Mylena | Beatriz |
| `1.1` | 29/11/2023 | Adicionando links e mais informações | Mylena | Beatriz |
| `1.2` | 30/11/2023 | Adicionando diagramas e finalizando documento | Ana Beatriz | Beatriz |
2 changes: 1 addition & 1 deletion docs/ArquiteturaReutilizacao/reutilizacao/Arquitetura.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Sendo assim este documento tem como objetivo descrever a arquitetura de software

## Metodologia

Para a escolha da arquitetura do projeto, a equipe produziu os diagramas e com base nos mesmos decidiu um framework que seria mais adequadro para o trabalho e por fim implementou a arquitetura previamente disponível no mesmo. Podemos encontrar as tecnologias escolhidas no documento de [reutilização de software interno](). Com isto, foi feito um estudo da arquitetura disponível e produzido o produto de software.
Para a escolha da arquitetura do projeto, a equipe produziu os diagramas e com base nos mesmos decidiu um framework que seria mais adequadro para o trabalho e por fim implementou a arquitetura previamente disponível no mesmo. Podemos encontrar as tecnologias escolhidas no documento de [reutilização de software interno](../../ArquiteturaReutilizacao/reutilizacao/Interna.md). Com isto, foi feito um estudo da arquitetura disponível e produzido o produto de software.

## Arquitetura MVC

Expand Down
63 changes: 63 additions & 0 deletions docs/Entregas/Tres/participacoes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Documento de entrega

## Participações - Arquitetura & Reutilização

Este documento de entrega possui as participações e contribuições dos membros da equipe relacionado a entrega de Arquitetura e reutilização. Além deste documento, pode-se encontrar as contribuições de cada membro pelas [issues do projeto](https://github.com/UnBArqDsw2023-2/2023.2_G1_ProjetoAmazon/issues) no GitHub e também pela tabela de histórico presente em cada documento.
Essa entrega incorpora: DAS, códigos...

## Metodologias para desenvolvimento do trabalho

Para a realização do trabalho em grupo foram utilizados os aplicativos Discord e WhatsApp para comunicação entre os membros. Além disso, foi utilizado o GitHub para o versionamento e armazenamento dos artefatos produzidos.

## Documentação

| Artefato | Autores | Revisores |
| --------------------------------------------------------------------------- | ----------------------- | --------------------------- |
| [Documento de arquitetura](https://github.com/UnBArqDsw2023-2/2023.2_G1_ProjetoAmazon/blob/main/docs/ArquiteturaReutilizacao/reutilizacao/Arquitetura.md)| Kauã e Guilherme | Ana|
| [DAS de arquitetura externa]( ) | Augusto | Mylena |
| [DAS de arquitetura interna](https://github.com/UnBArqDsw2023-2/2023.2_G1_ProjetoAmazon/blob/main/docs/ArquiteturaReutilizacao/reutilizacao/Interna.md) | Kauã e Guilherme | Ana |
| [DAS de implantação]( ) | Arthur e Bruno | Gabriel |
| [DAS de implementação]( ) | Ana e Mylena | Beatriz |
| [DAS de processo]( ) | Beatriz e Gabriel | Mylena e Ana |
| [Data view]( ) | Augusto | Guilherme |

<div style="text-align: center"> Tabela 1. Contribuição dos membros para a entrega de diagramas estáticos. Fonte: Autores.</div>

<br>

## Contribuições extras

| Atividade | Descrição | Autores | Revisores |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | ------------ | ----------------- |
| [Documento de Participações](./Participacoes.md) | Estrutura do documento que conta a avaliação e as atividades de cada membro na segunda entrega | Mylena | Beatriz |
| [GitPages](https://unbarqdsw2023-2.github.io/2023.2_G1_ProjetoAmazon/#/) | Estruturação, estilização, deploy, inclusão das páginas e revisão do conteúdo para segunda entrega | Arthur | N/A |
| [Implementação](https://github.com/UnBArqDsw2023-2/2023.2_G1_ProjetoAmazon/tree/main/src) | Implementação da aplicação com os padrões de projeto | Guilherme Puida e Kauã | N/A |

<div style="text-align: center"> Tabela 2. Contribuição dos membros para a entrega de atividades extras na entrega de modelagem. Fonte: Autores.</div>

## Avaliação em relação a contribuição individual

Os participantes da documentação utilizam a seguinte escala de contribuição: Excelente; Boa; Regular; Ruim; Nula.
Também podiam fazer comentários caso necessário.

| Nome | Avaliação Ana | Avaliação Arthur | Avaliação Augusto | Avaliação Beatriz | Avaliação Bruno | Avaliação Gabriel | Avaliação Guilherme | Avaliação Kauã | Avaliação Mylena | Avaliação Samuel |
| ------------------ | ------------- | ---------------- | ----------------- | ----------------- | --------------- | ----------------- | ------------------- | -------------- | ---------------- | ---------------- |
| Ana Beatriz | ---------- | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente |
| Arthur Ferreira | Excelente | ---------- | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente |
| Augusto Camargo | Excelente | Excelente | ---------- | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente |
| Beatriz Nascimento | Excelente | Excelente | Excelente | ---------- | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente |
| Bruno Oliveira | Excelente | Excelente | Excelente | Excelente | ---------- | Excelente | Excelente | Excelente | Excelente | Excelente |
| Gabriel Luiz | Excelente | Excelente | Excelente | Excelente | Excelente | ---------- | Excelente | Excelente | Excelente | Excelente |
| Guilherme Puida | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | ---------- | Excelente | Excelente | Excelente |
| Kauã Vinícius | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | ---------- | Excelente | Excelente |
| Mylena Angélica | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | ---------- | Excelente |
| Samuel Sato | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | Excelente | ---------- |

<div style="text-align: center"> Tabela 4. Avaliação entrega Modelagem. Fonte: Autores.</div>

## Histórico de Versão

| Versão | Data | Descrição | Autor(es) | Revisor(es) |
| ------ | ---------- | ----------------------- | --------- | ----------- |
| `1.0` | 30/11/2023 | Criação da documentação | Mylena | Beatriz |
| `1.1` | 30/11/2023 | Adição de links | Kauã | Ana |

0 comments on commit 288f397

Please sign in to comment.