generated from UnBArqDsw2024-1/RepositoryTemplate
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into DiagramaDePacotes
- Loading branch information
Showing
5 changed files
with
83 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters