Skip to content

Commit

Permalink
Merge branch 'main' into DiagramaDePacotes
Browse files Browse the repository at this point in the history
  • Loading branch information
MateusPy authored Jul 9, 2024
2 parents a93ab04 + 700ac4e commit 4555cfa
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 1 deletion.
8 changes: 8 additions & 0 deletions docs/Modelagem/2.1.1.1DiagramadeClasses.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Um diagrama UML é uma representação visual de um modelo de sistema que pode s

<h3> 2.1. Composição das classes</h3>
<p align="justify">

Um diagrama de classes típico é composto por três partes principais:
<ul>
<li> Parte superior: contém o nome da classe.</li>
Expand All @@ -24,6 +25,7 @@ Um diagrama de classes típico é composto por três partes principais:
<p>Fonte: João Costa. </p>
</div>


<h3> 2.2. Modificadores de acesso</h3>
<p align="justify">
Todas as classes possuem diferentes níveis de acesso, determinados pelos modificadores de acesso, que são:
Expand Down Expand Up @@ -60,11 +62,13 @@ Todas as classes possuem diferentes níveis de acesso, determinados pelos modifi

## 3. Diagrama de Classes


<div align="center"><img src="https://raw.githubusercontent.com/UnBArqDsw2024-1/2024.1_G7_My_Market/DiagramaDePacotes/docs/Imagens/Diagramas/DiagramaClasse0.jpeg" alt="Figura 2: Diagrama de Classes.">
</div>
<p align='center'>Figura 2: Diagrama de Classes.</p>
<p>Fonte: Autores. </p>


## 4. Conclusão

<p align="justify">
Expand All @@ -73,13 +77,17 @@ O diagrama de classes é uma ferramenta poderosa na engenharia de software que d

## 5. Referências


> FAKHROUTDINOV, Kirill. UML Class and Object Diagrams Overview. In: FAKHROUTDINOV, Kirill. The Unified Modeling Language. [S. l.], 2017. Disponível em: https://www.uml-diagrams.org/uml-25-diagrams.html. Acesso em: 29 set. 2023.
> LUCID SOFTWARE INC. O que é um diagrama de classe UML?: Por que usar um diagrama UML?. In: LUCID SOFTWARE INC. Lucidchart: A visualização colocada em prática.. [S. l.], 2023. Disponível em: https://www.lucidchart.com/pages/pt/o-que-e-diagrama-de-classe-uml. Acesso em: 29 set. 2023.
> SERRANO, Milene. Diretrizes Organização dos Projetos. Disponível em: <https://aprender3.unb.br/course/view.php?id=19535>. Acesso em: 29 set. de 2023.
## Histórico de Versões

