Olá sejam bem-vindos ao canal engenheria de software com enfase uml Eu sou professor Denis geds e eu já atuo na área de modelagem de software 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 sobre o diagrama de atividades dessa vez enfocando alguns tipos avançados de nós de objetos e outros recursos que o diagrama de atividades oferece Então vamos iniciar nosso conteúdo Então essa é a quarta aula sobre
o diagrama de atividades eu gosto sempre de fazer uma pequena propaganda eu já publiquei quatro livros sobre o assunto o meu primeiro livro foi o ML uma abordagem prática que na época tratava da omr 1.5 mas já abordava o m 2 no final do livro depois eu lancei o MR2 guia de consulta rápida que era exclusivo sobre o MR2 depois eu lancei o MR2 guia prático poucos anos depois e finalmente eu lancei o meu livro mais completo que é o ml2 uma abordagem prática que se encontra na terceira Edição Ah eu vou falar um pouquinho
sobre alguns tipos especiais de nós de objeto como eu falei o primeiro deles é o no buffer Central o no buffer Central como o nome já diz representa um buffer em memória que armazena informações então ele gerencia fluxos de múltiplas fontes e múltiplos destinos como eu falei ele age com um buffer de memória Então ele pode receber H fluxos de objetos de entrada e fluxos de objetos de saída diversos desses fluxos ele não se conecta à nós de ação somente a nós de objeto e sempre que um objeto é transmitido a partir do nó de
do nó de buffer Central ele ele é retirado do nó de buffer Central ele não permanece no nó então Aqui nós temos o exemplo de nó de buffer Central ele é representado por um retângulo contendo estereótipo Central buffer Como já foi ensinado em outras aulas um estereótipo ele serve para atribuir características especiais a um determinado componente então vocês podem notar que ele tem o formato de um nó de objeto tradicional Mas ele tem esse estereótipo de texto significando que ele se comporta como um nó de buffer Central então aqui eu peguei o exemplo do da
aula passada onde se construíam e instalavam vários componentes e acrescentei um um um nó de buffer Central nesse fluxo então nós temos a ação construir componente que gera como saída um alfinete ou seja um nó de objeto da classe componente ele é armazenado no nó buffer Central componentes disponíveis e eventualmente esses componentes disponíveis vão sendo vão sendo retirados e transmitidos para a ação instalar componente que recebe cada componente disponível em um alfinete de entrada da classe componente um alfinete Como já foi falado é um nó de objeto que representa a entrada para uma ação ou
a saída de uma ação e nós temos o nod repositório de dados que é uma variação do node buffer Central ele possui o estereótipo date Store quer dizer armazenamento de dados e ele armazena dados ou objetos permanentemente diferente do node buffer Central que o as informações são mantidas temporariamente e sempre que um objeto ou dado for consultado ele é retirado do nó de buffer Central Ah então diferente do nó de buffer Central no nó de repositório de dados os dados ou objetos que entram nesse nó eles passam a ser armazenados permanentemente em disco eventualmente eles
podem ser atualizados e quando um dado ele é retirado um dado um objeto retirado de um nó de repositório de dados O que é transmitido é uma cópia da informação original os dados ou os objetos permanecem no nó de repositório de dados então Aqui nós temos exemplo de nó de repositório de dados que é um objeto com estereótipo date Store Então significa que ele se ele se comporta como repositório de dados em disco então Aqui nós temos um repositório de dados em disco onde são armazenados os objetos da classe conta aqui nós temos uma ação
chamada Abrir conta que gera um alfinete de saída ou seja um nó de objeto da classe conta comum vocês podem notar pelo efeito aplicado a ao fluxo ã esse esse objeto ele foi criado pela ação Abrir conta como resultado da ação Abrir conta e ele é transmitido pro nó de repositório de dados para ser armazenado permanentemente ou seja de forma persistente de forma física eu vou falar também sobre um fluxo um pouco mais raro do diagrama de atividades que é o fluxo de exceção então o fluxo de exceção ele representa um um fluxo que atinge
um um nó de manipulação de exceção que ele eh é representado por que ele é a entrada de uma atividade especial que manipula uma uma exceção específica então o fluxo de exceção é representado por uma seta em forma de raio aqui nós temos ação validar CPF que por algum motivo ocorreu um erro então é gerado uma exceção porque os caracteres são Inválidos Ele Ela atinge um nó de objeto que é o nó que vai receber a exceção que será manipulada por uma atividade especial que manipula responsável por manipular aquela exceção e nós temos as ações
de envio de sinal e as ações de evento de aceitação que são eh dois tipos de ações especiais então uma ação de evento de sinal ela como o nome já diz representa o envio de sinal para um objeto ou uma ação enquanto que uma ação de evento de aceitação ela representa a espera da ocorrência de um evento que deve satisfazer determinadas condições Aqui nós temos o exemplo de ação de envio de sinal e ação de eventos de aceitação onde eu tenho uma ação de preparar texto para impressão E aí eu tenho um envio de sinal
uma umaação de envio de sinal que vai verificar se a impressora está preparada então é enviado um fluxo de controle para um objeto chamado impressora que representa o elemento externo impressora depois nós temos uma ação de evento de acção o algoritmo a atividade fica esperando até receber um sinal de que a impressora está preparada então a impressora Envia um e vi um fluxo para esse essa ação de evento de aceitação eh então quando esse sinal for recebido então executada ação para enviar o texto para impressão e se encerra a atividade e nós temos também a
ação de evento de tempo de aceitação que é uma variação da ação de evento de aceitação ela diferente da da ação de evento de aceitação ela leva em consideração um tempo um determinado tempo para que ã um evento ou uma ação possa ser disparada Então ela pode ser comparada com um gatilho uma Trigger Aqui nós temos exemplo de ação de evento de tempo de aceitação que é representado por uma ampulheta ou uma clepsidra Ah aqui nós estamos representando um horário em que ã o expediente se encerrou Então essa ação de evento tempo de aeração ela
dispara ATIV para realizar backup automático e nós encerramos mais essa aula sobre o diagrama de atividades eu espero que vocês tenham achado essa aula útil se vocês gostaram da aula eu peço que vocês curtam o vídeo compartilhem com quem possa ter interesse e se vocês ainda não se inscreveram eu peço que você se inscrevam obrigado pela atenção nós nos vemos nas próximas aulas Y