Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Faculdade/Modelagem-de-Sistemas/Aula 08.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Aula 8 - Diagrama de atividades

**Fluxograma:** fluxograma pode ser usado para representar o fluxo de procedimentos ou processos das empresas.

## Principais elementos do diagrama de atividades

- **Atividade:** Retângulo com bordas arredondadas.
- ![Atividade](../../media/modelagem_de_sistemas/aula08/img/img001.png)
- **Transição:** Setas contínuas que representam o fluxo de trabalho entre atividades.
- ![Transição](../../media/modelagem_de_sistemas/aula08/img/img002.png)
- **Decisões:** Losango, usado para controlar os desvios (caminhos) do fluxo de controle.
- **Condições de guarda:** São condições associadas a transições entre uma atividade e outra, indicando que a atividade que sucede somente será executada se a condição de guarda for verdadeira.
- ![Decisão](../../media/modelagem_de_sistemas/aula08/img/img003.png)
- **Ponto de merge:**
- **Desvios:** a decisão, que divide em dois ou mais caminhos (fluxos de atividades). Tem um fluxo de entrada e N fluxos de saída;
- **Intercalações:** local onde dois ou mais caminhos (fluxos de atividades) se juntam e continuam como apenas um fluxo. É usado o mesmo losango da decisão.
- Os caminhos que se juntam foram separados anteriormente pelo elemento desvio. Tem N fluxos de entrada e um fluxo de saída.
- ![Pondo de merge](../../media/modelagem_de_sistemas/aula08/img/img003.png)
- **Processamento em paralelo:** Bifurcação e união (ou junção): barras horizontais que sincronizam atividades que vão ocorrer em paralelo. No caso, as atividades que ocorrem em paralelo são processar pedido e faturar pedido.


## Representando o fluxo de controle paralelo

A UML dotou o diagrama de atividades de dois elementos que operam em conjunto, que permitem expressar o comportamento paralelo, ou seja, uma ou mais atividades que podem acontecer ao mesmo tempo. Muitos afirmam ser esse o grande diferencial do diagrama de atividades da UML para outras ferramentas gráficas, como o fluxograma, que se atem apenas a representar o processamento sequencial.

A programação em paralelo em algoritmos concorrentes não é muito comum no mundo comercial, sendo mais usada em software básico (como por exemplo, em sistemas operacionais).

O poder do paralelismo do diagrama de atividade é mais comumente usado para representar processos de negócio ou fluxos de trabalho.

Para iniciar ou sincronizar dois ou mais fluxos de trabalho em paralelo, são usados dois tipos de barras de sincronização: **bifurcação (fork)** e **junção (joint)**.

## Para que usar o diagrama de atividades?

Mesmo que voltados para as utilidades descritas a seguir, o uso de diagrama de atividades não ocorre em larga escala, e os principais motivos são:

1. Documentar sistemas não é uma prática usual no Brasil.
2. Em sistemas desenvolvidos sob o paradigma da orientação a objetos, o particionamento do sistema é por classes, e não por funcionalidades (como seria nos paradigmas estruturado e essencial); como o diagrama de atividades descreve um comportamento, estaria, pela lógica, mais relacionado a funcionalidades.

Aplicações mais usuais:
1. **Modelagem de processos de negócios e fluxos de trabalho:** Essa utilização é que mais tira proveito do fato de o diagrama de atividades permitir representar fluxos de controle paralelos, já que em muitos processos de negócio e em fluxos de trabalho, as sequências de atividades costumam acontecer em paralelo.
2. **Modelagem da lógica de um caso de uso complexo:** Muitas vezes, a especificação textual de casos de uso complexos demanda muito esforço e, por vezes, por sua extensão, é difícil de ser visualizada como um todo (ocupando mais de uma folha de papel ou de editor de texto).
3. **Modelagem da lógica de uma operação complexa:** Embora não seja muito usual, os métodos de classes podem ter uma lógica complexa, especialmente em classes de controle; neste caso, o diagrama de atividades pode ser útil para representar a lógica desse método.
4. **Modelar a lógica de algoritmos paralelos para programas concorrentes:** Pode-se valer dos elementos (separações e junções) usados pelo diagrama de atividades para representar o processamento paralelo em programas concorrentes.

## Subatividades no diagrama de atividades:

As atividades, quando complexas, podem ser decompostas em subatividades. Neste caso, tal atividade decomposta terá um diagrama especificando suas subatividades e o diagrama principal terá uma representação diferenciada — com símbolo do ancinho, conforme esta imagem:

- ![Sub atividade](../../media/modelagem_de_sistemas/aula08/img/img005.png)
50 changes: 50 additions & 0 deletions Faculdade/Modelagem-de-Sistemas/modelagem_sistemas_compilado.md
Original file line number Diff line number Diff line change
Expand Up @@ -461,3 +461,53 @@ O foco aqui é a sequência da troca de mensagens.
![diagrama sequencia](../../media/modelagem_de_sistemas/aula05/img/img016.png)

