Diagrama de Atividades - UML - Parte III

324 views2717 WordsCopy TextShare
Prof Gilleanes Guedes Engenharia de Software e UML
Esta é a terceira aula sobre o diagrama de atividades, apresentando alguns conceitos um pouco mais a...
Video Transcript:
Olá sejam bem-vindos ao canal engenharia de software com ênfase o ML Eu sou professor julianes Guedes e eu já atuo na área de modelagem de softare há vários anos eu tenho quatro livros publicados sobre o assunto e eu já ministrei diversas palestras e cursos técnicos sobre modelagem de software utilizando a linguagem uml na aula de hoje eu vou dar continuidade ao tema do diagrama de atividades dessa vez enfocando alguns conceitos mais avanços e apresentando alguns exemplos um pouco mais complexos Então vamos iniciar a nossa aula então esta vai ser a terceira aula sobre o diagrama
de atividades Como já foi dito anteriormente o diagrama de atividades é um dos diagramas mais detalhistas da uml bom eu gosto sempre de fazer uma pequena propaganda eu já publiquei quatro livros sobre a linguagem de modelagem uml Ah o meu primeiro livro foi o mrr uma abordagem prática que na época tratava da omr 1.5 mas que abordava o MR2 no final do no final do livro ah depois eu lancei o m2 guia de consulta rápida em seguida lancei o m2 guia prático e finalmente eu lancei o m2 uma abordagem prática que é o meu livro
mais atualizado mais completo que se encontra na terceira Edição Então vamos começar a nossa aula então como eu falei eu vou apresentar alguns conceitos um pouco mais avançados desse diagrama eu vou começar ou começar tratando sobre peso ou weight o peso ou weight ele é uma restrição que determina o mínimo de sinais que é aceitável que precisa ser recebido por uma ação para Que ela possa ser executada então aqui eu tenho duas ações eu tenho a são receber artigos que gera como saída um alfinete um nó de objeto da classe artigo e esse eh objeto
ou conjunto de objetos essa Coleção de Objetos ela é transmitida para uma outra ação que eh recebe esses artigos num novo nó de objeto e nessa ação é executada a ação de registrar os artigos então para os Ah para quem assistiu os vídeos sobre o diagrama de classe sabe que eu dou um exemplo onde sobre associações de composição onde eu digo que numa revista científica uma edição só pode eh receber artigos inéditos só pode publicar artigos inéditos e que as quantidades da multiplicidade são no mínimo seis no máximo 10 uma edição C apca no mínimo
seis no máximo 10 artigos então eu posso H representar isso de uma forma semelhante no diagrama de atividades por meio da restrição weight estabeleço que o peso mínimo de sinais é seis então no mínimo seis objetos devem ser transmitidos por esse fluxo de objetos e existe outra informação que é o limite superior ou upper Bound em inglês então ele representa como o nome já diz o número máximo de sinais que um objeto ele aceita H Então se esse valor for ultrapassado em tempo de execução o fluxo deve ser interrompido então Aqui nós temos o exemplo
de upper bound que é uma restrição que é aplicada sobre o nó de objeto neste caso este alfinete e ele estabelece que o número máximo de sinais que podem ser recebidos que podem ser aceitos por esse nó de objeto é 10 então aqui eu tenho o limite inferior que é representado pelo peso weight iG 6 e aqui o te limite superior que é representado pelo upper Bound ig a 10 Então significa que o nó de objeto o nó de objeto artigos ele pode receber até seis no mínimo seis artigos e no máximo 10 Ahã os
sinais eles também podem sofrer ordenamento Se isso for considerado necessário então Eh esses sinais eles podem ser transmitidos de forma ordenada e existem basicamente quatro modos de ordenamento unordered ou seja sem ordem então a ordem é indefinida fifo é abreviatura de first in first out primeiro entrar primeiro a sair então os sinais são transmitidos na ordem em que eles foram recebidos ou em que eles foram gerados lifo que é abreviatura de last in first out último a entrar é o primeiro a sair então nessa nessa forma de de ordenamento os sinais eles são transmitidos na
ordem inversa em que eles foram recebidos ou gerados e ordered então esse último modo os sinais eles são transmitindo seguindo um determinado tipo de ordenação que deve ser estabelecido por por meio de uma restrição do tipo selection behavior nós vamos ver exemplo disso em seguida então Aqui nós temos um exemplo de ordenamento de sinais em nós de objeto Então eu tenho uma ação consultar contas ela consulta objetos da classe conta comum foi aplicada uma restrição a esse objeto eu estou dizendo que o tipo de ordenação é ordenada então aqui tá escrito ordering igual Order Então
se estabelece que que deve haver uma ordenação dos Nós de objeto da classe cont comum que não é nem fifo nem lifo em primeiro momento então aqui na no fluxo de objetos eu apliquei uma outra restrição do tipo selection onde se estabelece que a ordem dos objetos deve ser pelo número da conta eles devem ser ordenados pelo número da conta a coleção de objetos transmitida deve ser ordenada por esse atributo Ah também pode haver transformação de sinais em fluxo de objetos Então pode acontecer de um sinal sofrer uma transformação eu posso representar isso por meio
da anotação transformation então aqui eu tenho uma ação enviar pedido que gera um objeto da classe pedido com estado de enviado mas eu preciso para atender a ação de notificar cliente transformar esse pedido em um objeto da classe cliente eu tenho que buscar o cliente associado ao pedido então eu posso representar isso por meio de uma transformação então aqui eu tenho uma a anotação do tipo transformation que foi aplicada a esse fluxo de objetos dizendo que o objeto pedido deve se transformar num objeto cliente ele é recebido pela ação de notificar cliente transformado num objeto
cliente Ah bom então isso pode ser considerado um um atalho ah onde a transformação propriamente dita é omitida então eu tenho essa Alternativa de utilizar transformation mas eu pessoalmente não gosto eu preferiria criar uma específica para h receber pedido e outra para consultar o cliente do pedido e então notificar o cliente eu pref eu preferiria essa abordagem mais passo a passo que até condiz mais com a ah as características do diagrama de atividade mas existe esse atalho do tipo transformation vou falar um pouco sobre o nó de bifurcação ou União ele é um nó de
controle que ele é capaz de dividir um fluxo em dois ou mais fluxos concorrentes ou ele pode nesse na primeira situação ele ele se é chamado de nó de bifurcação ou ele pode ser utilizado para unir um fluxo que foi dividido anteriormente Então nesse caso ele é chamado de nó de União então Aqui nós temos um exemplo de nó de bifurcação União representando o processo de vendas então aqui eu tenho duas raias de três raias de natação ou três partições de atividade que representam os setores porque passa esse processo então o processo se inicia no
setor de vendas mas passa pelo setor de contabilidade e tem o envolvimento do ator cliente então inicialmente no setor de vendas é recebido um pedido o pedido é analisado ã o pedido é aceito é gerado um estado da classe pedido aliás é gerado um objeto da classe pedido que tem o estado aceito ele é criado como é representado o efeito ah aplicado a essa ação então ele é transmitido para a ação atender pedido o objeto é recebido pelo por um por um alfinete então o objeto pedido com estado aceito ele é lido pelo pela ação
de atender pedido a ação de atender pedido gera um objeto modifica o estado do objeto para atendido Ah o objeto ele é atualizado como mostra o efeito da aplicado E aí ele atinge ã um no um nó de bifurcação que ele divide o fluxo ao mesmo tempo em que o pedido é enviado a fatura é enviada para o setor de contabilidade então vocês notem que existe um fluxo que atinge a partição de atividade que representa o setor de contabilidade então o pedido com estado atendido ele é ele é lido pelo pelo na entrada do do
objeto na entrada da estação e uma fatura é gerada um novo objeto é criado então é criado um objeto da classe fatura ele passa a estar no estado de gerar a fatura está no estado gerado e o efeito da saída dessa ação é do tipo Create que o novo objeto ele foi instanciado daí se passa paraa ação realizar pagamento que é realizada pelo cliente essa ação ela modifica o estado do objeto fatura para pago o efeito dessa ação é do tipo update atualização e ela é retransmitida para contabilidade que lê o o comprovante da fatura
paga eh como pode ver como você pode observar pelo efeito aplicado Ah então se executa ação receber pagamento a ação receber pagamento ela atualiza o pedido o estado do pedido passa a ser pago e o objeto pedido é então atualizado como demonstra feito update então em paralelo enquanto isso ocorria o pedido foi o pedido que estava no estado atendido ele é lido na apelação de enviar pedido o pedido passa a assumir o estado enviado ele sofre uma atualização como demonstra efeito update E aí paralelamente se recebe a o pedido pago pelo setor de venda e
ele atinge uma nova um novo um nó de União que também age como nó de bifurcação ele é um nó de União no momento que ele une os dois os dois fluxos foram divididos mas ele divide o fluxo novamente em dois fluxos Paralelos então Eh ao mesmo tempo que executado ação fechar pedido se executa ação notificar cliente então o o fluxo de objetos ele envia um objeto da classe pedido com estado pago para ação fechar pedido e ele também Envia um nó de objeto da classe cliente para ação notificar cliente aqui vocês notem que foi
aplicada uma transformação do objeto pedido para o objeto cliente essa transformação já foi explicada eh algumas lâminas anteriores depois disso o fluxo de objetos ele é unido por um nó de união e a atividade se encerra então Aqui nós temos um exemplo de como aplicar o nó de bifurcação E também o exemplo mais completo do do do diagrama de atividade que estava utilizando ações e efeitos nos seus fluxos ah além de um exemplo de partições de atividade bom Aqui nós temos um outro um outro recurso do diagrama atividades que é o final de fluxo ele
representa o encerramento de uma rotina mas não de toda atividade então Aqui nós temos o exemplo onde se se executação construir componente E aí paralelamente se divide o fluxo em dois então em paralelo se instala um se instala o componente construído E aí se faz um teste que é representado por esse nó de decisão se ainda componentes a construir como como representado pela condição de guarda então o fluxo volta ao nó de ação construir componente e novamente eh O componente ele ao mesmo tempo que é instalado se testa novamente se a dá componentes a construir
se não há mais componentes a construir Então esse fluxo ele é encerrado mas o fluxo após a instalação do componente permanece sendo executado então Aqui nós temos um exemplo de final de fluxo que é representado por esse círculo com x e também um outro exemplo de nó de bifurcação e nós temos o nó de parâmetro de atividade então um nó de parâmetro de atividade é um outro tipo TIP de nó de objetos que ele é utilizado para transmitir informação eh entre atividades Independentes então ele representa a entrada ou a saída de um fluxo de de
objetos para uma atividade então Aqui nós temos o exemplo de nó de parâmetros de atividade onde nós enfocamos a atividade de abrir conta comum do Sistema de Controle bancário que nós estamos modelando ao longo dessas aulas então eu tenho aqui uma atividade Abrir conta comum que é a atividade principal ela possui dois nós duas partições de atividade uma representando as ações do funcionário e outra representando as ações do sistema mas há mais duas atividades nesse exemplo a atividade de gerenciar clientes e atividade de realizar depósito Então nesse exemplo nós utilizamos nós de parâmetros de atividade
para permitir a entre Essas atividades vamos explicar esse exemplo bom o processo se inicia com o funcionário informando CPF para do cliente que deseja abrir uma conta comum em resposta o sistema consulta o cliente para isso ele lê um objeto da classe pessoa física ele faz uma consulta objeto da classe pessoa física vocês podem observar que o fluxo de objetos parte do nó objetos pessoa física da classe pessoa física e atinge a unal de ação a ação ela lê esse objeto como é representado o pelo efeito read Depois disso ela faz um teste se o
cliente não foi encontrado então eu envio as informações do cliente por meio de um nó de parâmetro de atividade para atividade gerenciar clientes onde ela é receb por um outro nó de parâmetro atividade que contém o objeto pessoa física e vai ser feito o gerenciamento do clientes no caso vai ser feito o cadastro de um cliente novo ou se o cliente tiver sido encontrado como demonstra a condição de guarda entre colchetes Então se apresenta as informações do cliente e aí o fluxo atinge um novo nó de decisão é feito novo teste se for necessário no
caso do cadastro do cliente está atualizado então também o as informações do cliente são transmitidas por meio de um nó de parâmetros de atividade para a atividade gerenciar clientes que recebe essas informações no seu próprio nó de parâmetro atividade que recebe o objeto da classe pessoa física então aqui dentro ou o cliente é cadastrado ou seus dados são atualizados após a atualização ou criação do objeto pessoa física ele é ele é transmitido por meio de um nó de parâmetro atividade da da atividade gerenciar clientes recebido novamente pela atividade Abrir conta comum em um nó de
parâmetros de atividades recebe o objeto pessoa física criado então Eh o fluxo é Unido Pelo nó de união Ah o fluxo havia sido eh se havia S dividido anteriormente por esse nó decisão ele é reunificada E aí se passa a ação Solicitar senha o fluxo volta ao funcionário o funcionário Informa a senha fornecida pelo cliente e aí o fluxo volta a a a raia do sistema a para executar ação Abrir conta e isso gera um novo objeto da classe conta comum comoes como representado pelo fluxo de objetos com efeito create criado um novo objeto Ah
e de seguida paralelamente ao mesmo tempo que é emitido cart é executada ação para emitir o cartão da conta o fluxo também envia o novo objeto da classe conta comum criado para uma atividade realizar depósito que recebe essa informação por meio de um nó de parâmetro de atividade recebe o novo objeto criado e aqui vai ser executadas ações referentes ao processo de realizar depósito e esse paralelismo é representado o nó de ubicação depois que o cartão da conta for emitido essa atividade é encerrada então Aqui nós temos um exemplo um pouco mais complexo utilizando utilizado
para representar nós de par atividade mas também uma situação em que há três atividades no mesmo diagrama uma com suas ações detalhadas e outra com as suas ações H suprimidas elas essas ações existem mas não estão detalhadas nesse diagrama eu posso procurar um outro diagrama onde elas estejam detalhadas então nós concluímos mais essa aula sobre o diagrama de atividades eu espero que esse conteúdo tenha sido útil para vocês se vocês gostaram da aula eu peço que vocês curtam H compartilhe esse vídeo com quem possa se interessar pelo assunto e se ainda não estiverem inscritos eu
peço que você se inscreva no canal obrigado pela atenção nós nos vemos nas próximas aulas Y
Related Videos
Diagrama de Atividades - UML - Parte IV
9:31
Diagrama de Atividades - UML - Parte IV
Prof Gilleanes Guedes Engenharia de Software e UML
168 views
Crie Diagramas de Atividade UML no Draw.io: Tutorial Passo a Passo
12:09
Crie Diagramas de Atividade UML no Draw.io...
Mauro de Boni
13,372 views
Diagrama de Atividades
16:30
Diagrama de Atividades
Gustavo Caetano
52,899 views
2ª Fase OAB - Relaxamento da Prisão em Flagrante - PASSO A PASSO
23:35
2ª Fase OAB - Relaxamento da Prisão em Fla...
Prof. Rafael Oliveira
22 views
Die Assads: Wie eine Familie Syrien terrorisierte | WDR Doku
43:55
Die Assads: Wie eine Familie Syrien terror...
WDR Doku
1,940,739 views
Diagrama de Máquina de Estados - UML - Parte III
10:34
Diagrama de Máquina de Estados - UML - Par...
Prof Gilleanes Guedes Engenharia de Software e UML
204 views
Diagrama de Atividades (aula teórica)
14:56
Diagrama de Atividades (aula teórica)
Ivan Fontainha
1,157 views
Sistemas Operacionais - Gerenciamento de memoria virtual
27:04
Sistemas Operacionais - Gerenciamento de m...
Daniel David
21 views
Entendendo o Diagrama de Componentes | #11
19:40
Entendendo o Diagrama de Componentes | #11
Estudo Na Web
40,401 views
O que é um Diagrama de Atividade UML - Introdução
13:48
O que é um Diagrama de Atividade UML - Int...
Bóson Treinamentos
34,971 views
Introdução à Qualidade de Software
55:40
Introdução à Qualidade de Software
Prof Gilleanes Guedes Engenharia de Software e UML
1,465 views
Casos de Uso (Parte 2 - Exercícios) // Engenharia de Software
16:11
Casos de Uso (Parte 2 - Exercícios) // Eng...
Gustavo Caetano
27,475 views
Histórias de Usuário - Especificação de Requisitos
18:14
Histórias de Usuário - Especificação de Re...
Prof Gilleanes Guedes Engenharia de Software e UML
914 views
heute journal vom 16.12.2024 Scholz und Merz im Interview, EU-Außenminister zur Lage Syriens
35:51
heute journal vom 16.12.2024 Scholz und Me...
ZDFheute Nachrichten
17,389 views
Ein Land wie im Märchen | ARTE Family
52:44
Ein Land wie im Märchen | ARTE Family
ARTE Family DE
170,428 views
Diagramas de Venn | 40 Questões
1:07:04
Diagramas de Venn | 40 Questões
Pota Concurseiro
81,658 views
Jornada de Dados da RNP: Arquiteturas Modernas para o Uso Inteligente de Dados - Filippo Venturini
51:45
Jornada de Dados da RNP: Arquiteturas Mode...
Semana da Computação UFJF
228 views
BPMN - Business Process Model and Notation - Modelo e Notação de Processo de Negócio
27:36
BPMN - Business Process Model and Notation...
Prof Gilleanes Guedes Engenharia de Software e UML
251 views
Copyright © 2025. Made with ♥ in London by YTScribe.com