| Versão | Data | Descrição | Autor(es) | Revisor(es) |
| ------ | ----------- | ----------- | --------- | ----------- |
| `1.0` | 08/07/2024 | Estruturamento do documento | [João Costa](https://github.com/jvcostta) | [Mateus Orlando](https://github.com/MateusPy) e [Artur Rodrigues](https://github.com/ArturRSA19)|
| `1.1` | 08/07/2024 | Reajustando diagrama de classe | [João Costa](https://github.com/jvcostta) | [Mateus Orlando](https://github.com/MateusPy) e [Artur Rodrigues](https://github.com/ArturRSA19)|

4 changes: 4 additions & 0 deletions docs/Modelagem/2.1.1.2DiagramadePacotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@ O artefato foi conduzido utilizando previamente a ferramenta microsoft teams par
## 3.1. Diagrama de Pacotes (v1.0)

<div align = "center"><img src="https://raw.githubusercontent.com/UnBArqDsw2024-1/2024.1_G7_My_Market/DiagramaDePacotes/docs/Imagens/Diagramas/Diagrama-de-Pacotes.jpeg" alt="Diagrama de Pacote (v1.0)">

<p>Figura 1 - Diagrama de Pacotes. </p>
<p>Fonte: Mateus Orlando e Guilherme de Oliveira. </p>
</div>


<p align="justify">

O diagrama de pacotes reflete a estrutura modular do projeto, utilizando a Clean Architecture, que organiza os componentes em camadas de acesso.
Expand Down Expand Up @@ -77,6 +79,7 @@ A camada de DataBase é responsável pela gestão de dados persistentes do siste
A camada de Serviços Externos integra serviços adicionais necessários ao sistema. Um exemplo é o Serviço de Transporte, que pode lidar com a logística e o envio de produtos.
</p>


## 4. Conclusão

<p align="justify">
Expand All @@ -85,6 +88,7 @@ O diagrama de pacotes é uma ferramenta essencial na engenharia de software, sen

## 5. Referências


> UML Package Diagrams Overview. <bold>uml-diagrams.org<bold>. Disponível em: [https://www.uml-diagrams.org/package-diagrams-overview.html](https://www.uml-diagrams.org/package-diagrams-overview.html). Acesso em 08 de Julho de 2024.
## Histórico de Versões
Expand Down
68 changes: 68 additions & 0 deletions docs/Modelagem/2.1.2.2.DiagramaDeEstados.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# 2.1.2.2. Diagrama de Estados

## 1. Introdução
O diagrama de estado, também conhecido como diagrama de estados e transições ou diagrama de máquina de estados, é um dos diagramas dinâmicos da UML que descreve o comportamento de um sistema ao longo do tempo. Ele é particularmente útil para modelar sistemas que têm estados bem definidos e onde o comportamento do sistema depende do estado atual e de eventos que causam transições entre esses estados.

*Importância:*

Os diagramas de estados desempenham um papel vital no desenvolvimento de software, oferecendo uma representação clara e detalhada do comportamento dinâmico de sistemas e objetos. Eles são fundamentais para a compreensão de como um sistema reage a diferentes eventos e como transita entre estados, proporcionando uma base sólida para a comunicação, validação e design de sistemas complexos. A seguir, destacamos algumas das principais razões pelas quais os diagramas de estados são importantes:

- *Clareza e Visualização:* Proporciona uma visão clara e visual do comportamento de um objeto ao longo do tempo. Facilitando a compreensão de como um objeto muda de estado em resposta a eventos. Funcionam como uma linguagem visual que melhora a clareza e a precisão na comunicação sobre o comportamento do sistema entre desenvolvedores, designers e outros interessados.
- *Análise de Requisitos:* Auxilia na análise de requisitos ao identificar e assegurar que os requisitos do sistema estão corretamente refletidos no comportamento modelado.
- *Manutenção e Evolução do Sistema:* Facilita a manutenção e evolução de sistemas complexos, proporcionando uma visão detalhada do comportamento esperado.
- *Modelagem de Comportamento:* Os diagramas de estados são cruciais para capturar e descrever como um objeto ou sistema se comporta, detalhando suas reações a eventos específicos e suas transições entre diferentes estados.

*Uso:*

Os diagramas de estados são ferramentas versáteis e amplamente utilizadas no desenvolvimento de software, proporcionando uma maneira eficaz de modelar e entender o comportamento de sistemas complexos. Eles são aplicáveis em diversas fases do ciclo de vida do desenvolvimento de software, desde o design inicial até o teste e controle de processos. A seguir, exploramos as várias aplicações práticas dos diagramas de estados e como eles podem ser utilizados para melhorar a qualidade e a eficiência do desenvolvimento de sistemas.

- *Design de Software:* Durante a fase de design, os diagramas de estado são empregados para definir o comportamento de objetos ou sistemas, especificando estados, eventos e transições.
- *Teste de Software:* Facilitam a criação de cenários de teste ao mapear as diferentes sequências de estados e transições que o sistema deve suportar.
- *Modelagem de Comportamento do Usuário:* Podem ser usados para modelar o comportamento de um usuário em um sistema, como em um sistema de interface de usuário.
- *Automação e Controle de Processos:* São aplicados em sistemas de controle e automação para modelar o comportamento de máquinas, dispositivos ou processos.

## 2. Metodologia
No processo de desenvolvimento do sistema de gerenciamento de reembolsos, utilizamos a ferramenta Draw.io para criar um diagrama de estados UML que representa os principais componentes do processo de reembolso, focando nos estados e transições relacionados à solicitação e processamento de reembolsos. O diagrama de estados criado no Draw.io nos permitiu visualizar de forma clara como uma solicitação de reembolso é tratada desde o momento em que é submetida pelo cliente até a sua conclusão ou rejeição. Ele ajudou a definir como o sistema responde a eventos específicos, como a verificação inicial, a análise da solicitação, o processamento e a finalização do reembolso.

Essa representação gráfica do comportamento do sistema foi valiosa durante o processo de desenvolvimento, auxiliando na compreensão do fluxo de estados e nas interações entre os diferentes componentes do processo de reembolso. Além disso, o diagrama de estados serviu como uma ferramenta de comunicação eficaz entre os membros da equipe de desenvolvimento e os stakeholders, garantindo que todos tivessem uma compreensão clara do comportamento do sistema.

Durante a reunião realizada via teams, o grupo avaliou o diagrama de estado criado inicialmente pelo Guilherme Nishimura e elaboramos um detalhado fluxo de reembolsos para compreender as diferentes etapas envolvidas no processo. Esse fluxo, representado no diagrama abaixo, destaca as interações e transições entre os diferentes estados do sistema:

1. *Solicitação de Reembolso*: O cliente inicia o processo solicitando um reembolso.
2. *Em Análise*: A solicitação é verificada inicialmente e entra em análise.
3. *Aprovado ou Rejeitado*: Durante a análise, a solicitação pode ser aprovada ou rejeitada.
- *Aprovado*: O reembolso será processado.
- *Rejeitado*: O reembolso não é aprovado e o processo é encerrado.
4. *Processando*: Se aprovado, o reembolso entra em processamento.
5. *Completo*: Após o processamento, o reembolso é concluído com sucesso.
6. *Estado Final*: O processo é encerrado.

*Fluxo de Reembolso :*
<div align = "center"><img src="diagramaDeEstados" alt="Diagrama de Pacote - Visão Micro Backend (v1.0)">
<p>Diagrama de Estados<br> Autores: Guilherme Nishimura</p></div>

Este diagrama detalhado foi essencial para garantir que todas as etapas e possíveis estados fossem considerados e bem definidos, proporcionando uma visão abrangente e clara do fluxo de reembolsos.

## 3.Conclusão
Para concluir, o uso de diagramas de estados UML, desenvolvidos com ferramentas como o Draw.io, foi essencial no desenvolvimento do sistema de gerenciamento de reembolsos. Esses diagramas proporcionaram uma representação visual clara e detalhada do comportamento do sistema, destacando os estados, transições e interações entre os principais componentes do processo de reembolso.

Especificamente em nosso projeto, a aplicação dos diagramas de estados criados com o Draw.io facilitou o desenvolvimento bem-sucedido do sistema, assegurando que todas as etapas, desde a solicitação inicial de reembolso até sua conclusão ou rejeição, fossem claramente mapeadas e compreendidas por todos os participantes. Esta representação gráfica do comportamento do sistema foi crucial para a modelagem, documentação e comunicação durante todo o ciclo de vida do desenvolvimento de software, garantindo que todos os requisitos fossem atendidos de maneira precisa e eficaz.


## 4.Bibliografia

<br/>

> [1] UML 2.5 in a Nutshell" de Dan Pilone e Neil Pitman, 2018. Acesso em : 05 de julho de 2024
> [2] "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development" de Craig Larman. Acesso em: 05 de julho de 2024.
> [3] UML Distilled: A Brief Guide to the Standard Object Modeling Language" de Martin Fowler, 2003. Acesso em : 05 de julho de 2024
> [4] "06d - VídeoAula - DSW - Modelagem - Diagrama de Estados. Aprender3. Criado por Milene Serrano. Acesso em: 05 de julho de 2024.
## 5. Histórico de Versões

| Versão | Alteração | Responsável | Revisor | Data |
| :----: | :-------------------------------------------------: | :----------------: | :----------------: | :---: |
| 1.0 | Criação e desenvolvimento do documento de diagrama de estados | [Mateus Orlando](https://github.com/MateusPy) | [João Victor Costa](https://github.com/jvcostta) | 08/07/2024 |
2 changes: 2 additions & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
- [2.1. Módulo Projeto Orientado a Abordagens Tradicionais](/Modelagem/2.1.ModelagemTradicional.md)
- [2.1.1. Notação UML – Diagramas Estáticos](/Modelagem/2.1.1.UMLEstaticos.md)
- [2.1.2. Notação UML – Diagramas Dinâmicos](/Modelagem/2.1.2.UMLDinamicos.md)
- [2.1.2.1. Diagrama de Atividades](/Modelagem/2.1.2.1.Diagramadeatividades.md)
- [2.1.2.2. Diagrama de Estado](/Modelagem/2.1.2.2.DiagramaDeEstados.md)
- [2.2. Participações - Modelagem](/Modelagem/2.2.ParticipacoesModelagem.md)

- **Padrões de Projeto**
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
window.$docsify = {
loadSidebar: true,
name: 'My Market',
repo: 'https://github.com/UnBArqDsw2022-1/RepositorioTemplate'
repo: 'https://github.com/UnBArqDsw2024-1/2024.1_G7_My_Market'
}
</script>
<!-- Docsify v4 -->
Expand Down

0 comments on commit 4555cfa

Please sign in to comment.