[Exemplo de diagrama de sequencia (pdf)](../../media/modelagem_de_sistemas/aula05/pdf/exemplo_sequencia.pdf)

# Aula 8 - Diagrama de atividades

**Fluxograma:** fluxograma pode ser usado para representar o fluxo de procedimentos ou processos das empresas.

## Principais elementos do diagrama de atividades

- **Atividade:** Retângulo com bordas arredondadas.
- ![Atividade](../../media/modelagem_de_sistemas/aula08/img/img001.png)
- **Transição:** Setas contínuas que representam o fluxo de trabalho entre atividades.
- ![Transição](../../media/modelagem_de_sistemas/aula08/img/img002.png)
- **Decisões:** Losango, usado para controlar os desvios (caminhos) do fluxo de controle.
- **Condições de guarda:** São condições associadas a transições entre uma atividade e outra, indicando que a atividade que sucede somente será executada se a condição de guarda for verdadeira.
- ![Decisão](../../media/modelagem_de_sistemas/aula08/img/img003.png)
- **Ponto de merge:**
- **Desvios:** a decisão, que divide em dois ou mais caminhos (fluxos de atividades). Tem um fluxo de entrada e N fluxos de saída;
- **Intercalações:** local onde dois ou mais caminhos (fluxos de atividades) se juntam e continuam como apenas um fluxo. É usado o mesmo losango da decisão.
- Os caminhos que se juntam foram separados anteriormente pelo elemento desvio. Tem N fluxos de entrada e um fluxo de saída.
- ![Pondo de merge](../../media/modelagem_de_sistemas/aula08/img/img003.png)
- **Processamento em paralelo:** Bifurcação e união (ou junção): barras horizontais que sincronizam atividades que vão ocorrer em paralelo. No caso, as atividades que ocorrem em paralelo são processar pedido e faturar pedido.


## Representando o fluxo de controle paralelo

A UML dotou o diagrama de atividades de dois elementos que operam em conjunto, que permitem expressar o comportamento paralelo, ou seja, uma ou mais atividades que podem acontecer ao mesmo tempo. Muitos afirmam ser esse o grande diferencial do diagrama de atividades da UML para outras ferramentas gráficas, como o fluxograma, que se atem apenas a representar o processamento sequencial.

A programação em paralelo em algoritmos concorrentes não é muito comum no mundo comercial, sendo mais usada em software básico (como por exemplo, em sistemas operacionais).

O poder do paralelismo do diagrama de atividade é mais comumente usado para representar processos de negócio ou fluxos de trabalho.

Para iniciar ou sincronizar dois ou mais fluxos de trabalho em paralelo, são usados dois tipos de barras de sincronização: **bifurcação (fork)** e **junção (joint)**.

## Para que usar o diagrama de atividades?

Mesmo que voltados para as utilidades descritas a seguir, o uso de diagrama de atividades não ocorre em larga escala, e os principais motivos são:

1. Documentar sistemas não é uma prática usual no Brasil.
2. Em sistemas desenvolvidos sob o paradigma da orientação a objetos, o particionamento do sistema é por classes, e não por funcionalidades (como seria nos paradigmas estruturado e essencial); como o diagrama de atividades descreve um comportamento, estaria, pela lógica, mais relacionado a funcionalidades.

Aplicações mais usuais:
1. **Modelagem de processos de negócios e fluxos de trabalho:** Essa utilização é que mais tira proveito do fato de o diagrama de atividades permitir representar fluxos de controle paralelos, já que em muitos processos de negócio e em fluxos de trabalho, as sequências de atividades costumam acontecer em paralelo.
2. **Modelagem da lógica de um caso de uso complexo:** Muitas vezes, a especificação textual de casos de uso complexos demanda muito esforço e, por vezes, por sua extensão, é difícil de ser visualizada como um todo (ocupando mais de uma folha de papel ou de editor de texto).
3. **Modelagem da lógica de uma operação complexa:** Embora não seja muito usual, os métodos de classes podem ter uma lógica complexa, especialmente em classes de controle; neste caso, o diagrama de atividades pode ser útil para representar a lógica desse método.
4. **Modelar a lógica de algoritmos paralelos para programas concorrentes:** Pode-se valer dos elementos (separações e junções) usados pelo diagrama de atividades para representar o processamento paralelo em programas concorrentes.

## Subatividades no diagrama de atividades:

As atividades, quando complexas, podem ser decompostas em subatividades. Neste caso, tal atividade decomposta terá um diagrama especificando suas subatividades e o diagrama principal terá uma representação diferenciada — com símbolo do ancinho, conforme esta imagem:

- ![Sub atividade](../../media/modelagem_de_sistemas/aula08/img/img005.png)
Binary file added media/modelagem_de_sistemas/aula08/img/img001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/modelagem_de_sistemas/aula08/img/img002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/modelagem_de_sistemas/aula08/img/img003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/modelagem_de_sistemas/aula08/img/img004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/modelagem_de_sistemas/aula08/img/img005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.